diff --git a/clients/client-auditmanager/README.md b/clients/client-auditmanager/README.md index 465466bdada6..7ab3bb6bf5be 100644 --- a/clients/client-auditmanager/README.md +++ b/clients/client-auditmanager/README.md @@ -7,37 +7,42 @@ AWS SDK for JavaScript AuditManager Client for Node.js, Browser and React Native. -

Welcome to the Audit Manager API reference. This guide is for developers who need detailed information about the Audit Manager API operations, data types, and errors.

-

Audit Manager is a service that provides automated evidence collection so that you -can continuously audit your Amazon Web Services usage, and assess the effectiveness of your controls to -better manage risk and simplify compliance.

-

Audit Manager provides pre-built frameworks that structure and automate assessments -for a given compliance standard. Frameworks include a pre-built collection of controls with -descriptions and testing procedures, which are grouped according to the requirements of the -specified compliance standard or regulation. You can also customize frameworks and controls -to support internal audits with unique requirements.

- +

Welcome to the Audit Manager API reference. This guide is for developers who +need detailed information about the Audit Manager API operations, data types, and +errors.

+

Audit Manager is a service that provides automated evidence collection so that +you can continually audit your Amazon Web Services usage. You can use it to assess the +effectiveness of your controls, manage risk, and simplify compliance.

+

Audit Manager provides prebuilt frameworks that structure and automate +assessments for a given compliance standard. Frameworks include a prebuilt collection of +controls with descriptions and testing procedures. These controls are grouped according to +the requirements of the specified compliance standard or regulation. You can also customize +frameworks and controls to support internal audits with specific requirements.

Use the following links to get started with the Audit Manager API:

- -

If you're new to Audit Manager, we recommend that you review the Audit Manager User Guide.

+

If you're new to Audit Manager, we recommend that you review the +Audit Manager User Guide.

## Installing diff --git a/clients/client-auditmanager/src/AuditManager.ts b/clients/client-auditmanager/src/AuditManager.ts index 3f723502d6c6..c7013e91b5dd 100644 --- a/clients/client-auditmanager/src/AuditManager.ts +++ b/clients/client-auditmanager/src/AuditManager.ts @@ -61,6 +61,11 @@ import { DeleteAssessmentFrameworkCommandInput, DeleteAssessmentFrameworkCommandOutput, } from "./commands/DeleteAssessmentFrameworkCommand"; +import { + DeleteAssessmentFrameworkShareCommand, + DeleteAssessmentFrameworkShareCommandInput, + DeleteAssessmentFrameworkShareCommandOutput, +} from "./commands/DeleteAssessmentFrameworkShareCommand"; import { DeleteAssessmentReportCommand, DeleteAssessmentReportCommandInput, @@ -154,6 +159,11 @@ import { ListAssessmentFrameworksCommandInput, ListAssessmentFrameworksCommandOutput, } from "./commands/ListAssessmentFrameworksCommand"; +import { + ListAssessmentFrameworkShareRequestsCommand, + ListAssessmentFrameworkShareRequestsCommandInput, + ListAssessmentFrameworkShareRequestsCommandOutput, +} from "./commands/ListAssessmentFrameworkShareRequestsCommand"; import { ListAssessmentReportsCommand, ListAssessmentReportsCommandInput, @@ -194,6 +204,11 @@ import { RegisterOrganizationAdminAccountCommandInput, RegisterOrganizationAdminAccountCommandOutput, } from "./commands/RegisterOrganizationAdminAccountCommand"; +import { + StartAssessmentFrameworkShareCommand, + StartAssessmentFrameworkShareCommandInput, + StartAssessmentFrameworkShareCommandOutput, +} from "./commands/StartAssessmentFrameworkShareCommand"; import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommand, @@ -220,6 +235,11 @@ import { UpdateAssessmentFrameworkCommandInput, UpdateAssessmentFrameworkCommandOutput, } from "./commands/UpdateAssessmentFrameworkCommand"; +import { + UpdateAssessmentFrameworkShareCommand, + UpdateAssessmentFrameworkShareCommandInput, + UpdateAssessmentFrameworkShareCommandOutput, +} from "./commands/UpdateAssessmentFrameworkShareCommand"; import { UpdateAssessmentStatusCommand, UpdateAssessmentStatusCommandInput, @@ -242,43 +262,47 @@ import { } from "./commands/ValidateAssessmentReportIntegrityCommand"; /** - *

Welcome to the Audit Manager API reference. This guide is for developers who need detailed information about the Audit Manager API operations, data types, and errors.

- *

Audit Manager is a service that provides automated evidence collection so that you - * can continuously audit your Amazon Web Services usage, and assess the effectiveness of your controls to - * better manage risk and simplify compliance.

- *

Audit Manager provides pre-built frameworks that structure and automate assessments - * for a given compliance standard. Frameworks include a pre-built collection of controls with - * descriptions and testing procedures, which are grouped according to the requirements of the - * specified compliance standard or regulation. You can also customize frameworks and controls - * to support internal audits with unique requirements.

- * + *

Welcome to the Audit Manager API reference. This guide is for developers who + * need detailed information about the Audit Manager API operations, data types, and + * errors.

+ *

Audit Manager is a service that provides automated evidence collection so that + * you can continually audit your Amazon Web Services usage. You can use it to assess the + * effectiveness of your controls, manage risk, and simplify compliance.

+ *

Audit Manager provides prebuilt frameworks that structure and automate + * assessments for a given compliance standard. Frameworks include a prebuilt collection of + * controls with descriptions and testing procedures. These controls are grouped according to + * the requirements of the specified compliance standard or regulation. You can also customize + * frameworks and controls to support internal audits with specific requirements.

*

Use the following links to get started with the Audit Manager API:

* - * - *

If you're new to Audit Manager, we recommend that you review the Audit Manager User Guide.

+ *

If you're new to Audit Manager, we recommend that you review the + * Audit Manager User Guide.

*/ export class AuditManager extends AuditManagerClient { /** - *

- * Associates an evidence folder to the specified assessment report in Audit Manager. - *

+ *

Associates an evidence folder to an assessment report in a Audit Manager + * assessment.

*/ public associateAssessmentReportEvidenceFolder( args: AssociateAssessmentReportEvidenceFolderCommandInput, @@ -312,9 +336,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Associates a list of evidence to an assessment report in an Audit Manager assessment. - *

+ *

Associates a list of evidence to an assessment report in an Audit Manager + * assessment.

*/ public batchAssociateAssessmentReportEvidence( args: BatchAssociateAssessmentReportEvidenceCommandInput, @@ -348,9 +371,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Create a batch of delegations for a specified assessment in Audit Manager. - *

+ *

Creates a batch of delegations for an assessment in Audit Manager.

*/ public batchCreateDelegationByAssessment( args: BatchCreateDelegationByAssessmentCommandInput, @@ -382,9 +403,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Deletes the delegations in the specified Audit Manager assessment. - *

+ *

Deletes a batch of delegations for an assessment in Audit Manager.

*/ public batchDeleteDelegationByAssessment( args: BatchDeleteDelegationByAssessmentCommandInput, @@ -416,8 +435,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Disassociates a list of evidence from the specified assessment report in Audit Manager. + *

Disassociates a list of evidence from an assessment report in Audit Manager. *

*/ public batchDisassociateAssessmentReportEvidence( @@ -452,9 +470,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Uploads one or more pieces of evidence to the specified control in the assessment in Audit Manager. - *

+ *

Uploads one or more pieces of evidence to a control in an Audit Manager + * assessment.

*/ public batchImportEvidenceToAssessmentControl( args: BatchImportEvidenceToAssessmentControlCommandInput, @@ -488,9 +505,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Creates an assessment in Audit Manager. - *

+ *

Creates an assessment in Audit Manager.

*/ public createAssessment( args: CreateAssessmentCommandInput, @@ -522,9 +537,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Creates a custom framework in Audit Manager. - *

+ *

Creates a custom framework in Audit Manager.

*/ public createAssessmentFramework( args: CreateAssessmentFrameworkCommandInput, @@ -556,9 +569,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Creates an assessment report for the specified assessment. - *

+ *

Creates an assessment report for the specified assessment.

*/ public createAssessmentReport( args: CreateAssessmentReportCommandInput, @@ -590,9 +601,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Creates a new custom control in Audit Manager. - *

+ *

Creates a new custom control in Audit Manager.

*/ public createControl( args: CreateControlCommandInput, @@ -624,9 +633,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Deletes an assessment in Audit Manager. - *

+ *

Deletes an assessment in Audit Manager.

*/ public deleteAssessment( args: DeleteAssessmentCommandInput, @@ -658,9 +665,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Deletes a custom framework in Audit Manager. - *

+ *

Deletes a custom framework in Audit Manager.

*/ public deleteAssessmentFramework( args: DeleteAssessmentFrameworkCommandInput, @@ -693,8 +698,40 @@ export class AuditManager extends AuditManagerClient { /** *

- * Deletes an assessment report from an assessment in Audit Manager. - *

+ * Deletes a share request for a custom framework in Audit Manager. + *

+ */ + public deleteAssessmentFrameworkShare( + args: DeleteAssessmentFrameworkShareCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteAssessmentFrameworkShare( + args: DeleteAssessmentFrameworkShareCommandInput, + cb: (err: any, data?: DeleteAssessmentFrameworkShareCommandOutput) => void + ): void; + public deleteAssessmentFrameworkShare( + args: DeleteAssessmentFrameworkShareCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteAssessmentFrameworkShareCommandOutput) => void + ): void; + public deleteAssessmentFrameworkShare( + args: DeleteAssessmentFrameworkShareCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteAssessmentFrameworkShareCommandOutput) => void), + cb?: (err: any, data?: DeleteAssessmentFrameworkShareCommandOutput) => void + ): Promise | void { + const command = new DeleteAssessmentFrameworkShareCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Deletes an assessment report from an assessment in Audit Manager.

*/ public deleteAssessmentReport( args: DeleteAssessmentReportCommandInput, @@ -726,9 +763,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Deletes a custom control in Audit Manager. - *

+ *

Deletes a custom control in Audit Manager.

*/ public deleteControl( args: DeleteControlCommandInput, @@ -760,9 +795,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Deregisters an account in Audit Manager. - *

+ *

Deregisters an account in Audit Manager.

*/ public deregisterAccount( args: DeregisterAccountCommandInput, @@ -794,13 +827,14 @@ export class AuditManager extends AuditManagerClient { } /** - *

Removes the specified member Amazon Web Services account as a delegated administrator for Audit Manager.

+ *

Removes the specified member Amazon Web Services account as a delegated administrator for + * Audit Manager.

* - *

When you remove a delegated administrator from your Audit Manager settings, or when you - * deregister a delegated administrator from Organizations, you continue to have access - * to the evidence that you previously collected under that account. However, Audit Manager - * will stop collecting and attaching evidence to that delegated administrator account - * moving forward.

+ *

When you remove a delegated administrator from your Audit Manager settings, you + * continue to have access to the evidence that you previously collected under that + * account. This is also the case when you deregister a delegated administrator from + * Audit Manager. However, Audit Manager will stop collecting and attaching + * evidence to that delegated administrator account moving forward.

*
*/ public deregisterOrganizationAdminAccount( @@ -833,9 +867,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Disassociates an evidence folder from the specified assessment report in Audit Manager. - *

+ *

Disassociates an evidence folder from the specified assessment report in Audit Manager.

*/ public disassociateAssessmentReportEvidenceFolder( args: DisassociateAssessmentReportEvidenceFolderCommandInput, @@ -869,9 +901,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns the registration status of an account in Audit Manager. - *

+ *

Returns the registration status of an account in Audit Manager.

*/ public getAccountStatus( args: GetAccountStatusCommandInput, @@ -903,9 +933,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns an assessment from Audit Manager. - *

+ *

Returns an assessment from Audit Manager.

*/ public getAssessment( args: GetAssessmentCommandInput, @@ -937,9 +965,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a framework from Audit Manager. - *

+ *

Returns a framework from Audit Manager.

*/ public getAssessmentFramework( args: GetAssessmentFrameworkCommandInput, @@ -971,9 +997,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns the URL of a specified assessment report in Audit Manager. - *

+ *

Returns the URL of an assessment report in Audit Manager.

*/ public getAssessmentReportUrl( args: GetAssessmentReportUrlCommandInput, @@ -1005,9 +1029,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of changelogs from Audit Manager. - *

+ *

Returns a list of changelogs from Audit Manager.

*/ public getChangeLogs( args: GetChangeLogsCommandInput, @@ -1039,9 +1061,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a control from Audit Manager. - *

+ *

Returns a control from Audit Manager.

*/ public getControl(args: GetControlCommandInput, options?: __HttpHandlerOptions): Promise; public getControl(args: GetControlCommandInput, cb: (err: any, data?: GetControlCommandOutput) => void): void; @@ -1067,9 +1087,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of delegations from an audit owner to a delegate. - *

+ *

Returns a list of delegations from an audit owner to a delegate.

*/ public getDelegations( args: GetDelegationsCommandInput, @@ -1101,9 +1119,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns evidence from Audit Manager. - *

+ *

Returns evidence from Audit Manager.

*/ public getEvidence(args: GetEvidenceCommandInput, options?: __HttpHandlerOptions): Promise; public getEvidence(args: GetEvidenceCommandInput, cb: (err: any, data?: GetEvidenceCommandOutput) => void): void; @@ -1129,9 +1145,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns all evidence from a specified evidence folder in Audit Manager. - *

+ *

Returns all evidence from a specified evidence folder in Audit Manager.

*/ public getEvidenceByEvidenceFolder( args: GetEvidenceByEvidenceFolderCommandInput, @@ -1163,9 +1177,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns an evidence folder from the specified assessment in Audit Manager. - *

+ *

Returns an evidence folder from the specified assessment in Audit Manager. + *

*/ public getEvidenceFolder( args: GetEvidenceFolderCommandInput, @@ -1197,9 +1210,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns the evidence folders from a specified assessment in Audit Manager. - *

+ *

Returns the evidence folders from a specified assessment in Audit Manager. + *

*/ public getEvidenceFoldersByAssessment( args: GetEvidenceFoldersByAssessmentCommandInput, @@ -1231,9 +1243,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of evidence folders associated with a specified control of an assessment in Audit Manager. - *

+ *

Returns a list of evidence folders that are associated with a specified control of an + * assessment in Audit Manager.

*/ public getEvidenceFoldersByAssessmentControl( args: GetEvidenceFoldersByAssessmentControlCommandInput, @@ -1267,9 +1278,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns the name of the delegated Amazon Web Services administrator account for the organization. - *

+ *

Returns the name of the delegated Amazon Web Services administrator account for the + * organization.

*/ public getOrganizationAdminAccount( args: GetOrganizationAdminAccountCommandInput, @@ -1301,9 +1311,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of the in-scope Amazon Web Services services for the specified assessment. - *

+ *

Returns a list of the in-scope Amazon Web Services services for the specified + * assessment.

*/ public getServicesInScope( args: GetServicesInScopeCommandInput, @@ -1335,9 +1344,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns the settings for the specified Amazon Web Services account. - *

+ *

Returns the settings for the specified Amazon Web Services account.

*/ public getSettings(args: GetSettingsCommandInput, options?: __HttpHandlerOptions): Promise; public getSettings(args: GetSettingsCommandInput, cb: (err: any, data?: GetSettingsCommandOutput) => void): void; @@ -1363,9 +1370,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of the frameworks available in the Audit Manager framework library. - *

+ *

Returns a list of the frameworks that are available in the Audit Manager + * framework library.

*/ public listAssessmentFrameworks( args: ListAssessmentFrameworksCommandInput, @@ -1397,9 +1403,39 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of assessment reports created in Audit Manager. - *

+ *

Returns a list of sent or received share requests for custom frameworks in Audit Manager.

+ */ + public listAssessmentFrameworkShareRequests( + args: ListAssessmentFrameworkShareRequestsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAssessmentFrameworkShareRequests( + args: ListAssessmentFrameworkShareRequestsCommandInput, + cb: (err: any, data?: ListAssessmentFrameworkShareRequestsCommandOutput) => void + ): void; + public listAssessmentFrameworkShareRequests( + args: ListAssessmentFrameworkShareRequestsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAssessmentFrameworkShareRequestsCommandOutput) => void + ): void; + public listAssessmentFrameworkShareRequests( + args: ListAssessmentFrameworkShareRequestsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAssessmentFrameworkShareRequestsCommandOutput) => void), + cb?: (err: any, data?: ListAssessmentFrameworkShareRequestsCommandOutput) => void + ): Promise | void { + const command = new ListAssessmentFrameworkShareRequestsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Returns a list of assessment reports created in Audit Manager.

*/ public listAssessmentReports( args: ListAssessmentReportsCommandInput, @@ -1431,9 +1467,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of current and past assessments from Audit Manager. - *

+ *

Returns a list of current and past assessments from Audit Manager.

*/ public listAssessments( args: ListAssessmentsCommandInput, @@ -1465,9 +1499,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of controls from Audit Manager. - *

+ *

Returns a list of controls from Audit Manager.

*/ public listControls( args: ListControlsCommandInput, @@ -1496,9 +1528,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of keywords that pre-mapped to the specified control data source. - *

+ *

Returns a list of keywords that are pre-mapped to the specified control data source.

*/ public listKeywordsForDataSource( args: ListKeywordsForDataSourceCommandInput, @@ -1530,9 +1560,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of all Audit Manager notifications. - *

+ *

Returns a list of all Audit Manager notifications.

*/ public listNotifications( args: ListNotificationsCommandInput, @@ -1564,9 +1592,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Returns a list of tags for the specified resource in Audit Manager. - *

+ *

Returns a list of tags for the specified resource in Audit Manager.

*/ public listTagsForResource( args: ListTagsForResourceCommandInput, @@ -1598,9 +1624,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Enables Audit Manager for the specified Amazon Web Services account. - *

+ *

Enables Audit Manager for the specified Amazon Web Services account.

*/ public registerAccount( args: RegisterAccountCommandInput, @@ -1632,9 +1656,8 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Enables an Amazon Web Services account within the organization as the delegated administrator for Audit Manager. - *

+ *

Enables an Amazon Web Services account within the organization as the delegated + * administrator for Audit Manager.

*/ public registerOrganizationAdminAccount( args: RegisterOrganizationAdminAccountCommandInput, @@ -1666,9 +1689,49 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Tags the specified resource in Audit Manager. - *

+ *

Creates a share request for a custom framework in Audit Manager.

+ *

The share request specifies a recipient and notifies them that a custom framework is available. Recipients have 120 days to accept or decline the request. If no action is taken, the share request expires.

+ * + *

When you invoke the StartAssessmentFrameworkShare API, you are about to + * share a custom framework with another Amazon Web Services account. You may not share a + * custom framework that is derived from a standard framework if the standard framework is + * designated as not eligible for sharing by Amazon Web Services, unless you have obtained + * permission to do so from the owner of the standard framework. To learn more about which + * standard frameworks are eligible for sharing, see Framework sharing eligibility in the Audit Manager User + * Guide.

+ *
+ */ + public startAssessmentFrameworkShare( + args: StartAssessmentFrameworkShareCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startAssessmentFrameworkShare( + args: StartAssessmentFrameworkShareCommandInput, + cb: (err: any, data?: StartAssessmentFrameworkShareCommandOutput) => void + ): void; + public startAssessmentFrameworkShare( + args: StartAssessmentFrameworkShareCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartAssessmentFrameworkShareCommandOutput) => void + ): void; + public startAssessmentFrameworkShare( + args: StartAssessmentFrameworkShareCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartAssessmentFrameworkShareCommandOutput) => void), + cb?: (err: any, data?: StartAssessmentFrameworkShareCommandOutput) => void + ): Promise | void { + const command = new StartAssessmentFrameworkShareCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Tags the specified resource in Audit Manager.

*/ public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; @@ -1694,9 +1757,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Removes a tag from a resource in Audit Manager. - *

+ *

Removes a tag from a resource in Audit Manager.

*/ public untagResource( args: UntagResourceCommandInput, @@ -1728,9 +1789,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Edits an Audit Manager assessment. - *

+ *

Edits an Audit Manager assessment.

*/ public updateAssessment( args: UpdateAssessmentCommandInput, @@ -1762,9 +1821,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Updates a control within an assessment in Audit Manager. - *

+ *

Updates a control within an assessment in Audit Manager.

*/ public updateAssessmentControl( args: UpdateAssessmentControlCommandInput, @@ -1796,9 +1853,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Updates the status of a control set in an Audit Manager assessment. - *

+ *

Updates the status of a control set in an Audit Manager assessment.

*/ public updateAssessmentControlSetStatus( args: UpdateAssessmentControlSetStatusCommandInput, @@ -1830,9 +1885,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Updates a custom framework in Audit Manager. - *

+ *

Updates a custom framework in Audit Manager.

*/ public updateAssessmentFramework( args: UpdateAssessmentFrameworkCommandInput, @@ -1864,9 +1917,39 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Updates the status of an assessment in Audit Manager. - *

+ *

Updates a share request for a custom framework in Audit Manager.

+ */ + public updateAssessmentFrameworkShare( + args: UpdateAssessmentFrameworkShareCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAssessmentFrameworkShare( + args: UpdateAssessmentFrameworkShareCommandInput, + cb: (err: any, data?: UpdateAssessmentFrameworkShareCommandOutput) => void + ): void; + public updateAssessmentFrameworkShare( + args: UpdateAssessmentFrameworkShareCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAssessmentFrameworkShareCommandOutput) => void + ): void; + public updateAssessmentFrameworkShare( + args: UpdateAssessmentFrameworkShareCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAssessmentFrameworkShareCommandOutput) => void), + cb?: (err: any, data?: UpdateAssessmentFrameworkShareCommandOutput) => void + ): Promise | void { + const command = new UpdateAssessmentFrameworkShareCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

Updates the status of an assessment in Audit Manager.

*/ public updateAssessmentStatus( args: UpdateAssessmentStatusCommandInput, @@ -1898,9 +1981,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Updates a custom control in Audit Manager. - *

+ *

Updates a custom control in Audit Manager.

*/ public updateControl( args: UpdateControlCommandInput, @@ -1932,9 +2013,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Updates Audit Manager settings for the current user account. - *

+ *

Updates Audit Manager settings for the current user account.

*/ public updateSettings( args: UpdateSettingsCommandInput, @@ -1966,9 +2045,7 @@ export class AuditManager extends AuditManagerClient { } /** - *

- * Validates the integrity of an assessment report in Audit Manager. - *

+ *

Validates the integrity of an assessment report in Audit Manager.

*/ public validateAssessmentReportIntegrity( args: ValidateAssessmentReportIntegrityCommandInput, diff --git a/clients/client-auditmanager/src/AuditManagerClient.ts b/clients/client-auditmanager/src/AuditManagerClient.ts index 49ec9bd5051a..4042010d5f24 100644 --- a/clients/client-auditmanager/src/AuditManagerClient.ts +++ b/clients/client-auditmanager/src/AuditManagerClient.ts @@ -88,6 +88,10 @@ import { DeleteAssessmentFrameworkCommandInput, DeleteAssessmentFrameworkCommandOutput, } from "./commands/DeleteAssessmentFrameworkCommand"; +import { + DeleteAssessmentFrameworkShareCommandInput, + DeleteAssessmentFrameworkShareCommandOutput, +} from "./commands/DeleteAssessmentFrameworkShareCommand"; import { DeleteAssessmentReportCommandInput, DeleteAssessmentReportCommandOutput, @@ -139,6 +143,10 @@ import { ListAssessmentFrameworksCommandInput, ListAssessmentFrameworksCommandOutput, } from "./commands/ListAssessmentFrameworksCommand"; +import { + ListAssessmentFrameworkShareRequestsCommandInput, + ListAssessmentFrameworkShareRequestsCommandOutput, +} from "./commands/ListAssessmentFrameworkShareRequestsCommand"; import { ListAssessmentReportsCommandInput, ListAssessmentReportsCommandOutput, @@ -159,6 +167,10 @@ import { RegisterOrganizationAdminAccountCommandInput, RegisterOrganizationAdminAccountCommandOutput, } from "./commands/RegisterOrganizationAdminAccountCommand"; +import { + StartAssessmentFrameworkShareCommandInput, + StartAssessmentFrameworkShareCommandOutput, +} from "./commands/StartAssessmentFrameworkShareCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateAssessmentCommandInput, UpdateAssessmentCommandOutput } from "./commands/UpdateAssessmentCommand"; @@ -174,6 +186,10 @@ import { UpdateAssessmentFrameworkCommandInput, UpdateAssessmentFrameworkCommandOutput, } from "./commands/UpdateAssessmentFrameworkCommand"; +import { + UpdateAssessmentFrameworkShareCommandInput, + UpdateAssessmentFrameworkShareCommandOutput, +} from "./commands/UpdateAssessmentFrameworkShareCommand"; import { UpdateAssessmentStatusCommandInput, UpdateAssessmentStatusCommandOutput, @@ -199,6 +215,7 @@ export type ServiceInputTypes = | CreateControlCommandInput | DeleteAssessmentCommandInput | DeleteAssessmentFrameworkCommandInput + | DeleteAssessmentFrameworkShareCommandInput | DeleteAssessmentReportCommandInput | DeleteControlCommandInput | DeregisterAccountCommandInput @@ -219,6 +236,7 @@ export type ServiceInputTypes = | GetOrganizationAdminAccountCommandInput | GetServicesInScopeCommandInput | GetSettingsCommandInput + | ListAssessmentFrameworkShareRequestsCommandInput | ListAssessmentFrameworksCommandInput | ListAssessmentReportsCommandInput | ListAssessmentsCommandInput @@ -228,12 +246,14 @@ export type ServiceInputTypes = | ListTagsForResourceCommandInput | RegisterAccountCommandInput | RegisterOrganizationAdminAccountCommandInput + | StartAssessmentFrameworkShareCommandInput | TagResourceCommandInput | UntagResourceCommandInput | UpdateAssessmentCommandInput | UpdateAssessmentControlCommandInput | UpdateAssessmentControlSetStatusCommandInput | UpdateAssessmentFrameworkCommandInput + | UpdateAssessmentFrameworkShareCommandInput | UpdateAssessmentStatusCommandInput | UpdateControlCommandInput | UpdateSettingsCommandInput @@ -252,6 +272,7 @@ export type ServiceOutputTypes = | CreateControlCommandOutput | DeleteAssessmentCommandOutput | DeleteAssessmentFrameworkCommandOutput + | DeleteAssessmentFrameworkShareCommandOutput | DeleteAssessmentReportCommandOutput | DeleteControlCommandOutput | DeregisterAccountCommandOutput @@ -272,6 +293,7 @@ export type ServiceOutputTypes = | GetOrganizationAdminAccountCommandOutput | GetServicesInScopeCommandOutput | GetSettingsCommandOutput + | ListAssessmentFrameworkShareRequestsCommandOutput | ListAssessmentFrameworksCommandOutput | ListAssessmentReportsCommandOutput | ListAssessmentsCommandOutput @@ -281,12 +303,14 @@ export type ServiceOutputTypes = | ListTagsForResourceCommandOutput | RegisterAccountCommandOutput | RegisterOrganizationAdminAccountCommandOutput + | StartAssessmentFrameworkShareCommandOutput | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateAssessmentCommandOutput | UpdateAssessmentControlCommandOutput | UpdateAssessmentControlSetStatusCommandOutput | UpdateAssessmentFrameworkCommandOutput + | UpdateAssessmentFrameworkShareCommandOutput | UpdateAssessmentStatusCommandOutput | UpdateControlCommandOutput | UpdateSettingsCommandOutput @@ -431,37 +455,42 @@ type AuditManagerClientResolvedConfigType = __SmithyResolvedConfiguration<__Http export interface AuditManagerClientResolvedConfig extends AuditManagerClientResolvedConfigType {} /** - *

Welcome to the Audit Manager API reference. This guide is for developers who need detailed information about the Audit Manager API operations, data types, and errors.

- *

Audit Manager is a service that provides automated evidence collection so that you - * can continuously audit your Amazon Web Services usage, and assess the effectiveness of your controls to - * better manage risk and simplify compliance.

- *

Audit Manager provides pre-built frameworks that structure and automate assessments - * for a given compliance standard. Frameworks include a pre-built collection of controls with - * descriptions and testing procedures, which are grouped according to the requirements of the - * specified compliance standard or regulation. You can also customize frameworks and controls - * to support internal audits with unique requirements.

- * + *

Welcome to the Audit Manager API reference. This guide is for developers who + * need detailed information about the Audit Manager API operations, data types, and + * errors.

+ *

Audit Manager is a service that provides automated evidence collection so that + * you can continually audit your Amazon Web Services usage. You can use it to assess the + * effectiveness of your controls, manage risk, and simplify compliance.

+ *

Audit Manager provides prebuilt frameworks that structure and automate + * assessments for a given compliance standard. Frameworks include a prebuilt collection of + * controls with descriptions and testing procedures. These controls are grouped according to + * the requirements of the specified compliance standard or regulation. You can also customize + * frameworks and controls to support internal audits with specific requirements.

*

Use the following links to get started with the Audit Manager API:

*
    *
  • *

    - * Actions: An alphabetical list of all Audit Manager API operations.

    + * Actions: An + * alphabetical list of all Audit Manager API operations.

    *
  • *
  • *

    - * Data types: An alphabetical list of all Audit Manager data types.

    + * Data types: An alphabetical list of all Audit Manager data + * types.

    *
  • *
  • *

    - * Common parameters: Parameters that all Query operations can use.

    + * Common + * parameters: Parameters that all Query operations can use.

    *
  • *
  • *

    - * Common errors: Client and server errors that all operations can return.

    + * Common errors: + * Client and server errors that all operations can return.

    *
  • *
- * - *

If you're new to Audit Manager, we recommend that you review the Audit Manager User Guide.

+ *

If you're new to Audit Manager, we recommend that you review the + * Audit Manager User Guide.

*/ export class AuditManagerClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-auditmanager/src/commands/AssociateAssessmentReportEvidenceFolderCommand.ts b/clients/client-auditmanager/src/commands/AssociateAssessmentReportEvidenceFolderCommand.ts index c3a7e78502b8..885c9195aac7 100644 --- a/clients/client-auditmanager/src/commands/AssociateAssessmentReportEvidenceFolderCommand.ts +++ b/clients/client-auditmanager/src/commands/AssociateAssessmentReportEvidenceFolderCommand.ts @@ -28,9 +28,8 @@ export interface AssociateAssessmentReportEvidenceFolderCommandOutput __MetadataBearer {} /** - *

- * Associates an evidence folder to the specified assessment report in Audit Manager. - *

+ *

Associates an evidence folder to an assessment report in a Audit Manager + * assessment.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/BatchAssociateAssessmentReportEvidenceCommand.ts b/clients/client-auditmanager/src/commands/BatchAssociateAssessmentReportEvidenceCommand.ts index bbf1c51435b8..cd91f9b058ac 100644 --- a/clients/client-auditmanager/src/commands/BatchAssociateAssessmentReportEvidenceCommand.ts +++ b/clients/client-auditmanager/src/commands/BatchAssociateAssessmentReportEvidenceCommand.ts @@ -28,9 +28,8 @@ export interface BatchAssociateAssessmentReportEvidenceCommandOutput __MetadataBearer {} /** - *

- * Associates a list of evidence to an assessment report in an Audit Manager assessment. - *

+ *

Associates a list of evidence to an assessment report in an Audit Manager + * assessment.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/BatchCreateDelegationByAssessmentCommand.ts b/clients/client-auditmanager/src/commands/BatchCreateDelegationByAssessmentCommand.ts index 91cadbed599c..d000040ba0ca 100644 --- a/clients/client-auditmanager/src/commands/BatchCreateDelegationByAssessmentCommand.ts +++ b/clients/client-auditmanager/src/commands/BatchCreateDelegationByAssessmentCommand.ts @@ -27,9 +27,7 @@ export interface BatchCreateDelegationByAssessmentCommandOutput __MetadataBearer {} /** - *

- * Create a batch of delegations for a specified assessment in Audit Manager. - *

+ *

Creates a batch of delegations for an assessment in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/BatchDeleteDelegationByAssessmentCommand.ts b/clients/client-auditmanager/src/commands/BatchDeleteDelegationByAssessmentCommand.ts index 66558f0d3b53..788bfcea3862 100644 --- a/clients/client-auditmanager/src/commands/BatchDeleteDelegationByAssessmentCommand.ts +++ b/clients/client-auditmanager/src/commands/BatchDeleteDelegationByAssessmentCommand.ts @@ -27,9 +27,7 @@ export interface BatchDeleteDelegationByAssessmentCommandOutput __MetadataBearer {} /** - *

- * Deletes the delegations in the specified Audit Manager assessment. - *

+ *

Deletes a batch of delegations for an assessment in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/BatchDisassociateAssessmentReportEvidenceCommand.ts b/clients/client-auditmanager/src/commands/BatchDisassociateAssessmentReportEvidenceCommand.ts index 6243d6eadf63..269710904fc9 100644 --- a/clients/client-auditmanager/src/commands/BatchDisassociateAssessmentReportEvidenceCommand.ts +++ b/clients/client-auditmanager/src/commands/BatchDisassociateAssessmentReportEvidenceCommand.ts @@ -28,8 +28,7 @@ export interface BatchDisassociateAssessmentReportEvidenceCommandOutput __MetadataBearer {} /** - *

- * Disassociates a list of evidence from the specified assessment report in Audit Manager. + *

Disassociates a list of evidence from an assessment report in Audit Manager. *

* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-auditmanager/src/commands/BatchImportEvidenceToAssessmentControlCommand.ts b/clients/client-auditmanager/src/commands/BatchImportEvidenceToAssessmentControlCommand.ts index 3ea402ddadbc..027092cd32f6 100644 --- a/clients/client-auditmanager/src/commands/BatchImportEvidenceToAssessmentControlCommand.ts +++ b/clients/client-auditmanager/src/commands/BatchImportEvidenceToAssessmentControlCommand.ts @@ -28,9 +28,8 @@ export interface BatchImportEvidenceToAssessmentControlCommandOutput __MetadataBearer {} /** - *

- * Uploads one or more pieces of evidence to the specified control in the assessment in Audit Manager. - *

+ *

Uploads one or more pieces of evidence to a control in an Audit Manager + * assessment.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/CreateAssessmentCommand.ts b/clients/client-auditmanager/src/commands/CreateAssessmentCommand.ts index bd712218ae4b..df25cfcab9c4 100644 --- a/clients/client-auditmanager/src/commands/CreateAssessmentCommand.ts +++ b/clients/client-auditmanager/src/commands/CreateAssessmentCommand.ts @@ -22,9 +22,7 @@ export interface CreateAssessmentCommandInput extends CreateAssessmentRequest {} export interface CreateAssessmentCommandOutput extends CreateAssessmentResponse, __MetadataBearer {} /** - *

- * Creates an assessment in Audit Manager. - *

+ *

Creates an assessment in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/CreateAssessmentFrameworkCommand.ts b/clients/client-auditmanager/src/commands/CreateAssessmentFrameworkCommand.ts index 5f464563ef2b..fa3e52277ef3 100644 --- a/clients/client-auditmanager/src/commands/CreateAssessmentFrameworkCommand.ts +++ b/clients/client-auditmanager/src/commands/CreateAssessmentFrameworkCommand.ts @@ -22,9 +22,7 @@ export interface CreateAssessmentFrameworkCommandInput extends CreateAssessmentF export interface CreateAssessmentFrameworkCommandOutput extends CreateAssessmentFrameworkResponse, __MetadataBearer {} /** - *

- * Creates a custom framework in Audit Manager. - *

+ *

Creates a custom framework in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/CreateAssessmentReportCommand.ts b/clients/client-auditmanager/src/commands/CreateAssessmentReportCommand.ts index bb44bd406165..b8a6105f56e9 100644 --- a/clients/client-auditmanager/src/commands/CreateAssessmentReportCommand.ts +++ b/clients/client-auditmanager/src/commands/CreateAssessmentReportCommand.ts @@ -22,9 +22,7 @@ export interface CreateAssessmentReportCommandInput extends CreateAssessmentRepo export interface CreateAssessmentReportCommandOutput extends CreateAssessmentReportResponse, __MetadataBearer {} /** - *

- * Creates an assessment report for the specified assessment. - *

+ *

Creates an assessment report for the specified assessment.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/CreateControlCommand.ts b/clients/client-auditmanager/src/commands/CreateControlCommand.ts index 66e8db60fb2b..e20fc10e15f8 100644 --- a/clients/client-auditmanager/src/commands/CreateControlCommand.ts +++ b/clients/client-auditmanager/src/commands/CreateControlCommand.ts @@ -22,9 +22,7 @@ export interface CreateControlCommandInput extends CreateControlRequest {} export interface CreateControlCommandOutput extends CreateControlResponse, __MetadataBearer {} /** - *

- * Creates a new custom control in Audit Manager. - *

+ *

Creates a new custom control in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/DeleteAssessmentCommand.ts b/clients/client-auditmanager/src/commands/DeleteAssessmentCommand.ts index 42228e32cc7b..a68d1b45bc6c 100644 --- a/clients/client-auditmanager/src/commands/DeleteAssessmentCommand.ts +++ b/clients/client-auditmanager/src/commands/DeleteAssessmentCommand.ts @@ -22,9 +22,7 @@ export interface DeleteAssessmentCommandInput extends DeleteAssessmentRequest {} export interface DeleteAssessmentCommandOutput extends DeleteAssessmentResponse, __MetadataBearer {} /** - *

- * Deletes an assessment in Audit Manager. - *

+ *

Deletes an assessment in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/DeleteAssessmentFrameworkCommand.ts b/clients/client-auditmanager/src/commands/DeleteAssessmentFrameworkCommand.ts index 7e2b2442b262..71124d9210e3 100644 --- a/clients/client-auditmanager/src/commands/DeleteAssessmentFrameworkCommand.ts +++ b/clients/client-auditmanager/src/commands/DeleteAssessmentFrameworkCommand.ts @@ -22,9 +22,7 @@ export interface DeleteAssessmentFrameworkCommandInput extends DeleteAssessmentF export interface DeleteAssessmentFrameworkCommandOutput extends DeleteAssessmentFrameworkResponse, __MetadataBearer {} /** - *

- * Deletes a custom framework in Audit Manager. - *

+ *

Deletes a custom framework in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/DeleteAssessmentFrameworkShareCommand.ts b/clients/client-auditmanager/src/commands/DeleteAssessmentFrameworkShareCommand.ts new file mode 100644 index 000000000000..88ef478fce4b --- /dev/null +++ b/clients/client-auditmanager/src/commands/DeleteAssessmentFrameworkShareCommand.ts @@ -0,0 +1,105 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { AuditManagerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AuditManagerClient"; +import { DeleteAssessmentFrameworkShareRequest, DeleteAssessmentFrameworkShareResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DeleteAssessmentFrameworkShareCommand, + serializeAws_restJson1DeleteAssessmentFrameworkShareCommand, +} from "../protocols/Aws_restJson1"; + +export interface DeleteAssessmentFrameworkShareCommandInput extends DeleteAssessmentFrameworkShareRequest {} +export interface DeleteAssessmentFrameworkShareCommandOutput + extends DeleteAssessmentFrameworkShareResponse, + __MetadataBearer {} + +/** + *

+ * Deletes a share request for a custom framework in Audit Manager. + *

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AuditManagerClient, DeleteAssessmentFrameworkShareCommand } from "@aws-sdk/client-auditmanager"; // ES Modules import + * // const { AuditManagerClient, DeleteAssessmentFrameworkShareCommand } = require("@aws-sdk/client-auditmanager"); // CommonJS import + * const client = new AuditManagerClient(config); + * const command = new DeleteAssessmentFrameworkShareCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteAssessmentFrameworkShareCommandInput} for command's `input` shape. + * @see {@link DeleteAssessmentFrameworkShareCommandOutput} for command's `response` shape. + * @see {@link AuditManagerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteAssessmentFrameworkShareCommand extends $Command< + DeleteAssessmentFrameworkShareCommandInput, + DeleteAssessmentFrameworkShareCommandOutput, + AuditManagerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteAssessmentFrameworkShareCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AuditManagerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AuditManagerClient"; + const commandName = "DeleteAssessmentFrameworkShareCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteAssessmentFrameworkShareRequest.filterSensitiveLog, + outputFilterSensitiveLog: DeleteAssessmentFrameworkShareResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeleteAssessmentFrameworkShareCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DeleteAssessmentFrameworkShareCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DeleteAssessmentFrameworkShareCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-auditmanager/src/commands/DeleteAssessmentReportCommand.ts b/clients/client-auditmanager/src/commands/DeleteAssessmentReportCommand.ts index a61258fb479d..c5cb303b18c7 100644 --- a/clients/client-auditmanager/src/commands/DeleteAssessmentReportCommand.ts +++ b/clients/client-auditmanager/src/commands/DeleteAssessmentReportCommand.ts @@ -22,9 +22,7 @@ export interface DeleteAssessmentReportCommandInput extends DeleteAssessmentRepo export interface DeleteAssessmentReportCommandOutput extends DeleteAssessmentReportResponse, __MetadataBearer {} /** - *

- * Deletes an assessment report from an assessment in Audit Manager. - *

+ *

Deletes an assessment report from an assessment in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/DeleteControlCommand.ts b/clients/client-auditmanager/src/commands/DeleteControlCommand.ts index 642449c1c48b..0a560a9fed21 100644 --- a/clients/client-auditmanager/src/commands/DeleteControlCommand.ts +++ b/clients/client-auditmanager/src/commands/DeleteControlCommand.ts @@ -22,9 +22,7 @@ export interface DeleteControlCommandInput extends DeleteControlRequest {} export interface DeleteControlCommandOutput extends DeleteControlResponse, __MetadataBearer {} /** - *

- * Deletes a custom control in Audit Manager. - *

+ *

Deletes a custom control in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/DeregisterAccountCommand.ts b/clients/client-auditmanager/src/commands/DeregisterAccountCommand.ts index d811c9c930b4..3090e4a7094f 100644 --- a/clients/client-auditmanager/src/commands/DeregisterAccountCommand.ts +++ b/clients/client-auditmanager/src/commands/DeregisterAccountCommand.ts @@ -22,9 +22,7 @@ export interface DeregisterAccountCommandInput extends DeregisterAccountRequest export interface DeregisterAccountCommandOutput extends DeregisterAccountResponse, __MetadataBearer {} /** - *

- * Deregisters an account in Audit Manager. - *

+ *

Deregisters an account in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/DeregisterOrganizationAdminAccountCommand.ts b/clients/client-auditmanager/src/commands/DeregisterOrganizationAdminAccountCommand.ts index 89331793cf28..0f62b4743356 100644 --- a/clients/client-auditmanager/src/commands/DeregisterOrganizationAdminAccountCommand.ts +++ b/clients/client-auditmanager/src/commands/DeregisterOrganizationAdminAccountCommand.ts @@ -27,13 +27,14 @@ export interface DeregisterOrganizationAdminAccountCommandOutput __MetadataBearer {} /** - *

Removes the specified member Amazon Web Services account as a delegated administrator for Audit Manager.

+ *

Removes the specified member Amazon Web Services account as a delegated administrator for + * Audit Manager.

* - *

When you remove a delegated administrator from your Audit Manager settings, or when you - * deregister a delegated administrator from Organizations, you continue to have access - * to the evidence that you previously collected under that account. However, Audit Manager - * will stop collecting and attaching evidence to that delegated administrator account - * moving forward.

+ *

When you remove a delegated administrator from your Audit Manager settings, you + * continue to have access to the evidence that you previously collected under that + * account. This is also the case when you deregister a delegated administrator from + * Audit Manager. However, Audit Manager will stop collecting and attaching + * evidence to that delegated administrator account moving forward.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-auditmanager/src/commands/DisassociateAssessmentReportEvidenceFolderCommand.ts b/clients/client-auditmanager/src/commands/DisassociateAssessmentReportEvidenceFolderCommand.ts index 5e5359879e91..72eec6654c92 100644 --- a/clients/client-auditmanager/src/commands/DisassociateAssessmentReportEvidenceFolderCommand.ts +++ b/clients/client-auditmanager/src/commands/DisassociateAssessmentReportEvidenceFolderCommand.ts @@ -28,9 +28,7 @@ export interface DisassociateAssessmentReportEvidenceFolderCommandOutput __MetadataBearer {} /** - *

- * Disassociates an evidence folder from the specified assessment report in Audit Manager. - *

+ *

Disassociates an evidence folder from the specified assessment report in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetAccountStatusCommand.ts b/clients/client-auditmanager/src/commands/GetAccountStatusCommand.ts index f3affe26f535..b18dedbd9ee8 100644 --- a/clients/client-auditmanager/src/commands/GetAccountStatusCommand.ts +++ b/clients/client-auditmanager/src/commands/GetAccountStatusCommand.ts @@ -22,9 +22,7 @@ export interface GetAccountStatusCommandInput extends GetAccountStatusRequest {} export interface GetAccountStatusCommandOutput extends GetAccountStatusResponse, __MetadataBearer {} /** - *

- * Returns the registration status of an account in Audit Manager. - *

+ *

Returns the registration status of an account in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetAssessmentCommand.ts b/clients/client-auditmanager/src/commands/GetAssessmentCommand.ts index c80d37286830..76671f041cab 100644 --- a/clients/client-auditmanager/src/commands/GetAssessmentCommand.ts +++ b/clients/client-auditmanager/src/commands/GetAssessmentCommand.ts @@ -22,9 +22,7 @@ export interface GetAssessmentCommandInput extends GetAssessmentRequest {} export interface GetAssessmentCommandOutput extends GetAssessmentResponse, __MetadataBearer {} /** - *

- * Returns an assessment from Audit Manager. - *

+ *

Returns an assessment from Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetAssessmentFrameworkCommand.ts b/clients/client-auditmanager/src/commands/GetAssessmentFrameworkCommand.ts index 9acffb762fd1..20a2f0c1b2c2 100644 --- a/clients/client-auditmanager/src/commands/GetAssessmentFrameworkCommand.ts +++ b/clients/client-auditmanager/src/commands/GetAssessmentFrameworkCommand.ts @@ -22,9 +22,7 @@ export interface GetAssessmentFrameworkCommandInput extends GetAssessmentFramewo export interface GetAssessmentFrameworkCommandOutput extends GetAssessmentFrameworkResponse, __MetadataBearer {} /** - *

- * Returns a framework from Audit Manager. - *

+ *

Returns a framework from Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetAssessmentReportUrlCommand.ts b/clients/client-auditmanager/src/commands/GetAssessmentReportUrlCommand.ts index 5c36e857dbf3..9c2a9726ceca 100644 --- a/clients/client-auditmanager/src/commands/GetAssessmentReportUrlCommand.ts +++ b/clients/client-auditmanager/src/commands/GetAssessmentReportUrlCommand.ts @@ -22,9 +22,7 @@ export interface GetAssessmentReportUrlCommandInput extends GetAssessmentReportU export interface GetAssessmentReportUrlCommandOutput extends GetAssessmentReportUrlResponse, __MetadataBearer {} /** - *

- * Returns the URL of a specified assessment report in Audit Manager. - *

+ *

Returns the URL of an assessment report in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetChangeLogsCommand.ts b/clients/client-auditmanager/src/commands/GetChangeLogsCommand.ts index f6b7ba759711..a60f8184ab0e 100644 --- a/clients/client-auditmanager/src/commands/GetChangeLogsCommand.ts +++ b/clients/client-auditmanager/src/commands/GetChangeLogsCommand.ts @@ -22,9 +22,7 @@ export interface GetChangeLogsCommandInput extends GetChangeLogsRequest {} export interface GetChangeLogsCommandOutput extends GetChangeLogsResponse, __MetadataBearer {} /** - *

- * Returns a list of changelogs from Audit Manager. - *

+ *

Returns a list of changelogs from Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetControlCommand.ts b/clients/client-auditmanager/src/commands/GetControlCommand.ts index 765c3fe4ed41..f118cf90f3aa 100644 --- a/clients/client-auditmanager/src/commands/GetControlCommand.ts +++ b/clients/client-auditmanager/src/commands/GetControlCommand.ts @@ -22,9 +22,7 @@ export interface GetControlCommandInput extends GetControlRequest {} export interface GetControlCommandOutput extends GetControlResponse, __MetadataBearer {} /** - *

- * Returns a control from Audit Manager. - *

+ *

Returns a control from Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetDelegationsCommand.ts b/clients/client-auditmanager/src/commands/GetDelegationsCommand.ts index d1e421ea69ea..b6e04602a94a 100644 --- a/clients/client-auditmanager/src/commands/GetDelegationsCommand.ts +++ b/clients/client-auditmanager/src/commands/GetDelegationsCommand.ts @@ -22,9 +22,7 @@ export interface GetDelegationsCommandInput extends GetDelegationsRequest {} export interface GetDelegationsCommandOutput extends GetDelegationsResponse, __MetadataBearer {} /** - *

- * Returns a list of delegations from an audit owner to a delegate. - *

+ *

Returns a list of delegations from an audit owner to a delegate.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetEvidenceByEvidenceFolderCommand.ts b/clients/client-auditmanager/src/commands/GetEvidenceByEvidenceFolderCommand.ts index 448395baa919..7b7430392211 100644 --- a/clients/client-auditmanager/src/commands/GetEvidenceByEvidenceFolderCommand.ts +++ b/clients/client-auditmanager/src/commands/GetEvidenceByEvidenceFolderCommand.ts @@ -24,9 +24,7 @@ export interface GetEvidenceByEvidenceFolderCommandOutput __MetadataBearer {} /** - *

- * Returns all evidence from a specified evidence folder in Audit Manager. - *

+ *

Returns all evidence from a specified evidence folder in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetEvidenceCommand.ts b/clients/client-auditmanager/src/commands/GetEvidenceCommand.ts index a5c5259927ca..1af339723a6a 100644 --- a/clients/client-auditmanager/src/commands/GetEvidenceCommand.ts +++ b/clients/client-auditmanager/src/commands/GetEvidenceCommand.ts @@ -22,9 +22,7 @@ export interface GetEvidenceCommandInput extends GetEvidenceRequest {} export interface GetEvidenceCommandOutput extends GetEvidenceResponse, __MetadataBearer {} /** - *

- * Returns evidence from Audit Manager. - *

+ *

Returns evidence from Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetEvidenceFolderCommand.ts b/clients/client-auditmanager/src/commands/GetEvidenceFolderCommand.ts index 27204f3fbef7..974078be8974 100644 --- a/clients/client-auditmanager/src/commands/GetEvidenceFolderCommand.ts +++ b/clients/client-auditmanager/src/commands/GetEvidenceFolderCommand.ts @@ -22,9 +22,8 @@ export interface GetEvidenceFolderCommandInput extends GetEvidenceFolderRequest export interface GetEvidenceFolderCommandOutput extends GetEvidenceFolderResponse, __MetadataBearer {} /** - *

- * Returns an evidence folder from the specified assessment in Audit Manager. - *

+ *

Returns an evidence folder from the specified assessment in Audit Manager. + *

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetEvidenceFoldersByAssessmentCommand.ts b/clients/client-auditmanager/src/commands/GetEvidenceFoldersByAssessmentCommand.ts index 559002e39f96..3bcc07237879 100644 --- a/clients/client-auditmanager/src/commands/GetEvidenceFoldersByAssessmentCommand.ts +++ b/clients/client-auditmanager/src/commands/GetEvidenceFoldersByAssessmentCommand.ts @@ -24,9 +24,8 @@ export interface GetEvidenceFoldersByAssessmentCommandOutput __MetadataBearer {} /** - *

- * Returns the evidence folders from a specified assessment in Audit Manager. - *

+ *

Returns the evidence folders from a specified assessment in Audit Manager. + *

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetEvidenceFoldersByAssessmentControlCommand.ts b/clients/client-auditmanager/src/commands/GetEvidenceFoldersByAssessmentControlCommand.ts index e54182da02c1..1be9dd511aa1 100644 --- a/clients/client-auditmanager/src/commands/GetEvidenceFoldersByAssessmentControlCommand.ts +++ b/clients/client-auditmanager/src/commands/GetEvidenceFoldersByAssessmentControlCommand.ts @@ -28,9 +28,8 @@ export interface GetEvidenceFoldersByAssessmentControlCommandOutput __MetadataBearer {} /** - *

- * Returns a list of evidence folders associated with a specified control of an assessment in Audit Manager. - *

+ *

Returns a list of evidence folders that are associated with a specified control of an + * assessment in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetOrganizationAdminAccountCommand.ts b/clients/client-auditmanager/src/commands/GetOrganizationAdminAccountCommand.ts index 2d110d066fed..b2b182c4dc6f 100644 --- a/clients/client-auditmanager/src/commands/GetOrganizationAdminAccountCommand.ts +++ b/clients/client-auditmanager/src/commands/GetOrganizationAdminAccountCommand.ts @@ -24,9 +24,8 @@ export interface GetOrganizationAdminAccountCommandOutput __MetadataBearer {} /** - *

- * Returns the name of the delegated Amazon Web Services administrator account for the organization. - *

+ *

Returns the name of the delegated Amazon Web Services administrator account for the + * organization.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetServicesInScopeCommand.ts b/clients/client-auditmanager/src/commands/GetServicesInScopeCommand.ts index e056a40f90f5..56234f5bc0f2 100644 --- a/clients/client-auditmanager/src/commands/GetServicesInScopeCommand.ts +++ b/clients/client-auditmanager/src/commands/GetServicesInScopeCommand.ts @@ -22,9 +22,8 @@ export interface GetServicesInScopeCommandInput extends GetServicesInScopeReques export interface GetServicesInScopeCommandOutput extends GetServicesInScopeResponse, __MetadataBearer {} /** - *

- * Returns a list of the in-scope Amazon Web Services services for the specified assessment. - *

+ *

Returns a list of the in-scope Amazon Web Services services for the specified + * assessment.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/GetSettingsCommand.ts b/clients/client-auditmanager/src/commands/GetSettingsCommand.ts index 69a58b7c7dc6..3c9a630b7aff 100644 --- a/clients/client-auditmanager/src/commands/GetSettingsCommand.ts +++ b/clients/client-auditmanager/src/commands/GetSettingsCommand.ts @@ -22,9 +22,7 @@ export interface GetSettingsCommandInput extends GetSettingsRequest {} export interface GetSettingsCommandOutput extends GetSettingsResponse, __MetadataBearer {} /** - *

- * Returns the settings for the specified Amazon Web Services account. - *

+ *

Returns the settings for the specified Amazon Web Services account.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/ListAssessmentFrameworkShareRequestsCommand.ts b/clients/client-auditmanager/src/commands/ListAssessmentFrameworkShareRequestsCommand.ts new file mode 100644 index 000000000000..8a3594fa9178 --- /dev/null +++ b/clients/client-auditmanager/src/commands/ListAssessmentFrameworkShareRequestsCommand.ts @@ -0,0 +1,106 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { AuditManagerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AuditManagerClient"; +import { + ListAssessmentFrameworkShareRequestsRequest, + ListAssessmentFrameworkShareRequestsResponse, +} from "../models/models_0"; +import { + deserializeAws_restJson1ListAssessmentFrameworkShareRequestsCommand, + serializeAws_restJson1ListAssessmentFrameworkShareRequestsCommand, +} from "../protocols/Aws_restJson1"; + +export interface ListAssessmentFrameworkShareRequestsCommandInput extends ListAssessmentFrameworkShareRequestsRequest {} +export interface ListAssessmentFrameworkShareRequestsCommandOutput + extends ListAssessmentFrameworkShareRequestsResponse, + __MetadataBearer {} + +/** + *

Returns a list of sent or received share requests for custom frameworks in Audit Manager.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AuditManagerClient, ListAssessmentFrameworkShareRequestsCommand } from "@aws-sdk/client-auditmanager"; // ES Modules import + * // const { AuditManagerClient, ListAssessmentFrameworkShareRequestsCommand } = require("@aws-sdk/client-auditmanager"); // CommonJS import + * const client = new AuditManagerClient(config); + * const command = new ListAssessmentFrameworkShareRequestsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListAssessmentFrameworkShareRequestsCommandInput} for command's `input` shape. + * @see {@link ListAssessmentFrameworkShareRequestsCommandOutput} for command's `response` shape. + * @see {@link AuditManagerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListAssessmentFrameworkShareRequestsCommand extends $Command< + ListAssessmentFrameworkShareRequestsCommandInput, + ListAssessmentFrameworkShareRequestsCommandOutput, + AuditManagerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAssessmentFrameworkShareRequestsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AuditManagerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AuditManagerClient"; + const commandName = "ListAssessmentFrameworkShareRequestsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListAssessmentFrameworkShareRequestsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAssessmentFrameworkShareRequestsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: ListAssessmentFrameworkShareRequestsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1ListAssessmentFrameworkShareRequestsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1ListAssessmentFrameworkShareRequestsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-auditmanager/src/commands/ListAssessmentFrameworksCommand.ts b/clients/client-auditmanager/src/commands/ListAssessmentFrameworksCommand.ts index 771dd0197487..011db12827d4 100644 --- a/clients/client-auditmanager/src/commands/ListAssessmentFrameworksCommand.ts +++ b/clients/client-auditmanager/src/commands/ListAssessmentFrameworksCommand.ts @@ -22,9 +22,8 @@ export interface ListAssessmentFrameworksCommandInput extends ListAssessmentFram export interface ListAssessmentFrameworksCommandOutput extends ListAssessmentFrameworksResponse, __MetadataBearer {} /** - *

- * Returns a list of the frameworks available in the Audit Manager framework library. - *

+ *

Returns a list of the frameworks that are available in the Audit Manager + * framework library.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/ListAssessmentReportsCommand.ts b/clients/client-auditmanager/src/commands/ListAssessmentReportsCommand.ts index f44b8b54b4b5..a8eedb6b0730 100644 --- a/clients/client-auditmanager/src/commands/ListAssessmentReportsCommand.ts +++ b/clients/client-auditmanager/src/commands/ListAssessmentReportsCommand.ts @@ -22,9 +22,7 @@ export interface ListAssessmentReportsCommandInput extends ListAssessmentReports export interface ListAssessmentReportsCommandOutput extends ListAssessmentReportsResponse, __MetadataBearer {} /** - *

- * Returns a list of assessment reports created in Audit Manager. - *

+ *

Returns a list of assessment reports created in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/ListAssessmentsCommand.ts b/clients/client-auditmanager/src/commands/ListAssessmentsCommand.ts index 715662527a17..c54fd5d020e4 100644 --- a/clients/client-auditmanager/src/commands/ListAssessmentsCommand.ts +++ b/clients/client-auditmanager/src/commands/ListAssessmentsCommand.ts @@ -22,9 +22,7 @@ export interface ListAssessmentsCommandInput extends ListAssessmentsRequest {} export interface ListAssessmentsCommandOutput extends ListAssessmentsResponse, __MetadataBearer {} /** - *

- * Returns a list of current and past assessments from Audit Manager. - *

+ *

Returns a list of current and past assessments from Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/ListControlsCommand.ts b/clients/client-auditmanager/src/commands/ListControlsCommand.ts index e61bc9231412..f0e86f4d59f4 100644 --- a/clients/client-auditmanager/src/commands/ListControlsCommand.ts +++ b/clients/client-auditmanager/src/commands/ListControlsCommand.ts @@ -22,9 +22,7 @@ export interface ListControlsCommandInput extends ListControlsRequest {} export interface ListControlsCommandOutput extends ListControlsResponse, __MetadataBearer {} /** - *

- * Returns a list of controls from Audit Manager. - *

+ *

Returns a list of controls from Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/ListKeywordsForDataSourceCommand.ts b/clients/client-auditmanager/src/commands/ListKeywordsForDataSourceCommand.ts index 6f78720e3354..2a3f6596cdb9 100644 --- a/clients/client-auditmanager/src/commands/ListKeywordsForDataSourceCommand.ts +++ b/clients/client-auditmanager/src/commands/ListKeywordsForDataSourceCommand.ts @@ -22,9 +22,7 @@ export interface ListKeywordsForDataSourceCommandInput extends ListKeywordsForDa export interface ListKeywordsForDataSourceCommandOutput extends ListKeywordsForDataSourceResponse, __MetadataBearer {} /** - *

- * Returns a list of keywords that pre-mapped to the specified control data source. - *

+ *

Returns a list of keywords that are pre-mapped to the specified control data source.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/ListNotificationsCommand.ts b/clients/client-auditmanager/src/commands/ListNotificationsCommand.ts index c798ce06345a..eb80a93c0915 100644 --- a/clients/client-auditmanager/src/commands/ListNotificationsCommand.ts +++ b/clients/client-auditmanager/src/commands/ListNotificationsCommand.ts @@ -22,9 +22,7 @@ export interface ListNotificationsCommandInput extends ListNotificationsRequest export interface ListNotificationsCommandOutput extends ListNotificationsResponse, __MetadataBearer {} /** - *

- * Returns a list of all Audit Manager notifications. - *

+ *

Returns a list of all Audit Manager notifications.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/ListTagsForResourceCommand.ts b/clients/client-auditmanager/src/commands/ListTagsForResourceCommand.ts index 0b10ab68249d..9a2abfafd63d 100644 --- a/clients/client-auditmanager/src/commands/ListTagsForResourceCommand.ts +++ b/clients/client-auditmanager/src/commands/ListTagsForResourceCommand.ts @@ -22,9 +22,7 @@ export interface ListTagsForResourceCommandInput extends ListTagsForResourceRequ export interface ListTagsForResourceCommandOutput extends ListTagsForResourceResponse, __MetadataBearer {} /** - *

- * Returns a list of tags for the specified resource in Audit Manager. - *

+ *

Returns a list of tags for the specified resource in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/RegisterAccountCommand.ts b/clients/client-auditmanager/src/commands/RegisterAccountCommand.ts index b74d1fb3a83f..fb6878cd4fda 100644 --- a/clients/client-auditmanager/src/commands/RegisterAccountCommand.ts +++ b/clients/client-auditmanager/src/commands/RegisterAccountCommand.ts @@ -22,9 +22,7 @@ export interface RegisterAccountCommandInput extends RegisterAccountRequest {} export interface RegisterAccountCommandOutput extends RegisterAccountResponse, __MetadataBearer {} /** - *

- * Enables Audit Manager for the specified Amazon Web Services account. - *

+ *

Enables Audit Manager for the specified Amazon Web Services account.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/RegisterOrganizationAdminAccountCommand.ts b/clients/client-auditmanager/src/commands/RegisterOrganizationAdminAccountCommand.ts index 758ad67561ad..4cd88d5237db 100644 --- a/clients/client-auditmanager/src/commands/RegisterOrganizationAdminAccountCommand.ts +++ b/clients/client-auditmanager/src/commands/RegisterOrganizationAdminAccountCommand.ts @@ -24,9 +24,8 @@ export interface RegisterOrganizationAdminAccountCommandOutput __MetadataBearer {} /** - *

- * Enables an Amazon Web Services account within the organization as the delegated administrator for Audit Manager. - *

+ *

Enables an Amazon Web Services account within the organization as the delegated + * administrator for Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/StartAssessmentFrameworkShareCommand.ts b/clients/client-auditmanager/src/commands/StartAssessmentFrameworkShareCommand.ts new file mode 100644 index 000000000000..35d2f475de20 --- /dev/null +++ b/clients/client-auditmanager/src/commands/StartAssessmentFrameworkShareCommand.ts @@ -0,0 +1,110 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { AuditManagerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AuditManagerClient"; +import { StartAssessmentFrameworkShareRequest, StartAssessmentFrameworkShareResponse } from "../models/models_0"; +import { + deserializeAws_restJson1StartAssessmentFrameworkShareCommand, + serializeAws_restJson1StartAssessmentFrameworkShareCommand, +} from "../protocols/Aws_restJson1"; + +export interface StartAssessmentFrameworkShareCommandInput extends StartAssessmentFrameworkShareRequest {} +export interface StartAssessmentFrameworkShareCommandOutput + extends StartAssessmentFrameworkShareResponse, + __MetadataBearer {} + +/** + *

Creates a share request for a custom framework in Audit Manager.

+ *

The share request specifies a recipient and notifies them that a custom framework is available. Recipients have 120 days to accept or decline the request. If no action is taken, the share request expires.

+ * + *

When you invoke the StartAssessmentFrameworkShare API, you are about to + * share a custom framework with another Amazon Web Services account. You may not share a + * custom framework that is derived from a standard framework if the standard framework is + * designated as not eligible for sharing by Amazon Web Services, unless you have obtained + * permission to do so from the owner of the standard framework. To learn more about which + * standard frameworks are eligible for sharing, see Framework sharing eligibility in the Audit Manager User + * Guide.

+ *
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AuditManagerClient, StartAssessmentFrameworkShareCommand } from "@aws-sdk/client-auditmanager"; // ES Modules import + * // const { AuditManagerClient, StartAssessmentFrameworkShareCommand } = require("@aws-sdk/client-auditmanager"); // CommonJS import + * const client = new AuditManagerClient(config); + * const command = new StartAssessmentFrameworkShareCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StartAssessmentFrameworkShareCommandInput} for command's `input` shape. + * @see {@link StartAssessmentFrameworkShareCommandOutput} for command's `response` shape. + * @see {@link AuditManagerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class StartAssessmentFrameworkShareCommand extends $Command< + StartAssessmentFrameworkShareCommandInput, + StartAssessmentFrameworkShareCommandOutput, + AuditManagerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartAssessmentFrameworkShareCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AuditManagerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AuditManagerClient"; + const commandName = "StartAssessmentFrameworkShareCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StartAssessmentFrameworkShareRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartAssessmentFrameworkShareResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartAssessmentFrameworkShareCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1StartAssessmentFrameworkShareCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1StartAssessmentFrameworkShareCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-auditmanager/src/commands/TagResourceCommand.ts b/clients/client-auditmanager/src/commands/TagResourceCommand.ts index 4f4e6bf319a2..7527d3bb6506 100644 --- a/clients/client-auditmanager/src/commands/TagResourceCommand.ts +++ b/clients/client-auditmanager/src/commands/TagResourceCommand.ts @@ -22,9 +22,7 @@ export interface TagResourceCommandInput extends TagResourceRequest {} export interface TagResourceCommandOutput extends TagResourceResponse, __MetadataBearer {} /** - *

- * Tags the specified resource in Audit Manager. - *

+ *

Tags the specified resource in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/UntagResourceCommand.ts b/clients/client-auditmanager/src/commands/UntagResourceCommand.ts index 930e619c646d..1cf70cd70461 100644 --- a/clients/client-auditmanager/src/commands/UntagResourceCommand.ts +++ b/clients/client-auditmanager/src/commands/UntagResourceCommand.ts @@ -22,9 +22,7 @@ export interface UntagResourceCommandInput extends UntagResourceRequest {} export interface UntagResourceCommandOutput extends UntagResourceResponse, __MetadataBearer {} /** - *

- * Removes a tag from a resource in Audit Manager. - *

+ *

Removes a tag from a resource in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/UpdateAssessmentCommand.ts b/clients/client-auditmanager/src/commands/UpdateAssessmentCommand.ts index 5a3b7a28150f..846b955943a9 100644 --- a/clients/client-auditmanager/src/commands/UpdateAssessmentCommand.ts +++ b/clients/client-auditmanager/src/commands/UpdateAssessmentCommand.ts @@ -22,9 +22,7 @@ export interface UpdateAssessmentCommandInput extends UpdateAssessmentRequest {} export interface UpdateAssessmentCommandOutput extends UpdateAssessmentResponse, __MetadataBearer {} /** - *

- * Edits an Audit Manager assessment. - *

+ *

Edits an Audit Manager assessment.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/UpdateAssessmentControlCommand.ts b/clients/client-auditmanager/src/commands/UpdateAssessmentControlCommand.ts index 777b8209c23b..790a4f17fac1 100644 --- a/clients/client-auditmanager/src/commands/UpdateAssessmentControlCommand.ts +++ b/clients/client-auditmanager/src/commands/UpdateAssessmentControlCommand.ts @@ -22,9 +22,7 @@ export interface UpdateAssessmentControlCommandInput extends UpdateAssessmentCon export interface UpdateAssessmentControlCommandOutput extends UpdateAssessmentControlResponse, __MetadataBearer {} /** - *

- * Updates a control within an assessment in Audit Manager. - *

+ *

Updates a control within an assessment in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/UpdateAssessmentControlSetStatusCommand.ts b/clients/client-auditmanager/src/commands/UpdateAssessmentControlSetStatusCommand.ts index ccf2a158dfac..90c65d164d25 100644 --- a/clients/client-auditmanager/src/commands/UpdateAssessmentControlSetStatusCommand.ts +++ b/clients/client-auditmanager/src/commands/UpdateAssessmentControlSetStatusCommand.ts @@ -24,9 +24,7 @@ export interface UpdateAssessmentControlSetStatusCommandOutput __MetadataBearer {} /** - *

- * Updates the status of a control set in an Audit Manager assessment. - *

+ *

Updates the status of a control set in an Audit Manager assessment.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/UpdateAssessmentFrameworkCommand.ts b/clients/client-auditmanager/src/commands/UpdateAssessmentFrameworkCommand.ts index 23f301558064..d5bba4340759 100644 --- a/clients/client-auditmanager/src/commands/UpdateAssessmentFrameworkCommand.ts +++ b/clients/client-auditmanager/src/commands/UpdateAssessmentFrameworkCommand.ts @@ -22,9 +22,7 @@ export interface UpdateAssessmentFrameworkCommandInput extends UpdateAssessmentF export interface UpdateAssessmentFrameworkCommandOutput extends UpdateAssessmentFrameworkResponse, __MetadataBearer {} /** - *

- * Updates a custom framework in Audit Manager. - *

+ *

Updates a custom framework in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/UpdateAssessmentFrameworkShareCommand.ts b/clients/client-auditmanager/src/commands/UpdateAssessmentFrameworkShareCommand.ts new file mode 100644 index 000000000000..554733f69974 --- /dev/null +++ b/clients/client-auditmanager/src/commands/UpdateAssessmentFrameworkShareCommand.ts @@ -0,0 +1,103 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { AuditManagerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../AuditManagerClient"; +import { UpdateAssessmentFrameworkShareRequest, UpdateAssessmentFrameworkShareResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateAssessmentFrameworkShareCommand, + serializeAws_restJson1UpdateAssessmentFrameworkShareCommand, +} from "../protocols/Aws_restJson1"; + +export interface UpdateAssessmentFrameworkShareCommandInput extends UpdateAssessmentFrameworkShareRequest {} +export interface UpdateAssessmentFrameworkShareCommandOutput + extends UpdateAssessmentFrameworkShareResponse, + __MetadataBearer {} + +/** + *

Updates a share request for a custom framework in Audit Manager.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { AuditManagerClient, UpdateAssessmentFrameworkShareCommand } from "@aws-sdk/client-auditmanager"; // ES Modules import + * // const { AuditManagerClient, UpdateAssessmentFrameworkShareCommand } = require("@aws-sdk/client-auditmanager"); // CommonJS import + * const client = new AuditManagerClient(config); + * const command = new UpdateAssessmentFrameworkShareCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateAssessmentFrameworkShareCommandInput} for command's `input` shape. + * @see {@link UpdateAssessmentFrameworkShareCommandOutput} for command's `response` shape. + * @see {@link AuditManagerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateAssessmentFrameworkShareCommand extends $Command< + UpdateAssessmentFrameworkShareCommandInput, + UpdateAssessmentFrameworkShareCommandOutput, + AuditManagerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAssessmentFrameworkShareCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: AuditManagerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "AuditManagerClient"; + const commandName = "UpdateAssessmentFrameworkShareCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateAssessmentFrameworkShareRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAssessmentFrameworkShareResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: UpdateAssessmentFrameworkShareCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateAssessmentFrameworkShareCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateAssessmentFrameworkShareCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-auditmanager/src/commands/UpdateAssessmentStatusCommand.ts b/clients/client-auditmanager/src/commands/UpdateAssessmentStatusCommand.ts index 0dca5cd94f59..f6a702e09179 100644 --- a/clients/client-auditmanager/src/commands/UpdateAssessmentStatusCommand.ts +++ b/clients/client-auditmanager/src/commands/UpdateAssessmentStatusCommand.ts @@ -22,9 +22,7 @@ export interface UpdateAssessmentStatusCommandInput extends UpdateAssessmentStat export interface UpdateAssessmentStatusCommandOutput extends UpdateAssessmentStatusResponse, __MetadataBearer {} /** - *

- * Updates the status of an assessment in Audit Manager. - *

+ *

Updates the status of an assessment in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/UpdateControlCommand.ts b/clients/client-auditmanager/src/commands/UpdateControlCommand.ts index 4b1647cacd81..bb1f2b089338 100644 --- a/clients/client-auditmanager/src/commands/UpdateControlCommand.ts +++ b/clients/client-auditmanager/src/commands/UpdateControlCommand.ts @@ -22,9 +22,7 @@ export interface UpdateControlCommandInput extends UpdateControlRequest {} export interface UpdateControlCommandOutput extends UpdateControlResponse, __MetadataBearer {} /** - *

- * Updates a custom control in Audit Manager. - *

+ *

Updates a custom control in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/UpdateSettingsCommand.ts b/clients/client-auditmanager/src/commands/UpdateSettingsCommand.ts index 31bf1418792b..29d12dddd57d 100644 --- a/clients/client-auditmanager/src/commands/UpdateSettingsCommand.ts +++ b/clients/client-auditmanager/src/commands/UpdateSettingsCommand.ts @@ -22,9 +22,7 @@ export interface UpdateSettingsCommandInput extends UpdateSettingsRequest {} export interface UpdateSettingsCommandOutput extends UpdateSettingsResponse, __MetadataBearer {} /** - *

- * Updates Audit Manager settings for the current user account. - *

+ *

Updates Audit Manager settings for the current user account.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/ValidateAssessmentReportIntegrityCommand.ts b/clients/client-auditmanager/src/commands/ValidateAssessmentReportIntegrityCommand.ts index f8b833fe8abd..90b4d4e57720 100644 --- a/clients/client-auditmanager/src/commands/ValidateAssessmentReportIntegrityCommand.ts +++ b/clients/client-auditmanager/src/commands/ValidateAssessmentReportIntegrityCommand.ts @@ -27,9 +27,7 @@ export interface ValidateAssessmentReportIntegrityCommandOutput __MetadataBearer {} /** - *

- * Validates the integrity of an assessment report in Audit Manager. - *

+ *

Validates the integrity of an assessment report in Audit Manager.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-auditmanager/src/commands/index.ts b/clients/client-auditmanager/src/commands/index.ts index dc83e7a25185..22aa2e52745c 100644 --- a/clients/client-auditmanager/src/commands/index.ts +++ b/clients/client-auditmanager/src/commands/index.ts @@ -10,6 +10,7 @@ export * from "./CreateAssessmentReportCommand"; export * from "./CreateControlCommand"; export * from "./DeleteAssessmentCommand"; export * from "./DeleteAssessmentFrameworkCommand"; +export * from "./DeleteAssessmentFrameworkShareCommand"; export * from "./DeleteAssessmentReportCommand"; export * from "./DeleteControlCommand"; export * from "./DeregisterAccountCommand"; @@ -30,6 +31,7 @@ export * from "./GetEvidenceFoldersByAssessmentControlCommand"; export * from "./GetOrganizationAdminAccountCommand"; export * from "./GetServicesInScopeCommand"; export * from "./GetSettingsCommand"; +export * from "./ListAssessmentFrameworkShareRequestsCommand"; export * from "./ListAssessmentFrameworksCommand"; export * from "./ListAssessmentReportsCommand"; export * from "./ListAssessmentsCommand"; @@ -39,12 +41,14 @@ export * from "./ListNotificationsCommand"; export * from "./ListTagsForResourceCommand"; export * from "./RegisterAccountCommand"; export * from "./RegisterOrganizationAdminAccountCommand"; +export * from "./StartAssessmentFrameworkShareCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateAssessmentCommand"; export * from "./UpdateAssessmentControlCommand"; export * from "./UpdateAssessmentControlSetStatusCommand"; export * from "./UpdateAssessmentFrameworkCommand"; +export * from "./UpdateAssessmentFrameworkShareCommand"; export * from "./UpdateAssessmentStatusCommand"; export * from "./UpdateControlCommand"; export * from "./UpdateSettingsCommand"; diff --git a/clients/client-auditmanager/src/models/models_0.ts b/clients/client-auditmanager/src/models/models_0.ts index 639b0bf5404b..a3e5c6f644b0 100644 --- a/clients/client-auditmanager/src/models/models_0.ts +++ b/clients/client-auditmanager/src/models/models_0.ts @@ -1,9 +1,8 @@ import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; /** - *

- * Your account is not registered with Audit Manager. Check the delegated administrator setup on the Audit Manager settings page, and try again. - *

+ *

Your account isn't registered with Audit Manager. Check the delegated + * administrator setup on the Audit Manager settings page, and try again.

*/ export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; @@ -38,29 +37,22 @@ export enum ActionEnum { } /** - *

- * The wrapper of Amazon Web Services account details, such as account ID, email address, and so on. - *

+ *

The wrapper of Amazon Web Services account details, such as account ID or email address. + *

*/ export interface AWSAccount { /** - *

- * The identifier for the specified Amazon Web Services account. - *

+ *

The identifier for the Amazon Web Services account.

*/ id?: string; /** - *

- * The email address associated with the specified Amazon Web Services account. - *

+ *

The email address that's associated with the Amazon Web Services account.

*/ emailAddress?: string; /** - *

- * The name of the specified Amazon Web Services account. - *

+ *

The name of the Amazon Web Services account.

*/ name?: string; } @@ -75,29 +67,22 @@ export namespace AWSAccount { } /** - *

- * A comment posted by a user on a control. This includes the author's name, the comment text, and a timestamp. - *

+ *

A comment that's posted by a user on a control. This includes the author's name, the + * comment text, and a timestamp.

*/ export interface ControlComment { /** - *

- * The name of the user who authored the comment. - *

+ *

The name of the user who authored the comment.

*/ authorName?: string; /** - *

- * The body text of a control comment. - *

+ *

The body text of a control comment.

*/ commentBody?: string; /** - *

- * The time when the comment was posted. - *

+ *

The time when the comment was posted.

*/ postedDate?: Date; } @@ -125,71 +110,51 @@ export enum ControlStatus { } /** - *

- * The control entity that represents a standard or custom control used in an Audit Manager assessment. - *

+ *

The control entity that represents a standard control or a custom control in an Audit Manager assessment.

*/ export interface AssessmentControl { /** - *

- * The identifier for the specified control. - *

+ *

The identifier for the control.

*/ id?: string; /** - *

- * The name of the specified control. - *

+ *

The name of the control.

*/ name?: string; /** - *

- * The description of the specified control. - *

+ *

The description of the control.

*/ description?: string; /** - *

- * The status of the specified control. - *

+ *

The status of the control.

*/ status?: ControlStatus | string; /** - *

- * The response of the specified control. - *

+ *

The response of the control.

*/ response?: ControlResponse | string; /** - *

- * The list of comments attached to the specified control. - *

+ *

The list of comments that's attached to the control.

*/ comments?: ControlComment[]; /** - *

- * The list of data sources for the specified evidence. - *

+ *

The list of data sources for the evidence.

*/ evidenceSources?: string[]; /** - *

- * The amount of evidence generated for the control. - *

+ *

The amount of evidence that's generated for the control.

*/ evidenceCount?: number; /** - *

- * The amount of evidence in the assessment report. - *

+ *

The amount of evidence in the assessment report.

*/ assessmentReportEvidenceCount?: number; } @@ -215,54 +180,43 @@ export enum DelegationStatus { } /** - *

- * The assignment of a control set to a delegate for review. - *

+ *

The assignment of a control set to a delegate for review.

*/ export interface Delegation { /** - *

- * The unique identifier for the delegation. - *

+ *

The unique identifier for the delegation.

*/ id?: string; /** - *

- * The name of the associated assessment. - *

+ *

The name of the assessment that's associated with the delegation.

*/ assessmentName?: string; /** - *

- * The identifier for the associated assessment. - *

+ *

The identifier for the assessment that's associated with the delegation.

*/ assessmentId?: string; /** - *

- * The status of the delegation. - *

+ *

The status of the delegation.

*/ status?: DelegationStatus | string; /** - *

- * The Amazon Resource Name (ARN) of the IAM role. - *

+ *

The Amazon Resource Name (ARN) of the IAM role.

*/ roleArn?: string; /** - *

- * The type of customer persona. - *

+ *

The type of customer persona.

* - *

In CreateAssessment, roleType can only be PROCESS_OWNER.

- *

In UpdateSettings, roleType can only be PROCESS_OWNER.

- *

In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

+ *

In CreateAssessment, roleType can only be + * PROCESS_OWNER.

+ *

In UpdateSettings, roleType can only be + * PROCESS_OWNER.

+ *

In BatchCreateDelegationByAssessment, roleType can only be + * RESOURCE_OWNER.

*
*/ roleType?: RoleType | string; @@ -273,23 +227,17 @@ export interface Delegation { creationTime?: Date; /** - *

- * Specifies when the delegation was last updated. - *

+ *

Specifies when the delegation was last updated.

*/ lastUpdated?: Date; /** - *

- * The identifier for the associated control set. - *

+ *

The identifier for the control set that's associated with the delegation.

*/ controlSetId?: string; /** - *

- * The comment related to the delegation. - *

+ *

The comment that's related to the delegation.

*/ comment?: string; @@ -309,27 +257,26 @@ export namespace Delegation { } /** - *

- * The wrapper that contains the Audit Manager role information of the current user, such as the role type and IAM Amazon Resource Name (ARN). - *

+ *

The wrapper that contains the Audit Manager role information of the current + * user. This includes the role type and IAM Amazon Resource Name (ARN). + *

*/ export interface Role { /** - *

- * The type of customer persona. - *

+ *

The type of customer persona.

* - *

In CreateAssessment, roleType can only be PROCESS_OWNER.

- *

In UpdateSettings, roleType can only be PROCESS_OWNER.

- *

In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

+ *

In CreateAssessment, roleType can only be + * PROCESS_OWNER.

+ *

In UpdateSettings, roleType can only be + * PROCESS_OWNER.

+ *

In BatchCreateDelegationByAssessment, roleType can only be + * RESOURCE_OWNER.

*
*/ roleType?: RoleType | string; /** - *

- * The Amazon Resource Name (ARN) of the IAM role. - *

+ *

The Amazon Resource Name (ARN) of the IAM role.

*/ roleArn?: string; } @@ -350,64 +297,49 @@ export enum ControlSetStatus { } /** - *

- * Represents a set of controls in an Audit Manager assessment. - *

+ *

Represents a set of controls in an Audit Manager assessment.

*/ export interface AssessmentControlSet { /** - *

- * The identifier of the control set in the assessment. This is the control set name in a plain string format. - *

+ *

The identifier of the control set in the assessment. This is the control set name in a + * plain string format.

*/ id?: string; /** - *

- * The description for the control set. - *

+ *

The description for the control set.

*/ description?: string; /** - *

- * Specifies the current status of the control set. - *

+ *

Specifies the current status of the control set.

*/ status?: ControlSetStatus | string; /** - *

- * The roles associated with the control set. - *

+ *

The roles that are associated with the control set.

*/ roles?: Role[]; /** - *

- * The list of controls contained with the control set. - *

+ *

The list of controls that's contained with the control set.

*/ controls?: AssessmentControl[]; /** - *

- * The delegations associated with the control set. - *

+ *

The delegations that are associated with the control set.

*/ delegations?: Delegation[]; /** - *

- * The total number of evidence objects retrieved automatically for the control set. - *

+ *

The total number of evidence objects that are retrieved automatically for the control + * set.

*/ systemEvidenceCount?: number; /** - *

- * The total number of evidence objects uploaded manually to the control set. - *

+ *

The total number of evidence objects that are uploaded manually to the control set. + *

*/ manualEvidenceCount?: number; } @@ -422,36 +354,27 @@ export namespace AssessmentControlSet { } /** - *

- * The metadata of a framework, such as the name, ID, description, and so on. - *

+ *

The metadata of a framework, such as the name, ID, or description.

*/ export interface FrameworkMetadata { /** - *

- * The name of the framework. - *

+ *

The name of the framework.

*/ name?: string; /** - *

- * The description of the framework. - *

+ *

The description of the framework.

*/ description?: string; /** - *

- * The logo associated with the framework. - *

+ *

The logo that's associated with the framework.

*/ logo?: string; /** - *

- * The compliance standard associated with the framework, such as PCI-DSS or HIPAA. - *

+ *

The compliance standard that's associated with the framework. For example, this could + * be PCI DSS or HIPAA.

*/ complianceType?: string; } @@ -466,36 +389,27 @@ export namespace FrameworkMetadata { } /** - *

- * The file used to structure and automate Audit Manager assessments for a given compliance standard. - *

+ *

The file used to structure and automate Audit Manager assessments for a given + * compliance standard.

*/ export interface AssessmentFramework { /** - *

- * The unique identifier for the framework. - *

+ *

The unique identifier for the framework.

*/ id?: string; /** - *

- * The Amazon Resource Name (ARN) of the specified framework. - *

+ *

The Amazon Resource Name (ARN) of the framework.

*/ arn?: string; /** - *

- * The metadata of a framework, such as the name, ID, description, and so on. - *

+ *

The metadata of a framework, such as the name, ID, or description.

*/ metadata?: FrameworkMetadata; /** - *

- * The control sets associated with the framework. - *

+ *

The control sets that are associated with the framework.

*/ controlSets?: AssessmentControlSet[]; } @@ -514,22 +428,17 @@ export enum AssessmentReportDestinationType { } /** - *

- * The location in which Audit Manager saves assessment reports for the given assessment. - *

+ *

The location where Audit Manager saves assessment reports for the given + * assessment.

*/ export interface AssessmentReportsDestination { /** - *

- * The destination type, such as Amazon S3. - *

+ *

The destination type, such as Amazon S3.

*/ destinationType?: AssessmentReportDestinationType | string; /** - *

- * The destination of the assessment report. - *

+ *

The destination of the assessment report.

*/ destination?: string; } @@ -544,15 +453,12 @@ export namespace AssessmentReportsDestination { } /** - *

- * An Amazon Web Service such as Amazon S3, CloudTrail, and so on. - *

+ *

An Amazon Web Service such as Amazon S3 or CloudTrail. + *

*/ export interface AWSService { /** - *

- * The name of the Amazon Web Service. - *

+ *

The name of the Amazon Web Service.

*/ serviceName?: string; } @@ -567,22 +473,19 @@ export namespace AWSService { } /** - *

- * The wrapper that contains the Amazon Web Services accounts and services in scope for the assessment. - *

+ *

The wrapper that contains the Amazon Web Services accounts and services that are in + * scope for the assessment.

*/ export interface Scope { /** - *

- * The Amazon Web Services accounts included in the scope of the assessment. - *

+ *

The Amazon Web Services accounts that are included in the scope of the assessment. + *

*/ awsAccounts?: AWSAccount[]; /** - *

- * The Amazon Web Services services included in the scope of the assessment. - *

+ *

The Amazon Web Services services that are included in the scope of the assessment. + *

*/ awsServices?: AWSService[]; } @@ -602,85 +505,63 @@ export enum AssessmentStatus { } /** - *

- * The metadata associated with the specified assessment. - *

+ *

The metadata that's associated with the specified assessment.

*/ export interface AssessmentMetadata { /** - *

- * The name of the assessment. - *

+ *

The name of the assessment.

*/ name?: string; /** - *

- * The unique identifier for the assessment. - *

+ *

The unique identifier for the assessment.

*/ id?: string; /** - *

- * The description of the assessment. - *

+ *

The description of the assessment.

*/ description?: string; /** - *

- * The name of a compliance standard related to the assessment, such as PCI-DSS. + *

The name of the compliance standard that's related to the assessment, such as PCI-DSS. *

*/ complianceType?: string; /** - *

- * The overall status of the assessment. - *

+ *

The overall status of the assessment.

*/ status?: AssessmentStatus | string; /** - *

- * The destination in which evidence reports are stored for the specified assessment. - *

+ *

The destination that evidence reports are stored in for the assessment.

*/ assessmentReportsDestination?: AssessmentReportsDestination; /** - *

- * The wrapper of Amazon Web Services accounts and services in scope for the assessment. - *

+ *

The wrapper of Amazon Web Services accounts and services that are in scope for the + * assessment.

*/ scope?: Scope; /** - *

- * The roles associated with the assessment. - *

+ *

The roles that are associated with the assessment.

*/ roles?: Role[]; /** - *

- * The delegations associated with the assessment. - *

+ *

The delegations that are associated with the assessment.

*/ delegations?: Delegation[]; /** - *

- * Specifies when the assessment was created. - *

+ *

Specifies when the assessment was created.

*/ creationTime?: Date; /** - *

- * The time of the most recent update. - *

+ *

The time of the most recent update.

*/ lastUpdated?: Date; } @@ -695,43 +576,33 @@ export namespace AssessmentMetadata { } /** - *

- * An entity that defines the scope of audit evidence collected by Audit Manager. An Audit Manager assessment is an implementation of an Audit Manager framework. - *

+ *

An entity that defines the scope of audit evidence collected by Audit Manager. + * An Audit Manager assessment is an implementation of an Audit Manager + * framework.

*/ export interface Assessment { /** - *

- * The Amazon Resource Name (ARN) of the assessment. - *

+ *

The Amazon Resource Name (ARN) of the assessment.

*/ arn?: string; /** - *

- * The Amazon Web Services account associated with the assessment. - *

+ *

The Amazon Web Services account that's associated with the assessment.

*/ awsAccount?: AWSAccount; /** - *

- * The metadata for the specified assessment. - *

+ *

The metadata for the assessment.

*/ metadata?: AssessmentMetadata; /** - *

- * The framework from which the assessment was created. - *

+ *

The framework that the assessment was created from.

*/ framework?: AssessmentFramework; /** - *

- * The tags associated with the assessment. - *

+ *

The tags that are associated with the assessment.

*/ tags?: { [key: string]: string }; } @@ -746,135 +617,102 @@ export namespace Assessment { } /** - *

- * The folder in which Audit Manager stores evidence for an assessment. - *

+ *

The folder where Audit Manager stores evidence for an assessment.

*/ export interface AssessmentEvidenceFolder { /** - *

- * The name of the specified evidence folder. - *

+ *

The name of the evidence folder.

*/ name?: string; /** - *

- * The date when the first evidence was added to the evidence folder. - *

+ *

The date when the first evidence was added to the evidence folder.

*/ date?: Date; /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId?: string; /** - *

- * The identifier for the control set. - *

+ *

The identifier for the control set.

*/ controlSetId?: string; /** - *

- * - * The unique identifier for the specified control. - *

+ *

The unique identifier for the control.

*/ controlId?: string; /** - *

- * The identifier for the folder in which evidence is stored. - *

+ *

The identifier for the folder that the evidence is stored in.

*/ id?: string; /** - *

- * The Amazon Web Service from which the evidence was collected. - *

+ *

The Amazon Web Service that the evidence was collected from.

*/ dataSource?: string; /** - *

- * The name of the user who created the evidence folder. - *

+ *

The name of the user who created the evidence folder.

*/ author?: string; /** - *

- * The total amount of evidence in the evidence folder. - *

+ *

The total amount of evidence in the evidence folder.

*/ totalEvidence?: number; /** - *

- * The total count of evidence included in the assessment report. - *

+ *

The total count of evidence that's included in the assessment report.

*/ assessmentReportSelectionCount?: number; /** - *

- * The name of the control. - *

+ *

The name of the control.

*/ controlName?: string; /** - *

- * The amount of evidence included in the evidence folder. - *

+ *

The amount of evidence that's included in the evidence folder.

*/ evidenceResourcesIncludedCount?: number; /** - *

- * The number of evidence that falls under the configuration data category. This evidence is collected from configuration snapshots of other Amazon Web Services services such as Amazon EC2, Amazon S3, or IAM. - *

+ *

The number of evidence that falls under the configuration data category. This + * evidence is collected from configuration snapshots of other Amazon Web Services services such as Amazon EC2, Amazon S3, or IAM.

*/ evidenceByTypeConfigurationDataCount?: number; /** - *

- * The number of evidence that falls under the manual category. This evidence is imported manually. - *

+ *

The number of evidence that falls under the manual category. This evidence is imported + * manually.

*/ evidenceByTypeManualCount?: number; /** - *

- * The number of evidence that falls under the compliance check category. This evidence is collected from Config or Security Hub. - *

+ *

The number of evidence that falls under the compliance check category. This evidence is + * collected from Config or Security Hub.

*/ evidenceByTypeComplianceCheckCount?: number; /** - *

- * The total number of issues that were reported directly from Security Hub, Config, or both. - *

+ *

The total number of issues that were reported directly from Security Hub, + * Config, or both.

*/ evidenceByTypeComplianceCheckIssuesCount?: number; /** - *

- * The number of evidence that falls under the user activity category. This evidence is collected from CloudTrail logs. - *

+ *

The number of evidence that falls under the user activity category. This evidence is + * collected from CloudTrail logs.

*/ evidenceByTypeUserActivityCount?: number; /** - *

- * The total number of Amazon Web Services resources assessed to generate the evidence. - *

+ *

The total number of Amazon Web Services resources that were assessed to generate the + * evidence.

*/ evidenceAwsServiceSourceCount?: number; } @@ -894,85 +732,62 @@ export enum FrameworkType { } /** - *

- * The metadata associated with a standard or custom framework. - *

+ *

The metadata that's associated with a standard framework or a custom framework.

*/ export interface AssessmentFrameworkMetadata { /** - *

- * The Amazon Resource Name (ARN) of the framework. - *

+ *

The Amazon Resource Name (ARN) of the framework.

*/ arn?: string; /** - *

- * The unique identified for the specified framework. - *

+ *

The unique identifier for the framework.

*/ id?: string; /** - *

- * The framework type, such as standard or custom. - *

+ *

The framework type, such as a standard framework or a custom framework.

*/ type?: FrameworkType | string; /** - *

- * The name of the specified framework. - *

+ *

The name of the framework.

*/ name?: string; /** - *

- * The description of the specified framework. - *

+ *

The description of the framework.

*/ description?: string; /** - *

- * The logo associated with the framework. - *

+ *

The logo that's associated with the framework.

*/ logo?: string; /** - *

- * The compliance type that the new custom framework supports, such as CIS or HIPAA. - *

+ *

The compliance type that the new custom framework supports, such as CIS or HIPAA. + *

*/ complianceType?: string; /** - *

- * The number of controls associated with the specified framework. - *

+ *

The number of controls that are associated with the framework.

*/ controlsCount?: number; /** - *

- * The number of control sets associated with the specified framework. - *

+ *

The number of control sets that are associated with the framework.

*/ controlSetsCount?: number; /** - *

- * Specifies when the framework was created. - *

+ *

Specifies when the framework was created.

*/ createdAt?: Date; /** - *

- * Specifies when the framework was most recently updated. - *

+ *

Specifies when the framework was most recently updated.

*/ lastUpdatedAt?: Date; } @@ -986,65 +801,149 @@ export namespace AssessmentFrameworkMetadata { }); } +export enum ShareRequestStatus { + ACTIVE = "ACTIVE", + DECLINED = "DECLINED", + EXPIRED = "EXPIRED", + EXPIRING = "EXPIRING", + FAILED = "FAILED", + REPLICATING = "REPLICATING", + REVOKED = "REVOKED", + SHARED = "SHARED", +} + +/** + *

Represents a share request for a custom framework in Audit Manager.

+ */ +export interface AssessmentFrameworkShareRequest { + /** + *

The unique identifier for the share request.

+ */ + id?: string; + + /** + *

The unique identifier for the shared custom framework.

+ */ + frameworkId?: string; + + /** + *

The name of the custom framework that the share request is for.

+ */ + frameworkName?: string; + + /** + *

The description of the shared custom framework.

+ */ + frameworkDescription?: string; + + /** + *

The status of the share request.

+ */ + status?: ShareRequestStatus | string; + + /** + *

The Amazon Web Services account of the sender.

+ */ + sourceAccount?: string; + + /** + *

The Amazon Web Services account of the recipient.

+ */ + destinationAccount?: string; + + /** + *

The Amazon Web Services Region of the recipient.

+ */ + destinationRegion?: string; + + /** + *

The time when the share request expires.

+ */ + expirationTime?: Date; + + /** + *

The time when the share request was created.

+ */ + creationTime?: Date; + + /** + *

Specifies when the share request was last updated.

+ */ + lastUpdated?: Date; + + /** + *

An optional comment from the sender about the share request.

+ */ + comment?: string; + + /** + *

The number of standard controls that are part of the shared custom framework.

+ */ + standardControlsCount?: number; + + /** + *

The number of custom controls that are part of the shared custom framework.

+ */ + customControlsCount?: number; + + /** + *

The compliance type that the shared custom framework supports, such as CIS or HIPAA.

+ */ + complianceType?: string; +} + +export namespace AssessmentFrameworkShareRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AssessmentFrameworkShareRequest): any => ({ + ...obj, + }); +} + /** - *

- * A metadata object associated with an assessment in Audit Manager. - *

+ *

A metadata object that's associated with an assessment in Audit Manager. + *

*/ export interface AssessmentMetadataItem { /** - *

- * The name of the assessment. - *

+ *

The name of the assessment.

*/ name?: string; /** - *

- * The unique identifier for the assessment. - *

+ *

The unique identifier for the assessment.

*/ id?: string; /** - *

- * The name of the compliance standard related to the assessment, such as PCI-DSS. + *

The name of the compliance standard that's related to the assessment, such as PCI-DSS. *

*/ complianceType?: string; /** - *

- * The current status of the assessment. - *

+ *

The current status of the assessment.

*/ status?: AssessmentStatus | string; /** - *

- * The roles associated with the assessment. - *

+ *

The roles that are associated with the assessment.

*/ roles?: Role[]; /** - *

- * The delegations associated with the assessment. - *

+ *

The delegations that are associated with the assessment.

*/ delegations?: Delegation[]; /** - *

- * Specifies when the assessment was created. - *

+ *

Specifies when the assessment was created.

*/ creationTime?: Date; /** - *

- * The time of the most recent update. - *

+ *

The time of the most recent update.

*/ lastUpdated?: Date; } @@ -1065,71 +964,54 @@ export enum AssessmentReportStatus { } /** - *

- * A finalized document generated from an Audit Manager assessment. These reports summarize the relevant evidence collected for your audit, and link to the relevant evidence folders which are named and organized according to the controls specified in your assessment. - *

+ *

A finalized document that's generated from an Audit Manager assessment. These + * reports summarize the relevant evidence that was collected for your audit, and link to the + * relevant evidence folders. These evidence folders are named and organized according to the + * controls that are specified in your assessment.

*/ export interface AssessmentReport { /** - *

- * The unique identifier for the specified assessment report. - *

+ *

The unique identifier for the assessment report.

*/ id?: string; /** - *

- * The name given to the assessment report. - *

+ *

The name that's given to the assessment report.

*/ name?: string; /** - *

- * The description of the specified assessment report. - *

+ *

The description of the specified assessment report.

*/ description?: string; /** - *

- * The identifier for the specified Amazon Web Services account. - *

+ *

The identifier for the specified Amazon Web Services account.

*/ awsAccountId?: string; /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the specified assessment.

*/ assessmentId?: string; /** - *

- * The name of the associated assessment. - *

+ *

The name of the associated assessment.

*/ assessmentName?: string; /** - *

- * The name of the user who created the assessment report. - *

+ *

The name of the user who created the assessment report.

*/ author?: string; /** - *

- * The current status of the specified assessment report. - *

+ *

The current status of the specified assessment report.

*/ status?: AssessmentReportStatus | string; /** - *

- * Specifies when the assessment report was created. - *

+ *

Specifies when the assessment report was created.

*/ creationTime?: Date; } @@ -1144,29 +1026,22 @@ export namespace AssessmentReport { } /** - *

- * An error entity for the AssessmentReportEvidence API. This is used to provide more meaningful errors than a simple string message. - *

+ *

An error entity for the AssessmentReportEvidence API. This is used to + * provide more meaningful errors than a simple string message.

*/ export interface AssessmentReportEvidenceError { /** - *

- * The identifier for the evidence. - *

+ *

The identifier for the evidence.

*/ evidenceId?: string; /** - *

- * The error code returned by the AssessmentReportEvidence API. - *

+ *

The error code that the AssessmentReportEvidence API returned.

*/ errorCode?: string; /** - *

- * The error message returned by the AssessmentReportEvidence API. - *

+ *

The error message that the AssessmentReportEvidence API returned.

*/ errorMessage?: string; } @@ -1181,63 +1056,46 @@ export namespace AssessmentReportEvidenceError { } /** - *

- * The metadata objects associated with the specified assessment report. - *

+ *

The metadata objects that are associated with the specified assessment report.

*/ export interface AssessmentReportMetadata { /** - *

- * The unique identifier for the assessment report. - *

+ *

The unique identifier for the assessment report.

*/ id?: string; /** - *

- * The name of the assessment report. - *

+ *

The name of the assessment report.

*/ name?: string; /** - *

- * The description of the specified assessment report. - *

+ *

The description of the assessment report.

*/ description?: string; /** - *

- * The unique identifier for the associated assessment. - *

+ *

The unique identifier for the associated assessment.

*/ assessmentId?: string; /** - *

The name of the associated assessment. - *

+ *

The name of the associated assessment.

*/ assessmentName?: string; /** - *

- * The name of the user who created the assessment report. - *

+ *

The name of the user who created the assessment report.

*/ author?: string; /** - *

- * The current status of the assessment report. - *

+ *

The current status of the assessment report.

*/ status?: AssessmentReportStatus | string; /** - *

- * Specifies when the assessment report was created. - *

+ *

Specifies when the assessment report was created.

*/ creationTime?: Date; } @@ -1253,16 +1111,12 @@ export namespace AssessmentReportMetadata { export interface AssociateAssessmentReportEvidenceFolderRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the folder in which evidence is stored. - *

+ *

The identifier for the folder that the evidence is stored in.

*/ evidenceFolderId: string | undefined; } @@ -1288,9 +1142,8 @@ export namespace AssociateAssessmentReportEvidenceFolderResponse { } /** - *

- * An internal service error occurred during the processing of your request. Try again later. - *

+ *

An internal service error occurred during the processing of your request. Try again + * later.

*/ export interface InternalServerException extends __SmithyException, $MetadataBearer { name: "InternalServerException"; @@ -1308,25 +1161,19 @@ export namespace InternalServerException { } /** - *

- * The resource specified in the request cannot be found. - *

+ *

The resource that's specified in the request can't be found.

*/ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; $fault: "client"; message: string | undefined; /** - *

- * The unique identifier for the specified resource. - *

+ *

The unique identifier for the resource.

*/ resourceId: string | undefined; /** - *

- * The type of resource affected by the error. - *

+ *

The type of resource that's affected by the error.

*/ resourceType: string | undefined; } @@ -1341,22 +1188,16 @@ export namespace ResourceNotFoundException { } /** - *

- * Indicates that the request has invalid or missing parameters for the specified field. - *

+ *

Indicates that the request has invalid or missing parameters for the field.

*/ export interface ValidationExceptionField { /** - *

- * The name of the validation error. - *

+ *

The name of the validation error.

*/ name: string | undefined; /** - *

- * The body of the error message. - *

+ *

The body of the error message.

*/ message: string | undefined; } @@ -1378,25 +1219,19 @@ export enum ValidationExceptionReason { } /** - *

- * The request has invalid or missing parameters. - *

+ *

The request has invalid or missing parameters.

*/ export interface ValidationException extends __SmithyException, $MetadataBearer { name: "ValidationException"; $fault: "client"; message: string | undefined; /** - *

- * The reason the request failed validation. - *

+ *

The reason the request failed validation.

*/ reason?: ValidationExceptionReason | string; /** - *

- * The fields that caused the error, if applicable. - *

+ *

The fields that caused the error, if applicable.

*/ fields?: ValidationExceptionField[]; } @@ -1412,23 +1247,17 @@ export namespace ValidationException { export interface BatchAssociateAssessmentReportEvidenceRequest { /** - *

- * The unique identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the folder in which the evidence is stored. - *

+ *

The identifier for the folder that the evidence is stored in.

*/ evidenceFolderId: string | undefined; /** - *

- * The list of evidence identifiers. - *

+ *

The list of evidence identifiers.

*/ evidenceIds: string[] | undefined; } @@ -1444,16 +1273,13 @@ export namespace BatchAssociateAssessmentReportEvidenceRequest { export interface BatchAssociateAssessmentReportEvidenceResponse { /** - *

- * The identifier for the evidence. - *

+ *

The list of evidence identifiers.

*/ evidenceIds?: string[]; /** - *

- * A list of errors returned by the BatchAssociateAssessmentReportEvidence API. - *

+ *

A list of errors that the BatchAssociateAssessmentReportEvidence API + * returned.

*/ errors?: AssessmentReportEvidenceError[]; } @@ -1468,40 +1294,34 @@ export namespace BatchAssociateAssessmentReportEvidenceResponse { } /** - *

- * A collection of attributes used to create a delegation for an assessment in Audit Manager. - *

+ *

A collection of attributes that's used to create a delegation for an assessment in + * Audit Manager.

*/ export interface CreateDelegationRequest { /** - *

- * A comment related to the delegation request. - *

+ *

A comment that's related to the delegation request.

*/ comment?: string; /** - *

- * The unique identifier for the control set. - *

+ *

The unique identifier for the control set.

*/ controlSetId?: string; /** - *

- * The Amazon Resource Name (ARN) of the IAM role. - *

+ *

The Amazon Resource Name (ARN) of the IAM role.

*/ roleArn?: string; /** - *

- * The type of customer persona. - *

+ *

The type of customer persona.

* - *

In CreateAssessment, roleType can only be PROCESS_OWNER.

- *

In UpdateSettings, roleType can only be PROCESS_OWNER.

- *

In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

+ *

In CreateAssessment, roleType can only be + * PROCESS_OWNER.

+ *

In UpdateSettings, roleType can only be + * PROCESS_OWNER.

+ *

In BatchCreateDelegationByAssessment, roleType can only be + * RESOURCE_OWNER.

*
*/ roleType?: RoleType | string; @@ -1518,16 +1338,12 @@ export namespace CreateDelegationRequest { export interface BatchCreateDelegationByAssessmentRequest { /** - *

- * The API request to batch create delegations in Audit Manager. - *

+ *

The API request to batch create delegations in Audit Manager.

*/ createDelegationRequests: CreateDelegationRequest[] | undefined; /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; } @@ -1542,29 +1358,24 @@ export namespace BatchCreateDelegationByAssessmentRequest { } /** - *

- * An error entity for the BatchCreateDelegationByAssessment API. This is used to provide more meaningful errors than a simple string message. - *

+ *

An error entity for the BatchCreateDelegationByAssessment API. This is + * used to provide more meaningful errors than a simple string message.

*/ export interface BatchCreateDelegationByAssessmentError { /** - *

- * The API request to batch create delegations in Audit Manager. - *

+ *

The API request to batch create delegations in Audit Manager.

*/ createDelegationRequest?: CreateDelegationRequest; /** - *

- * The error code returned by the BatchCreateDelegationByAssessment API. - *

+ *

The error code that the BatchCreateDelegationByAssessment API returned. + *

*/ errorCode?: string; /** - *

- * The error message returned by the BatchCreateDelegationByAssessment API. - *

+ *

The error message that the BatchCreateDelegationByAssessment API returned. + *

*/ errorMessage?: string; } @@ -1580,15 +1391,12 @@ export namespace BatchCreateDelegationByAssessmentError { export interface BatchCreateDelegationByAssessmentResponse { /** - *

- * The delegations associated with the assessment. - *

+ *

The delegations that are associated with the assessment.

*/ delegations?: Delegation[]; /** - *

- * A list of errors returned by the BatchCreateDelegationByAssessment API. + *

A list of errors that the BatchCreateDelegationByAssessment API returned. *

*/ errors?: BatchCreateDelegationByAssessmentError[]; @@ -1605,16 +1413,12 @@ export namespace BatchCreateDelegationByAssessmentResponse { export interface BatchDeleteDelegationByAssessmentRequest { /** - *

- * The identifiers for the specified delegations. - *

+ *

The identifiers for the delegations.

*/ delegationIds: string[] | undefined; /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; } @@ -1629,29 +1433,24 @@ export namespace BatchDeleteDelegationByAssessmentRequest { } /** - *

- * An error entity for the BatchDeleteDelegationByAssessment API. This is used to provide more meaningful errors than a simple string message. - *

+ *

An error entity for the BatchDeleteDelegationByAssessment API. This is + * used to provide more meaningful errors than a simple string message.

*/ export interface BatchDeleteDelegationByAssessmentError { /** - *

- * The identifier for the specified delegation. - *

+ *

The identifier for the delegation.

*/ delegationId?: string; /** - *

- * The error code returned by the BatchDeleteDelegationByAssessment API. - *

+ *

The error code that the BatchDeleteDelegationByAssessment API returned. + *

*/ errorCode?: string; /** - *

- * The error message returned by the BatchDeleteDelegationByAssessment API. - *

+ *

The error message that the BatchDeleteDelegationByAssessment API returned. + *

*/ errorMessage?: string; } @@ -1667,8 +1466,7 @@ export namespace BatchDeleteDelegationByAssessmentError { export interface BatchDeleteDelegationByAssessmentResponse { /** - *

- * A list of errors returned by the BatchDeleteDelegationByAssessment API. + *

A list of errors that the BatchDeleteDelegationByAssessment API returned. *

*/ errors?: BatchDeleteDelegationByAssessmentError[]; @@ -1685,23 +1483,17 @@ export namespace BatchDeleteDelegationByAssessmentResponse { export interface BatchDisassociateAssessmentReportEvidenceRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the folder in which evidence is stored. - *

+ *

The identifier for the folder that the evidence is stored in.

*/ evidenceFolderId: string | undefined; /** - *

- * The list of evidence identifiers. - *

+ *

The list of evidence identifiers.

*/ evidenceIds: string[] | undefined; } @@ -1717,16 +1509,13 @@ export namespace BatchDisassociateAssessmentReportEvidenceRequest { export interface BatchDisassociateAssessmentReportEvidenceResponse { /** - *

- * The identifier for the evidence. - *

+ *

The identifier for the evidence.

*/ evidenceIds?: string[]; /** - *

- * A list of errors returned by the BatchDisassociateAssessmentReportEvidence API. - *

+ *

A list of errors that the BatchDisassociateAssessmentReportEvidence API + * returned.

*/ errors?: AssessmentReportEvidenceError[]; } @@ -1741,15 +1530,11 @@ export namespace BatchDisassociateAssessmentReportEvidenceResponse { } /** - *

- * Evidence that is uploaded to Audit Manager manually. - *

+ *

Evidence that's uploaded to Audit Manager manually.

*/ export interface ManualEvidence { /** - *

- * The Amazon S3 URL that points to a manual evidence object. - *

+ *

The Amazon S3 URL that points to a manual evidence object.

*/ s3ResourcePath?: string; } @@ -1765,31 +1550,22 @@ export namespace ManualEvidence { export interface BatchImportEvidenceToAssessmentControlRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the specified control set. - *

+ *

The identifier for the control set.

*/ controlSetId: string | undefined; /** - *

- * - * The identifier for the specified control. - *

+ *

The identifier for the control.

*/ controlId: string | undefined; /** - *

- * The list of manual evidence objects. - *

+ *

The list of manual evidence objects.

*/ manualEvidence: ManualEvidence[] | undefined; } @@ -1804,29 +1580,24 @@ export namespace BatchImportEvidenceToAssessmentControlRequest { } /** - *

- * An error entity for the BatchImportEvidenceToAssessmentControl API. This is used to provide more meaningful errors than a simple string message. - *

+ *

An error entity for the BatchImportEvidenceToAssessmentControl API. This + * is used to provide more meaningful errors than a simple string message.

*/ export interface BatchImportEvidenceToAssessmentControlError { /** - *

- * Manual evidence that cannot be collected automatically by Audit Manager. - *

+ *

Manual evidence that can't be collected automatically by Audit Manager.

*/ manualEvidence?: ManualEvidence; /** - *

- * The error code returned by the BatchImportEvidenceToAssessmentControl API. - *

+ *

The error code that the BatchImportEvidenceToAssessmentControl API + * returned.

*/ errorCode?: string; /** - *

- * The error message returned by the BatchImportEvidenceToAssessmentControl API. - *

+ *

The error message that the BatchImportEvidenceToAssessmentControl API + * returned.

*/ errorMessage?: string; } @@ -1842,9 +1613,8 @@ export namespace BatchImportEvidenceToAssessmentControlError { export interface BatchImportEvidenceToAssessmentControlResponse { /** - *

- * A list of errors returned by the BatchImportEvidenceToAssessmentControl API. - *

+ *

A list of errors that the BatchImportEvidenceToAssessmentControl API + * returned.

*/ errors?: BatchImportEvidenceToAssessmentControlError[]; } @@ -1860,51 +1630,38 @@ export namespace BatchImportEvidenceToAssessmentControlResponse { export interface CreateAssessmentRequest { /** - *

- * The name of the assessment to be created. - *

+ *

The name of the assessment to be created.

*/ name: string | undefined; /** - *

- * The optional description of the assessment to be created. - *

+ *

The optional description of the assessment to be created.

*/ description?: string; /** - *

- * The assessment report storage destination for the specified assessment that is being created. - *

+ *

The assessment report storage destination for the assessment that's being created.

*/ assessmentReportsDestination: AssessmentReportsDestination | undefined; /** - *

- * The wrapper that contains the Amazon Web Services accounts and services in scope for the assessment. - *

+ *

The wrapper that contains the Amazon Web Services accounts and services that are in + * scope for the assessment.

*/ scope: Scope | undefined; /** - *

- * The list of roles for the specified assessment. - *

+ *

The list of roles for the assessment.

*/ roles: Role[] | undefined; /** - *

- * The identifier for the specified framework. - *

+ *

The identifier for the framework that the assessment will be created from.

*/ frameworkId: string | undefined; /** - *

- * The tags associated with the assessment. - *

+ *

The tags that are associated with the assessment.

*/ tags?: { [key: string]: string }; } @@ -1920,9 +1677,9 @@ export namespace CreateAssessmentRequest { export interface CreateAssessmentResponse { /** - *

- * An entity that defines the scope of audit evidence collected by Audit Manager. An Audit Manager assessment is an implementation of an Audit Manager framework. - *

+ *

An entity that defines the scope of audit evidence collected by Audit Manager. + * An Audit Manager assessment is an implementation of an Audit Manager + * framework.

*/ assessment?: Assessment; } @@ -1937,15 +1694,12 @@ export namespace CreateAssessmentResponse { } /** - *

- * Control entity attributes that uniquely identify an existing control to be added to a framework in Audit Manager. - *

+ *

The control entity attributes that uniquely identify an existing control to be added to + * a framework in Audit Manager.

*/ export interface CreateAssessmentFrameworkControl { /** - *

- * The unique identifier of the control. - *

+ *

The unique identifier of the control.

*/ id?: string; } @@ -1960,22 +1714,17 @@ export namespace CreateAssessmentFrameworkControl { } /** - *

- * A controlSet entity that represents a collection of controls in Audit Manager. This does not contain the control set ID. - *

+ *

A controlSet entity that represents a collection of controls in Audit Manager. This doesn't contain the control set ID.

*/ export interface CreateAssessmentFrameworkControlSet { /** - *

- * The name of the specified control set. - *

+ *

The name of the control set.

*/ name: string | undefined; /** - *

- * The list of controls within the control set. This does not contain the control set ID. - *

+ *

The list of controls within the control set. This doesn't contain the control set ID. + *

*/ controls?: CreateAssessmentFrameworkControl[]; } @@ -1991,37 +1740,28 @@ export namespace CreateAssessmentFrameworkControlSet { export interface CreateAssessmentFrameworkRequest { /** - *

- * The name of the new custom framework. - *

+ *

The name of the new custom framework.

*/ name: string | undefined; /** - *

- * An optional description for the new custom framework. - *

+ *

An optional description for the new custom framework.

*/ description?: string; /** - *

- * The compliance type that the new custom framework supports, such as CIS or HIPAA. - *

+ *

The compliance type that the new custom framework supports, such as CIS or HIPAA. + *

*/ complianceType?: string; /** - *

- * The control sets to be associated with the framework. - *

+ *

The control sets that are associated with the framework.

*/ controlSets: CreateAssessmentFrameworkControlSet[] | undefined; /** - *

- * The tags associated with the framework. - *

+ *

The tags that are associated with the framework.

*/ tags?: { [key: string]: string }; } @@ -2046,22 +1786,18 @@ export enum KeywordInputType { } /** - *

- * The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names. - *

+ *

The keyword to search for in CloudTrail logs, Config rules, + * Security Hub checks, and Amazon Web Services API names.

*/ export interface SourceKeyword { /** - *

- * The method of input for the specified keyword. - *

+ *

The method of input for the keyword.

*/ keywordInputType?: KeywordInputType | string; /** - *

- * The value of the keyword used to search CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names when mapping a control data source. - *

+ *

The value of the keyword that's used to search CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names + * when mapping a control data source.

*/ keywordValue?: string; } @@ -2089,64 +1825,49 @@ export enum SourceType { } /** - *

- * The data source that determines from where Audit Manager collects evidence for the control. - *

+ *

The data source that determines where Audit Manager collects evidence from for + * the control.

*/ export interface ControlMappingSource { /** - *

- * The unique identifier for the specified source. - *

+ *

The unique identifier for the source.

*/ sourceId?: string; /** - *

- * The name of the specified source. - *

+ *

The name of the source.

*/ sourceName?: string; /** - *

- * The description of the specified source. - *

+ *

The description of the source.

*/ sourceDescription?: string; /** - *

- * The setup option for the data source, which reflects if the evidence collection is automated or manual. - *

+ *

The setup option for the data source. This option reflects if the evidence collection + * is automated or manual.

*/ sourceSetUpOption?: SourceSetUpOption | string; /** - *

- * Specifies one of the five types of data sources for evidence collection. - *

+ *

Specifies one of the five types of data sources for evidence collection.

*/ sourceType?: SourceType | string; /** - *

- * The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names. - *

+ *

The keyword to search for in CloudTrail logs, Config rules, + * Security Hub checks, and Amazon Web Services API names.

*/ sourceKeyword?: SourceKeyword; /** - *

- * The frequency of evidence collection for the specified control mapping source. - *

+ *

The frequency of evidence collection for the control mapping source.

*/ sourceFrequency?: SourceFrequency | string; /** - *

- * The instructions for troubleshooting the specified control. - *

+ *

The instructions for troubleshooting the control.

*/ troubleshootingText?: string; } @@ -2166,114 +1887,83 @@ export enum ControlType { } /** - *

- * A control in Audit Manager. - *

+ *

A control in Audit Manager.

*/ export interface Control { /** - *

- * The Amazon Resource Name (ARN) of the specified control. - *

+ *

The Amazon Resource Name (ARN) of the control.

*/ arn?: string; /** - *

- * The unique identifier for the control. - *

+ *

The unique identifier for the control.

*/ id?: string; /** - *

- * The type of control, such as custom or standard. - *

+ *

The type of control, such as a custom control or a standard control.

*/ type?: ControlType | string; /** - *

- * The name of the specified control. - *

+ *

The name of the control.

*/ name?: string; /** - *

- * The description of the specified control. - *

+ *

The description of the control.

*/ description?: string; /** - *

- * The steps to follow to determine if the control has been satisfied. + *

The steps that you should follow to determine if the control has been satisfied. *

*/ testingInformation?: string; /** - *

- * The title of the action plan for remediating the control. - *

+ *

The title of the action plan for remediating the control.

*/ actionPlanTitle?: string; /** - *

- * - * The recommended actions to carry out if the control is not fulfilled. - *

+ *

The recommended actions to carry out if the control isn't fulfilled.

*/ actionPlanInstructions?: string; /** - *

- * The data source that determines from where Audit Manager collects evidence for the control. - *

+ *

The data source that determines where Audit Manager collects evidence from for + * the control.

*/ controlSources?: string; /** - *

- * The data mapping sources for the specified control. - *

+ *

The data mapping sources for the control.

*/ controlMappingSources?: ControlMappingSource[]; /** - *

- * Specifies when the control was created. - *

+ *

Specifies when the control was created.

*/ createdAt?: Date; /** - *

- * Specifies when the control was most recently updated. - *

+ *

Specifies when the control was most recently updated.

*/ lastUpdatedAt?: Date; /** - *

- * The IAM user or role that created the control. - *

+ *

The IAM user or role that created the control.

*/ createdBy?: string; /** - *

- * The IAM user or role that most recently updated the control. - *

+ *

The IAM user or role that most recently updated the control.

*/ lastUpdatedBy?: string; /** - *

- * The tags associated with the control. - *

+ *

The tags associated with the control.

*/ tags?: { [key: string]: string }; } @@ -2288,29 +1978,22 @@ export namespace Control { } /** - *

- * A set of controls in Audit Manager. - *

+ *

A set of controls in Audit Manager.

*/ export interface ControlSet { /** - *

- * The identifier of the control set in the assessment. This is the control set name in a plain string format. - *

+ *

The identifier of the control set in the assessment. This is the control set name in a + * plain string format.

*/ id?: string; /** - *

- * The name of the control set. - *

+ *

The name of the control set.

*/ name?: string; /** - *

- * The list of controls within the control set. - *

+ *

The list of controls within the control set.

*/ controls?: Control[]; } @@ -2325,106 +2008,78 @@ export namespace ControlSet { } /** - *

- * The file used to structure and automate Audit Manager assessments for a given compliance standard. - *

+ *

The file that's used to structure and automate Audit Manager assessments for a + * given compliance standard.

*/ export interface Framework { /** - *

- * The Amazon Resource Name (ARN) of the specified framework. - *

+ *

The Amazon Resource Name (ARN) of the framework.

*/ arn?: string; /** - *

- * The unique identifier for the specified framework. - *

+ *

The unique identifier for the framework.

*/ id?: string; /** - *

- * The name of the specified framework. - *

+ *

The name of the framework.

*/ name?: string; /** - *

- * The framework type, such as custom or standard. - *

+ *

The framework type, such as a custom framework or a standard framework.

*/ type?: FrameworkType | string; /** - *

- * The compliance type that the new custom framework supports, such as CIS or HIPAA. - *

+ *

The compliance type that the new custom framework supports, such as CIS or HIPAA. + *

*/ complianceType?: string; /** - *

- * The description of the specified framework. - *

+ *

The description of the framework.

*/ description?: string; /** - *

- * The logo associated with the framework. - *

+ *

The logo that's associated with the framework.

*/ logo?: string; /** - *

- * The sources from which Audit Manager collects evidence for the control. - *

+ *

The sources that Audit Manager collects evidence from for the control.

*/ controlSources?: string; /** - *

- * The control sets associated with the framework. - *

+ *

The control sets that are associated with the framework.

*/ controlSets?: ControlSet[]; /** - *

- * Specifies when the framework was created. - *

+ *

Specifies when the framework was created.

*/ createdAt?: Date; /** - *

- * Specifies when the framework was most recently updated. - *

+ *

Specifies when the framework was most recently updated.

*/ lastUpdatedAt?: Date; /** - *

- * The IAM user or role that created the framework. - *

+ *

The IAM user or role that created the framework.

*/ createdBy?: string; /** - *

- * The IAM user or role that most recently updated the framework. - *

+ *

The IAM user or role that most recently updated the framework.

*/ lastUpdatedBy?: string; /** - *

- * The tags associated with the framework. - *

+ *

The tags that are associated with the framework.

*/ tags?: { [key: string]: string }; } @@ -2440,9 +2095,8 @@ export namespace Framework { export interface CreateAssessmentFrameworkResponse { /** - *

- * The name of the new framework returned by the CreateAssessmentFramework API. - *

+ *

The name of the new framework that the CreateAssessmentFramework API + * returned.

*/ framework?: Framework; } @@ -2458,23 +2112,17 @@ export namespace CreateAssessmentFrameworkResponse { export interface CreateAssessmentReportRequest { /** - *

- * The name of the new assessment report. - *

+ *

The name of the new assessment report.

*/ name: string | undefined; /** - *

- * The description of the assessment report. - *

+ *

The description of the assessment report.

*/ description?: string; /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; } @@ -2490,9 +2138,8 @@ export namespace CreateAssessmentReportRequest { export interface CreateAssessmentReportResponse { /** - *

- * The new assessment report returned by the CreateAssessmentReport API. - *

+ *

The new assessment report that the CreateAssessmentReport API returned. + *

*/ assessmentReport?: AssessmentReport; } @@ -2507,58 +2154,45 @@ export namespace CreateAssessmentReportResponse { } /** - *

- * Control mapping fields that represent the source for evidence collection, along with related parameters and metadata. This does not contain mappingID. - *

+ *

The control mapping fields that represent the source for evidence collection, along + * with related parameters and metadata. This doesn't contain mappingID.

*/ export interface CreateControlMappingSource { /** - *

- * The name of the control mapping data source. - *

+ *

The name of the control mapping data source.

*/ sourceName?: string; /** - *

- * The description of the data source that determines from where Audit Manager collects evidence for the control. - *

+ *

The description of the data source that determines where Audit Manager collects + * evidence from for the control.

*/ sourceDescription?: string; /** - *

- * The setup option for the data source, which reflects if the evidence collection is automated or manual. - *

+ *

The setup option for the data source, which reflects if the evidence collection is + * automated or manual.

*/ sourceSetUpOption?: SourceSetUpOption | string; /** - *

- * Specifies one of the five types of data sources for evidence collection. - * - *

+ *

Specifies one of the five types of data sources for evidence collection.

*/ sourceType?: SourceType | string; /** - *

- * The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names. - *

+ *

The keyword to search for in CloudTrail logs, Config rules, + * Security Hub checks, and Amazon Web Services API names.

*/ sourceKeyword?: SourceKeyword; /** - *

- * The frequency of evidence collection for the specified control mapping source. - *

+ *

The frequency of evidence collection for the control mapping source.

*/ sourceFrequency?: SourceFrequency | string; /** - *

- * The instructions for troubleshooting the specified control. - *

+ *

The instructions for troubleshooting the control.

*/ troubleshootingText?: string; } @@ -2574,51 +2208,37 @@ export namespace CreateControlMappingSource { export interface CreateControlRequest { /** - *

- * The name of the control. - *

+ *

The name of the control.

*/ name: string | undefined; /** - *

- * The description of the control. - *

+ *

The description of the control.

*/ description?: string; /** - *

- * The steps to follow to determine if the control has been satisfied. - *

+ *

The steps to follow to determine if the control is satisfied.

*/ testingInformation?: string; /** - *

- * The title of the action plan for remediating the control. - *

+ *

The title of the action plan for remediating the control.

*/ actionPlanTitle?: string; /** - *

- * The recommended actions to carry out if the control is not fulfilled. - *

+ *

The recommended actions to carry out if the control isn't fulfilled.

*/ actionPlanInstructions?: string; /** - *

- * The data mapping sources for the specified control. - *

+ *

The data mapping sources for the control.

*/ controlMappingSources: CreateControlMappingSource[] | undefined; /** - *

- * The tags associated with the control. - *

+ *

The tags that are associated with the control.

*/ tags?: { [key: string]: string }; } @@ -2634,9 +2254,7 @@ export namespace CreateControlRequest { export interface CreateControlResponse { /** - *

- * The new control returned by the CreateControl API. - *

+ *

The new control that the CreateControl API returned.

*/ control?: Control; } @@ -2652,9 +2270,7 @@ export namespace CreateControlResponse { export interface DeleteAssessmentRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; } @@ -2681,9 +2297,7 @@ export namespace DeleteAssessmentResponse { export interface DeleteAssessmentFrameworkRequest { /** - *

- * The identifier for the specified framework. - *

+ *

The identifier for the framework.

*/ frameworkId: string | undefined; } @@ -2708,18 +2322,51 @@ export namespace DeleteAssessmentFrameworkResponse { }); } +export enum ShareRequestType { + RECEIVED = "RECEIVED", + SENT = "SENT", +} + +export interface DeleteAssessmentFrameworkShareRequest { + /** + *

The unique identifier for the share request to be deleted.

+ */ + requestId: string | undefined; + + /** + *

Specifies whether the share request is a sent request or a received request.

+ */ + requestType: ShareRequestType | string | undefined; +} + +export namespace DeleteAssessmentFrameworkShareRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteAssessmentFrameworkShareRequest): any => ({ + ...obj, + }); +} + +export interface DeleteAssessmentFrameworkShareResponse {} + +export namespace DeleteAssessmentFrameworkShareResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteAssessmentFrameworkShareResponse): any => ({ + ...obj, + }); +} + export interface DeleteAssessmentReportRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The unique identifier for the assessment report. - *

+ *

The unique identifier for the assessment report.

*/ assessmentReportId: string | undefined; } @@ -2746,9 +2393,7 @@ export namespace DeleteAssessmentReportResponse { export interface DeleteControlRequest { /** - *

- * The identifier for the specified control. - *

+ *

The identifier for the control.

*/ controlId: string | undefined; } @@ -2786,9 +2431,7 @@ export namespace DeregisterAccountRequest { export interface DeregisterAccountResponse { /** - *

- * The registration status of the account. - *

+ *

The registration status of the account.

*/ status?: AccountStatus | string; } @@ -2804,9 +2447,7 @@ export namespace DeregisterAccountResponse { export interface DeregisterOrganizationAdminAccountRequest { /** - *

- * The identifier for the specified administrator account. - *

+ *

The identifier for the administrator account.

*/ adminAccountId?: string; } @@ -2833,16 +2474,12 @@ export namespace DeregisterOrganizationAdminAccountResponse { export interface DisassociateAssessmentReportEvidenceFolderRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the folder in which evidence is stored. - *

+ *

The identifier for the folder in which evidence is stored.

*/ evidenceFolderId: string | undefined; } @@ -2880,9 +2517,7 @@ export namespace GetAccountStatusRequest { export interface GetAccountStatusResponse { /** - *

- * The status of the specified Amazon Web Services account. - *

+ *

The status of the Amazon Web Services account.

*/ status?: AccountStatus | string; } @@ -2898,9 +2533,7 @@ export namespace GetAccountStatusResponse { export interface GetAssessmentRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; } @@ -2916,16 +2549,16 @@ export namespace GetAssessmentRequest { export interface GetAssessmentResponse { /** - *

- * An entity that defines the scope of audit evidence collected by Audit Manager. An Audit Manager assessment is an implementation of an Audit Manager framework. - *

+ *

An entity that defines the scope of audit evidence collected by Audit Manager. + * An Audit Manager assessment is an implementation of an Audit Manager + * framework.

*/ assessment?: Assessment; /** - *

- * The wrapper that contains the Audit Manager role information of the current user, such as the role type and IAM Amazon Resource Name (ARN). - *

+ *

The wrapper that contains the Audit Manager role information of the current + * user. This includes the role type and IAM Amazon Resource Name (ARN). + *

*/ userRole?: Role; } @@ -2941,9 +2574,7 @@ export namespace GetAssessmentResponse { export interface GetAssessmentFrameworkRequest { /** - *

- * The identifier for the specified framework. - *

+ *

The identifier for the framework.

*/ frameworkId: string | undefined; } @@ -2959,9 +2590,7 @@ export namespace GetAssessmentFrameworkRequest { export interface GetAssessmentFrameworkResponse { /** - *

- * The framework returned by the GetAssessmentFramework API. - *

+ *

The framework that the GetAssessmentFramework API returned.

*/ framework?: Framework; } @@ -2977,16 +2606,12 @@ export namespace GetAssessmentFrameworkResponse { export interface GetAssessmentReportUrlRequest { /** - *

- * The identifier for the assessment report. - *

+ *

The identifier for the assessment report.

*/ assessmentReportId: string | undefined; /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; } @@ -3001,22 +2626,17 @@ export namespace GetAssessmentReportUrlRequest { } /** - *

- * A uniform resource locator, used as a unique identifier to locate a resource on the internet. - *

+ *

Short for uniform resource locator. A URL is used as a unique identifier to locate a + * resource on the internet.

*/ export interface URL { /** - *

- * The name or word used as a hyperlink to the URL. - *

+ *

The name or word that's used as a hyperlink to the URL.

*/ hyperlinkName?: string; /** - *

- * The unique identifier for the internet resource. - *

+ *

The unique identifier for the internet resource.

*/ link?: string; } @@ -3032,9 +2652,8 @@ export namespace URL { export interface GetAssessmentReportUrlResponse { /** - *

- * A uniform resource locator, used as a unique identifier to locate a resource on the internet. - *

+ *

Short for uniform resource locator. A URL is used as a unique identifier to locate a + * resource on the internet.

*/ preSignedUrl?: URL; } @@ -3050,38 +2669,27 @@ export namespace GetAssessmentReportUrlResponse { export interface GetChangeLogsRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the specified control set. - *

+ *

The identifier for the control set.

*/ controlSetId?: string; /** - *

- * - * The identifier for the specified control. - *

+ *

The identifier for the control.

*/ controlId?: string; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -3104,43 +2712,33 @@ export enum ObjectTypeEnum { } /** - *

- * The record of a change within Audit Manager, such as a modified assessment, a delegated control set, and so on. - *

+ *

The record of a change within Audit Manager. For example, this could be the + * status change of an assessment or the delegation of a control set.

*/ export interface ChangeLog { /** - *

- * The changelog object type, such as an assessment, control, or control set. - *

+ *

The object that was changed, such as an assessment, control, or control set.

*/ objectType?: ObjectTypeEnum | string; /** - *

- * The name of the changelog object. - *

+ *

The name of the object that changed. This could be the name of an assessment, control, + * or control set.

*/ objectName?: string; /** - *

- * The action performed. - *

+ *

The action that was performed.

*/ action?: ActionEnum | string; /** - *

- * The time of creation for the changelog object. - *

+ *

The time when the action was performed and the changelog record was created.

*/ createdAt?: Date; /** - *

- * The IAM user or role that performed the action. - *

+ *

The IAM user or role that performed the action.

*/ createdBy?: string; } @@ -3156,16 +2754,12 @@ export namespace ChangeLog { export interface GetChangeLogsResponse { /** - *

- * The list of user activity for the control. - *

+ *

The list of user activity for the control.

*/ changeLogs?: ChangeLog[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -3181,10 +2775,7 @@ export namespace GetChangeLogsResponse { export interface GetControlRequest { /** - *

- * - * The identifier for the specified control. - *

+ *

The identifier for the control.

*/ controlId: string | undefined; } @@ -3200,9 +2791,7 @@ export namespace GetControlRequest { export interface GetControlResponse { /** - *

- * The name of the control returned by the GetControl API. - *

+ *

The name of the control that the GetControl API returned.

*/ control?: Control; } @@ -3218,16 +2807,12 @@ export namespace GetControlResponse { export interface GetDelegationsRequest { /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -3242,57 +2827,41 @@ export namespace GetDelegationsRequest { } /** - *

- * The metadata associated with the specified delegation. - *

+ *

The metadata that's associated with the delegation.

*/ export interface DelegationMetadata { /** - *

- * The unique identifier for the delegation. - *

+ *

The unique identifier for the delegation.

*/ id?: string; /** - *

- * The name of the associated assessment. - *

+ *

The name of the associated assessment.

*/ assessmentName?: string; /** - *

- * The unique identifier for the specified assessment. - *

+ *

The unique identifier for the assessment.

*/ assessmentId?: string; /** - *

- * The current status of the delgation. - *

+ *

The current status of the delegation.

*/ status?: DelegationStatus | string; /** - *

- * The Amazon Resource Name (ARN) of the IAM role. - *

+ *

The Amazon Resource Name (ARN) of the IAM role.

*/ roleArn?: string; /** - *

- * Specifies when the delegation was created. - *

+ *

Specifies when the delegation was created.

*/ creationTime?: Date; /** - *

- * Specifies the name of the control set delegated for review. - *

+ *

Specifies the name of the control set that was delegated for review.

*/ controlSetName?: string; } @@ -3308,16 +2877,12 @@ export namespace DelegationMetadata { export interface GetDelegationsResponse { /** - *

- * The list of delegations returned by the GetDelegations API. - *

+ *

The list of delegations that the GetDelegations API returned.

*/ delegations?: DelegationMetadata[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -3333,30 +2898,22 @@ export namespace GetDelegationsResponse { export interface GetEvidenceRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the specified control set. - *

+ *

The identifier for the control set.

*/ controlSetId: string | undefined; /** - *

- * The identifier for the folder in which the evidence is stored. - *

+ *

The identifier for the folder that the evidence is stored in.

*/ evidenceFolderId: string | undefined; /** - *

- * The identifier for the evidence. - *

+ *

The identifier for the evidence.

*/ evidenceId: string | undefined; } @@ -3371,22 +2928,16 @@ export namespace GetEvidenceRequest { } /** - *

- * A system asset that is evaluated in an Audit Manager assessment. - *

+ *

A system asset that's evaluated in an Audit Manager assessment.

*/ export interface Resource { /** - *

- * The Amazon Resource Name (ARN) for the specified resource. - *

+ *

The Amazon Resource Name (ARN) for the resource.

*/ arn?: string; /** - *

- * The value of the specified resource. - *

+ *

The value of the resource.

*/ value?: string; } @@ -3401,113 +2952,90 @@ export namespace Resource { } /** - *

- * A record that contains the information needed to demonstrate compliance with the requirements specified by a control. Examples of evidence include change activity triggered by a user, or a system configuration snapshot. - *

+ *

A record that contains the information needed to demonstrate compliance with the + * requirements specified by a control. Examples of evidence include change activity triggered + * by a user, or a system configuration snapshot.

*/ export interface Evidence { /** - *

- * The data source from which the specified evidence was collected. - *

+ *

The data source where the evidence was collected from.

*/ dataSource?: string; /** - *

- * The identifier for the specified Amazon Web Services account. - *

+ *

The identifier for the Amazon Web Services account.

*/ evidenceAwsAccountId?: string; /** - *

- * The timestamp that represents when the evidence was collected. - *

+ *

The timestamp that represents when the evidence was collected.

*/ time?: Date; /** - *

- * The Amazon Web Service from which the evidence is collected. - *

+ *

The Amazon Web Service that the evidence is collected from.

*/ eventSource?: string; /** - *

- * The name of the specified evidence event. - *

+ *

The name of the evidence event.

*/ eventName?: string; /** - *

- * The type of automated evidence. - *

+ *

The type of automated evidence.

*/ evidenceByType?: string; /** - *

- * The list of resources assessed to generate the evidence. - *

+ *

The list of resources that are assessed to generate the evidence.

*/ resourcesIncluded?: Resource[]; /** - *

- * The names and values used by the evidence event, including an attribute name (such as allowUsersToChangePassword) and value (such as true or false). - *

+ *

The names and values that are used by the evidence event. This includes an attribute + * name (such as allowUsersToChangePassword) and value (such as true + * or false).

*/ attributes?: { [key: string]: string }; /** - *

- * The unique identifier for the IAM user or role associated with the evidence. - *

+ *

The unique identifier for the IAM user or role that's associated with + * the evidence.

*/ iamId?: string; /** *

The evaluation status for evidence that falls under the compliance check category. For - * evidence collected from Security Hub, a Pass or - * Fail result is shown. For evidence collected from Config, a - * Compliant or Noncompliant result is shown.

+ * evidence collected from Security Hub, a Pass or + * Fail result is shown. For evidence collected from Config, a Compliant or Noncompliant + * result is shown.

*/ complianceCheck?: string; /** - *

- * The Amazon Web Services account from which the evidence is collected, and its organization path. - *

+ *

The Amazon Web Services account that the evidence is collected from, and its + * organization path.

*/ awsOrganization?: string; /** - *

- * The identifier for the specified Amazon Web Services account. - *

+ *

The identifier for the Amazon Web Services account.

*/ awsAccountId?: string; /** - *

- * The identifier for the folder in which the evidence is stored. - *

+ *

The identifier for the folder that the evidence is stored in.

*/ evidenceFolderId?: string; /** - *

The identifier for the evidence. - *

+ *

The identifier for the evidence.

*/ id?: string; /** - *

- * Specifies whether the evidence is included in the assessment report. - *

+ *

Specifies whether the evidence is included in the assessment report.

*/ assessmentReportSelection?: string; } @@ -3523,9 +3051,7 @@ export namespace Evidence { export interface GetEvidenceResponse { /** - *

- * The evidence returned by the GetEvidenceResponse API. - *

+ *

The evidence that the GetEvidenceResponse API returned.

*/ evidence?: Evidence; } @@ -3541,37 +3067,27 @@ export namespace GetEvidenceResponse { export interface GetEvidenceByEvidenceFolderRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the control set. - *

+ *

The identifier for the control set.

*/ controlSetId: string | undefined; /** - *

- * The unique identifier for the folder in which the evidence is stored. - *

+ *

The unique identifier for the folder that the evidence is stored in.

*/ evidenceFolderId: string | undefined; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -3587,16 +3103,13 @@ export namespace GetEvidenceByEvidenceFolderRequest { export interface GetEvidenceByEvidenceFolderResponse { /** - *

- * The list of evidence returned by the GetEvidenceByEvidenceFolder API. - *

+ *

The list of evidence that the GetEvidenceByEvidenceFolder API returned. + *

*/ evidence?: Evidence[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -3612,23 +3125,17 @@ export namespace GetEvidenceByEvidenceFolderResponse { export interface GetEvidenceFolderRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the specified control set. - *

+ *

The identifier for the control set.

*/ controlSetId: string | undefined; /** - *

- * The identifier for the folder in which the evidence is stored. - *

+ *

The identifier for the folder that the evidence is stored in.

*/ evidenceFolderId: string | undefined; } @@ -3644,9 +3151,7 @@ export namespace GetEvidenceFolderRequest { export interface GetEvidenceFolderResponse { /** - *

- * The folder in which evidence is stored. - *

+ *

The folder that the evidence is stored in.

*/ evidenceFolder?: AssessmentEvidenceFolder; } @@ -3662,23 +3167,17 @@ export namespace GetEvidenceFolderResponse { export interface GetEvidenceFoldersByAssessmentRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -3694,16 +3193,13 @@ export namespace GetEvidenceFoldersByAssessmentRequest { export interface GetEvidenceFoldersByAssessmentResponse { /** - *

- * The list of evidence folders returned by the GetEvidenceFoldersByAssessment API. - *

+ *

The list of evidence folders that the GetEvidenceFoldersByAssessment API + * returned.

*/ evidenceFolders?: AssessmentEvidenceFolder[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -3719,37 +3215,27 @@ export namespace GetEvidenceFoldersByAssessmentResponse { export interface GetEvidenceFoldersByAssessmentControlRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the specified control set. - *

+ *

The identifier for the control set.

*/ controlSetId: string | undefined; /** - *

- * The identifier for the specified control. - *

+ *

The identifier for the control.

*/ controlId: string | undefined; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -3765,16 +3251,13 @@ export namespace GetEvidenceFoldersByAssessmentControlRequest { export interface GetEvidenceFoldersByAssessmentControlResponse { /** - *

- * The list of evidence folders returned by the GetEvidenceFoldersByAssessmentControl API. - *

+ *

The list of evidence folders that the + * GetEvidenceFoldersByAssessmentControl API returned.

*/ evidenceFolders?: AssessmentEvidenceFolder[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -3801,16 +3284,12 @@ export namespace GetOrganizationAdminAccountRequest { export interface GetOrganizationAdminAccountResponse { /** - *

- * The identifier for the specified administrator account. - *

+ *

The identifier for the administrator account.

*/ adminAccountId?: string; /** - *

- * The identifier for the specified organization. - *

+ *

The identifier for the organization.

*/ organizationId?: string; } @@ -3836,36 +3315,27 @@ export namespace GetServicesInScopeRequest { } /** - *

- * The metadata associated with the specified Amazon Web Service. - *

+ *

The metadata that's associated with the Amazon Web Service.

*/ export interface ServiceMetadata { /** - *

- * The name of the Amazon Web Service. - *

+ *

The name of the Amazon Web Service.

*/ name?: string; /** - *

- * The display name of the Amazon Web Service. - *

+ *

The display name of the Amazon Web Service.

*/ displayName?: string; /** - *

- * The description of the specified Amazon Web Service. - *

+ *

The description of the Amazon Web Service.

*/ description?: string; /** - *

- * The category in which the Amazon Web Service belongs, such as compute, storage, database, and so on. - *

+ *

The category that the Amazon Web Service belongs to, such as compute, storage, + * or database.

*/ category?: string; } @@ -3881,9 +3351,7 @@ export namespace ServiceMetadata { export interface GetServicesInScopeResponse { /** - *

- * The metadata associated with the Amazon Web Service. - *

+ *

The metadata that's associated with the Amazon Web Service.

*/ serviceMetadata?: ServiceMetadata[]; } @@ -3907,9 +3375,7 @@ export enum SettingAttribute { export interface GetSettingsRequest { /** - *

- * The list of SettingAttribute enum values. - *

+ *

The list of SettingAttribute enum values.

*/ attribute: SettingAttribute | string | undefined; } @@ -3924,43 +3390,31 @@ export namespace GetSettingsRequest { } /** - *

- * The settings object that holds all supported Audit Manager settings. - *

+ *

The settings object that holds all supported Audit Manager settings.

*/ export interface Settings { /** - *

- * Specifies whether Organizations is enabled. - *

+ *

Specifies whether Organizations is enabled.

*/ isAwsOrgEnabled?: boolean; /** - *

- * The designated Amazon Simple Notification Service (Amazon SNS) topic. - *

+ *

The designated Amazon Simple Notification Service (Amazon SNS) topic.

*/ snsTopic?: string; /** - *

- * The default storage destination for assessment reports. - *

+ *

The default storage destination for assessment reports.

*/ defaultAssessmentReportsDestination?: AssessmentReportsDestination; /** - *

- * The designated default audit owners. - *

+ *

The designated default audit owners.

*/ defaultProcessOwners?: Role[]; /** - *

- * The KMS key details. - *

+ *

The KMS key details.

*/ kmsKey?: string; } @@ -3976,9 +3430,7 @@ export namespace Settings { export interface GetSettingsResponse { /** - *

- * The settings object that holds all supported Audit Manager settings. - *

+ *

The settings object that holds all supported Audit Manager settings.

*/ settings?: Settings; } @@ -3994,23 +3446,17 @@ export namespace GetSettingsResponse { export interface ListAssessmentFrameworksRequest { /** - *

- * The type of framework, such as standard or custom. - *

+ *

The type of framework, such as a standard framework or a custom framework.

*/ frameworkType: FrameworkType | string | undefined; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -4026,16 +3472,12 @@ export namespace ListAssessmentFrameworksRequest { export interface ListAssessmentFrameworksResponse { /** - *

- * The list of metadata objects for the specified framework. - *

+ *

The list of metadata objects for the framework.

*/ frameworkMetadataList?: AssessmentFrameworkMetadata[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -4049,18 +3491,62 @@ export namespace ListAssessmentFrameworksResponse { }); } +export interface ListAssessmentFrameworkShareRequestsRequest { + /** + *

Specifies whether the share request is a sent request or a received request.

+ */ + requestType: ShareRequestType | string | undefined; + + /** + *

The pagination token that's used to fetch the next set of results.

+ */ + nextToken?: string; + + /** + *

Represents the maximum number of results on a page or for an API request call.

+ */ + maxResults?: number; +} + +export namespace ListAssessmentFrameworkShareRequestsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAssessmentFrameworkShareRequestsRequest): any => ({ + ...obj, + }); +} + +export interface ListAssessmentFrameworkShareRequestsResponse { + /** + *

The list of share requests that the ListAssessmentFrameworkShareRequests + * API returned.

+ */ + assessmentFrameworkShareRequests?: AssessmentFrameworkShareRequest[]; + + /** + *

The pagination token that's used to fetch the next set of results.

+ */ + nextToken?: string; +} + +export namespace ListAssessmentFrameworkShareRequestsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAssessmentFrameworkShareRequestsResponse): any => ({ + ...obj, + }); +} + export interface ListAssessmentReportsRequest { /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -4076,16 +3562,13 @@ export namespace ListAssessmentReportsRequest { export interface ListAssessmentReportsResponse { /** - *

- * The list of assessment reports returned by the ListAssessmentReports API. - *

+ *

The list of assessment reports that the ListAssessmentReports API + * returned.

*/ assessmentReports?: AssessmentReportMetadata[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -4101,16 +3584,12 @@ export namespace ListAssessmentReportsResponse { export interface ListAssessmentsRequest { /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -4126,16 +3605,12 @@ export namespace ListAssessmentsRequest { export interface ListAssessmentsResponse { /** - *

- * The metadata associated with the assessment. - *

+ *

The metadata that's associated with the assessment.

*/ assessmentMetadata?: AssessmentMetadataItem[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -4151,23 +3626,17 @@ export namespace ListAssessmentsResponse { export interface ListControlsRequest { /** - *

- * The type of control, such as standard or custom. - *

+ *

The type of control, such as a standard control or a custom control.

*/ controlType: ControlType | string | undefined; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -4182,50 +3651,37 @@ export namespace ListControlsRequest { } /** - *

- * The metadata associated with the specified standard or custom control. - *

+ *

The metadata that's associated with the standard control or custom control.

*/ export interface ControlMetadata { /** - *

- * The Amazon Resource Name (ARN) of the specified control. - *

+ *

The Amazon Resource Name (ARN) of the control.

*/ arn?: string; /** - *

- * The unique identifier for the specified control. - *

+ *

The unique identifier for the control.

*/ id?: string; /** - *

- * The name of the specified control. - *

+ *

The name of the control.

*/ name?: string; /** - *

- * The data source that determines from where Audit Manager collects evidence for the control. - *

+ *

The data source that determines where Audit Manager collects evidence from for + * the control.

*/ controlSources?: string; /** - *

- * Specifies when the control was created. - *

+ *

Specifies when the control was created.

*/ createdAt?: Date; /** - *

- * Specifies when the control was most recently updated. - *

+ *

Specifies when the control was most recently updated.

*/ lastUpdatedAt?: Date; } @@ -4241,16 +3697,13 @@ export namespace ControlMetadata { export interface ListControlsResponse { /** - *

- * The list of control metadata objects returned by the ListControls API. - *

+ *

The list of control metadata objects that the ListControls API returned. + *

*/ controlMetadataList?: ControlMetadata[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -4266,23 +3719,17 @@ export namespace ListControlsResponse { export interface ListKeywordsForDataSourceRequest { /** - *

- * The control mapping data source to which the keywords apply. - *

+ *

The control mapping data source that the keywords apply to.

*/ source: SourceType | string | undefined; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -4298,16 +3745,12 @@ export namespace ListKeywordsForDataSourceRequest { export interface ListKeywordsForDataSourceResponse { /** - *

- * The list of keywords for the specified event mapping source. - *

+ *

The list of keywords for the event mapping source.

*/ keywords?: string[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -4323,16 +3766,12 @@ export namespace ListKeywordsForDataSourceResponse { export interface ListNotificationsRequest { /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; /** - *

- * Represents the maximum number of results per page, or per API request call. - *

+ *

Represents the maximum number of results on a page or for an API request call.

*/ maxResults?: number; } @@ -4347,64 +3786,48 @@ export namespace ListNotificationsRequest { } /** - *

- * The notification used to inform a user of an update in Audit Manager. For example, this includes the notification that is sent when a control set is delegated for review. - *

+ *

The notification that informs a user of an update in Audit Manager. For + * example, this includes the notification that's sent when a control set is delegated for + * review.

*/ export interface Notification { /** - *

- * The unique identifier for the notification. - *

+ *

The unique identifier for the notification.

*/ id?: string; /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId?: string; /** - *

- * The name of the related assessment. - *

+ *

The name of the related assessment.

*/ assessmentName?: string; /** - *

- * The identifier for the specified control set. - *

+ *

The identifier for the control set.

*/ controlSetId?: string; /** - *

- * Specifies the name of the control set that the notification is about. - *

+ *

Specifies the name of the control set that the notification is about.

*/ controlSetName?: string; /** - *

- * The description of the notification. - *

+ *

The description of the notification.

*/ description?: string; /** - *

- * The time when the notification was sent. - *

+ *

The time when the notification was sent.

*/ eventTime?: Date; /** - *

- * The sender of the notification. - *

+ *

The sender of the notification.

*/ source?: string; } @@ -4420,16 +3843,12 @@ export namespace Notification { export interface ListNotificationsResponse { /** - *

- * The returned list of notifications. - *

+ *

The returned list of notifications.

*/ notifications?: Notification[]; /** - *

- * The pagination token used to fetch the next set of results. - *

+ *

The pagination token that's used to fetch the next set of results.

*/ nextToken?: string; } @@ -4445,9 +3864,7 @@ export namespace ListNotificationsResponse { export interface ListTagsForResourceRequest { /** - *

- * The Amazon Resource Name (ARN) of the specified resource. - *

+ *

The Amazon Resource Name (ARN) of the resource.

*/ resourceArn: string | undefined; } @@ -4463,9 +3880,7 @@ export namespace ListTagsForResourceRequest { export interface ListTagsForResourceResponse { /** - *

- * The list of tags returned by the ListTagsForResource API. - *

+ *

The list of tags that the ListTagsForResource API returned.

*/ tags?: { [key: string]: string }; } @@ -4481,16 +3896,12 @@ export namespace ListTagsForResourceResponse { export interface RegisterAccountRequest { /** - *

- * The KMS key details. - *

+ *

The KMS key details.

*/ kmsKey?: string; /** - *

- * The delegated administrator account for Audit Manager. - *

+ *

The delegated administrator account for Audit Manager.

*/ delegatedAdminAccount?: string; } @@ -4506,9 +3917,7 @@ export namespace RegisterAccountRequest { export interface RegisterAccountResponse { /** - *

- * The status of the account registration request. - *

+ *

The status of the account registration request.

*/ status?: AccountStatus | string; } @@ -4524,9 +3933,7 @@ export namespace RegisterAccountResponse { export interface RegisterOrganizationAdminAccountRequest { /** - *

- * The identifier for the specified delegated administrator account. - *

+ *

The identifier for the delegated administrator account.

*/ adminAccountId: string | undefined; } @@ -4542,16 +3949,12 @@ export namespace RegisterOrganizationAdminAccountRequest { export interface RegisterOrganizationAdminAccountResponse { /** - *

- * The identifier for the specified delegated administrator account. - *

+ *

The identifier for the delegated administrator account.

*/ adminAccountId?: string; /** - *

- * The identifier for the specified organization. - *

+ *

The identifier for the organization.

*/ organizationId?: string; } @@ -4565,18 +3968,62 @@ export namespace RegisterOrganizationAdminAccountResponse { }); } +export interface StartAssessmentFrameworkShareRequest { + /** + *

The unique identifier for the custom framework to be shared.

+ */ + frameworkId: string | undefined; + + /** + *

The Amazon Web Services account of the recipient.

+ */ + destinationAccount: string | undefined; + + /** + *

The Amazon Web Services Region of the recipient.

+ */ + destinationRegion: string | undefined; + + /** + *

An optional comment from the sender about the share request.

+ */ + comment?: string; +} + +export namespace StartAssessmentFrameworkShareRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartAssessmentFrameworkShareRequest): any => ({ + ...obj, + }); +} + +export interface StartAssessmentFrameworkShareResponse { + /** + *

The share request that's created by the StartAssessmentFrameworkShare API. + *

+ */ + assessmentFrameworkShareRequest?: AssessmentFrameworkShareRequest; +} + +export namespace StartAssessmentFrameworkShareResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartAssessmentFrameworkShareResponse): any => ({ + ...obj, + }); +} + export interface TagResourceRequest { /** - *

- * The Amazon Resource Name (ARN) of the specified resource. - *

+ *

The Amazon Resource Name (ARN) of the resource.

*/ resourceArn: string | undefined; /** - *

- * The tags to be associated with the resource. - *

+ *

The tags that are associated with the resource.

*/ tags: { [key: string]: string } | undefined; } @@ -4603,16 +4050,12 @@ export namespace TagResourceResponse { export interface UntagResourceRequest { /** - *

- * The Amazon Resource Name (ARN) of the specified resource. - *

+ *

The Amazon Resource Name (ARN) of the specified resource.

*/ resourceArn: string | undefined; /** - *

- * The name or key of the tag. - *

+ *

The name or key of the tag.

*/ tagKeys: string[] | undefined; } @@ -4639,44 +4082,33 @@ export namespace UntagResourceResponse { export interface UpdateAssessmentRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The name of the specified assessment to be updated. - *

+ *

The name of the assessment to be updated.

*/ assessmentName?: string; /** - *

- * The description of the specified assessment. - *

+ *

The description of the assessment.

*/ assessmentDescription?: string; /** - *

- * The scope of the specified assessment. - *

+ *

The scope of the assessment.

*/ scope: Scope | undefined; /** - *

- * The assessment report storage destination for the specified assessment that is being updated. - *

+ *

The assessment report storage destination for the assessment that's being updated. + *

*/ assessmentReportsDestination?: AssessmentReportsDestination; /** - *

- * The list of roles for the specified assessment. - *

+ *

The list of roles for the assessment.

*/ roles?: Role[]; } @@ -4692,9 +4124,8 @@ export namespace UpdateAssessmentRequest { export interface UpdateAssessmentResponse { /** - *

- * The response object (name of the updated assessment) for the UpdateAssessmentRequest API. - *

+ *

The response object for the UpdateAssessmentRequest API. This is the name + * of the updated assessment.

*/ assessment?: Assessment; } @@ -4710,38 +4141,27 @@ export namespace UpdateAssessmentResponse { export interface UpdateAssessmentControlRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the specified control set. - *

+ *

The identifier for the control set.

*/ controlSetId: string | undefined; /** - *

- * - * The identifier for the specified control. - *

+ *

The identifier for the control.

*/ controlId: string | undefined; /** - *

- * The status of the specified control. - *

+ *

The status of the control.

*/ controlStatus?: ControlStatus | string; /** - *

- * The comment body text for the specified control. - *

+ *

The comment body text for the control.

*/ commentBody?: string; } @@ -4757,9 +4177,8 @@ export namespace UpdateAssessmentControlRequest { export interface UpdateAssessmentControlResponse { /** - *

- * The name of the updated control set returned by the UpdateAssessmentControl API. - *

+ *

The name of the updated control set that the UpdateAssessmentControl API + * returned.

*/ control?: AssessmentControl; } @@ -4775,30 +4194,22 @@ export namespace UpdateAssessmentControlResponse { export interface UpdateAssessmentControlSetStatusRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The identifier for the specified control set. - *

+ *

The identifier for the control set.

*/ controlSetId: string | undefined; /** - *

- * The status of the control set that is being updated. - *

+ *

The status of the control set that's being updated.

*/ status: ControlSetStatus | string | undefined; /** - *

- * The comment related to the status update. - *

+ *

The comment that's related to the status update.

*/ comment: string | undefined; } @@ -4814,9 +4225,8 @@ export namespace UpdateAssessmentControlSetStatusRequest { export interface UpdateAssessmentControlSetStatusResponse { /** - *

- * The name of the updated control set returned by the UpdateAssessmentControlSetStatus API. - *

+ *

The name of the updated control set that the + * UpdateAssessmentControlSetStatus API returned.

*/ controlSet?: AssessmentControlSet; } @@ -4831,29 +4241,21 @@ export namespace UpdateAssessmentControlSetStatusResponse { } /** - *

- * A controlSet entity that represents a collection of controls in Audit Manager. This does not contain the control set ID. - *

+ *

A controlSet entity that represents a collection of controls in Audit Manager. This doesn't contain the control set ID.

*/ export interface UpdateAssessmentFrameworkControlSet { /** - *

- * The unique identifier for the control set. - *

+ *

The unique identifier for the control set.

*/ id?: string; /** - *

- * The name of the control set. - *

+ *

The name of the control set.

*/ name: string | undefined; /** - *

- * The list of controls contained within the control set. - *

+ *

The list of controls that are contained within the control set.

*/ controls?: CreateAssessmentFrameworkControl[]; } @@ -4869,37 +4271,28 @@ export namespace UpdateAssessmentFrameworkControlSet { export interface UpdateAssessmentFrameworkRequest { /** - *

- * The identifier for the specified framework. - *

+ *

The identifier for the framework.

*/ frameworkId: string | undefined; /** - *

- * The name of the framework to be updated. - *

+ *

The name of the framework to be updated.

*/ name: string | undefined; /** - *

- * The description of the framework that is to be updated. - *

+ *

The description of the updated framework.

*/ description?: string; /** - *

- * The compliance type that the new custom framework supports, such as CIS or HIPAA. - *

+ *

The compliance type that the new custom framework supports, such as CIS or HIPAA. + *

*/ complianceType?: string; /** - *

- * The control sets associated with the framework. - *

+ *

The control sets that are associated with the framework.

*/ controlSets: UpdateAssessmentFrameworkControlSet[] | undefined; } @@ -4915,9 +4308,7 @@ export namespace UpdateAssessmentFrameworkRequest { export interface UpdateAssessmentFrameworkResponse { /** - *

- * The name of the specified framework. - *

+ *

The name of the framework.

*/ framework?: Framework; } @@ -4931,18 +4322,63 @@ export namespace UpdateAssessmentFrameworkResponse { }); } +export enum ShareRequestAction { + ACCEPT = "ACCEPT", + DECLINE = "DECLINE", + REVOKE = "REVOKE", +} + +export interface UpdateAssessmentFrameworkShareRequest { + /** + *

The unique identifier for the share request.

+ */ + requestId: string | undefined; + + /** + *

Specifies whether the share request is a sent request or a received request.

+ */ + requestType: ShareRequestType | string | undefined; + + /** + *

Specifies the update action for the share request.

+ */ + action: ShareRequestAction | string | undefined; +} + +export namespace UpdateAssessmentFrameworkShareRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateAssessmentFrameworkShareRequest): any => ({ + ...obj, + }); +} + +export interface UpdateAssessmentFrameworkShareResponse { + /** + *

The updated share request that's returned by the + * UpdateAssessmentFrameworkShare operation.

+ */ + assessmentFrameworkShareRequest?: AssessmentFrameworkShareRequest; +} + +export namespace UpdateAssessmentFrameworkShareResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateAssessmentFrameworkShareResponse): any => ({ + ...obj, + }); +} + export interface UpdateAssessmentStatusRequest { /** - *

- * The identifier for the specified assessment. - *

+ *

The identifier for the assessment.

*/ assessmentId: string | undefined; /** - *

- * The current status of the specified assessment. - *

+ *

The current status of the assessment.

*/ status: AssessmentStatus | string | undefined; } @@ -4958,9 +4394,8 @@ export namespace UpdateAssessmentStatusRequest { export interface UpdateAssessmentStatusResponse { /** - *

- * The name of the updated assessment returned by the UpdateAssessmentStatus API. - *

+ *

The name of the updated assessment that the UpdateAssessmentStatus API + * returned.

*/ assessment?: Assessment; } @@ -4976,52 +4411,37 @@ export namespace UpdateAssessmentStatusResponse { export interface UpdateControlRequest { /** - *

- * The identifier for the specified control. - *

+ *

The identifier for the control.

*/ controlId: string | undefined; /** - *

- * The name of the control to be updated. - *

+ *

The name of the updated control.

*/ name: string | undefined; /** - *

- * The optional description of the control. - *

+ *

The optional description of the control.

*/ description?: string; /** - *

- * The steps that to follow to determine if the control has been satisfied. - *

+ *

The steps that you should follow to determine if the control is met.

*/ testingInformation?: string; /** - *

- * The title of the action plan for remediating the control. - *

+ *

The title of the action plan for remediating the control.

*/ actionPlanTitle?: string; /** - *

- * - * The recommended actions to carry out if the control is not fulfilled. - *

+ *

The recommended actions to carry out if the control isn't fulfilled.

*/ actionPlanInstructions?: string; /** - *

- * The data mapping sources for the specified control. - *

+ *

The data mapping sources for the control.

*/ controlMappingSources: ControlMappingSource[] | undefined; } @@ -5037,9 +4457,8 @@ export namespace UpdateControlRequest { export interface UpdateControlResponse { /** - *

- * The name of the updated control set returned by the UpdateControl API. - *

+ *

The name of the updated control set that the UpdateControl API returned. + *

*/ control?: Control; } @@ -5055,30 +4474,23 @@ export namespace UpdateControlResponse { export interface UpdateSettingsRequest { /** - *

- * The Amazon Simple Notification Service (Amazon SNS) topic to which Audit Manager sends notifications. - *

+ *

The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager sends + * notifications to.

*/ snsTopic?: string; /** - *

- * The default storage destination for assessment reports. - *

+ *

The default storage destination for assessment reports.

*/ defaultAssessmentReportsDestination?: AssessmentReportsDestination; /** - *

- * A list of the default audit owners. - *

+ *

A list of the default audit owners.

*/ defaultProcessOwners?: Role[]; /** - *

- * The KMS key details. - *

+ *

The KMS key details.

*/ kmsKey?: string; } @@ -5094,9 +4506,7 @@ export namespace UpdateSettingsRequest { export interface UpdateSettingsResponse { /** - *

- * The current list of settings. - *

+ *

The current list of settings.

*/ settings?: Settings; } @@ -5112,9 +4522,8 @@ export namespace UpdateSettingsResponse { export interface ValidateAssessmentReportIntegrityRequest { /** - *

- * The relative path of the specified Amazon S3 bucket in which the assessment report is stored. - *

+ *

The relative path of the Amazon S3 bucket that the assessment report is stored + * in.

*/ s3RelativePath: string | undefined; } @@ -5130,37 +4539,28 @@ export namespace ValidateAssessmentReportIntegrityRequest { export interface ValidateAssessmentReportIntegrityResponse { /** - *

- * Specifies whether the signature key is valid. - *

+ *

Specifies whether the signature key is valid.

*/ signatureValid?: boolean; /** - *

- * The signature algorithm used to code sign the assessment report file. - *

+ *

The signature algorithm that's used to code sign the assessment report file.

*/ signatureAlgorithm?: string; /** - *

- * The date and time signature that specifies when the assessment report was created. - *

+ *

The date and time signature that specifies when the assessment report was created. + *

*/ signatureDateTime?: string; /** - *

- * The unique identifier for the validation signature key. - *

+ *

The unique identifier for the validation signature key.

*/ signatureKeyId?: string; /** - *

- * Represents any errors that occurred when validating the assessment report. - *

+ *

Represents any errors that occurred when validating the assessment report.

*/ validationErrors?: string[]; } diff --git a/clients/client-auditmanager/src/pagination/ListAssessmentFrameworkShareRequestsPaginator.ts b/clients/client-auditmanager/src/pagination/ListAssessmentFrameworkShareRequestsPaginator.ts new file mode 100644 index 000000000000..08fbe52bd535 --- /dev/null +++ b/clients/client-auditmanager/src/pagination/ListAssessmentFrameworkShareRequestsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { AuditManager } from "../AuditManager"; +import { AuditManagerClient } from "../AuditManagerClient"; +import { + ListAssessmentFrameworkShareRequestsCommand, + ListAssessmentFrameworkShareRequestsCommandInput, + ListAssessmentFrameworkShareRequestsCommandOutput, +} from "../commands/ListAssessmentFrameworkShareRequestsCommand"; +import { AuditManagerPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: AuditManagerClient, + input: ListAssessmentFrameworkShareRequestsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAssessmentFrameworkShareRequestsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: AuditManager, + input: ListAssessmentFrameworkShareRequestsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAssessmentFrameworkShareRequests(input, ...args); +}; +export async function* paginateListAssessmentFrameworkShareRequests( + config: AuditManagerPaginationConfiguration, + input: ListAssessmentFrameworkShareRequestsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.nextToken + let token: typeof input.nextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListAssessmentFrameworkShareRequestsCommandOutput; + while (hasNext) { + input.nextToken = token; + input["maxResults"] = config.pageSize; + if (config.client instanceof AuditManager) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof AuditManagerClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected AuditManager | AuditManagerClient"); + } + yield page; + token = page.nextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-auditmanager/src/pagination/index.ts b/clients/client-auditmanager/src/pagination/index.ts index 3cf98ef5ace8..05059d20ae9f 100644 --- a/clients/client-auditmanager/src/pagination/index.ts +++ b/clients/client-auditmanager/src/pagination/index.ts @@ -4,6 +4,7 @@ export * from "./GetEvidenceByEvidenceFolderPaginator"; export * from "./GetEvidenceFoldersByAssessmentControlPaginator"; export * from "./GetEvidenceFoldersByAssessmentPaginator"; export * from "./Interfaces"; +export * from "./ListAssessmentFrameworkShareRequestsPaginator"; export * from "./ListAssessmentFrameworksPaginator"; export * from "./ListAssessmentReportsPaginator"; export * from "./ListAssessmentsPaginator"; diff --git a/clients/client-auditmanager/src/protocols/Aws_restJson1.ts b/clients/client-auditmanager/src/protocols/Aws_restJson1.ts index 7d57af1b618c..891bc2dfd3b1 100644 --- a/clients/client-auditmanager/src/protocols/Aws_restJson1.ts +++ b/clients/client-auditmanager/src/protocols/Aws_restJson1.ts @@ -56,6 +56,10 @@ import { DeleteAssessmentFrameworkCommandInput, DeleteAssessmentFrameworkCommandOutput, } from "../commands/DeleteAssessmentFrameworkCommand"; +import { + DeleteAssessmentFrameworkShareCommandInput, + DeleteAssessmentFrameworkShareCommandOutput, +} from "../commands/DeleteAssessmentFrameworkShareCommand"; import { DeleteAssessmentReportCommandInput, DeleteAssessmentReportCommandOutput, @@ -107,6 +111,10 @@ import { ListAssessmentFrameworksCommandInput, ListAssessmentFrameworksCommandOutput, } from "../commands/ListAssessmentFrameworksCommand"; +import { + ListAssessmentFrameworkShareRequestsCommandInput, + ListAssessmentFrameworkShareRequestsCommandOutput, +} from "../commands/ListAssessmentFrameworkShareRequestsCommand"; import { ListAssessmentReportsCommandInput, ListAssessmentReportsCommandOutput, @@ -127,6 +135,10 @@ import { RegisterOrganizationAdminAccountCommandInput, RegisterOrganizationAdminAccountCommandOutput, } from "../commands/RegisterOrganizationAdminAccountCommand"; +import { + StartAssessmentFrameworkShareCommandInput, + StartAssessmentFrameworkShareCommandOutput, +} from "../commands/StartAssessmentFrameworkShareCommand"; import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateAssessmentCommandInput, UpdateAssessmentCommandOutput } from "../commands/UpdateAssessmentCommand"; @@ -142,6 +154,10 @@ import { UpdateAssessmentFrameworkCommandInput, UpdateAssessmentFrameworkCommandOutput, } from "../commands/UpdateAssessmentFrameworkCommand"; +import { + UpdateAssessmentFrameworkShareCommandInput, + UpdateAssessmentFrameworkShareCommandOutput, +} from "../commands/UpdateAssessmentFrameworkShareCommand"; import { UpdateAssessmentStatusCommandInput, UpdateAssessmentStatusCommandOutput, @@ -160,6 +176,7 @@ import { AssessmentEvidenceFolder, AssessmentFramework, AssessmentFrameworkMetadata, + AssessmentFrameworkShareRequest, AssessmentMetadata, AssessmentMetadataItem, AssessmentReport, @@ -646,6 +663,40 @@ export const serializeAws_restJson1DeleteAssessmentFrameworkCommand = async ( }); }; +export const serializeAws_restJson1DeleteAssessmentFrameworkShareCommand = async ( + input: DeleteAssessmentFrameworkShareCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/assessmentFrameworkShareRequests/{requestId}"; + if (input.requestId !== undefined) { + const labelValue: string = input.requestId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: requestId."); + } + resolvedPath = resolvedPath.replace("{requestId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: requestId."); + } + const query: any = { + ...(input.requestType !== undefined && { requestType: input.requestType }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1DeleteAssessmentReportCommand = async ( input: DeleteAssessmentReportCommandInput, context: __SerdeContext @@ -1350,6 +1401,32 @@ export const serializeAws_restJson1ListAssessmentFrameworksCommand = async ( }); }; +export const serializeAws_restJson1ListAssessmentFrameworkShareRequestsCommand = async ( + input: ListAssessmentFrameworkShareRequestsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + const resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/assessmentFrameworkShareRequests"; + const query: any = { + ...(input.requestType !== undefined && { requestType: input.requestType }), + ...(input.nextToken !== undefined && { nextToken: input.nextToken }), + ...(input.maxResults !== undefined && { maxResults: input.maxResults.toString() }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1ListAssessmentReportsCommand = async ( input: ListAssessmentReportsCommandInput, context: __SerdeContext @@ -1553,6 +1630,45 @@ export const serializeAws_restJson1RegisterOrganizationAdminAccountCommand = asy }); }; +export const serializeAws_restJson1StartAssessmentFrameworkShareCommand = async ( + input: StartAssessmentFrameworkShareCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/assessmentFrameworks/{frameworkId}/shareRequests"; + if (input.frameworkId !== undefined) { + const labelValue: string = input.frameworkId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: frameworkId."); + } + resolvedPath = resolvedPath.replace("{frameworkId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: frameworkId."); + } + let body: any; + body = JSON.stringify({ + ...(input.comment !== undefined && input.comment !== null && { comment: input.comment }), + ...(input.destinationAccount !== undefined && + input.destinationAccount !== null && { destinationAccount: input.destinationAccount }), + ...(input.destinationRegion !== undefined && + input.destinationRegion !== null && { destinationRegion: input.destinationRegion }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1TagResourceCommand = async ( input: TagResourceCommandInput, context: __SerdeContext @@ -1806,6 +1922,42 @@ export const serializeAws_restJson1UpdateAssessmentFrameworkCommand = async ( }); }; +export const serializeAws_restJson1UpdateAssessmentFrameworkShareCommand = async ( + input: UpdateAssessmentFrameworkShareCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/assessmentFrameworkShareRequests/{requestId}"; + if (input.requestId !== undefined) { + const labelValue: string = input.requestId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: requestId."); + } + resolvedPath = resolvedPath.replace("{requestId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: requestId."); + } + let body: any; + body = JSON.stringify({ + ...(input.action !== undefined && input.action !== null && { action: input.action }), + ...(input.requestType !== undefined && input.requestType !== null && { requestType: input.requestType }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1UpdateAssessmentStatusCommand = async ( input: UpdateAssessmentStatusCommandInput, context: __SerdeContext @@ -2894,6 +3046,81 @@ const deserializeAws_restJson1DeleteAssessmentFrameworkCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1DeleteAssessmentFrameworkShareCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DeleteAssessmentFrameworkShareCommandError(output, context); + } + const contents: DeleteAssessmentFrameworkShareCommandOutput = { + $metadata: deserializeMetadata(output), + }; + await collectBody(output.body, context); + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DeleteAssessmentFrameworkShareCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.auditmanager#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.auditmanager#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.auditmanager#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.auditmanager#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1DeleteAssessmentReportCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4505,6 +4732,84 @@ const deserializeAws_restJson1ListAssessmentFrameworksCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1ListAssessmentFrameworkShareRequestsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListAssessmentFrameworkShareRequestsCommandError(output, context); + } + const contents: ListAssessmentFrameworkShareRequestsCommandOutput = { + $metadata: deserializeMetadata(output), + assessmentFrameworkShareRequests: undefined, + nextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.assessmentFrameworkShareRequests !== undefined && data.assessmentFrameworkShareRequests !== null) { + contents.assessmentFrameworkShareRequests = deserializeAws_restJson1AssessmentFrameworkShareRequestList( + data.assessmentFrameworkShareRequests, + context + ); + } + if (data.nextToken !== undefined && data.nextToken !== null) { + contents.nextToken = __expectString(data.nextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListAssessmentFrameworkShareRequestsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.auditmanager#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.auditmanager#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.auditmanager#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1ListAssessmentReportsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5113,6 +5418,88 @@ const deserializeAws_restJson1RegisterOrganizationAdminAccountCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1StartAssessmentFrameworkShareCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1StartAssessmentFrameworkShareCommandError(output, context); + } + const contents: StartAssessmentFrameworkShareCommandOutput = { + $metadata: deserializeMetadata(output), + assessmentFrameworkShareRequest: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.assessmentFrameworkShareRequest !== undefined && data.assessmentFrameworkShareRequest !== null) { + contents.assessmentFrameworkShareRequest = deserializeAws_restJson1AssessmentFrameworkShareRequest( + data.assessmentFrameworkShareRequest, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1StartAssessmentFrameworkShareCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.auditmanager#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.auditmanager#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.auditmanager#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.auditmanager#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1TagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5563,6 +5950,88 @@ const deserializeAws_restJson1UpdateAssessmentFrameworkCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1UpdateAssessmentFrameworkShareCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1UpdateAssessmentFrameworkShareCommandError(output, context); + } + const contents: UpdateAssessmentFrameworkShareCommandOutput = { + $metadata: deserializeMetadata(output), + assessmentFrameworkShareRequest: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.assessmentFrameworkShareRequest !== undefined && data.assessmentFrameworkShareRequest !== null) { + contents.assessmentFrameworkShareRequest = deserializeAws_restJson1AssessmentFrameworkShareRequest( + data.assessmentFrameworkShareRequest, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1UpdateAssessmentFrameworkShareCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.auditmanager#AccessDeniedException": + response = { + ...(await deserializeAws_restJson1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerException": + case "com.amazonaws.auditmanager#InternalServerException": + response = { + ...(await deserializeAws_restJson1InternalServerExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.auditmanager#ResourceNotFoundException": + response = { + ...(await deserializeAws_restJson1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ValidationException": + case "com.amazonaws.auditmanager#ValidationException": + response = { + ...(await deserializeAws_restJson1ValidationExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1UpdateAssessmentStatusCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6448,6 +6917,52 @@ const deserializeAws_restJson1AssessmentFrameworkMetadata = ( } as any; }; +const deserializeAws_restJson1AssessmentFrameworkShareRequest = ( + output: any, + context: __SerdeContext +): AssessmentFrameworkShareRequest => { + return { + comment: __expectString(output.comment), + complianceType: __expectString(output.complianceType), + creationTime: + output.creationTime !== undefined && output.creationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.creationTime))) + : undefined, + customControlsCount: __expectInt32(output.customControlsCount), + destinationAccount: __expectString(output.destinationAccount), + destinationRegion: __expectString(output.destinationRegion), + expirationTime: + output.expirationTime !== undefined && output.expirationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.expirationTime))) + : undefined, + frameworkDescription: __expectString(output.frameworkDescription), + frameworkId: __expectString(output.frameworkId), + frameworkName: __expectString(output.frameworkName), + id: __expectString(output.id), + lastUpdated: + output.lastUpdated !== undefined && output.lastUpdated !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.lastUpdated))) + : undefined, + sourceAccount: __expectString(output.sourceAccount), + standardControlsCount: __expectInt32(output.standardControlsCount), + status: __expectString(output.status), + } as any; +}; + +const deserializeAws_restJson1AssessmentFrameworkShareRequestList = ( + output: any, + context: __SerdeContext +): AssessmentFrameworkShareRequest[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1AssessmentFrameworkShareRequest(entry, context); + }); +}; + const deserializeAws_restJson1AssessmentMetadata = (output: any, context: __SerdeContext): AssessmentMetadata => { return { assessmentReportsDestination: diff --git a/clients/client-auto-scaling/src/models/models_0.ts b/clients/client-auto-scaling/src/models/models_0.ts index a671c2cd083b..c9982dace201 100644 --- a/clients/client-auto-scaling/src/models/models_0.ts +++ b/clients/client-auto-scaling/src/models/models_0.ts @@ -1,5 +1,78 @@ import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; +/** + *

Specifies the minimum and maximum for the AcceleratorCount object when + * you specify InstanceRequirements for an Auto Scaling group.

+ */ +export interface AcceleratorCountRequest { + /** + *

The minimum value.

+ */ + Min?: number; + + /** + *

The maximum value.

+ */ + Max?: number; +} + +export namespace AcceleratorCountRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AcceleratorCountRequest): any => ({ + ...obj, + }); +} + +export enum AcceleratorManufacturer { + AMAZON_WEB_SERVICES = "amazon-web-services", + AMD = "amd", + NVIDIA = "nvidia", + XILINX = "xilinx", +} + +export enum AcceleratorName { + A100 = "a100", + K80 = "k80", + M60 = "m60", + RADEON_PRO_V520 = "radeon-pro-v520", + T4 = "t4", + V100 = "v100", + VU9P = "vu9p", +} + +/** + *

Specifies the minimum and maximum for the AcceleratorTotalMemoryMiB + * object when you specify InstanceRequirements for an Auto Scaling group.

+ */ +export interface AcceleratorTotalMemoryMiBRequest { + /** + *

The memory minimum in MiB.

+ */ + Min?: number; + + /** + *

The memory maximum in MiB.

+ */ + Max?: number; +} + +export namespace AcceleratorTotalMemoryMiBRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AcceleratorTotalMemoryMiBRequest): any => ({ + ...obj, + }); +} + +export enum AcceleratorType { + FPGA = "fpga", + GPU = "gpu", + INFERENCE = "inference", +} + /** *

The request failed because an active instance refresh for the specified Auto Scaling group was * not found.

@@ -771,44 +844,41 @@ export namespace LifecycleHookSpecification { } /** - *

Describes an instances distribution for an Auto Scaling group with a MixedInstancesPolicy.

- *

The instances distribution specifies the distribution of On-Demand Instances and Spot - * Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates - * instance types to fulfill On-Demand and Spot capacities.

- *

When you modify SpotAllocationStrategy, SpotInstancePools, - * or SpotMaxPrice in the UpdateAutoScalingGroup API call, - * this update action does not deploy any changes across the running Amazon EC2 instances - * in the group. Your existing Spot Instances continue to run as long as the maximum price - * for those instances is higher than the current Spot price. When scale out occurs, - * Amazon EC2 Auto Scaling launches instances based on the new settings. When scale in occurs, Amazon EC2 Auto Scaling - * terminates instances according to the group's termination policies.

+ *

Describes an instances distribution for an Auto Scaling group.

*/ export interface InstancesDistribution { /** - *

Indicates how to allocate instance types to fulfill On-Demand capacity. The only valid - * value is prioritized, which is also the default value. This strategy uses - * the order of instance types in the LaunchTemplateOverrides to define the - * launch priority of each instance type. The first instance type in the array is - * prioritized higher than the last. If all your On-Demand capacity cannot be fulfilled - * using your highest priority instance, then the Auto Scaling groups launches the remaining - * capacity using the second priority instance type, and so on.

+ *

The order of the launch template overrides to use in fulfilling On-Demand capacity.

+ *

If you specify lowest-price, Amazon EC2 Auto Scaling uses price to determine the order, + * launching the lowest price first.

+ *

If you specify prioritized, Amazon EC2 Auto Scaling uses the priority that you assigned + * to each launch template override, launching the highest priority first. If all your + * On-Demand capacity cannot be fulfilled using your highest priority instance, then + * Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so + * on.

+ *

Default: lowest-price for Auto Scaling groups that specify InstanceRequirements in the overrides and prioritized for + * Auto Scaling groups that don't.

*/ OnDemandAllocationStrategy?: string; /** *

The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand - * Instances. This base portion is provisioned first as your group scales. Defaults to 0 if - * not specified. If you specify weights for the instance types in the overrides, set the - * value of OnDemandBaseCapacity in terms of the number of capacity units, and - * not the number of instances.

+ * Instances. This base portion is launched first as your group scales.

+ *

If you specify weights for the instance types in the overrides, the base capacity is + * measured in the same unit of measurement as the instance types. If you specify InstanceRequirements in the overrides, the base capacity is measured in + * the same unit of measurement as your group's desired capacity.

+ *

Default: 0 + *

*/ OnDemandBaseCapacity?: number; /** *

Controls the percentages of On-Demand Instances and Spot Instances for your additional * capacity beyond OnDemandBaseCapacity. Expressed as a number (for example, - * 20 specifies 20% On-Demand Instances, 80% Spot Instances). Defaults to 100 if not - * specified. If set to 100, only On-Demand Instances are provisioned.

+ * 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to 100, only On-Demand + * Instances are used.

+ *

Default: 100 + *

*/ OnDemandPercentageAboveBaseCapacity?: number; @@ -816,8 +886,7 @@ export interface InstancesDistribution { *

Indicates how to allocate instances across Spot Instance pools.

*

If the allocation strategy is lowest-price, the Auto Scaling group launches * instances using the Spot pools with the lowest price, and evenly allocates your - * instances across the number of Spot pools that you specify. Defaults to - * lowest-price if not specified.

+ * instances across the number of Spot pools that you specify.

*

If the allocation strategy is capacity-optimized (recommended), the Auto Scaling * group launches instances using Spot pools that are optimally chosen based on the * available Spot capacity. Alternatively, you can use @@ -825,6 +894,8 @@ export interface InstancesDistribution { * the list of launch template overrides from highest to lowest priority (from first to * last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best-effort basis * but optimizes for capacity first.

+ *

Default: lowest-price + *

*/ SpotAllocationStrategy?: string; @@ -832,15 +903,17 @@ export interface InstancesDistribution { *

The number of Spot Instance pools across which to allocate your Spot Instances. The * Spot pools are determined from the different instance types in the overrides. Valid only * when the Spot allocation strategy is lowest-price. Value must be in the - * range of 1 to 20. Defaults to 2 if not specified.

+ * range of 1–20.

+ *

Default: 2 + *

*/ SpotInstancePools?: number; /** *

The maximum price per unit hour that you are willing to pay for a Spot Instance. If - * you leave the value at its default (empty), Amazon EC2 Auto Scaling uses the On-Demand price as the - * maximum Spot price. To remove a value that you previously set, include the property but - * specify an empty string ("") for the value.

+ * you keep the value at its default (unspecified), Amazon EC2 Auto Scaling uses the On-Demand price as + * the maximum Spot price. To remove a value that you previously set, include the property + * but specify an empty string ("") for the value.

*/ SpotMaxPrice?: string; } @@ -854,12 +927,465 @@ export namespace InstancesDistribution { }); } +export enum BareMetal { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} + +/** + *

Specifies the minimum and maximum for the BaselineEbsBandwidthMbps object + * when you specify InstanceRequirements for an Auto Scaling group.

+ */ +export interface BaselineEbsBandwidthMbpsRequest { + /** + *

The minimum value in Mbps.

+ */ + Min?: number; + + /** + *

The maximum value in Mbps.

+ */ + Max?: number; +} + +export namespace BaselineEbsBandwidthMbpsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BaselineEbsBandwidthMbpsRequest): any => ({ + ...obj, + }); +} + +export enum BurstablePerformance { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} + +export enum CpuManufacturer { + AMAZON_WEB_SERVICES = "amazon-web-services", + AMD = "amd", + INTEL = "intel", +} + +export enum InstanceGeneration { + CURRENT = "current", + PREVIOUS = "previous", +} + +export enum LocalStorage { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} + +export enum LocalStorageType { + HDD = "hdd", + SSD = "ssd", +} + +/** + *

Specifies the minimum and maximum for the MemoryGiBPerVCpu object when + * you specify InstanceRequirements for an Auto Scaling group.

+ */ +export interface MemoryGiBPerVCpuRequest { + /** + *

The memory minimum in GiB.

+ */ + Min?: number; + + /** + *

The memory maximum in GiB.

+ */ + Max?: number; +} + +export namespace MemoryGiBPerVCpuRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MemoryGiBPerVCpuRequest): any => ({ + ...obj, + }); +} + +/** + *

Specifies the minimum and maximum for the MemoryMiB object when you + * specify InstanceRequirements for an Auto Scaling group.

+ */ +export interface MemoryMiBRequest { + /** + *

The memory minimum in MiB.

+ */ + Min: number | undefined; + + /** + *

The memory maximum in MiB.

+ */ + Max?: number; +} + +export namespace MemoryMiBRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MemoryMiBRequest): any => ({ + ...obj, + }); +} + +/** + *

Specifies the minimum and maximum for the NetworkInterfaceCount object + * when you specify InstanceRequirements for an Auto Scaling group.

+ */ +export interface NetworkInterfaceCountRequest { + /** + *

The minimum number of network interfaces.

+ */ + Min?: number; + + /** + *

The maximum number of network interfaces.

+ */ + Max?: number; +} + +export namespace NetworkInterfaceCountRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NetworkInterfaceCountRequest): any => ({ + ...obj, + }); +} + +/** + *

Specifies the minimum and maximum for the TotalLocalStorageGB object when + * you specify InstanceRequirements for an Auto Scaling group.

+ */ +export interface TotalLocalStorageGBRequest { + /** + *

The storage minimum in GB.

+ */ + Min?: number; + + /** + *

The storage maximum in GB.

+ */ + Max?: number; +} + +export namespace TotalLocalStorageGBRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TotalLocalStorageGBRequest): any => ({ + ...obj, + }); +} + +/** + *

Specifies the minimum and maximum for the VCpuCount object when you + * specify InstanceRequirements for an Auto Scaling group.

+ */ +export interface VCpuCountRequest { + /** + *

The minimum number of vCPUs.

+ */ + Min: number | undefined; + + /** + *

The maximum number of vCPUs.

+ */ + Max?: number; +} + +export namespace VCpuCountRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VCpuCountRequest): any => ({ + ...obj, + }); +} + +/** + *

When you specify multiple parameters, you get instance types that satisfy all of the + * specified parameters. If you specify multiple values for a parameter, you get instance + * types that satisfy any of the specified values.

+ * + * + *

Represents requirements for the types of instances that can be launched. You + * must specify VCpuCount and MemoryMiB, but all other parameters + * are optional. For more information, see Creating + * an Auto Scaling group using attribute-based instance type selection in the + * Amazon EC2 Auto Scaling User Guide.

+ */ +export interface InstanceRequirements { + /** + *

The minimum and maximum number of vCPUs for an instance type.

+ */ + VCpuCount: VCpuCountRequest | undefined; + + /** + *

The minimum and maximum instance memory size for an instance type, in MiB.

+ */ + MemoryMiB: MemoryMiBRequest | undefined; + + /** + *

Lists which specific CPU manufacturers to include.

+ *
    + *
  • + *

    For instance types with Intel CPUs, specify intel.

    + *
  • + *
  • + *

    For instance types with AMD CPUs, specify amd.

    + *
  • + *
  • + *

    For instance types with Amazon Web Services CPUs, specify + * amazon-web-services.

    + *
  • + *
+ * + *

Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. + * Instances will be launched with a compatible CPU architecture based on the Amazon + * Machine Image (AMI) that you specify in your launch template.

+ *
+ *

Default: Any manufacturer

+ */ + CpuManufacturers?: (CpuManufacturer | string)[]; + + /** + *

The minimum and maximum amount of memory per vCPU for an instance type, in GiB.

+ *

Default: No minimum or maximum

+ */ + MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest; + + /** + *

Lists which instance types to exclude. You can use strings with one or more wild + * cards, represented by an asterisk (*). The following are examples: + * c5*, m5a.*, r*, *3*.

+ *

For example, if you specify c5*, you are excluding the entire C5 instance + * family, which includes all C5a and C5n instance types. If you specify + * m5a.*, you are excluding all the M5a instance types, but not the M5n + * instance types.

+ *

Default: No excluded instance types

+ */ + ExcludedInstanceTypes?: string[]; + + /** + *

Indicates whether current or previous generation instance types are included.

+ *
    + *
  • + *

    For current generation instance types, specify current. The + * current generation includes EC2 instance types currently recommended for use. + * This typically includes the latest two to three generations in each instance + * family. For more information, see Instance types in + * the Amazon EC2 User Guide for Linux Instances.

    + *
  • + *
  • + *

    For previous generation instance types, specify previous.

    + *
  • + *
+ *

Default: Any current or previous generation

+ */ + InstanceGenerations?: (InstanceGeneration | string)[]; + + /** + *

The price protection threshold for Spot Instances. This is the maximum you’ll pay for + * a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance + * type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your + * attributes, we will exclude instance types whose price is higher than your threshold. + * The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off + * price protection, specify a high value, such as 999999.

+ *

Default: 100 + *

+ */ + SpotMaxPricePercentageOverLowestPrice?: number; + + /** + *

The price protection threshold for On-Demand Instances. This is the maximum you’ll pay + * for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R + * instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with + * your attributes, we will exclude instance types whose price is higher than your + * threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. + * To turn off price protection, specify a high value, such as 999999.

+ *

Default: 20 + *

+ */ + OnDemandMaxPricePercentageOverLowestPrice?: number; + + /** + *

Indicates whether bare metal instance types are included, excluded, or + * required.

+ *

Default: excluded + *

+ */ + BareMetal?: BareMetal | string; + + /** + *

Indicates whether burstable performance instance types are included, excluded, or + * required. For more information, see Burstable + * performance instances in the Amazon EC2 User Guide for Linux + * Instances.

+ *

Default: excluded + *

+ */ + BurstablePerformance?: BurstablePerformance | string; + + /** + *

Indicates whether instance types must provide On-Demand Instance hibernation + * support.

+ *

Default: false + *

+ */ + RequireHibernateSupport?: boolean; + + /** + *

The minimum and maximum number of network interfaces for an instance type.

+ *

Default: No minimum or maximum

+ */ + NetworkInterfaceCount?: NetworkInterfaceCountRequest; + + /** + *

Indicates whether instance types with instance store volumes are included, excluded, + * or required. For more information, see Amazon EC2 instance store in + * the Amazon EC2 User Guide for Linux Instances.

+ *

Default: included + *

+ */ + LocalStorage?: LocalStorage | string; + + /** + *

Indicates the type of local storage that is required.

+ *
    + *
  • + *

    For instance types with hard disk drive (HDD) storage, specify + * hdd.

    + *
  • + *
  • + *

    For instance types with solid state drive (SSD) storage, specify + * sdd.

    + *
  • + *
+ *

Default: Any local storage type

+ */ + LocalStorageTypes?: (LocalStorageType | string)[]; + + /** + *

The minimum and maximum total local storage size for an instance type, in GB.

+ *

Default: No minimum or maximum

+ */ + TotalLocalStorageGB?: TotalLocalStorageGBRequest; + + /** + *

The minimum and maximum baseline bandwidth performance for an instance type, in Mbps. + * For more information, see Amazon EBS–optimized instances + * in the Amazon EC2 User Guide for Linux Instances.

+ *

Default: No minimum or maximum

+ */ + BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest; + + /** + *

Lists the accelerator types that must be on an instance type.

+ *
    + *
  • + *

    For instance types with GPU accelerators, specify gpu.

    + *
  • + *
  • + *

    For instance types with FPGA accelerators, specify fpga.

    + *
  • + *
  • + *

    For instance types with inference accelerators, specify + * inference.

    + *
  • + *
+ *

Default: Any accelerator type

+ */ + AcceleratorTypes?: (AcceleratorType | string)[]; + + /** + *

The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia + * chips) for an instance type.

+ *

To exclude accelerator-enabled instance types, set Max to + * 0.

+ *

Default: No minimum or maximum

+ */ + AcceleratorCount?: AcceleratorCountRequest; + + /** + *

Indicates whether instance types must have accelerators by specific + * manufacturers.

+ *
    + *
  • + *

    For instance types with NVIDIA devices, specify nvidia.

    + *
  • + *
  • + *

    For instance types with AMD devices, specify amd.

    + *
  • + *
  • + *

    For instance types with Amazon Web Services devices, specify + * amazon-web-services.

    + *
  • + *
  • + *

    For instance types with Xilinx devices, specify xilinx.

    + *
  • + *
+ *

Default: Any manufacturer

+ */ + AcceleratorManufacturers?: (AcceleratorManufacturer | string)[]; + + /** + *

Lists the accelerators that must be on an instance type.

+ *
    + *
  • + *

    For instance types with NVIDIA A100 GPUs, specify a100.

    + *
  • + *
  • + *

    For instance types with NVIDIA V100 GPUs, specify v100.

    + *
  • + *
  • + *

    For instance types with NVIDIA K80 GPUs, specify k80.

    + *
  • + *
  • + *

    For instance types with NVIDIA T4 GPUs, specify t4.

    + *
  • + *
  • + *

    For instance types with NVIDIA M60 GPUs, specify m60.

    + *
  • + *
  • + *

    For instance types with AMD Radeon Pro V520 GPUs, specify + * radeon-pro-v520.

    + *
  • + *
  • + *

    For instance types with Xilinx VU9P FPGAs, specify vu9p.

    + *
  • + *
+ *

Default: Any accelerator

+ */ + AcceleratorNames?: (AcceleratorName | string)[]; + + /** + *

The minimum and maximum total memory size for the accelerators on an instance type, in + * MiB.

+ *

Default: No minimum or maximum

+ */ + AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest; +} + +export namespace InstanceRequirements { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceRequirements): any => ({ + ...obj, + }); +} + /** - *

Describes an override for a launch template. The maximum number of instance types that - * can be associated with an Auto Scaling group is 40. The maximum number of distinct launch - * templates you can define for an Auto Scaling group is 20. For more information about configuring - * overrides, see Configuring - * overrides in the Amazon EC2 Auto Scaling User Guide.

+ *

Describes an override for a launch template. For more information, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

*/ export interface LaunchTemplateOverrides { /** @@ -871,27 +1397,37 @@ export interface LaunchTemplateOverrides { InstanceType?: string; /** - *

The number of capacity units provided by the specified instance type in terms of - * virtual CPUs, memory, storage, throughput, or other relative performance characteristic. - * When a Spot or On-Demand Instance is provisioned, the capacity units count toward the - * desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally - * fulfilled, even if this results in an overage. For example, if there are 2 units - * remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a - * WeightedCapacity of 5 units, the instance is provisioned, and the - * desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. - * Value must be in the range of 1 to 999.

+ *

The number of capacity units provided by the instance type specified in + * InstanceType in terms of virtual CPUs, memory, storage, throughput, or + * other relative performance characteristic. When a Spot or On-Demand Instance is + * launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches + * instances until the desired capacity is totally fulfilled, even if this results in an + * overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling + * can only launch an instance with a WeightedCapacity of five units, the + * instance is launched, and the desired capacity is exceeded by three units. For more + * information, see Instance weighting for + * Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the + * range of 1–999.

*/ WeightedCapacity?: string; /** - *

Provides the launch template to be used when launching the instance type. For example, - * some instance types might require a launch template with a different AMI. If not - * provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances - * policy. For more information, see Specifying a + *

Provides the launch template to be used when launching the instance type specified in + * InstanceType. For example, some instance types might require a launch + * template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's + * defined for your mixed instances policy. For more information, see Specifying a * different launch template for an instance type in the * Amazon EC2 Auto Scaling User Guide.

*/ LaunchTemplateSpecification?: LaunchTemplateSpecification; + + /** + *

The instance requirements. When you specify instance requirements, Amazon EC2 Auto Scaling finds + * instance types that satisfy your requirements, and then uses your On-Demand and Spot + * allocation strategies to launch instances from these instance types, in the same way as + * when you specify a list of specific instance types.

+ */ + InstanceRequirements?: InstanceRequirements; } export namespace LaunchTemplateOverrides { @@ -904,12 +1440,8 @@ export namespace LaunchTemplateOverrides { } /** - *

Describes a launch template and overrides.

- *

You specify these properties as part of a mixed instances policy.

- *

When you update the launch template or overrides in the UpdateAutoScalingGroup API call, existing Amazon EC2 instances continue to - * run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When - * scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination - * policies.

+ *

Describes a launch template and overrides. You specify these properties as part of a + * mixed instances policy.

*/ export interface LaunchTemplate { /** @@ -919,8 +1451,10 @@ export interface LaunchTemplate { /** *

Any properties that you specify override the same properties in the launch template. - * If not provided, Amazon EC2 Auto Scaling uses the instance type specified in the launch template when - * it launches an instance.

+ * If not provided, Amazon EC2 Auto Scaling uses the instance type or instance type requirements specified + * in the launch template when it launches an instance.

+ *

The overrides can include either one or more instance types or a set of instance + * requirements, but not both.

*/ Overrides?: LaunchTemplateOverrides[]; } @@ -936,22 +1470,21 @@ export namespace LaunchTemplate { /** *

Describes a mixed instances policy. A mixed instances policy contains the instance - * types Amazon EC2 Auto Scaling can launch, and other information Amazon EC2 Auto Scaling can use to launch instances to - * help you optimize your costs. For more information, see Auto Scaling groups with multiple - * instance types and purchase options in the Amazon EC2 Auto Scaling User - * Guide.

+ * types that Amazon EC2 Auto Scaling can launch and other information that Amazon EC2 Auto Scaling can use to launch + * instances and help optimize your costs. For more information, see Auto Scaling + * groups with multiple instance types and purchase options in the + * Amazon EC2 Auto Scaling User Guide.

*/ export interface MixedInstancesPolicy { /** *

Specifies the launch template to use and the instance types (overrides) that are used - * to provision EC2 instances to fulfill On-Demand and Spot capacities. Required when - * creating a mixed instances policy.

+ * to launch EC2 instances to fulfill On-Demand and Spot capacities. Required when creating + * a mixed instances policy.

*/ LaunchTemplate?: LaunchTemplate; /** - *

Specifies the instances distribution. If not provided, the value for each property in - * InstancesDistribution uses a default value.

+ *

Specifies the instances distribution.

*/ InstancesDistribution?: InstancesDistribution; } @@ -1035,16 +1568,11 @@ export interface CreateAutoScalingGroupType { LaunchTemplate?: LaunchTemplateSpecification; /** - *

An embedded object that specifies a mixed instances policy. The required properties - * must be specified. If optional properties are unspecified, their default values are - * used.

- *

The policy includes properties that not only define the distribution of On-Demand - * Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the - * Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also - * the properties that specify the instance configuration information—the launch template - * and instance types. The policy can also include a weight for each instance type and - * different launch templates for individual instance types. For more information, see - * Auto Scaling groups with multiple + *

An embedded object that specifies a mixed instances policy.

+ * + * + * + *

For more information, see Auto Scaling groups with multiple * instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide.

*/ @@ -1220,6 +1748,20 @@ export interface CreateAutoScalingGroupType { *

Reserved.

*/ Context?: string; + + /** + *

The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling + * supports DesiredCapacityType for attribute-based instance type selection + * only. For more information, see Creating + * an Auto Scaling group using attribute-based instance type selection in the + * Amazon EC2 Auto Scaling User Guide.

+ *

By default, Amazon EC2 Auto Scaling specifies units, which translates into number of + * instances.

+ * + *

Valid values: units | vcpu | memory-mib + *

+ */ + DesiredCapacityType?: string; } export namespace CreateAutoScalingGroupType { @@ -1962,16 +2504,17 @@ export namespace DescribeAdjustmentTypesAnswer { /** *

Describes a filter that is used to return a more specific list of results from a * describe operation.

- *

If you specify multiple filters, the filters are joined with an AND, and - * the request returns only results that match all of the specified filters.

+ *

If you specify multiple filters, the filters are automatically logically joined with + * an AND, and the request returns only the results that match all of the + * specified filters.

*

For more information, see Tagging Auto Scaling groups and * instances in the Amazon EC2 Auto Scaling User Guide.

*/ export interface Filter { /** *

The name of the filter.

- *

The valid values for Name depend on the API operation that you are - * including the filter in, DescribeAutoScalingGroups or DescribeTags.

+ *

The valid values for Name depend on which API operation you're using with + * the filter (DescribeAutoScalingGroups or DescribeTags).

*

* DescribeAutoScalingGroups *

@@ -1979,19 +2522,19 @@ export interface Filter { *
    *
  • *

    - * tag-key - Accepts tag keys. The results will only include - * information about the Auto Scaling groups associated with these tag keys.

    + * tag-key - Accepts tag keys. The results only include information + * about the Auto Scaling groups associated with these tag keys.

    *
  • *
  • *

    - * tag-value - Accepts tag values. The results will only include + * tag-value - Accepts tag values. The results only include * information about the Auto Scaling groups associated with these tag values.

    *
  • *
  • *

    * tag: - Accepts the key/value combination of the tag. * Use the tag key in the filter name and the tag value as the filter value. The - * results will only include information about the Auto Scaling groups associated with the + * results only include information about the Auto Scaling groups associated with the * specified key/value combination.

    *
  • *
@@ -2003,24 +2546,24 @@ export interface Filter { *
  • *

    * auto-scaling-group - Accepts the names of Auto Scaling groups. The - * results will only include information about the tags associated with these Auto Scaling + * results only include information about the tags associated with these Auto Scaling * groups.

    *
  • *
  • *

    - * key - Accepts tag keys. The results will only include information + * key - Accepts tag keys. The results only include information * about the tags associated with these tag keys.

    *
  • *
  • *

    - * value - Accepts tag values. The results will only include - * information about the tags associated with these tag values.

    + * value - Accepts tag values. The results only include information + * about the tags associated with these tag values.

    *
  • *
  • *

    - * propagate-at-launch - Accepts a boolean value, which specifies - * whether tags propagate to instances at launch. The results will only include - * information about the tags associated with the specified boolean value.

    + * propagate-at-launch - Accepts a Boolean value, which specifies + * whether tags propagate to instances at launch. The results only include + * information about the tags associated with the specified Boolean value.

    *
  • * */ @@ -2028,9 +2571,9 @@ export interface Filter { /** *

    One or more filter values. Filter values are case-sensitive.

    - *

    If you specify multiple values for a filter, the values are joined with an - * OR, and the request returns all results that match any of the specified - * values. For example, specify "tag:environment" for the filter name and + *

    If you specify multiple values for a filter, the values are automatically logically + * joined with an OR, and the request returns all results that match any of + * the specified values. For example, specify "tag:environment" for the filter name and * "production,development" for the filter values to find Auto Scaling groups with the tag * "environment=production" or "environment=development".

    */ @@ -2575,6 +3118,19 @@ export interface AutoScalingGroup { *

    Reserved.

    */ Context?: string; + + /** + *

    The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling + * supports DesiredCapacityType for attribute-based instance type selection + * only. For more information, see Creating + * an Auto Scaling group using attribute-based instance type selection in the + * Amazon EC2 Auto Scaling User Guide.

    + *

    By default, Amazon EC2 Auto Scaling specifies units, which translates into number of + * instances.

    + *

    Valid values: units | vcpu | memory-mib + *

    + */ + DesiredCapacityType?: string; } export namespace AutoScalingGroup { @@ -2799,10 +3355,10 @@ export interface DesiredConfiguration { /** *

    Describes a mixed instances policy. A mixed instances policy contains the instance - * types Amazon EC2 Auto Scaling can launch, and other information Amazon EC2 Auto Scaling can use to launch instances to - * help you optimize your costs. For more information, see Auto Scaling groups with multiple - * instance types and purchase options in the Amazon EC2 Auto Scaling User - * Guide.

    + * types that Amazon EC2 Auto Scaling can launch and other information that Amazon EC2 Auto Scaling can use to launch + * instances and help optimize your costs. For more information, see Auto Scaling + * groups with multiple instance types and purchase options in the + * Amazon EC2 Auto Scaling User Guide.

    */ MixedInstancesPolicy?: MixedInstancesPolicy; } @@ -6586,9 +7142,8 @@ export interface UpdateAutoScalingGroupType { LaunchTemplate?: LaunchTemplateSpecification; /** - *

    An embedded object that specifies a mixed instances policy. When you make changes to - * an existing policy, all optional properties are left unchanged if not specified. For - * more information, see Auto Scaling groups with multiple + *

    An embedded object that specifies a mixed instances policy. For more information, see + * Auto Scaling groups with multiple * instance types and purchase options in the Amazon EC2 Auto Scaling User * Guide.

    */ @@ -6708,6 +7263,19 @@ export interface UpdateAutoScalingGroupType { *

    Reserved.

    */ Context?: string; + + /** + *

    The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling + * supports DesiredCapacityType for attribute-based instance type selection + * only. For more information, see Creating + * an Auto Scaling group using attribute-based instance type selection in the + * Amazon EC2 Auto Scaling User Guide.

    + *

    By default, Amazon EC2 Auto Scaling specifies units, which translates into number of + * instances.

    + *

    Valid values: units | vcpu | memory-mib + *

    + */ + DesiredCapacityType?: string; } export namespace UpdateAutoScalingGroupType { diff --git a/clients/client-auto-scaling/src/protocols/Aws_query.ts b/clients/client-auto-scaling/src/protocols/Aws_query.ts index 640a1e112a2a..24a46dec5be1 100644 --- a/clients/client-auto-scaling/src/protocols/Aws_query.ts +++ b/clients/client-auto-scaling/src/protocols/Aws_query.ts @@ -210,6 +210,11 @@ import { UpdateAutoScalingGroupCommandOutput, } from "../commands/UpdateAutoScalingGroupCommand"; import { + AcceleratorCountRequest, + AcceleratorManufacturer, + AcceleratorName, + AcceleratorTotalMemoryMiBRequest, + AcceleratorType, ActiveInstanceRefreshNotFoundFault, ActivitiesType, Activity, @@ -227,6 +232,7 @@ import { AutoScalingGroupsType, AutoScalingInstanceDetails, AutoScalingInstancesType, + BaselineEbsBandwidthMbpsRequest, BatchDeleteScheduledActionAnswer, BatchDeleteScheduledActionType, BatchPutScheduledUpdateGroupActionAnswer, @@ -237,6 +243,7 @@ import { CapacityForecast, CompleteLifecycleActionAnswer, CompleteLifecycleActionType, + CpuManufacturer, CreateAutoScalingGroupType, CreateLaunchConfigurationType, CreateOrUpdateTagsType, @@ -294,6 +301,7 @@ import { GetPredictiveScalingForecastAnswer, GetPredictiveScalingForecastType, Instance, + InstanceGeneration, InstanceMetadataOptions, InstanceMonitoring, InstanceRefresh, @@ -301,6 +309,7 @@ import { InstanceRefreshLivePoolProgress, InstanceRefreshProgressDetails, InstanceRefreshWarmPoolProgress, + InstanceRequirements, InstancesDistribution, InvalidNextToken, LaunchConfiguration, @@ -316,10 +325,14 @@ import { LoadBalancerState, LoadBalancerTargetGroupState, LoadForecast, + LocalStorageType, + MemoryGiBPerVCpuRequest, + MemoryMiBRequest, MetricCollectionType, MetricDimension, MetricGranularityType, MixedInstancesPolicy, + NetworkInterfaceCountRequest, NotificationConfiguration, PoliciesType, PolicyARNType, @@ -363,7 +376,9 @@ import { TagsType, TargetTrackingConfiguration, TerminateInstanceInAutoScalingGroupType, + TotalLocalStorageGBRequest, UpdateAutoScalingGroupType, + VCpuCountRequest, WarmPoolConfiguration, } from "../models/models_0"; @@ -5162,6 +5177,73 @@ const deserializeAws_queryServiceLinkedRoleFailureResponse = async ( return contents; }; +const serializeAws_queryAcceleratorCountRequest = (input: AcceleratorCountRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_queryAcceleratorManufacturers = ( + input: (AcceleratorManufacturer | string)[], + context: __SerdeContext +): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_queryAcceleratorNames = (input: (AcceleratorName | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_queryAcceleratorTotalMemoryMiBRequest = ( + input: AcceleratorTotalMemoryMiBRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_queryAcceleratorTypes = (input: (AcceleratorType | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_queryActivityIds = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -5290,6 +5372,20 @@ const serializeAws_queryAvailabilityZones = (input: string[], context: __SerdeCo return entries; }; +const serializeAws_queryBaselineEbsBandwidthMbpsRequest = ( + input: BaselineEbsBandwidthMbpsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + const serializeAws_queryBatchDeleteScheduledActionType = ( input: BatchDeleteScheduledActionType, context: __SerdeContext @@ -5426,6 +5522,19 @@ const serializeAws_queryCompleteLifecycleActionType = ( return entries; }; +const serializeAws_queryCpuManufacturers = (input: (CpuManufacturer | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_queryCreateAutoScalingGroupType = ( input: CreateAutoScalingGroupType, context: __SerdeContext @@ -5535,6 +5644,9 @@ const serializeAws_queryCreateAutoScalingGroupType = ( if (input.Context !== undefined && input.Context !== null) { entries["Context"] = input.Context; } + if (input.DesiredCapacityType !== undefined && input.DesiredCapacityType !== null) { + entries["DesiredCapacityType"] = input.DesiredCapacityType; + } return entries; }; @@ -6137,6 +6249,19 @@ const serializeAws_queryEnterStandbyQuery = (input: EnterStandbyQuery, context: return entries; }; +const serializeAws_queryExcludedInstanceTypes = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_queryExecutePolicyType = (input: ExecutePolicyType, context: __SerdeContext): any => { const entries: any = {}; if (input.AutoScalingGroupName !== undefined && input.AutoScalingGroupName !== null) { @@ -6223,6 +6348,22 @@ const serializeAws_queryGetPredictiveScalingForecastType = ( return entries; }; +const serializeAws_queryInstanceGenerations = ( + input: (InstanceGeneration | string)[], + context: __SerdeContext +): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_queryInstanceIds = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -6271,6 +6412,140 @@ const serializeAws_queryInstanceRefreshIds = (input: string[], context: __SerdeC return entries; }; +const serializeAws_queryInstanceRequirements = (input: InstanceRequirements, context: __SerdeContext): any => { + const entries: any = {}; + if (input.VCpuCount !== undefined && input.VCpuCount !== null) { + const memberEntries = serializeAws_queryVCpuCountRequest(input.VCpuCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VCpuCount.${key}`; + entries[loc] = value; + }); + } + if (input.MemoryMiB !== undefined && input.MemoryMiB !== null) { + const memberEntries = serializeAws_queryMemoryMiBRequest(input.MemoryMiB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MemoryMiB.${key}`; + entries[loc] = value; + }); + } + if (input.CpuManufacturers !== undefined && input.CpuManufacturers !== null) { + const memberEntries = serializeAws_queryCpuManufacturers(input.CpuManufacturers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CpuManufacturers.${key}`; + entries[loc] = value; + }); + } + if (input.MemoryGiBPerVCpu !== undefined && input.MemoryGiBPerVCpu !== null) { + const memberEntries = serializeAws_queryMemoryGiBPerVCpuRequest(input.MemoryGiBPerVCpu, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MemoryGiBPerVCpu.${key}`; + entries[loc] = value; + }); + } + if (input.ExcludedInstanceTypes !== undefined && input.ExcludedInstanceTypes !== null) { + const memberEntries = serializeAws_queryExcludedInstanceTypes(input.ExcludedInstanceTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ExcludedInstanceTypes.${key}`; + entries[loc] = value; + }); + } + if (input.InstanceGenerations !== undefined && input.InstanceGenerations !== null) { + const memberEntries = serializeAws_queryInstanceGenerations(input.InstanceGenerations, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceGenerations.${key}`; + entries[loc] = value; + }); + } + if ( + input.SpotMaxPricePercentageOverLowestPrice !== undefined && + input.SpotMaxPricePercentageOverLowestPrice !== null + ) { + entries["SpotMaxPricePercentageOverLowestPrice"] = input.SpotMaxPricePercentageOverLowestPrice; + } + if ( + input.OnDemandMaxPricePercentageOverLowestPrice !== undefined && + input.OnDemandMaxPricePercentageOverLowestPrice !== null + ) { + entries["OnDemandMaxPricePercentageOverLowestPrice"] = input.OnDemandMaxPricePercentageOverLowestPrice; + } + if (input.BareMetal !== undefined && input.BareMetal !== null) { + entries["BareMetal"] = input.BareMetal; + } + if (input.BurstablePerformance !== undefined && input.BurstablePerformance !== null) { + entries["BurstablePerformance"] = input.BurstablePerformance; + } + if (input.RequireHibernateSupport !== undefined && input.RequireHibernateSupport !== null) { + entries["RequireHibernateSupport"] = input.RequireHibernateSupport; + } + if (input.NetworkInterfaceCount !== undefined && input.NetworkInterfaceCount !== null) { + const memberEntries = serializeAws_queryNetworkInterfaceCountRequest(input.NetworkInterfaceCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NetworkInterfaceCount.${key}`; + entries[loc] = value; + }); + } + if (input.LocalStorage !== undefined && input.LocalStorage !== null) { + entries["LocalStorage"] = input.LocalStorage; + } + if (input.LocalStorageTypes !== undefined && input.LocalStorageTypes !== null) { + const memberEntries = serializeAws_queryLocalStorageTypes(input.LocalStorageTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LocalStorageTypes.${key}`; + entries[loc] = value; + }); + } + if (input.TotalLocalStorageGB !== undefined && input.TotalLocalStorageGB !== null) { + const memberEntries = serializeAws_queryTotalLocalStorageGBRequest(input.TotalLocalStorageGB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TotalLocalStorageGB.${key}`; + entries[loc] = value; + }); + } + if (input.BaselineEbsBandwidthMbps !== undefined && input.BaselineEbsBandwidthMbps !== null) { + const memberEntries = serializeAws_queryBaselineEbsBandwidthMbpsRequest(input.BaselineEbsBandwidthMbps, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `BaselineEbsBandwidthMbps.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorTypes !== undefined && input.AcceleratorTypes !== null) { + const memberEntries = serializeAws_queryAcceleratorTypes(input.AcceleratorTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorTypes.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorCount !== undefined && input.AcceleratorCount !== null) { + const memberEntries = serializeAws_queryAcceleratorCountRequest(input.AcceleratorCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorCount.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorManufacturers !== undefined && input.AcceleratorManufacturers !== null) { + const memberEntries = serializeAws_queryAcceleratorManufacturers(input.AcceleratorManufacturers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorManufacturers.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorNames !== undefined && input.AcceleratorNames !== null) { + const memberEntries = serializeAws_queryAcceleratorNames(input.AcceleratorNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorNames.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorTotalMemoryMiB !== undefined && input.AcceleratorTotalMemoryMiB !== null) { + const memberEntries = serializeAws_queryAcceleratorTotalMemoryMiBRequest(input.AcceleratorTotalMemoryMiB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorTotalMemoryMiB.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + const serializeAws_queryInstancesDistribution = (input: InstancesDistribution, context: __SerdeContext): any => { const entries: any = {}; if (input.OnDemandAllocationStrategy !== undefined && input.OnDemandAllocationStrategy !== null) { @@ -6373,6 +6648,13 @@ const serializeAws_queryLaunchTemplateOverrides = (input: LaunchTemplateOverride entries[loc] = value; }); } + if (input.InstanceRequirements !== undefined && input.InstanceRequirements !== null) { + const memberEntries = serializeAws_queryInstanceRequirements(input.InstanceRequirements, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceRequirements.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -6467,6 +6749,41 @@ const serializeAws_queryLoadBalancerNames = (input: string[], context: __SerdeCo return entries; }; +const serializeAws_queryLocalStorageTypes = (input: (LocalStorageType | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`member.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_queryMemoryGiBPerVCpuRequest = (input: MemoryGiBPerVCpuRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = __serializeFloat(input.Min); + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = __serializeFloat(input.Max); + } + return entries; +}; + +const serializeAws_queryMemoryMiBRequest = (input: MemoryMiBRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + const serializeAws_queryMetricDimension = (input: MetricDimension, context: __SerdeContext): any => { const entries: any = {}; if (input.Name !== undefined && input.Name !== null) { @@ -6526,6 +6843,20 @@ const serializeAws_queryMixedInstancesPolicy = (input: MixedInstancesPolicy, con return entries; }; +const serializeAws_queryNetworkInterfaceCountRequest = ( + input: NetworkInterfaceCountRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + const serializeAws_queryOverrides = (input: LaunchTemplateOverrides[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -7235,6 +7566,20 @@ const serializeAws_queryTerminationPolicies = (input: string[], context: __Serde return entries; }; +const serializeAws_queryTotalLocalStorageGBRequest = ( + input: TotalLocalStorageGBRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = __serializeFloat(input.Min); + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = __serializeFloat(input.Max); + } + return entries; +}; + const serializeAws_queryUpdateAutoScalingGroupType = ( input: UpdateAutoScalingGroupType, context: __SerdeContext @@ -7313,6 +7658,9 @@ const serializeAws_queryUpdateAutoScalingGroupType = ( if (input.Context !== undefined && input.Context !== null) { entries["Context"] = input.Context; } + if (input.DesiredCapacityType !== undefined && input.DesiredCapacityType !== null) { + entries["DesiredCapacityType"] = input.DesiredCapacityType; + } return entries; }; @@ -7329,6 +7677,84 @@ const serializeAws_queryValues = (input: string[], context: __SerdeContext): any return entries; }; +const serializeAws_queryVCpuCountRequest = (input: VCpuCountRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const deserializeAws_queryAcceleratorCountRequest = (output: any, context: __SerdeContext): AcceleratorCountRequest => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["Min"] !== undefined) { + contents.Min = __strictParseInt32(output["Min"]) as number; + } + if (output["Max"] !== undefined) { + contents.Max = __strictParseInt32(output["Max"]) as number; + } + return contents; +}; + +const deserializeAws_queryAcceleratorManufacturers = ( + output: any, + context: __SerdeContext +): (AcceleratorManufacturer | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_queryAcceleratorNames = (output: any, context: __SerdeContext): (AcceleratorName | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_queryAcceleratorTotalMemoryMiBRequest = ( + output: any, + context: __SerdeContext +): AcceleratorTotalMemoryMiBRequest => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["Min"] !== undefined) { + contents.Min = __strictParseInt32(output["Min"]) as number; + } + if (output["Max"] !== undefined) { + contents.Max = __strictParseInt32(output["Max"]) as number; + } + return contents; +}; + +const deserializeAws_queryAcceleratorTypes = (output: any, context: __SerdeContext): (AcceleratorType | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_queryActiveInstanceRefreshNotFoundFault = ( output: any, context: __SerdeContext @@ -7542,6 +7968,7 @@ const deserializeAws_queryAutoScalingGroup = (output: any, context: __SerdeConte WarmPoolConfiguration: undefined, WarmPoolSize: undefined, Context: undefined, + DesiredCapacityType: undefined, }; if (output["AutoScalingGroupName"] !== undefined) { contents.AutoScalingGroupName = __expectString(output["AutoScalingGroupName"]); @@ -7681,6 +8108,9 @@ const deserializeAws_queryAutoScalingGroup = (output: any, context: __SerdeConte if (output["Context"] !== undefined) { contents.Context = __expectString(output["Context"]); } + if (output["DesiredCapacityType"] !== undefined) { + contents.DesiredCapacityType = __expectString(output["DesiredCapacityType"]); + } return contents; }; @@ -7823,6 +8253,23 @@ const deserializeAws_queryAvailabilityZones = (output: any, context: __SerdeCont }); }; +const deserializeAws_queryBaselineEbsBandwidthMbpsRequest = ( + output: any, + context: __SerdeContext +): BaselineEbsBandwidthMbpsRequest => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["Min"] !== undefined) { + contents.Min = __strictParseInt32(output["Min"]) as number; + } + if (output["Max"] !== undefined) { + contents.Max = __strictParseInt32(output["Max"]) as number; + } + return contents; +}; + const deserializeAws_queryBatchDeleteScheduledActionAnswer = ( output: any, context: __SerdeContext @@ -7966,6 +8413,17 @@ const deserializeAws_queryCompleteLifecycleActionAnswer = ( return contents; }; +const deserializeAws_queryCpuManufacturers = (output: any, context: __SerdeContext): (CpuManufacturer | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_queryCustomizedMetricSpecification = ( output: any, context: __SerdeContext @@ -8406,6 +8864,17 @@ const deserializeAws_queryEnterStandbyAnswer = (output: any, context: __SerdeCon return contents; }; +const deserializeAws_queryExcludedInstanceTypes = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_queryExitStandbyAnswer = (output: any, context: __SerdeContext): ExitStandbyAnswer => { const contents: any = { Activities: undefined, @@ -8526,6 +8995,20 @@ const deserializeAws_queryInstance = (output: any, context: __SerdeContext): Ins return contents; }; +const deserializeAws_queryInstanceGenerations = ( + output: any, + context: __SerdeContext +): (InstanceGeneration | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_queryInstanceMetadataOptions = (output: any, context: __SerdeContext): InstanceMetadataOptions => { const contents: any = { HttpTokens: undefined, @@ -8685,6 +9168,154 @@ const deserializeAws_queryInstanceRefreshWarmPoolProgress = ( return contents; }; +const deserializeAws_queryInstanceRequirements = (output: any, context: __SerdeContext): InstanceRequirements => { + const contents: any = { + VCpuCount: undefined, + MemoryMiB: undefined, + CpuManufacturers: undefined, + MemoryGiBPerVCpu: undefined, + ExcludedInstanceTypes: undefined, + InstanceGenerations: undefined, + SpotMaxPricePercentageOverLowestPrice: undefined, + OnDemandMaxPricePercentageOverLowestPrice: undefined, + BareMetal: undefined, + BurstablePerformance: undefined, + RequireHibernateSupport: undefined, + NetworkInterfaceCount: undefined, + LocalStorage: undefined, + LocalStorageTypes: undefined, + TotalLocalStorageGB: undefined, + BaselineEbsBandwidthMbps: undefined, + AcceleratorTypes: undefined, + AcceleratorCount: undefined, + AcceleratorManufacturers: undefined, + AcceleratorNames: undefined, + AcceleratorTotalMemoryMiB: undefined, + }; + if (output["VCpuCount"] !== undefined) { + contents.VCpuCount = deserializeAws_queryVCpuCountRequest(output["VCpuCount"], context); + } + if (output["MemoryMiB"] !== undefined) { + contents.MemoryMiB = deserializeAws_queryMemoryMiBRequest(output["MemoryMiB"], context); + } + if (output.CpuManufacturers === "") { + contents.CpuManufacturers = []; + } + if (output["CpuManufacturers"] !== undefined && output["CpuManufacturers"]["member"] !== undefined) { + contents.CpuManufacturers = deserializeAws_queryCpuManufacturers( + __getArrayIfSingleItem(output["CpuManufacturers"]["member"]), + context + ); + } + if (output["MemoryGiBPerVCpu"] !== undefined) { + contents.MemoryGiBPerVCpu = deserializeAws_queryMemoryGiBPerVCpuRequest(output["MemoryGiBPerVCpu"], context); + } + if (output.ExcludedInstanceTypes === "") { + contents.ExcludedInstanceTypes = []; + } + if (output["ExcludedInstanceTypes"] !== undefined && output["ExcludedInstanceTypes"]["member"] !== undefined) { + contents.ExcludedInstanceTypes = deserializeAws_queryExcludedInstanceTypes( + __getArrayIfSingleItem(output["ExcludedInstanceTypes"]["member"]), + context + ); + } + if (output.InstanceGenerations === "") { + contents.InstanceGenerations = []; + } + if (output["InstanceGenerations"] !== undefined && output["InstanceGenerations"]["member"] !== undefined) { + contents.InstanceGenerations = deserializeAws_queryInstanceGenerations( + __getArrayIfSingleItem(output["InstanceGenerations"]["member"]), + context + ); + } + if (output["SpotMaxPricePercentageOverLowestPrice"] !== undefined) { + contents.SpotMaxPricePercentageOverLowestPrice = __strictParseInt32( + output["SpotMaxPricePercentageOverLowestPrice"] + ) as number; + } + if (output["OnDemandMaxPricePercentageOverLowestPrice"] !== undefined) { + contents.OnDemandMaxPricePercentageOverLowestPrice = __strictParseInt32( + output["OnDemandMaxPricePercentageOverLowestPrice"] + ) as number; + } + if (output["BareMetal"] !== undefined) { + contents.BareMetal = __expectString(output["BareMetal"]); + } + if (output["BurstablePerformance"] !== undefined) { + contents.BurstablePerformance = __expectString(output["BurstablePerformance"]); + } + if (output["RequireHibernateSupport"] !== undefined) { + contents.RequireHibernateSupport = __parseBoolean(output["RequireHibernateSupport"]); + } + if (output["NetworkInterfaceCount"] !== undefined) { + contents.NetworkInterfaceCount = deserializeAws_queryNetworkInterfaceCountRequest( + output["NetworkInterfaceCount"], + context + ); + } + if (output["LocalStorage"] !== undefined) { + contents.LocalStorage = __expectString(output["LocalStorage"]); + } + if (output.LocalStorageTypes === "") { + contents.LocalStorageTypes = []; + } + if (output["LocalStorageTypes"] !== undefined && output["LocalStorageTypes"]["member"] !== undefined) { + contents.LocalStorageTypes = deserializeAws_queryLocalStorageTypes( + __getArrayIfSingleItem(output["LocalStorageTypes"]["member"]), + context + ); + } + if (output["TotalLocalStorageGB"] !== undefined) { + contents.TotalLocalStorageGB = deserializeAws_queryTotalLocalStorageGBRequest( + output["TotalLocalStorageGB"], + context + ); + } + if (output["BaselineEbsBandwidthMbps"] !== undefined) { + contents.BaselineEbsBandwidthMbps = deserializeAws_queryBaselineEbsBandwidthMbpsRequest( + output["BaselineEbsBandwidthMbps"], + context + ); + } + if (output.AcceleratorTypes === "") { + contents.AcceleratorTypes = []; + } + if (output["AcceleratorTypes"] !== undefined && output["AcceleratorTypes"]["member"] !== undefined) { + contents.AcceleratorTypes = deserializeAws_queryAcceleratorTypes( + __getArrayIfSingleItem(output["AcceleratorTypes"]["member"]), + context + ); + } + if (output["AcceleratorCount"] !== undefined) { + contents.AcceleratorCount = deserializeAws_queryAcceleratorCountRequest(output["AcceleratorCount"], context); + } + if (output.AcceleratorManufacturers === "") { + contents.AcceleratorManufacturers = []; + } + if (output["AcceleratorManufacturers"] !== undefined && output["AcceleratorManufacturers"]["member"] !== undefined) { + contents.AcceleratorManufacturers = deserializeAws_queryAcceleratorManufacturers( + __getArrayIfSingleItem(output["AcceleratorManufacturers"]["member"]), + context + ); + } + if (output.AcceleratorNames === "") { + contents.AcceleratorNames = []; + } + if (output["AcceleratorNames"] !== undefined && output["AcceleratorNames"]["member"] !== undefined) { + contents.AcceleratorNames = deserializeAws_queryAcceleratorNames( + __getArrayIfSingleItem(output["AcceleratorNames"]["member"]), + context + ); + } + if (output["AcceleratorTotalMemoryMiB"] !== undefined) { + contents.AcceleratorTotalMemoryMiB = deserializeAws_queryAcceleratorTotalMemoryMiBRequest( + output["AcceleratorTotalMemoryMiB"], + context + ); + } + return contents; +}; + const deserializeAws_queryInstances = (output: any, context: __SerdeContext): Instance[] => { return (output || []) .filter((e: any) => e != null) @@ -8904,6 +9535,7 @@ const deserializeAws_queryLaunchTemplateOverrides = (output: any, context: __Ser InstanceType: undefined, WeightedCapacity: undefined, LaunchTemplateSpecification: undefined, + InstanceRequirements: undefined, }; if (output["InstanceType"] !== undefined) { contents.InstanceType = __expectString(output["InstanceType"]); @@ -8917,6 +9549,9 @@ const deserializeAws_queryLaunchTemplateOverrides = (output: any, context: __Ser context ); } + if (output["InstanceRequirements"] !== undefined) { + contents.InstanceRequirements = deserializeAws_queryInstanceRequirements(output["InstanceRequirements"], context); + } return contents; }; @@ -9115,6 +9750,45 @@ const deserializeAws_queryLoadForecasts = (output: any, context: __SerdeContext) }); }; +const deserializeAws_queryLocalStorageTypes = (output: any, context: __SerdeContext): (LocalStorageType | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_queryMemoryGiBPerVCpuRequest = (output: any, context: __SerdeContext): MemoryGiBPerVCpuRequest => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["Min"] !== undefined) { + contents.Min = __strictParseFloat(output["Min"]) as number; + } + if (output["Max"] !== undefined) { + contents.Max = __strictParseFloat(output["Max"]) as number; + } + return contents; +}; + +const deserializeAws_queryMemoryMiBRequest = (output: any, context: __SerdeContext): MemoryMiBRequest => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["Min"] !== undefined) { + contents.Min = __strictParseInt32(output["Min"]) as number; + } + if (output["Max"] !== undefined) { + contents.Max = __strictParseInt32(output["Max"]) as number; + } + return contents; +}; + const deserializeAws_queryMetricCollectionType = (output: any, context: __SerdeContext): MetricCollectionType => { const contents: any = { Metric: undefined, @@ -9199,6 +9873,23 @@ const deserializeAws_queryMixedInstancesPolicy = (output: any, context: __SerdeC return contents; }; +const deserializeAws_queryNetworkInterfaceCountRequest = ( + output: any, + context: __SerdeContext +): NetworkInterfaceCountRequest => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["Min"] !== undefined) { + contents.Min = __strictParseInt32(output["Min"]) as number; + } + if (output["Max"] !== undefined) { + contents.Max = __strictParseInt32(output["Max"]) as number; + } + return contents; +}; + const deserializeAws_queryNotificationConfiguration = ( output: any, context: __SerdeContext @@ -9964,6 +10655,37 @@ const deserializeAws_queryTerminationPolicies = (output: any, context: __SerdeCo }); }; +const deserializeAws_queryTotalLocalStorageGBRequest = ( + output: any, + context: __SerdeContext +): TotalLocalStorageGBRequest => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["Min"] !== undefined) { + contents.Min = __strictParseFloat(output["Min"]) as number; + } + if (output["Max"] !== undefined) { + contents.Max = __strictParseFloat(output["Max"]) as number; + } + return contents; +}; + +const deserializeAws_queryVCpuCountRequest = (output: any, context: __SerdeContext): VCpuCountRequest => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["Min"] !== undefined) { + contents.Min = __strictParseInt32(output["Min"]) as number; + } + if (output["Max"] !== undefined) { + contents.Max = __strictParseInt32(output["Max"]) as number; + } + return contents; +}; + const deserializeAws_queryWarmPoolConfiguration = (output: any, context: __SerdeContext): WarmPoolConfiguration => { const contents: any = { MaxGroupPreparedCapacity: undefined, diff --git a/clients/client-chime-sdk-identity/src/ChimeSDKIdentity.ts b/clients/client-chime-sdk-identity/src/ChimeSDKIdentity.ts index 97a7e2058625..9e248d1d3898 100644 --- a/clients/client-chime-sdk-identity/src/ChimeSDKIdentity.ts +++ b/clients/client-chime-sdk-identity/src/ChimeSDKIdentity.ts @@ -31,6 +31,11 @@ import { DeleteAppInstanceUserCommandInput, DeleteAppInstanceUserCommandOutput, } from "./commands/DeleteAppInstanceUserCommand"; +import { + DeregisterAppInstanceUserEndpointCommand, + DeregisterAppInstanceUserEndpointCommandInput, + DeregisterAppInstanceUserEndpointCommandOutput, +} from "./commands/DeregisterAppInstanceUserEndpointCommand"; import { DescribeAppInstanceAdminCommand, DescribeAppInstanceAdminCommandInput, @@ -46,6 +51,11 @@ import { DescribeAppInstanceUserCommandInput, DescribeAppInstanceUserCommandOutput, } from "./commands/DescribeAppInstanceUserCommand"; +import { + DescribeAppInstanceUserEndpointCommand, + DescribeAppInstanceUserEndpointCommandInput, + DescribeAppInstanceUserEndpointCommandOutput, +} from "./commands/DescribeAppInstanceUserEndpointCommand"; import { GetAppInstanceRetentionSettingsCommand, GetAppInstanceRetentionSettingsCommandInput, @@ -61,16 +71,37 @@ import { ListAppInstancesCommandInput, ListAppInstancesCommandOutput, } from "./commands/ListAppInstancesCommand"; +import { + ListAppInstanceUserEndpointsCommand, + ListAppInstanceUserEndpointsCommandInput, + ListAppInstanceUserEndpointsCommandOutput, +} from "./commands/ListAppInstanceUserEndpointsCommand"; import { ListAppInstanceUsersCommand, ListAppInstanceUsersCommandInput, ListAppInstanceUsersCommandOutput, } from "./commands/ListAppInstanceUsersCommand"; +import { + ListTagsForResourceCommand, + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { PutAppInstanceRetentionSettingsCommand, PutAppInstanceRetentionSettingsCommandInput, PutAppInstanceRetentionSettingsCommandOutput, } from "./commands/PutAppInstanceRetentionSettingsCommand"; +import { + RegisterAppInstanceUserEndpointCommand, + RegisterAppInstanceUserEndpointCommandInput, + RegisterAppInstanceUserEndpointCommandOutput, +} from "./commands/RegisterAppInstanceUserEndpointCommand"; +import { TagResourceCommand, TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { + UntagResourceCommand, + UntagResourceCommandInput, + UntagResourceCommandOutput, +} from "./commands/UntagResourceCommand"; import { UpdateAppInstanceCommand, UpdateAppInstanceCommandInput, @@ -81,6 +112,11 @@ import { UpdateAppInstanceUserCommandInput, UpdateAppInstanceUserCommandOutput, } from "./commands/UpdateAppInstanceUserCommand"; +import { + UpdateAppInstanceUserEndpointCommand, + UpdateAppInstanceUserEndpointCommandInput, + UpdateAppInstanceUserEndpointCommandOutput, +} from "./commands/UpdateAppInstanceUserEndpointCommand"; /** *

    The Amazon Chime SDK Identity APIs in this section allow software developers to create @@ -302,6 +338,38 @@ export class ChimeSDKIdentity extends ChimeSDKIdentityClient { } } + /** + *

    Deregisters an AppInstanceUserEndpoint.

    + */ + public deregisterAppInstanceUserEndpoint( + args: DeregisterAppInstanceUserEndpointCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deregisterAppInstanceUserEndpoint( + args: DeregisterAppInstanceUserEndpointCommandInput, + cb: (err: any, data?: DeregisterAppInstanceUserEndpointCommandOutput) => void + ): void; + public deregisterAppInstanceUserEndpoint( + args: DeregisterAppInstanceUserEndpointCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeregisterAppInstanceUserEndpointCommandOutput) => void + ): void; + public deregisterAppInstanceUserEndpoint( + args: DeregisterAppInstanceUserEndpointCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeregisterAppInstanceUserEndpointCommandOutput) => void), + cb?: (err: any, data?: DeregisterAppInstanceUserEndpointCommandOutput) => void + ): Promise | void { + const command = new DeregisterAppInstanceUserEndpointCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Returns the full details of an AppInstance.

    */ @@ -398,6 +466,38 @@ export class ChimeSDKIdentity extends ChimeSDKIdentityClient { } } + /** + *

    Returns the full details of an AppInstanceUserEndpoint.

    + */ + public describeAppInstanceUserEndpoint( + args: DescribeAppInstanceUserEndpointCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public describeAppInstanceUserEndpoint( + args: DescribeAppInstanceUserEndpointCommandInput, + cb: (err: any, data?: DescribeAppInstanceUserEndpointCommandOutput) => void + ): void; + public describeAppInstanceUserEndpoint( + args: DescribeAppInstanceUserEndpointCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeAppInstanceUserEndpointCommandOutput) => void + ): void; + public describeAppInstanceUserEndpoint( + args: DescribeAppInstanceUserEndpointCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DescribeAppInstanceUserEndpointCommandOutput) => void), + cb?: (err: any, data?: DescribeAppInstanceUserEndpointCommandOutput) => void + ): Promise | void { + const command = new DescribeAppInstanceUserEndpointCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Gets the retention settings for an AppInstance.

    */ @@ -495,6 +595,38 @@ export class ChimeSDKIdentity extends ChimeSDKIdentityClient { } } + /** + *

    Lists all the AppInstanceUserEndpoints created under a single AppInstanceUser.

    + */ + public listAppInstanceUserEndpoints( + args: ListAppInstanceUserEndpointsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listAppInstanceUserEndpoints( + args: ListAppInstanceUserEndpointsCommandInput, + cb: (err: any, data?: ListAppInstanceUserEndpointsCommandOutput) => void + ): void; + public listAppInstanceUserEndpoints( + args: ListAppInstanceUserEndpointsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListAppInstanceUserEndpointsCommandOutput) => void + ): void; + public listAppInstanceUserEndpoints( + args: ListAppInstanceUserEndpointsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListAppInstanceUserEndpointsCommandOutput) => void), + cb?: (err: any, data?: ListAppInstanceUserEndpointsCommandOutput) => void + ): Promise | void { + const command = new ListAppInstanceUserEndpointsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    List all AppInstanceUsers created under a single * AppInstance.

    @@ -528,6 +660,38 @@ export class ChimeSDKIdentity extends ChimeSDKIdentityClient { } } + /** + *

    Lists the tags applied to an Amazon Chime SDK identity resource.

    + */ + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + cb: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): void; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): void; + public listTagsForResource( + args: ListTagsForResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListTagsForResourceCommandOutput) => void), + cb?: (err: any, data?: ListTagsForResourceCommandOutput) => void + ): Promise | void { + const command = new ListTagsForResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Sets the amount of time in days that a given AppInstance retains * data.

    @@ -561,6 +725,96 @@ export class ChimeSDKIdentity extends ChimeSDKIdentityClient { } } + /** + *

    Registers an endpoint under an Amazon Chime AppInstanceUser. The endpoint receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user.

    + */ + public registerAppInstanceUserEndpoint( + args: RegisterAppInstanceUserEndpointCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public registerAppInstanceUserEndpoint( + args: RegisterAppInstanceUserEndpointCommandInput, + cb: (err: any, data?: RegisterAppInstanceUserEndpointCommandOutput) => void + ): void; + public registerAppInstanceUserEndpoint( + args: RegisterAppInstanceUserEndpointCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: RegisterAppInstanceUserEndpointCommandOutput) => void + ): void; + public registerAppInstanceUserEndpoint( + args: RegisterAppInstanceUserEndpointCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: RegisterAppInstanceUserEndpointCommandOutput) => void), + cb?: (err: any, data?: RegisterAppInstanceUserEndpointCommandOutput) => void + ): Promise | void { + const command = new RegisterAppInstanceUserEndpointCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Applies the specified tags to the specified Amazon Chime SDK identity resource.

    + */ + public tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise; + public tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; + public tagResource( + args: TagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: TagResourceCommandOutput) => void + ): void; + public tagResource( + args: TagResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: TagResourceCommandOutput) => void), + cb?: (err: any, data?: TagResourceCommandOutput) => void + ): Promise | void { + const command = new TagResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + + /** + *

    Removes the specified tags from the specified Amazon Chime SDK identity resource.

    + */ + public untagResource( + args: UntagResourceCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public untagResource( + args: UntagResourceCommandInput, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + public untagResource( + args: UntagResourceCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UntagResourceCommandOutput) => void + ): void; + public untagResource( + args: UntagResourceCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UntagResourceCommandOutput) => void), + cb?: (err: any, data?: UntagResourceCommandOutput) => void + ): Promise | void { + const command = new UntagResourceCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

    Updates AppInstance metadata.

    */ @@ -625,4 +879,36 @@ export class ChimeSDKIdentity extends ChimeSDKIdentityClient { return this.send(command, optionsOrCb); } } + + /** + *

    Updates the details of an AppInstanceUserEndpoint. You can update the name and AllowMessage values.

    + */ + public updateAppInstanceUserEndpoint( + args: UpdateAppInstanceUserEndpointCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateAppInstanceUserEndpoint( + args: UpdateAppInstanceUserEndpointCommandInput, + cb: (err: any, data?: UpdateAppInstanceUserEndpointCommandOutput) => void + ): void; + public updateAppInstanceUserEndpoint( + args: UpdateAppInstanceUserEndpointCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateAppInstanceUserEndpointCommandOutput) => void + ): void; + public updateAppInstanceUserEndpoint( + args: UpdateAppInstanceUserEndpointCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateAppInstanceUserEndpointCommandOutput) => void), + cb?: (err: any, data?: UpdateAppInstanceUserEndpointCommandOutput) => void + ): Promise | void { + const command = new UpdateAppInstanceUserEndpointCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } } diff --git a/clients/client-chime-sdk-identity/src/ChimeSDKIdentityClient.ts b/clients/client-chime-sdk-identity/src/ChimeSDKIdentityClient.ts index a4f4ac2b0f37..1c365f4864e4 100644 --- a/clients/client-chime-sdk-identity/src/ChimeSDKIdentityClient.ts +++ b/clients/client-chime-sdk-identity/src/ChimeSDKIdentityClient.ts @@ -67,6 +67,10 @@ import { DeleteAppInstanceUserCommandInput, DeleteAppInstanceUserCommandOutput, } from "./commands/DeleteAppInstanceUserCommand"; +import { + DeregisterAppInstanceUserEndpointCommandInput, + DeregisterAppInstanceUserEndpointCommandOutput, +} from "./commands/DeregisterAppInstanceUserEndpointCommand"; import { DescribeAppInstanceAdminCommandInput, DescribeAppInstanceAdminCommandOutput, @@ -79,6 +83,10 @@ import { DescribeAppInstanceUserCommandInput, DescribeAppInstanceUserCommandOutput, } from "./commands/DescribeAppInstanceUserCommand"; +import { + DescribeAppInstanceUserEndpointCommandInput, + DescribeAppInstanceUserEndpointCommandOutput, +} from "./commands/DescribeAppInstanceUserEndpointCommand"; import { GetAppInstanceRetentionSettingsCommandInput, GetAppInstanceRetentionSettingsCommandOutput, @@ -88,19 +96,37 @@ import { ListAppInstanceAdminsCommandOutput, } from "./commands/ListAppInstanceAdminsCommand"; import { ListAppInstancesCommandInput, ListAppInstancesCommandOutput } from "./commands/ListAppInstancesCommand"; +import { + ListAppInstanceUserEndpointsCommandInput, + ListAppInstanceUserEndpointsCommandOutput, +} from "./commands/ListAppInstanceUserEndpointsCommand"; import { ListAppInstanceUsersCommandInput, ListAppInstanceUsersCommandOutput, } from "./commands/ListAppInstanceUsersCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "./commands/ListTagsForResourceCommand"; import { PutAppInstanceRetentionSettingsCommandInput, PutAppInstanceRetentionSettingsCommandOutput, } from "./commands/PutAppInstanceRetentionSettingsCommand"; +import { + RegisterAppInstanceUserEndpointCommandInput, + RegisterAppInstanceUserEndpointCommandOutput, +} from "./commands/RegisterAppInstanceUserEndpointCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateAppInstanceCommandInput, UpdateAppInstanceCommandOutput } from "./commands/UpdateAppInstanceCommand"; import { UpdateAppInstanceUserCommandInput, UpdateAppInstanceUserCommandOutput, } from "./commands/UpdateAppInstanceUserCommand"; +import { + UpdateAppInstanceUserEndpointCommandInput, + UpdateAppInstanceUserEndpointCommandOutput, +} from "./commands/UpdateAppInstanceUserEndpointCommand"; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; export type ServiceInputTypes = @@ -110,16 +136,24 @@ export type ServiceInputTypes = | DeleteAppInstanceAdminCommandInput | DeleteAppInstanceCommandInput | DeleteAppInstanceUserCommandInput + | DeregisterAppInstanceUserEndpointCommandInput | DescribeAppInstanceAdminCommandInput | DescribeAppInstanceCommandInput | DescribeAppInstanceUserCommandInput + | DescribeAppInstanceUserEndpointCommandInput | GetAppInstanceRetentionSettingsCommandInput | ListAppInstanceAdminsCommandInput + | ListAppInstanceUserEndpointsCommandInput | ListAppInstanceUsersCommandInput | ListAppInstancesCommandInput + | ListTagsForResourceCommandInput | PutAppInstanceRetentionSettingsCommandInput + | RegisterAppInstanceUserEndpointCommandInput + | TagResourceCommandInput + | UntagResourceCommandInput | UpdateAppInstanceCommandInput - | UpdateAppInstanceUserCommandInput; + | UpdateAppInstanceUserCommandInput + | UpdateAppInstanceUserEndpointCommandInput; export type ServiceOutputTypes = | CreateAppInstanceAdminCommandOutput @@ -128,16 +162,24 @@ export type ServiceOutputTypes = | DeleteAppInstanceAdminCommandOutput | DeleteAppInstanceCommandOutput | DeleteAppInstanceUserCommandOutput + | DeregisterAppInstanceUserEndpointCommandOutput | DescribeAppInstanceAdminCommandOutput | DescribeAppInstanceCommandOutput | DescribeAppInstanceUserCommandOutput + | DescribeAppInstanceUserEndpointCommandOutput | GetAppInstanceRetentionSettingsCommandOutput | ListAppInstanceAdminsCommandOutput + | ListAppInstanceUserEndpointsCommandOutput | ListAppInstanceUsersCommandOutput | ListAppInstancesCommandOutput + | ListTagsForResourceCommandOutput | PutAppInstanceRetentionSettingsCommandOutput + | RegisterAppInstanceUserEndpointCommandOutput + | TagResourceCommandOutput + | UntagResourceCommandOutput | UpdateAppInstanceCommandOutput - | UpdateAppInstanceUserCommandOutput; + | UpdateAppInstanceUserCommandOutput + | UpdateAppInstanceUserEndpointCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** diff --git a/clients/client-chime-sdk-identity/src/commands/DeregisterAppInstanceUserEndpointCommand.ts b/clients/client-chime-sdk-identity/src/commands/DeregisterAppInstanceUserEndpointCommand.ts new file mode 100644 index 000000000000..1e3ee15b7c71 --- /dev/null +++ b/clients/client-chime-sdk-identity/src/commands/DeregisterAppInstanceUserEndpointCommand.ts @@ -0,0 +1,101 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ChimeSDKIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKIdentityClient"; +import { DeregisterAppInstanceUserEndpointRequest } from "../models/models_0"; +import { + deserializeAws_restJson1DeregisterAppInstanceUserEndpointCommand, + serializeAws_restJson1DeregisterAppInstanceUserEndpointCommand, +} from "../protocols/Aws_restJson1"; + +export interface DeregisterAppInstanceUserEndpointCommandInput extends DeregisterAppInstanceUserEndpointRequest {} +export interface DeregisterAppInstanceUserEndpointCommandOutput extends __MetadataBearer {} + +/** + *

    Deregisters an AppInstanceUserEndpoint.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKIdentityClient, DeregisterAppInstanceUserEndpointCommand } from "@aws-sdk/client-chime-sdk-identity"; // ES Modules import + * // const { ChimeSDKIdentityClient, DeregisterAppInstanceUserEndpointCommand } = require("@aws-sdk/client-chime-sdk-identity"); // CommonJS import + * const client = new ChimeSDKIdentityClient(config); + * const command = new DeregisterAppInstanceUserEndpointCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeregisterAppInstanceUserEndpointCommandInput} for command's `input` shape. + * @see {@link DeregisterAppInstanceUserEndpointCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKIdentityClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeregisterAppInstanceUserEndpointCommand extends $Command< + DeregisterAppInstanceUserEndpointCommandInput, + DeregisterAppInstanceUserEndpointCommandOutput, + ChimeSDKIdentityClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeregisterAppInstanceUserEndpointCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKIdentityClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKIdentityClient"; + const commandName = "DeregisterAppInstanceUserEndpointCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeregisterAppInstanceUserEndpointRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DeregisterAppInstanceUserEndpointCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DeregisterAppInstanceUserEndpointCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DeregisterAppInstanceUserEndpointCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-identity/src/commands/DescribeAppInstanceUserEndpointCommand.ts b/clients/client-chime-sdk-identity/src/commands/DescribeAppInstanceUserEndpointCommand.ts new file mode 100644 index 000000000000..4b75b288eeb8 --- /dev/null +++ b/clients/client-chime-sdk-identity/src/commands/DescribeAppInstanceUserEndpointCommand.ts @@ -0,0 +1,103 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ChimeSDKIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKIdentityClient"; +import { DescribeAppInstanceUserEndpointRequest, DescribeAppInstanceUserEndpointResponse } from "../models/models_0"; +import { + deserializeAws_restJson1DescribeAppInstanceUserEndpointCommand, + serializeAws_restJson1DescribeAppInstanceUserEndpointCommand, +} from "../protocols/Aws_restJson1"; + +export interface DescribeAppInstanceUserEndpointCommandInput extends DescribeAppInstanceUserEndpointRequest {} +export interface DescribeAppInstanceUserEndpointCommandOutput + extends DescribeAppInstanceUserEndpointResponse, + __MetadataBearer {} + +/** + *

    Returns the full details of an AppInstanceUserEndpoint.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKIdentityClient, DescribeAppInstanceUserEndpointCommand } from "@aws-sdk/client-chime-sdk-identity"; // ES Modules import + * // const { ChimeSDKIdentityClient, DescribeAppInstanceUserEndpointCommand } = require("@aws-sdk/client-chime-sdk-identity"); // CommonJS import + * const client = new ChimeSDKIdentityClient(config); + * const command = new DescribeAppInstanceUserEndpointCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DescribeAppInstanceUserEndpointCommandInput} for command's `input` shape. + * @see {@link DescribeAppInstanceUserEndpointCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKIdentityClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DescribeAppInstanceUserEndpointCommand extends $Command< + DescribeAppInstanceUserEndpointCommandInput, + DescribeAppInstanceUserEndpointCommandOutput, + ChimeSDKIdentityClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DescribeAppInstanceUserEndpointCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKIdentityClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKIdentityClient"; + const commandName = "DescribeAppInstanceUserEndpointCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DescribeAppInstanceUserEndpointRequest.filterSensitiveLog, + outputFilterSensitiveLog: DescribeAppInstanceUserEndpointResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: DescribeAppInstanceUserEndpointCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1DescribeAppInstanceUserEndpointCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1DescribeAppInstanceUserEndpointCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-identity/src/commands/ListAppInstanceUserEndpointsCommand.ts b/clients/client-chime-sdk-identity/src/commands/ListAppInstanceUserEndpointsCommand.ts new file mode 100644 index 000000000000..5ecae40e57ed --- /dev/null +++ b/clients/client-chime-sdk-identity/src/commands/ListAppInstanceUserEndpointsCommand.ts @@ -0,0 +1,100 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ChimeSDKIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKIdentityClient"; +import { ListAppInstanceUserEndpointsRequest, ListAppInstanceUserEndpointsResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListAppInstanceUserEndpointsCommand, + serializeAws_restJson1ListAppInstanceUserEndpointsCommand, +} from "../protocols/Aws_restJson1"; + +export interface ListAppInstanceUserEndpointsCommandInput extends ListAppInstanceUserEndpointsRequest {} +export interface ListAppInstanceUserEndpointsCommandOutput + extends ListAppInstanceUserEndpointsResponse, + __MetadataBearer {} + +/** + *

    Lists all the AppInstanceUserEndpoints created under a single AppInstanceUser.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKIdentityClient, ListAppInstanceUserEndpointsCommand } from "@aws-sdk/client-chime-sdk-identity"; // ES Modules import + * // const { ChimeSDKIdentityClient, ListAppInstanceUserEndpointsCommand } = require("@aws-sdk/client-chime-sdk-identity"); // CommonJS import + * const client = new ChimeSDKIdentityClient(config); + * const command = new ListAppInstanceUserEndpointsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListAppInstanceUserEndpointsCommandInput} for command's `input` shape. + * @see {@link ListAppInstanceUserEndpointsCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKIdentityClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListAppInstanceUserEndpointsCommand extends $Command< + ListAppInstanceUserEndpointsCommandInput, + ListAppInstanceUserEndpointsCommandOutput, + ChimeSDKIdentityClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListAppInstanceUserEndpointsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKIdentityClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKIdentityClient"; + const commandName = "ListAppInstanceUserEndpointsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListAppInstanceUserEndpointsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListAppInstanceUserEndpointsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListAppInstanceUserEndpointsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListAppInstanceUserEndpointsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1ListAppInstanceUserEndpointsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-identity/src/commands/ListTagsForResourceCommand.ts b/clients/client-chime-sdk-identity/src/commands/ListTagsForResourceCommand.ts new file mode 100644 index 000000000000..0191d38bf378 --- /dev/null +++ b/clients/client-chime-sdk-identity/src/commands/ListTagsForResourceCommand.ts @@ -0,0 +1,95 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ChimeSDKIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKIdentityClient"; +import { ListTagsForResourceRequest, ListTagsForResourceResponse } from "../models/models_0"; +import { + deserializeAws_restJson1ListTagsForResourceCommand, + serializeAws_restJson1ListTagsForResourceCommand, +} from "../protocols/Aws_restJson1"; + +export interface ListTagsForResourceCommandInput extends ListTagsForResourceRequest {} +export interface ListTagsForResourceCommandOutput extends ListTagsForResourceResponse, __MetadataBearer {} + +/** + *

    Lists the tags applied to an Amazon Chime SDK identity resource.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKIdentityClient, ListTagsForResourceCommand } from "@aws-sdk/client-chime-sdk-identity"; // ES Modules import + * // const { ChimeSDKIdentityClient, ListTagsForResourceCommand } = require("@aws-sdk/client-chime-sdk-identity"); // CommonJS import + * const client = new ChimeSDKIdentityClient(config); + * const command = new ListTagsForResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListTagsForResourceCommandInput} for command's `input` shape. + * @see {@link ListTagsForResourceCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKIdentityClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListTagsForResourceCommand extends $Command< + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, + ChimeSDKIdentityClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListTagsForResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKIdentityClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKIdentityClient"; + const commandName = "ListTagsForResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListTagsForResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListTagsForResourceResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListTagsForResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1ListTagsForResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1ListTagsForResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-identity/src/commands/RegisterAppInstanceUserEndpointCommand.ts b/clients/client-chime-sdk-identity/src/commands/RegisterAppInstanceUserEndpointCommand.ts new file mode 100644 index 000000000000..c8322b818fbb --- /dev/null +++ b/clients/client-chime-sdk-identity/src/commands/RegisterAppInstanceUserEndpointCommand.ts @@ -0,0 +1,103 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ChimeSDKIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKIdentityClient"; +import { RegisterAppInstanceUserEndpointRequest, RegisterAppInstanceUserEndpointResponse } from "../models/models_0"; +import { + deserializeAws_restJson1RegisterAppInstanceUserEndpointCommand, + serializeAws_restJson1RegisterAppInstanceUserEndpointCommand, +} from "../protocols/Aws_restJson1"; + +export interface RegisterAppInstanceUserEndpointCommandInput extends RegisterAppInstanceUserEndpointRequest {} +export interface RegisterAppInstanceUserEndpointCommandOutput + extends RegisterAppInstanceUserEndpointResponse, + __MetadataBearer {} + +/** + *

    Registers an endpoint under an Amazon Chime AppInstanceUser. The endpoint receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKIdentityClient, RegisterAppInstanceUserEndpointCommand } from "@aws-sdk/client-chime-sdk-identity"; // ES Modules import + * // const { ChimeSDKIdentityClient, RegisterAppInstanceUserEndpointCommand } = require("@aws-sdk/client-chime-sdk-identity"); // CommonJS import + * const client = new ChimeSDKIdentityClient(config); + * const command = new RegisterAppInstanceUserEndpointCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link RegisterAppInstanceUserEndpointCommandInput} for command's `input` shape. + * @see {@link RegisterAppInstanceUserEndpointCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKIdentityClientResolvedConfig | config} for command's `input` shape. + * + */ +export class RegisterAppInstanceUserEndpointCommand extends $Command< + RegisterAppInstanceUserEndpointCommandInput, + RegisterAppInstanceUserEndpointCommandOutput, + ChimeSDKIdentityClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: RegisterAppInstanceUserEndpointCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKIdentityClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKIdentityClient"; + const commandName = "RegisterAppInstanceUserEndpointCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: RegisterAppInstanceUserEndpointRequest.filterSensitiveLog, + outputFilterSensitiveLog: RegisterAppInstanceUserEndpointResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: RegisterAppInstanceUserEndpointCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1RegisterAppInstanceUserEndpointCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1RegisterAppInstanceUserEndpointCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-identity/src/commands/TagResourceCommand.ts b/clients/client-chime-sdk-identity/src/commands/TagResourceCommand.ts new file mode 100644 index 000000000000..89dcd1451272 --- /dev/null +++ b/clients/client-chime-sdk-identity/src/commands/TagResourceCommand.ts @@ -0,0 +1,95 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ChimeSDKIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKIdentityClient"; +import { TagResourceRequest } from "../models/models_0"; +import { + deserializeAws_restJson1TagResourceCommand, + serializeAws_restJson1TagResourceCommand, +} from "../protocols/Aws_restJson1"; + +export interface TagResourceCommandInput extends TagResourceRequest {} +export interface TagResourceCommandOutput extends __MetadataBearer {} + +/** + *

    Applies the specified tags to the specified Amazon Chime SDK identity resource.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKIdentityClient, TagResourceCommand } from "@aws-sdk/client-chime-sdk-identity"; // ES Modules import + * // const { ChimeSDKIdentityClient, TagResourceCommand } = require("@aws-sdk/client-chime-sdk-identity"); // CommonJS import + * const client = new ChimeSDKIdentityClient(config); + * const command = new TagResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link TagResourceCommandInput} for command's `input` shape. + * @see {@link TagResourceCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKIdentityClientResolvedConfig | config} for command's `input` shape. + * + */ +export class TagResourceCommand extends $Command< + TagResourceCommandInput, + TagResourceCommandOutput, + ChimeSDKIdentityClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: TagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKIdentityClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKIdentityClient"; + const commandName = "TagResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: TagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: TagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1TagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1TagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-identity/src/commands/UntagResourceCommand.ts b/clients/client-chime-sdk-identity/src/commands/UntagResourceCommand.ts new file mode 100644 index 000000000000..acbf8d3ea4ad --- /dev/null +++ b/clients/client-chime-sdk-identity/src/commands/UntagResourceCommand.ts @@ -0,0 +1,95 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ChimeSDKIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKIdentityClient"; +import { UntagResourceRequest } from "../models/models_0"; +import { + deserializeAws_restJson1UntagResourceCommand, + serializeAws_restJson1UntagResourceCommand, +} from "../protocols/Aws_restJson1"; + +export interface UntagResourceCommandInput extends UntagResourceRequest {} +export interface UntagResourceCommandOutput extends __MetadataBearer {} + +/** + *

    Removes the specified tags from the specified Amazon Chime SDK identity resource.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKIdentityClient, UntagResourceCommand } from "@aws-sdk/client-chime-sdk-identity"; // ES Modules import + * // const { ChimeSDKIdentityClient, UntagResourceCommand } = require("@aws-sdk/client-chime-sdk-identity"); // CommonJS import + * const client = new ChimeSDKIdentityClient(config); + * const command = new UntagResourceCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UntagResourceCommandInput} for command's `input` shape. + * @see {@link UntagResourceCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKIdentityClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UntagResourceCommand extends $Command< + UntagResourceCommandInput, + UntagResourceCommandOutput, + ChimeSDKIdentityClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UntagResourceCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKIdentityClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKIdentityClient"; + const commandName = "UntagResourceCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UntagResourceRequest.filterSensitiveLog, + outputFilterSensitiveLog: (output: any) => output, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UntagResourceCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UntagResourceCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_restJson1UntagResourceCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-identity/src/commands/UpdateAppInstanceUserEndpointCommand.ts b/clients/client-chime-sdk-identity/src/commands/UpdateAppInstanceUserEndpointCommand.ts new file mode 100644 index 000000000000..a8ce1af1f6a3 --- /dev/null +++ b/clients/client-chime-sdk-identity/src/commands/UpdateAppInstanceUserEndpointCommand.ts @@ -0,0 +1,100 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ChimeSDKIdentityClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ChimeSDKIdentityClient"; +import { UpdateAppInstanceUserEndpointRequest, UpdateAppInstanceUserEndpointResponse } from "../models/models_0"; +import { + deserializeAws_restJson1UpdateAppInstanceUserEndpointCommand, + serializeAws_restJson1UpdateAppInstanceUserEndpointCommand, +} from "../protocols/Aws_restJson1"; + +export interface UpdateAppInstanceUserEndpointCommandInput extends UpdateAppInstanceUserEndpointRequest {} +export interface UpdateAppInstanceUserEndpointCommandOutput + extends UpdateAppInstanceUserEndpointResponse, + __MetadataBearer {} + +/** + *

    Updates the details of an AppInstanceUserEndpoint. You can update the name and AllowMessage values.

    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKIdentityClient, UpdateAppInstanceUserEndpointCommand } from "@aws-sdk/client-chime-sdk-identity"; // ES Modules import + * // const { ChimeSDKIdentityClient, UpdateAppInstanceUserEndpointCommand } = require("@aws-sdk/client-chime-sdk-identity"); // CommonJS import + * const client = new ChimeSDKIdentityClient(config); + * const command = new UpdateAppInstanceUserEndpointCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateAppInstanceUserEndpointCommandInput} for command's `input` shape. + * @see {@link UpdateAppInstanceUserEndpointCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKIdentityClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateAppInstanceUserEndpointCommand extends $Command< + UpdateAppInstanceUserEndpointCommandInput, + UpdateAppInstanceUserEndpointCommandOutput, + ChimeSDKIdentityClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateAppInstanceUserEndpointCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKIdentityClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKIdentityClient"; + const commandName = "UpdateAppInstanceUserEndpointCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateAppInstanceUserEndpointRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateAppInstanceUserEndpointResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateAppInstanceUserEndpointCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_restJson1UpdateAppInstanceUserEndpointCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1UpdateAppInstanceUserEndpointCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-identity/src/commands/index.ts b/clients/client-chime-sdk-identity/src/commands/index.ts index a9f4714207a0..2c7d7b87a390 100644 --- a/clients/client-chime-sdk-identity/src/commands/index.ts +++ b/clients/client-chime-sdk-identity/src/commands/index.ts @@ -4,13 +4,21 @@ export * from "./CreateAppInstanceUserCommand"; export * from "./DeleteAppInstanceAdminCommand"; export * from "./DeleteAppInstanceCommand"; export * from "./DeleteAppInstanceUserCommand"; +export * from "./DeregisterAppInstanceUserEndpointCommand"; export * from "./DescribeAppInstanceAdminCommand"; export * from "./DescribeAppInstanceCommand"; export * from "./DescribeAppInstanceUserCommand"; +export * from "./DescribeAppInstanceUserEndpointCommand"; export * from "./GetAppInstanceRetentionSettingsCommand"; export * from "./ListAppInstanceAdminsCommand"; +export * from "./ListAppInstanceUserEndpointsCommand"; export * from "./ListAppInstanceUsersCommand"; export * from "./ListAppInstancesCommand"; +export * from "./ListTagsForResourceCommand"; export * from "./PutAppInstanceRetentionSettingsCommand"; +export * from "./RegisterAppInstanceUserEndpointCommand"; +export * from "./TagResourceCommand"; +export * from "./UntagResourceCommand"; export * from "./UpdateAppInstanceCommand"; export * from "./UpdateAppInstanceUserCommand"; +export * from "./UpdateAppInstanceUserEndpointCommand"; diff --git a/clients/client-chime-sdk-identity/src/models/models_0.ts b/clients/client-chime-sdk-identity/src/models/models_0.ts index fa85e11edd61..96aa222a608b 100644 --- a/clients/client-chime-sdk-identity/src/models/models_0.ts +++ b/clients/client-chime-sdk-identity/src/models/models_0.ts @@ -1,6 +1,11 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; +export enum AllowMessages { + ALL = "ALL", + NONE = "NONE", +} + /** *

    The details of an AppInstance, an instance of an Amazon Chime SDK messaging * application.

    @@ -228,6 +233,232 @@ export namespace AppInstanceUser { }); } +/** + *

    The attributes of an Endpoint.

    + */ +export interface EndpointAttributes { + /** + *

    The device token for the GCM, APNS, and APNS_SANDBOX endpoint types.

    + */ + DeviceToken: string | undefined; + + /** + *

    The VOIP device token for the APNS and APNS_SANDBOX endpoint types.

    + */ + VoipDeviceToken?: string; +} + +export namespace EndpointAttributes { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EndpointAttributes): any => ({ + ...obj, + ...(obj.DeviceToken && { DeviceToken: SENSITIVE_STRING }), + ...(obj.VoipDeviceToken && { VoipDeviceToken: SENSITIVE_STRING }), + }); +} + +export enum EndpointStatus { + ACTIVE = "ACTIVE", + INACTIVE = "INACTIVE", +} + +export enum EndpointStatusReason { + INVALID_DEVICE_TOKEN = "INVALID_DEVICE_TOKEN", + INVALID_PINPOINT_ARN = "INVALID_PINPOINT_ARN", +} + +/** + *

    A read-only field that represents the state of an AppInstanceUserEndpoint. Supported values:

    + *
      + *
    • + *

      + * ACTIVE: The AppInstanceUserEndpoint is active and able to receive messages. When ACTIVE, the EndpointStatusReason remains empty.

      + *
    • + *
    • + *

      + * INACTIVE: The AppInstanceUserEndpoint is inactive and can't receive + * message. When INACTIVE, the corresponding reason will be conveyed through + * EndpointStatusReason.

      + *
    • + *
    • + *

      + * INVALID_DEVICE_TOKEN indicates that an AppInstanceUserEndpoint is INACTIVE due to invalid device token

      + *
    • + *
    • + *

      + * INVALID_PINPOINT_ARN indicates that an AppInstanceUserEndpoint is INACTIVE due to an invalid pinpoint ARN that was input through the ResourceArn field.

      + *
    • + *
    + */ +export interface EndpointState { + /** + *

    Enum that indicates the Status of an AppInstanceUserEndpoint.

    + */ + Status: EndpointStatus | string | undefined; + + /** + *

    The reason for the EndpointStatus.

    + */ + StatusReason?: EndpointStatusReason | string; +} + +export namespace EndpointState { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EndpointState): any => ({ + ...obj, + }); +} + +export enum AppInstanceUserEndpointType { + APNS = "APNS", + APNS_SANDBOX = "APNS_SANDBOX", + GCM = "GCM", +} + +/** + *

    An endpoint under an Amazon Chime AppInstanceUser that receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user.

    + */ +export interface AppInstanceUserEndpoint { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn?: string; + + /** + *

    The unique identifier of the AppInstanceUserEndpoint.

    + */ + EndpointId?: string; + + /** + *

    The name of the AppInstanceUserEndpoint.

    + */ + Name?: string; + + /** + *

    The type of the AppInstanceUserEndpoint.

    + */ + Type?: AppInstanceUserEndpointType | string; + + /** + *

    The ARN of the resource to which the endpoint belongs.

    + */ + ResourceArn?: string; + + /** + *

    The attributes of an Endpoint.

    + */ + EndpointAttributes?: EndpointAttributes; + + /** + *

    The time at which an AppInstanceUserEndpoint was created.

    + */ + CreatedTimestamp?: Date; + + /** + *

    The time at which an AppInstanceUserEndpoint was last updated.

    + */ + LastUpdatedTimestamp?: Date; + + /** + *

    Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. + * NONE indicates the endpoint will receive no messages.

    + */ + AllowMessages?: AllowMessages | string; + + /** + *

    A read-only field that represents the state of an AppInstanceUserEndpoint. Supported values:

    + *
      + *
    • + *

      + * ACTIVE: The AppInstanceUserEndpoint is active and able to receive messages. When ACTIVE, the EndpointStatusReason remains empty.

      + *
    • + *
    • + *

      + * INACTIVE: The AppInstanceUserEndpoint is inactive and can't receive message. When INACTIVE, the corresponding reason will be + * conveyed through EndpointStatusReason.

      + *
    • + *
    • + *

      + * INVALID_DEVICE_TOKEN indicates that an AppInstanceUserEndpoint is INACTIVE due to invalid device token

      + *
    • + *
    • + *

      + * INVALID_PINPOINT_ARN indicates that an AppInstanceUserEndpoint is INACTIVE due to an invalid pinpoint ARN that was input + * through the ResourceArn field.

      + *
    • + *
    + */ + EndpointState?: EndpointState; +} + +export namespace AppInstanceUserEndpoint { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AppInstanceUserEndpoint): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.EndpointId && { EndpointId: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.ResourceArn && { ResourceArn: SENSITIVE_STRING }), + ...(obj.EndpointAttributes && { + EndpointAttributes: EndpointAttributes.filterSensitiveLog(obj.EndpointAttributes), + }), + }); +} + +/** + *

    Summary of the details of an AppInstanceUserEndpoint.

    + */ +export interface AppInstanceUserEndpointSummary { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn?: string; + + /** + *

    The unique identifier of the AppInstanceUserEndpoint.

    + */ + EndpointId?: string; + + /** + *

    The name of the AppInstanceUserEndpoint.

    + */ + Name?: string; + + /** + *

    The type of the AppInstanceUserEndpoint.

    + */ + Type?: AppInstanceUserEndpointType | string; + + /** + *

    BBoolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. + * NONE indicates the endpoint will receive no messages.

    + */ + AllowMessages?: AllowMessages | string; + + /** + *

    A read-only field that represent the state of an AppInstanceUserEndpoint.

    + */ + EndpointState?: EndpointState; +} + +export namespace AppInstanceUserEndpointSummary { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AppInstanceUserEndpointSummary): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.EndpointId && { EndpointId: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), + }); +} + /** *

    Summary of the details of an AppInstanceUser.

    */ @@ -317,16 +548,16 @@ export namespace ConflictException { } /** - *

    Describes a tag applied to a resource.

    + *

    A tag object containing a key-value pair.

    */ export interface Tag { /** - *

    The key of the tag.

    + *

    The key in a tag.

    */ Key: string | undefined; /** - *

    The value of the tag.

    + *

    The value in a tag.

    */ Value: string | undefined; } @@ -665,6 +896,29 @@ export namespace DeleteAppInstanceUserRequest { }); } +export interface DeregisterAppInstanceUserEndpointRequest { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn: string | undefined; + + /** + *

    The unique identifier of the AppInstanceUserEndpoint.

    + */ + EndpointId: string | undefined; +} + +export namespace DeregisterAppInstanceUserEndpointRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeregisterAppInstanceUserEndpointRequest): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.EndpointId && { EndpointId: SENSITIVE_STRING }), + }); +} + export interface DescribeAppInstanceRequest { /** *

    The ARN of the AppInstance.

    @@ -772,6 +1026,49 @@ export namespace DescribeAppInstanceUserResponse { }); } +export interface DescribeAppInstanceUserEndpointRequest { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn: string | undefined; + + /** + *

    The unique identifier of the AppInstanceUserEndpoint.

    + */ + EndpointId: string | undefined; +} + +export namespace DescribeAppInstanceUserEndpointRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeAppInstanceUserEndpointRequest): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.EndpointId && { EndpointId: SENSITIVE_STRING }), + }); +} + +export interface DescribeAppInstanceUserEndpointResponse { + /** + *

    The full details of an AppInstanceUserEndpoint: the AppInstanceUserArn, ID, name, type, resource ARN, attributes, + * allow messages, state, and created and last updated timestamps. All timestamps use epoch milliseconds.

    + */ + AppInstanceUserEndpoint?: AppInstanceUserEndpoint; +} + +export namespace DescribeAppInstanceUserEndpointResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeAppInstanceUserEndpointResponse): any => ({ + ...obj, + ...(obj.AppInstanceUserEndpoint && { + AppInstanceUserEndpoint: AppInstanceUserEndpoint.filterSensitiveLog(obj.AppInstanceUserEndpoint), + }), + }); +} + export interface GetAppInstanceRetentionSettingsRequest { /** *

    The ARN of the AppInstance.

    @@ -918,6 +1215,61 @@ export namespace ListAppInstancesResponse { }); } +export interface ListAppInstanceUserEndpointsRequest { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn: string | undefined; + + /** + *

    The maximum number of endpoints that you want to return.

    + */ + MaxResults?: number; + + /** + *

    The token passed by previous API calls until all requested endpoints are returned.

    + */ + NextToken?: string; +} + +export namespace ListAppInstanceUserEndpointsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAppInstanceUserEndpointsRequest): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + +export interface ListAppInstanceUserEndpointsResponse { + /** + *

    The information for each requested AppInstanceUserEndpoint.

    + */ + AppInstanceUserEndpoints?: AppInstanceUserEndpointSummary[]; + + /** + *

    The token passed by previous API calls until all requested endpoints are returned.

    + */ + NextToken?: string; +} + +export namespace ListAppInstanceUserEndpointsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListAppInstanceUserEndpointsResponse): any => ({ + ...obj, + ...(obj.AppInstanceUserEndpoints && { + AppInstanceUserEndpoints: obj.AppInstanceUserEndpoints.map((item) => + AppInstanceUserEndpointSummary.filterSensitiveLog(item) + ), + }), + ...(obj.NextToken && { NextToken: SENSITIVE_STRING }), + }); +} + export interface ListAppInstanceUsersRequest { /** *

    The ARN of the AppInstance.

    @@ -975,6 +1327,39 @@ export namespace ListAppInstanceUsersResponse { }); } +export interface ListTagsForResourceRequest { + /** + *

    The ARN of the resource.

    + */ + ResourceARN: string | undefined; +} + +export namespace ListTagsForResourceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTagsForResourceRequest): any => ({ + ...obj, + }); +} + +export interface ListTagsForResourceResponse { + /** + *

    The tag key-value pairs.

    + */ + Tags?: Tag[]; +} + +export namespace ListTagsForResourceResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListTagsForResourceResponse): any => ({ + ...obj, + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + }); +} + export interface PutAppInstanceRetentionSettingsRequest { /** *

    The ARN of the AppInstance.

    @@ -1017,6 +1402,142 @@ export namespace PutAppInstanceRetentionSettingsResponse { }); } +export interface RegisterAppInstanceUserEndpointRequest { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn: string | undefined; + + /** + *

    The name of the AppInstanceUserEndpoint.

    + */ + Name?: string; + + /** + *

    The type of the AppInstanceUserEndpoint. Supported types:

    + *
      + *
    • + *

      + * APNS: The mobile notification service for an Apple device.

      + *
    • + *
    • + *

      + * APNS_SANDBOX: The sandbox environment of the mobile notification service for an Apple device.

      + *
    • + *
    • + *

      + * GCM: The mobile notification service for an Android device.

      + *
    • + *
    + *

    Populate the ResourceArn value of each type as PinpointAppArn.

    + */ + Type: AppInstanceUserEndpointType | string | undefined; + + /** + *

    The ARN of the resource to which the endpoint belongs.

    + */ + ResourceArn: string | undefined; + + /** + *

    The attributes of an Endpoint.

    + */ + EndpointAttributes: EndpointAttributes | undefined; + + /** + *

    The idempotency token for each client request.

    + */ + ClientRequestToken?: string; + + /** + *

    Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint receives all messages. + * NONE indicates the endpoint receives no messages.

    + */ + AllowMessages?: AllowMessages | string; +} + +export namespace RegisterAppInstanceUserEndpointRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RegisterAppInstanceUserEndpointRequest): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), + ...(obj.ResourceArn && { ResourceArn: SENSITIVE_STRING }), + ...(obj.EndpointAttributes && { + EndpointAttributes: EndpointAttributes.filterSensitiveLog(obj.EndpointAttributes), + }), + ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + }); +} + +export interface RegisterAppInstanceUserEndpointResponse { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn?: string; + + /** + *

    The unique identifier of the AppInstanceUserEndpoint.

    + */ + EndpointId?: string; +} + +export namespace RegisterAppInstanceUserEndpointResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RegisterAppInstanceUserEndpointResponse): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.EndpointId && { EndpointId: SENSITIVE_STRING }), + }); +} + +export interface TagResourceRequest { + /** + *

    The resource ARN.

    + */ + ResourceARN: string | undefined; + + /** + *

    The tag key-value pairs.

    + */ + Tags: Tag[] | undefined; +} + +export namespace TagResourceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TagResourceRequest): any => ({ + ...obj, + ...(obj.Tags && { Tags: obj.Tags.map((item) => Tag.filterSensitiveLog(item)) }), + }); +} + +export interface UntagResourceRequest { + /** + *

    The resource ARN.

    + */ + ResourceARN: string | undefined; + + /** + *

    The tag keys.

    + */ + TagKeys: string[] | undefined; +} + +export namespace UntagResourceRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UntagResourceRequest): any => ({ + ...obj, + ...(obj.TagKeys && { TagKeys: SENSITIVE_STRING }), + }); +} + export interface UpdateAppInstanceRequest { /** *

    The ARN of the AppInstance.

    @@ -1104,3 +1625,61 @@ export namespace UpdateAppInstanceUserResponse { ...obj, }); } + +export interface UpdateAppInstanceUserEndpointRequest { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn: string | undefined; + + /** + *

    The unique identifier of the AppInstanceUserEndpoint.

    + */ + EndpointId: string | undefined; + + /** + *

    The name of the AppInstanceUserEndpoint.

    + */ + Name?: string; + + /** + *

    Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. + * NONE indicates the endpoint will receive no messages.

    + */ + AllowMessages?: AllowMessages | string; +} + +export namespace UpdateAppInstanceUserEndpointRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateAppInstanceUserEndpointRequest): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.EndpointId && { EndpointId: SENSITIVE_STRING }), + ...(obj.Name && { Name: SENSITIVE_STRING }), + }); +} + +export interface UpdateAppInstanceUserEndpointResponse { + /** + *

    The ARN of the AppInstanceUser.

    + */ + AppInstanceUserArn?: string; + + /** + *

    The unique identifier of the AppInstanceUserEndpoint.

    + */ + EndpointId?: string; +} + +export namespace UpdateAppInstanceUserEndpointResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateAppInstanceUserEndpointResponse): any => ({ + ...obj, + ...(obj.AppInstanceUserArn && { AppInstanceUserArn: SENSITIVE_STRING }), + ...(obj.EndpointId && { EndpointId: SENSITIVE_STRING }), + }); +} diff --git a/clients/client-chime-sdk-identity/src/pagination/ListAppInstanceUserEndpointsPaginator.ts b/clients/client-chime-sdk-identity/src/pagination/ListAppInstanceUserEndpointsPaginator.ts new file mode 100644 index 000000000000..17e1fd5fa75d --- /dev/null +++ b/clients/client-chime-sdk-identity/src/pagination/ListAppInstanceUserEndpointsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { ChimeSDKIdentity } from "../ChimeSDKIdentity"; +import { ChimeSDKIdentityClient } from "../ChimeSDKIdentityClient"; +import { + ListAppInstanceUserEndpointsCommand, + ListAppInstanceUserEndpointsCommandInput, + ListAppInstanceUserEndpointsCommandOutput, +} from "../commands/ListAppInstanceUserEndpointsCommand"; +import { ChimeSDKIdentityPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: ChimeSDKIdentityClient, + input: ListAppInstanceUserEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListAppInstanceUserEndpointsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: ChimeSDKIdentity, + input: ListAppInstanceUserEndpointsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listAppInstanceUserEndpoints(input, ...args); +}; +export async function* paginateListAppInstanceUserEndpoints( + config: ChimeSDKIdentityPaginationConfiguration, + input: ListAppInstanceUserEndpointsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListAppInstanceUserEndpointsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof ChimeSDKIdentity) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof ChimeSDKIdentityClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected ChimeSDKIdentity | ChimeSDKIdentityClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-chime-sdk-identity/src/pagination/index.ts b/clients/client-chime-sdk-identity/src/pagination/index.ts index 5bf94c4384a2..1dca6524aeb2 100644 --- a/clients/client-chime-sdk-identity/src/pagination/index.ts +++ b/clients/client-chime-sdk-identity/src/pagination/index.ts @@ -1,4 +1,5 @@ export * from "./Interfaces"; export * from "./ListAppInstanceAdminsPaginator"; +export * from "./ListAppInstanceUserEndpointsPaginator"; export * from "./ListAppInstanceUsersPaginator"; export * from "./ListAppInstancesPaginator"; diff --git a/clients/client-chime-sdk-identity/src/protocols/Aws_restJson1.ts b/clients/client-chime-sdk-identity/src/protocols/Aws_restJson1.ts index 9c996943eecf..9f5f62d3a70d 100644 --- a/clients/client-chime-sdk-identity/src/protocols/Aws_restJson1.ts +++ b/clients/client-chime-sdk-identity/src/protocols/Aws_restJson1.ts @@ -35,6 +35,10 @@ import { DeleteAppInstanceUserCommandInput, DeleteAppInstanceUserCommandOutput, } from "../commands/DeleteAppInstanceUserCommand"; +import { + DeregisterAppInstanceUserEndpointCommandInput, + DeregisterAppInstanceUserEndpointCommandOutput, +} from "../commands/DeregisterAppInstanceUserEndpointCommand"; import { DescribeAppInstanceAdminCommandInput, DescribeAppInstanceAdminCommandOutput, @@ -47,6 +51,10 @@ import { DescribeAppInstanceUserCommandInput, DescribeAppInstanceUserCommandOutput, } from "../commands/DescribeAppInstanceUserCommand"; +import { + DescribeAppInstanceUserEndpointCommandInput, + DescribeAppInstanceUserEndpointCommandOutput, +} from "../commands/DescribeAppInstanceUserEndpointCommand"; import { GetAppInstanceRetentionSettingsCommandInput, GetAppInstanceRetentionSettingsCommandOutput, @@ -56,19 +64,37 @@ import { ListAppInstanceAdminsCommandOutput, } from "../commands/ListAppInstanceAdminsCommand"; import { ListAppInstancesCommandInput, ListAppInstancesCommandOutput } from "../commands/ListAppInstancesCommand"; +import { + ListAppInstanceUserEndpointsCommandInput, + ListAppInstanceUserEndpointsCommandOutput, +} from "../commands/ListAppInstanceUserEndpointsCommand"; import { ListAppInstanceUsersCommandInput, ListAppInstanceUsersCommandOutput, } from "../commands/ListAppInstanceUsersCommand"; +import { + ListTagsForResourceCommandInput, + ListTagsForResourceCommandOutput, +} from "../commands/ListTagsForResourceCommand"; import { PutAppInstanceRetentionSettingsCommandInput, PutAppInstanceRetentionSettingsCommandOutput, } from "../commands/PutAppInstanceRetentionSettingsCommand"; +import { + RegisterAppInstanceUserEndpointCommandInput, + RegisterAppInstanceUserEndpointCommandOutput, +} from "../commands/RegisterAppInstanceUserEndpointCommand"; +import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; +import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateAppInstanceCommandInput, UpdateAppInstanceCommandOutput } from "../commands/UpdateAppInstanceCommand"; import { UpdateAppInstanceUserCommandInput, UpdateAppInstanceUserCommandOutput, } from "../commands/UpdateAppInstanceUserCommand"; +import { + UpdateAppInstanceUserEndpointCommandInput, + UpdateAppInstanceUserEndpointCommandOutput, +} from "../commands/UpdateAppInstanceUserEndpointCommand"; import { AppInstance, AppInstanceAdmin, @@ -76,10 +102,14 @@ import { AppInstanceRetentionSettings, AppInstanceSummary, AppInstanceUser, + AppInstanceUserEndpoint, + AppInstanceUserEndpointSummary, AppInstanceUserSummary, BadRequestException, ChannelRetentionSettings, ConflictException, + EndpointAttributes, + EndpointState, ForbiddenException, Identity, ResourceLimitExceededException, @@ -282,6 +312,45 @@ export const serializeAws_restJson1DeleteAppInstanceUserCommand = async ( }); }; +export const serializeAws_restJson1DeregisterAppInstanceUserEndpointCommand = async ( + input: DeregisterAppInstanceUserEndpointCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}"; + if (input.AppInstanceUserArn !== undefined) { + const labelValue: string = input.AppInstanceUserArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppInstanceUserArn."); + } + resolvedPath = resolvedPath.replace("{AppInstanceUserArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppInstanceUserArn."); + } + if (input.EndpointId !== undefined) { + const labelValue: string = input.EndpointId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EndpointId."); + } + resolvedPath = resolvedPath.replace("{EndpointId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EndpointId."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "DELETE", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1DescribeAppInstanceCommand = async ( input: DescribeAppInstanceCommandInput, context: __SerdeContext @@ -379,6 +448,45 @@ export const serializeAws_restJson1DescribeAppInstanceUserCommand = async ( }); }; +export const serializeAws_restJson1DescribeAppInstanceUserEndpointCommand = async ( + input: DescribeAppInstanceUserEndpointCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}"; + if (input.AppInstanceUserArn !== undefined) { + const labelValue: string = input.AppInstanceUserArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppInstanceUserArn."); + } + resolvedPath = resolvedPath.replace("{AppInstanceUserArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppInstanceUserArn."); + } + if (input.EndpointId !== undefined) { + const labelValue: string = input.EndpointId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EndpointId."); + } + resolvedPath = resolvedPath.replace("{EndpointId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EndpointId."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1GetAppInstanceRetentionSettingsCommand = async ( input: GetAppInstanceRetentionSettingsCommandInput, context: __SerdeContext @@ -467,6 +575,41 @@ export const serializeAws_restJson1ListAppInstancesCommand = async ( }); }; +export const serializeAws_restJson1ListAppInstanceUserEndpointsCommand = async ( + input: ListAppInstanceUserEndpointsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/app-instance-users/{AppInstanceUserArn}/endpoints"; + if (input.AppInstanceUserArn !== undefined) { + const labelValue: string = input.AppInstanceUserArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppInstanceUserArn."); + } + resolvedPath = resolvedPath.replace("{AppInstanceUserArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppInstanceUserArn."); + } + const query: any = { + ...(input.MaxResults !== undefined && { "max-results": input.MaxResults.toString() }), + ...(input.NextToken !== undefined && { "next-token": input.NextToken }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1ListAppInstanceUsersCommand = async ( input: ListAppInstanceUsersCommandInput, context: __SerdeContext @@ -492,6 +635,29 @@ export const serializeAws_restJson1ListAppInstanceUsersCommand = async ( }); }; +export const serializeAws_restJson1ListTagsForResourceCommand = async ( + input: ListTagsForResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = {}; + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags"; + const query: any = { + ...(input.ResourceARN !== undefined && { arn: input.ResourceARN }), + }; + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1PutAppInstanceRetentionSettingsCommand = async ( input: PutAppInstanceRetentionSettingsCommandInput, context: __SerdeContext @@ -533,6 +699,109 @@ export const serializeAws_restJson1PutAppInstanceRetentionSettingsCommand = asyn }); }; +export const serializeAws_restJson1RegisterAppInstanceUserEndpointCommand = async ( + input: RegisterAppInstanceUserEndpointCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/app-instance-users/{AppInstanceUserArn}/endpoints"; + if (input.AppInstanceUserArn !== undefined) { + const labelValue: string = input.AppInstanceUserArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppInstanceUserArn."); + } + resolvedPath = resolvedPath.replace("{AppInstanceUserArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppInstanceUserArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.AllowMessages !== undefined && input.AllowMessages !== null && { AllowMessages: input.AllowMessages }), + ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), + ...(input.EndpointAttributes !== undefined && + input.EndpointAttributes !== null && { + EndpointAttributes: serializeAws_restJson1EndpointAttributes(input.EndpointAttributes, context), + }), + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + ...(input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }), + ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + body, + }); +}; + +export const serializeAws_restJson1TagResourceCommand = async ( + input: TagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags"; + const query: any = { + operation: "tag-resource", + }; + let body: any; + body = JSON.stringify({ + ...(input.ResourceARN !== undefined && input.ResourceARN !== null && { ResourceARN: input.ResourceARN }), + ...(input.Tags !== undefined && + input.Tags !== null && { Tags: serializeAws_restJson1TagList(input.Tags, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + +export const serializeAws_restJson1UntagResourceCommand = async ( + input: UntagResourceCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + const resolvedPath = `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/tags"; + const query: any = { + operation: "untag-resource", + }; + let body: any; + body = JSON.stringify({ + ...(input.ResourceARN !== undefined && input.ResourceARN !== null && { ResourceARN: input.ResourceARN }), + ...(input.TagKeys !== undefined && + input.TagKeys !== null && { TagKeys: serializeAws_restJson1TagKeyList(input.TagKeys, context) }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "POST", + headers, + path: resolvedPath, + query, + body, + }); +}; + export const serializeAws_restJson1UpdateAppInstanceCommand = async ( input: UpdateAppInstanceCommandInput, context: __SerdeContext @@ -603,6 +872,51 @@ export const serializeAws_restJson1UpdateAppInstanceUserCommand = async ( }); }; +export const serializeAws_restJson1UpdateAppInstanceUserEndpointCommand = async ( + input: UpdateAppInstanceUserEndpointCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}"; + if (input.AppInstanceUserArn !== undefined) { + const labelValue: string = input.AppInstanceUserArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: AppInstanceUserArn."); + } + resolvedPath = resolvedPath.replace("{AppInstanceUserArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: AppInstanceUserArn."); + } + if (input.EndpointId !== undefined) { + const labelValue: string = input.EndpointId; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: EndpointId."); + } + resolvedPath = resolvedPath.replace("{EndpointId}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: EndpointId."); + } + let body: any; + body = JSON.stringify({ + ...(input.AllowMessages !== undefined && input.AllowMessages !== null && { AllowMessages: input.AllowMessages }), + ...(input.Name !== undefined && input.Name !== null && { Name: input.Name }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const deserializeAws_restJson1CreateAppInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1253,28 +1567,24 @@ const deserializeAws_restJson1DeleteAppInstanceUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeAppInstanceCommand = async ( +export const deserializeAws_restJson1DeregisterAppInstanceUserEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeAppInstanceCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1DeregisterAppInstanceUserEndpointCommandError(output, context); } - const contents: DescribeAppInstanceCommandOutput = { + const contents: DeregisterAppInstanceUserEndpointCommandOutput = { $metadata: deserializeMetadata(output), - AppInstance: undefined, }; - const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.AppInstance !== undefined && data.AppInstance !== null) { - contents.AppInstance = deserializeAws_restJson1AppInstance(data.AppInstance, context); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeAppInstanceCommandError = async ( +const deserializeAws_restJson1DeregisterAppInstanceUserEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1348,12 +1658,107 @@ const deserializeAws_restJson1DescribeAppInstanceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeAppInstanceAdminCommand = async ( +export const deserializeAws_restJson1DescribeAppInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeAppInstanceAdminCommandError(output, context); + return deserializeAws_restJson1DescribeAppInstanceCommandError(output, context); + } + const contents: DescribeAppInstanceCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstance: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AppInstance !== undefined && data.AppInstance !== null) { + contents.AppInstance = deserializeAws_restJson1AppInstance(data.AppInstance, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeAppInstanceCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkidentity#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkidentity#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkidentity#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkidentity#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkidentity#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkidentity#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeAppInstanceAdminCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeAppInstanceAdminCommandError(output, context); } const contents: DescribeAppInstanceAdminCommandOutput = { $metadata: deserializeMetadata(output), @@ -1366,10 +1771,722 @@ export const deserializeAws_restJson1DescribeAppInstanceAdminCommand = async ( return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeAppInstanceAdminCommandError = async ( +const deserializeAws_restJson1DescribeAppInstanceAdminCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkidentity#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkidentity#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkidentity#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkidentity#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkidentity#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkidentity#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeAppInstanceUserCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeAppInstanceUserCommandError(output, context); + } + const contents: DescribeAppInstanceUserCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceUser: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AppInstanceUser !== undefined && data.AppInstanceUser !== null) { + contents.AppInstanceUser = deserializeAws_restJson1AppInstanceUser(data.AppInstanceUser, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeAppInstanceUserCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkidentity#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkidentity#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkidentity#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkidentity#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkidentity#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkidentity#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1DescribeAppInstanceUserEndpointCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1DescribeAppInstanceUserEndpointCommandError(output, context); + } + const contents: DescribeAppInstanceUserEndpointCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceUserEndpoint: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AppInstanceUserEndpoint !== undefined && data.AppInstanceUserEndpoint !== null) { + contents.AppInstanceUserEndpoint = deserializeAws_restJson1AppInstanceUserEndpoint( + data.AppInstanceUserEndpoint, + context + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1DescribeAppInstanceUserEndpointCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkidentity#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkidentity#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkidentity#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkidentity#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkidentity#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkidentity#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1GetAppInstanceRetentionSettingsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetAppInstanceRetentionSettingsCommandError(output, context); + } + const contents: GetAppInstanceRetentionSettingsCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceRetentionSettings: undefined, + InitiateDeletionTimestamp: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AppInstanceRetentionSettings !== undefined && data.AppInstanceRetentionSettings !== null) { + contents.AppInstanceRetentionSettings = deserializeAws_restJson1AppInstanceRetentionSettings( + data.AppInstanceRetentionSettings, + context + ); + } + if (data.InitiateDeletionTimestamp !== undefined && data.InitiateDeletionTimestamp !== null) { + contents.InitiateDeletionTimestamp = __expectNonNull( + __parseEpochTimestamp(__expectNumber(data.InitiateDeletionTimestamp)) + ); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetAppInstanceRetentionSettingsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkidentity#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkidentity#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkidentity#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkidentity#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkidentity#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkidentity#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListAppInstanceAdminsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListAppInstanceAdminsCommandError(output, context); + } + const contents: ListAppInstanceAdminsCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceAdmins: undefined, + AppInstanceArn: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AppInstanceAdmins !== undefined && data.AppInstanceAdmins !== null) { + contents.AppInstanceAdmins = deserializeAws_restJson1AppInstanceAdminList(data.AppInstanceAdmins, context); + } + if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { + contents.AppInstanceArn = __expectString(data.AppInstanceArn); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListAppInstanceAdminsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkidentity#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkidentity#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceLimitExceededException": + case "com.amazonaws.chimesdkidentity#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkidentity#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkidentity#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkidentity#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkidentity#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListAppInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListAppInstancesCommandError(output, context); + } + const contents: ListAppInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstances: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AppInstances !== undefined && data.AppInstances !== null) { + contents.AppInstances = deserializeAws_restJson1AppInstanceList(data.AppInstances, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListAppInstancesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkidentity#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkidentity#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkidentity#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkidentity#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkidentity#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkidentity#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListAppInstanceUserEndpointsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListAppInstanceUserEndpointsCommandError(output, context); + } + const contents: ListAppInstanceUserEndpointsCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceUserEndpoints: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AppInstanceUserEndpoints !== undefined && data.AppInstanceUserEndpoints !== null) { + contents.AppInstanceUserEndpoints = deserializeAws_restJson1AppInstanceUserEndpointSummaryList( + data.AppInstanceUserEndpoints, + context + ); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListAppInstanceUserEndpointsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkidentity#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkidentity#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkidentity#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkidentity#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkidentity#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkidentity#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_restJson1ListAppInstanceUsersCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1ListAppInstanceUsersCommandError(output, context); + } + const contents: ListAppInstanceUsersCommandOutput = { + $metadata: deserializeMetadata(output), + AppInstanceArn: undefined, + AppInstanceUsers: undefined, + NextToken: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { + contents.AppInstanceArn = __expectString(data.AppInstanceArn); + } + if (data.AppInstanceUsers !== undefined && data.AppInstanceUsers !== null) { + contents.AppInstanceUsers = deserializeAws_restJson1AppInstanceUserList(data.AppInstanceUsers, context); + } + if (data.NextToken !== undefined && data.NextToken !== null) { + contents.NextToken = __expectString(data.NextToken); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1ListAppInstanceUsersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1443,28 +2560,28 @@ const deserializeAws_restJson1DescribeAppInstanceAdminCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1DescribeAppInstanceUserCommand = async ( +export const deserializeAws_restJson1ListTagsForResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1DescribeAppInstanceUserCommandError(output, context); + return deserializeAws_restJson1ListTagsForResourceCommandError(output, context); } - const contents: DescribeAppInstanceUserCommandOutput = { + const contents: ListTagsForResourceCommandOutput = { $metadata: deserializeMetadata(output), - AppInstanceUser: undefined, + Tags: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.AppInstanceUser !== undefined && data.AppInstanceUser !== null) { - contents.AppInstanceUser = deserializeAws_restJson1AppInstanceUser(data.AppInstanceUser, context); + if (data.Tags !== undefined && data.Tags !== null) { + contents.Tags = deserializeAws_restJson1TagList(data.Tags, context); } return Promise.resolve(contents); }; -const deserializeAws_restJson1DescribeAppInstanceUserCommandError = async ( +const deserializeAws_restJson1ListTagsForResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1538,14 +2655,14 @@ const deserializeAws_restJson1DescribeAppInstanceUserCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1GetAppInstanceRetentionSettingsCommand = async ( +export const deserializeAws_restJson1PutAppInstanceRetentionSettingsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1GetAppInstanceRetentionSettingsCommandError(output, context); + return deserializeAws_restJson1PutAppInstanceRetentionSettingsCommandError(output, context); } - const contents: GetAppInstanceRetentionSettingsCommandOutput = { + const contents: PutAppInstanceRetentionSettingsCommandOutput = { $metadata: deserializeMetadata(output), AppInstanceRetentionSettings: undefined, InitiateDeletionTimestamp: undefined, @@ -1565,10 +2682,10 @@ export const deserializeAws_restJson1GetAppInstanceRetentionSettingsCommand = as return Promise.resolve(contents); }; -const deserializeAws_restJson1GetAppInstanceRetentionSettingsCommandError = async ( +const deserializeAws_restJson1PutAppInstanceRetentionSettingsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1642,36 +2759,32 @@ const deserializeAws_restJson1GetAppInstanceRetentionSettingsCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListAppInstanceAdminsCommand = async ( +export const deserializeAws_restJson1RegisterAppInstanceUserEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListAppInstanceAdminsCommandError(output, context); +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return deserializeAws_restJson1RegisterAppInstanceUserEndpointCommandError(output, context); } - const contents: ListAppInstanceAdminsCommandOutput = { + const contents: RegisterAppInstanceUserEndpointCommandOutput = { $metadata: deserializeMetadata(output), - AppInstanceAdmins: undefined, - AppInstanceArn: undefined, - NextToken: undefined, + AppInstanceUserArn: undefined, + EndpointId: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.AppInstanceAdmins !== undefined && data.AppInstanceAdmins !== null) { - contents.AppInstanceAdmins = deserializeAws_restJson1AppInstanceAdminList(data.AppInstanceAdmins, context); - } - if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { - contents.AppInstanceArn = __expectString(data.AppInstanceArn); + if (data.AppInstanceUserArn !== undefined && data.AppInstanceUserArn !== null) { + contents.AppInstanceUserArn = __expectString(data.AppInstanceUserArn); } - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = __expectString(data.NextToken); + if (data.EndpointId !== undefined && data.EndpointId !== null) { + contents.EndpointId = __expectString(data.EndpointId); } return Promise.resolve(contents); }; -const deserializeAws_restJson1ListAppInstanceAdminsCommandError = async ( +const deserializeAws_restJson1RegisterAppInstanceUserEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1688,6 +2801,14 @@ const deserializeAws_restJson1ListAppInstanceAdminsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chimesdkidentity#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chimesdkidentity#ForbiddenException": response = { @@ -1753,32 +2874,24 @@ const deserializeAws_restJson1ListAppInstanceAdminsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListAppInstancesCommand = async ( +export const deserializeAws_restJson1TagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListAppInstancesCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1TagResourceCommandError(output, context); } - const contents: ListAppInstancesCommandOutput = { + const contents: TagResourceCommandOutput = { $metadata: deserializeMetadata(output), - AppInstances: undefined, - NextToken: undefined, }; - const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.AppInstances !== undefined && data.AppInstances !== null) { - contents.AppInstances = deserializeAws_restJson1AppInstanceList(data.AppInstances, context); - } - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = __expectString(data.NextToken); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ListAppInstancesCommandError = async ( +const deserializeAws_restJson1TagResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1803,6 +2916,14 @@ const deserializeAws_restJson1ListAppInstancesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceLimitExceededException": + case "com.amazonaws.chimesdkidentity#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chimesdkidentity#ServiceFailureException": response = { @@ -1852,36 +2973,24 @@ const deserializeAws_restJson1ListAppInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1ListAppInstanceUsersCommand = async ( +export const deserializeAws_restJson1UntagResourceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { - if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1ListAppInstanceUsersCommandError(output, context); +): Promise => { + if (output.statusCode !== 204 && output.statusCode >= 300) { + return deserializeAws_restJson1UntagResourceCommandError(output, context); } - const contents: ListAppInstanceUsersCommandOutput = { + const contents: UntagResourceCommandOutput = { $metadata: deserializeMetadata(output), - AppInstanceArn: undefined, - AppInstanceUsers: undefined, - NextToken: undefined, }; - const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { - contents.AppInstanceArn = __expectString(data.AppInstanceArn); - } - if (data.AppInstanceUsers !== undefined && data.AppInstanceUsers !== null) { - contents.AppInstanceUsers = deserializeAws_restJson1AppInstanceUserList(data.AppInstanceUsers, context); - } - if (data.NextToken !== undefined && data.NextToken !== null) { - contents.NextToken = __expectString(data.NextToken); - } + await collectBody(output.body, context); return Promise.resolve(contents); }; -const deserializeAws_restJson1ListAppInstanceUsersCommandError = async ( +const deserializeAws_restJson1UntagResourceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -1955,37 +3064,28 @@ const deserializeAws_restJson1ListAppInstanceUsersCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1PutAppInstanceRetentionSettingsCommand = async ( +export const deserializeAws_restJson1UpdateAppInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1PutAppInstanceRetentionSettingsCommandError(output, context); + return deserializeAws_restJson1UpdateAppInstanceCommandError(output, context); } - const contents: PutAppInstanceRetentionSettingsCommandOutput = { + const contents: UpdateAppInstanceCommandOutput = { $metadata: deserializeMetadata(output), - AppInstanceRetentionSettings: undefined, - InitiateDeletionTimestamp: undefined, + AppInstanceArn: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.AppInstanceRetentionSettings !== undefined && data.AppInstanceRetentionSettings !== null) { - contents.AppInstanceRetentionSettings = deserializeAws_restJson1AppInstanceRetentionSettings( - data.AppInstanceRetentionSettings, - context - ); - } - if (data.InitiateDeletionTimestamp !== undefined && data.InitiateDeletionTimestamp !== null) { - contents.InitiateDeletionTimestamp = __expectNonNull( - __parseEpochTimestamp(__expectNumber(data.InitiateDeletionTimestamp)) - ); + if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { + contents.AppInstanceArn = __expectString(data.AppInstanceArn); } return Promise.resolve(contents); }; -const deserializeAws_restJson1PutAppInstanceRetentionSettingsCommandError = async ( +const deserializeAws_restJson1UpdateAppInstanceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2002,6 +3102,14 @@ const deserializeAws_restJson1PutAppInstanceRetentionSettingsCommandError = asyn $metadata: deserializeMetadata(output), }; break; + case "ConflictException": + case "com.amazonaws.chimesdkidentity#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ForbiddenException": case "com.amazonaws.chimesdkidentity#ForbiddenException": response = { @@ -2059,28 +3167,28 @@ const deserializeAws_restJson1PutAppInstanceRetentionSettingsCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateAppInstanceCommand = async ( +export const deserializeAws_restJson1UpdateAppInstanceUserCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateAppInstanceCommandError(output, context); + return deserializeAws_restJson1UpdateAppInstanceUserCommandError(output, context); } - const contents: UpdateAppInstanceCommandOutput = { + const contents: UpdateAppInstanceUserCommandOutput = { $metadata: deserializeMetadata(output), - AppInstanceArn: undefined, + AppInstanceUserArn: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); - if (data.AppInstanceArn !== undefined && data.AppInstanceArn !== null) { - contents.AppInstanceArn = __expectString(data.AppInstanceArn); + if (data.AppInstanceUserArn !== undefined && data.AppInstanceUserArn !== null) { + contents.AppInstanceUserArn = __expectString(data.AppInstanceUserArn); } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateAppInstanceCommandError = async ( +const deserializeAws_restJson1UpdateAppInstanceUserCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2113,6 +3221,14 @@ const deserializeAws_restJson1UpdateAppInstanceCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "ResourceLimitExceededException": + case "com.amazonaws.chimesdkidentity#ResourceLimitExceededException": + response = { + ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; case "ServiceFailureException": case "com.amazonaws.chimesdkidentity#ServiceFailureException": response = { @@ -2162,28 +3278,32 @@ const deserializeAws_restJson1UpdateAppInstanceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_restJson1UpdateAppInstanceUserCommand = async ( +export const deserializeAws_restJson1UpdateAppInstanceUserEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode !== 200 && output.statusCode >= 300) { - return deserializeAws_restJson1UpdateAppInstanceUserCommandError(output, context); + return deserializeAws_restJson1UpdateAppInstanceUserEndpointCommandError(output, context); } - const contents: UpdateAppInstanceUserCommandOutput = { + const contents: UpdateAppInstanceUserEndpointCommandOutput = { $metadata: deserializeMetadata(output), AppInstanceUserArn: undefined, + EndpointId: undefined, }; const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); if (data.AppInstanceUserArn !== undefined && data.AppInstanceUserArn !== null) { contents.AppInstanceUserArn = __expectString(data.AppInstanceUserArn); } + if (data.EndpointId !== undefined && data.EndpointId !== null) { + contents.EndpointId = __expectString(data.EndpointId); + } return Promise.resolve(contents); }; -const deserializeAws_restJson1UpdateAppInstanceUserCommandError = async ( +const deserializeAws_restJson1UpdateAppInstanceUserEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -2216,14 +3336,6 @@ const deserializeAws_restJson1UpdateAppInstanceUserCommandError = async ( $metadata: deserializeMetadata(output), }; break; - case "ResourceLimitExceededException": - case "com.amazonaws.chimesdkidentity#ResourceLimitExceededException": - response = { - ...(await deserializeAws_restJson1ResourceLimitExceededExceptionResponse(parsedOutput, context)), - name: errorCode, - $metadata: deserializeMetadata(output), - }; - break; case "ServiceFailureException": case "com.amazonaws.chimesdkidentity#ServiceFailureException": response = { @@ -2465,6 +3577,14 @@ const serializeAws_restJson1ChannelRetentionSettings = ( }; }; +const serializeAws_restJson1EndpointAttributes = (input: EndpointAttributes, context: __SerdeContext): any => { + return { + ...(input.DeviceToken !== undefined && input.DeviceToken !== null && { DeviceToken: input.DeviceToken }), + ...(input.VoipDeviceToken !== undefined && + input.VoipDeviceToken !== null && { VoipDeviceToken: input.VoipDeviceToken }), + }; +}; + const serializeAws_restJson1Tag = (input: Tag, context: __SerdeContext): any => { return { ...(input.Key !== undefined && input.Key !== null && { Key: input.Key }), @@ -2472,6 +3592,17 @@ const serializeAws_restJson1Tag = (input: Tag, context: __SerdeContext): any => }; }; +const serializeAws_restJson1TagKeyList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_restJson1TagList = (input: Tag[], context: __SerdeContext): any => { return input .filter((e: any) => e != null) @@ -2586,6 +3717,67 @@ const deserializeAws_restJson1AppInstanceUser = (output: any, context: __SerdeCo } as any; }; +const deserializeAws_restJson1AppInstanceUserEndpoint = ( + output: any, + context: __SerdeContext +): AppInstanceUserEndpoint => { + return { + AllowMessages: __expectString(output.AllowMessages), + AppInstanceUserArn: __expectString(output.AppInstanceUserArn), + CreatedTimestamp: + output.CreatedTimestamp !== undefined && output.CreatedTimestamp !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreatedTimestamp))) + : undefined, + EndpointAttributes: + output.EndpointAttributes !== undefined && output.EndpointAttributes !== null + ? deserializeAws_restJson1EndpointAttributes(output.EndpointAttributes, context) + : undefined, + EndpointId: __expectString(output.EndpointId), + EndpointState: + output.EndpointState !== undefined && output.EndpointState !== null + ? deserializeAws_restJson1EndpointState(output.EndpointState, context) + : undefined, + LastUpdatedTimestamp: + output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedTimestamp))) + : undefined, + Name: __expectString(output.Name), + ResourceArn: __expectString(output.ResourceArn), + Type: __expectString(output.Type), + } as any; +}; + +const deserializeAws_restJson1AppInstanceUserEndpointSummary = ( + output: any, + context: __SerdeContext +): AppInstanceUserEndpointSummary => { + return { + AllowMessages: __expectString(output.AllowMessages), + AppInstanceUserArn: __expectString(output.AppInstanceUserArn), + EndpointId: __expectString(output.EndpointId), + EndpointState: + output.EndpointState !== undefined && output.EndpointState !== null + ? deserializeAws_restJson1EndpointState(output.EndpointState, context) + : undefined, + Name: __expectString(output.Name), + Type: __expectString(output.Type), + } as any; +}; + +const deserializeAws_restJson1AppInstanceUserEndpointSummaryList = ( + output: any, + context: __SerdeContext +): AppInstanceUserEndpointSummary[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1AppInstanceUserEndpointSummary(entry, context); + }); +}; + const deserializeAws_restJson1AppInstanceUserList = ( output: any, context: __SerdeContext @@ -2620,6 +3812,20 @@ const deserializeAws_restJson1ChannelRetentionSettings = ( } as any; }; +const deserializeAws_restJson1EndpointAttributes = (output: any, context: __SerdeContext): EndpointAttributes => { + return { + DeviceToken: __expectString(output.DeviceToken), + VoipDeviceToken: __expectString(output.VoipDeviceToken), + } as any; +}; + +const deserializeAws_restJson1EndpointState = (output: any, context: __SerdeContext): EndpointState => { + return { + Status: __expectString(output.Status), + StatusReason: __expectString(output.StatusReason), + } as any; +}; + const deserializeAws_restJson1Identity = (output: any, context: __SerdeContext): Identity => { return { Arn: __expectString(output.Arn), @@ -2627,6 +3833,24 @@ const deserializeAws_restJson1Identity = (output: any, context: __SerdeContext): } as any; }; +const deserializeAws_restJson1Tag = (output: any, context: __SerdeContext): Tag => { + return { + Key: __expectString(output.Key), + Value: __expectString(output.Value), + } as any; +}; + +const deserializeAws_restJson1TagList = (output: any, context: __SerdeContext): Tag[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_restJson1Tag(entry, context); + }); +}; + const deserializeMetadata = (output: __HttpResponse): __ResponseMetadata => ({ httpStatusCode: output.statusCode, requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"], diff --git a/clients/client-chime-sdk-messaging/src/ChimeSDKMessaging.ts b/clients/client-chime-sdk-messaging/src/ChimeSDKMessaging.ts index 2a27d1e10eed..6d2b62e4c7e7 100644 --- a/clients/client-chime-sdk-messaging/src/ChimeSDKMessaging.ts +++ b/clients/client-chime-sdk-messaging/src/ChimeSDKMessaging.ts @@ -111,6 +111,11 @@ import { DisassociateChannelFlowCommandInput, DisassociateChannelFlowCommandOutput, } from "./commands/DisassociateChannelFlowCommand"; +import { + GetChannelMembershipPreferencesCommand, + GetChannelMembershipPreferencesCommandInput, + GetChannelMembershipPreferencesCommandOutput, +} from "./commands/GetChannelMembershipPreferencesCommand"; import { GetChannelMessageCommand, GetChannelMessageCommandInput, @@ -176,6 +181,11 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PutChannelMembershipPreferencesCommand, + PutChannelMembershipPreferencesCommandInput, + PutChannelMembershipPreferencesCommandOutput, +} from "./commands/PutChannelMembershipPreferencesCommand"; import { RedactChannelMessageCommand, RedactChannelMessageCommandInput, @@ -474,7 +484,7 @@ export class ChimeSDKMessaging extends ChimeSDKMessagingClient { } /** - *

    Adds a user to a channel. The InvitedBy response field is derived from the + *

    Adds a user to a channel. The InvitedBy field in ChannelMembership is derived from the * request header. A channel member can:

    * *
      @@ -1131,6 +1141,40 @@ export class ChimeSDKMessaging extends ChimeSDKMessagingClient { } } + /** + *

      Gets the membership preferences of an AppInstanceUser for the specified channel. The AppInstanceUser must be a member of the channel. + * Only the AppInstanceUser who owns the membership can retrieve preferences. Users in the AppInstanceAdmin and channel moderator roles can't retrieve preferences for other users. + * Banned users can't retrieve membership preferences for the channel from which they are banned.

      + */ + public getChannelMembershipPreferences( + args: GetChannelMembershipPreferencesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getChannelMembershipPreferences( + args: GetChannelMembershipPreferencesCommandInput, + cb: (err: any, data?: GetChannelMembershipPreferencesCommandOutput) => void + ): void; + public getChannelMembershipPreferences( + args: GetChannelMembershipPreferencesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetChannelMembershipPreferencesCommandOutput) => void + ): void; + public getChannelMembershipPreferences( + args: GetChannelMembershipPreferencesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetChannelMembershipPreferencesCommandOutput) => void), + cb?: (err: any, data?: GetChannelMembershipPreferencesCommandOutput) => void + ): Promise | void { + const command = new GetChannelMembershipPreferencesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Gets the full details of a channel message.

      * @@ -1343,11 +1387,13 @@ export class ChimeSDKMessaging extends ChimeSDKMessagingClient { *

      Lists all channel memberships in a channel.

      * * - * *

      The x-amz-chime-bearer request header is mandatory. Use the * AppInstanceUserArn of the user that makes the API call as the value in * the header.

      *
      + * + *

      If you want to list the channels to which a specific app instance user belongs, see the + * ListChannelMembershipsForAppInstanceUser API.

      */ public listChannelMemberships( args: ListChannelMembershipsCommandInput, @@ -1654,6 +1700,40 @@ export class ChimeSDKMessaging extends ChimeSDKMessagingClient { } } + /** + *

      Sets the membership preferences of an AppInstanceUser for the specified channel. The AppInstanceUser must be a member of the channel. + * Only the AppInstanceUser who owns the membership can set preferences. Users in the AppInstanceAdmin and channel moderator roles can't set preferences for other users. + * Banned users can't set membership preferences for the channel from which they are banned.

      + */ + public putChannelMembershipPreferences( + args: PutChannelMembershipPreferencesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public putChannelMembershipPreferences( + args: PutChannelMembershipPreferencesCommandInput, + cb: (err: any, data?: PutChannelMembershipPreferencesCommandOutput) => void + ): void; + public putChannelMembershipPreferences( + args: PutChannelMembershipPreferencesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PutChannelMembershipPreferencesCommandOutput) => void + ): void; + public putChannelMembershipPreferences( + args: PutChannelMembershipPreferencesCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: PutChannelMembershipPreferencesCommandOutput) => void), + cb?: (err: any, data?: PutChannelMembershipPreferencesCommandOutput) => void + ): Promise | void { + const command = new PutChannelMembershipPreferencesCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

      Redacts message content, but not metadata. The message exists in the back end, but the * action returns null content, and the state shows as redacted.

      diff --git a/clients/client-chime-sdk-messaging/src/ChimeSDKMessagingClient.ts b/clients/client-chime-sdk-messaging/src/ChimeSDKMessagingClient.ts index f5514efb27d9..545cd4195210 100644 --- a/clients/client-chime-sdk-messaging/src/ChimeSDKMessagingClient.ts +++ b/clients/client-chime-sdk-messaging/src/ChimeSDKMessagingClient.ts @@ -113,6 +113,10 @@ import { DisassociateChannelFlowCommandInput, DisassociateChannelFlowCommandOutput, } from "./commands/DisassociateChannelFlowCommand"; +import { + GetChannelMembershipPreferencesCommandInput, + GetChannelMembershipPreferencesCommandOutput, +} from "./commands/GetChannelMembershipPreferencesCommand"; import { GetChannelMessageCommandInput, GetChannelMessageCommandOutput } from "./commands/GetChannelMessageCommand"; import { GetChannelMessageStatusCommandInput, @@ -153,6 +157,10 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PutChannelMembershipPreferencesCommandInput, + PutChannelMembershipPreferencesCommandOutput, +} from "./commands/PutChannelMembershipPreferencesCommand"; import { RedactChannelMessageCommandInput, RedactChannelMessageCommandOutput, @@ -195,6 +203,7 @@ export type ServiceInputTypes = | DescribeChannelModeratedByAppInstanceUserCommandInput | DescribeChannelModeratorCommandInput | DisassociateChannelFlowCommandInput + | GetChannelMembershipPreferencesCommandInput | GetChannelMessageCommandInput | GetChannelMessageStatusCommandInput | GetMessagingSessionEndpointCommandInput @@ -208,6 +217,7 @@ export type ServiceInputTypes = | ListChannelsCommandInput | ListChannelsModeratedByAppInstanceUserCommandInput | ListTagsForResourceCommandInput + | PutChannelMembershipPreferencesCommandInput | RedactChannelMessageCommandInput | SendChannelMessageCommandInput | TagResourceCommandInput @@ -240,6 +250,7 @@ export type ServiceOutputTypes = | DescribeChannelModeratedByAppInstanceUserCommandOutput | DescribeChannelModeratorCommandOutput | DisassociateChannelFlowCommandOutput + | GetChannelMembershipPreferencesCommandOutput | GetChannelMessageCommandOutput | GetChannelMessageStatusCommandOutput | GetMessagingSessionEndpointCommandOutput @@ -253,6 +264,7 @@ export type ServiceOutputTypes = | ListChannelsCommandOutput | ListChannelsModeratedByAppInstanceUserCommandOutput | ListTagsForResourceCommandOutput + | PutChannelMembershipPreferencesCommandOutput | RedactChannelMessageCommandOutput | SendChannelMessageCommandOutput | TagResourceCommandOutput diff --git a/clients/client-chime-sdk-messaging/src/commands/CreateChannelMembershipCommand.ts b/clients/client-chime-sdk-messaging/src/commands/CreateChannelMembershipCommand.ts index 13c71a2f3432..0d0f8f00f027 100644 --- a/clients/client-chime-sdk-messaging/src/commands/CreateChannelMembershipCommand.ts +++ b/clients/client-chime-sdk-messaging/src/commands/CreateChannelMembershipCommand.ts @@ -26,7 +26,7 @@ export interface CreateChannelMembershipCommandInput extends CreateChannelMember export interface CreateChannelMembershipCommandOutput extends CreateChannelMembershipResponse, __MetadataBearer {} /** - *

      Adds a user to a channel. The InvitedBy response field is derived from the + *

      Adds a user to a channel. The InvitedBy field in ChannelMembership is derived from the * request header. A channel member can:

      * *
        diff --git a/clients/client-chime-sdk-messaging/src/commands/GetChannelMembershipPreferencesCommand.ts b/clients/client-chime-sdk-messaging/src/commands/GetChannelMembershipPreferencesCommand.ts new file mode 100644 index 000000000000..579bcfa01e90 --- /dev/null +++ b/clients/client-chime-sdk-messaging/src/commands/GetChannelMembershipPreferencesCommand.ts @@ -0,0 +1,109 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { + ChimeSDKMessagingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../ChimeSDKMessagingClient"; +import { GetChannelMembershipPreferencesRequest, GetChannelMembershipPreferencesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1GetChannelMembershipPreferencesCommand, + serializeAws_restJson1GetChannelMembershipPreferencesCommand, +} from "../protocols/Aws_restJson1"; + +export interface GetChannelMembershipPreferencesCommandInput extends GetChannelMembershipPreferencesRequest {} +export interface GetChannelMembershipPreferencesCommandOutput + extends GetChannelMembershipPreferencesResponse, + __MetadataBearer {} + +/** + *

        Gets the membership preferences of an AppInstanceUser for the specified channel. The AppInstanceUser must be a member of the channel. + * Only the AppInstanceUser who owns the membership can retrieve preferences. Users in the AppInstanceAdmin and channel moderator roles can't retrieve preferences for other users. + * Banned users can't retrieve membership preferences for the channel from which they are banned.

        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMessagingClient, GetChannelMembershipPreferencesCommand } from "@aws-sdk/client-chime-sdk-messaging"; // ES Modules import + * // const { ChimeSDKMessagingClient, GetChannelMembershipPreferencesCommand } = require("@aws-sdk/client-chime-sdk-messaging"); // CommonJS import + * const client = new ChimeSDKMessagingClient(config); + * const command = new GetChannelMembershipPreferencesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetChannelMembershipPreferencesCommandInput} for command's `input` shape. + * @see {@link GetChannelMembershipPreferencesCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMessagingClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetChannelMembershipPreferencesCommand extends $Command< + GetChannelMembershipPreferencesCommandInput, + GetChannelMembershipPreferencesCommandOutput, + ChimeSDKMessagingClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetChannelMembershipPreferencesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKMessagingClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKMessagingClient"; + const commandName = "GetChannelMembershipPreferencesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetChannelMembershipPreferencesRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetChannelMembershipPreferencesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetChannelMembershipPreferencesCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1GetChannelMembershipPreferencesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1GetChannelMembershipPreferencesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-messaging/src/commands/ListChannelMembershipsCommand.ts b/clients/client-chime-sdk-messaging/src/commands/ListChannelMembershipsCommand.ts index 1f47aa12cfcb..fb65f9f81ffa 100644 --- a/clients/client-chime-sdk-messaging/src/commands/ListChannelMembershipsCommand.ts +++ b/clients/client-chime-sdk-messaging/src/commands/ListChannelMembershipsCommand.ts @@ -29,11 +29,13 @@ export interface ListChannelMembershipsCommandOutput extends ListChannelMembersh *

        Lists all channel memberships in a channel.

        * * - * *

        The x-amz-chime-bearer request header is mandatory. Use the * AppInstanceUserArn of the user that makes the API call as the value in * the header.

        *
        + * + *

        If you want to list the channels to which a specific app instance user belongs, see the + * ListChannelMembershipsForAppInstanceUser API.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-chime-sdk-messaging/src/commands/PutChannelMembershipPreferencesCommand.ts b/clients/client-chime-sdk-messaging/src/commands/PutChannelMembershipPreferencesCommand.ts new file mode 100644 index 000000000000..fb1086407159 --- /dev/null +++ b/clients/client-chime-sdk-messaging/src/commands/PutChannelMembershipPreferencesCommand.ts @@ -0,0 +1,109 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { + ChimeSDKMessagingClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes, +} from "../ChimeSDKMessagingClient"; +import { PutChannelMembershipPreferencesRequest, PutChannelMembershipPreferencesResponse } from "../models/models_0"; +import { + deserializeAws_restJson1PutChannelMembershipPreferencesCommand, + serializeAws_restJson1PutChannelMembershipPreferencesCommand, +} from "../protocols/Aws_restJson1"; + +export interface PutChannelMembershipPreferencesCommandInput extends PutChannelMembershipPreferencesRequest {} +export interface PutChannelMembershipPreferencesCommandOutput + extends PutChannelMembershipPreferencesResponse, + __MetadataBearer {} + +/** + *

        Sets the membership preferences of an AppInstanceUser for the specified channel. The AppInstanceUser must be a member of the channel. + * Only the AppInstanceUser who owns the membership can set preferences. Users in the AppInstanceAdmin and channel moderator roles can't set preferences for other users. + * Banned users can't set membership preferences for the channel from which they are banned.

        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ChimeSDKMessagingClient, PutChannelMembershipPreferencesCommand } from "@aws-sdk/client-chime-sdk-messaging"; // ES Modules import + * // const { ChimeSDKMessagingClient, PutChannelMembershipPreferencesCommand } = require("@aws-sdk/client-chime-sdk-messaging"); // CommonJS import + * const client = new ChimeSDKMessagingClient(config); + * const command = new PutChannelMembershipPreferencesCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link PutChannelMembershipPreferencesCommandInput} for command's `input` shape. + * @see {@link PutChannelMembershipPreferencesCommandOutput} for command's `response` shape. + * @see {@link ChimeSDKMessagingClientResolvedConfig | config} for command's `input` shape. + * + */ +export class PutChannelMembershipPreferencesCommand extends $Command< + PutChannelMembershipPreferencesCommandInput, + PutChannelMembershipPreferencesCommandOutput, + ChimeSDKMessagingClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: PutChannelMembershipPreferencesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: ChimeSDKMessagingClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "ChimeSDKMessagingClient"; + const commandName = "PutChannelMembershipPreferencesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: PutChannelMembershipPreferencesRequest.filterSensitiveLog, + outputFilterSensitiveLog: PutChannelMembershipPreferencesResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: PutChannelMembershipPreferencesCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_restJson1PutChannelMembershipPreferencesCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_restJson1PutChannelMembershipPreferencesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-chime-sdk-messaging/src/commands/index.ts b/clients/client-chime-sdk-messaging/src/commands/index.ts index 8c3ec1011305..c2f7d88f001b 100644 --- a/clients/client-chime-sdk-messaging/src/commands/index.ts +++ b/clients/client-chime-sdk-messaging/src/commands/index.ts @@ -20,6 +20,7 @@ export * from "./DescribeChannelMembershipForAppInstanceUserCommand"; export * from "./DescribeChannelModeratedByAppInstanceUserCommand"; export * from "./DescribeChannelModeratorCommand"; export * from "./DisassociateChannelFlowCommand"; +export * from "./GetChannelMembershipPreferencesCommand"; export * from "./GetChannelMessageCommand"; export * from "./GetChannelMessageStatusCommand"; export * from "./GetMessagingSessionEndpointCommand"; @@ -33,6 +34,7 @@ export * from "./ListChannelsAssociatedWithChannelFlowCommand"; export * from "./ListChannelsCommand"; export * from "./ListChannelsModeratedByAppInstanceUserCommand"; export * from "./ListTagsForResourceCommand"; +export * from "./PutChannelMembershipPreferencesCommand"; export * from "./RedactChannelMessageCommand"; export * from "./SendChannelMessageCommand"; export * from "./TagResourceCommand"; diff --git a/clients/client-chime-sdk-messaging/src/models/models_0.ts b/clients/client-chime-sdk-messaging/src/models/models_0.ts index dd751aa951de..22fb68068cd8 100644 --- a/clients/client-chime-sdk-messaging/src/models/models_0.ts +++ b/clients/client-chime-sdk-messaging/src/models/models_0.ts @@ -1,6 +1,12 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; +export enum AllowNotifications { + ALL = "ALL", + FILTERED = "FILTERED", + NONE = "NONE", +} + export enum ChannelMembershipType { DEFAULT = "DEFAULT", HIDDEN = "HIDDEN", @@ -305,7 +311,7 @@ export interface BatchCreateChannelMembershipRequest { Type?: ChannelMembershipType | string; /** - *

        The ARNs of the members you want to add to the channel.

        + *

        The AppInstanceUserArns of the members you want to add to the channel.

        */ MemberArns: string[] | undefined; @@ -329,7 +335,7 @@ export namespace BatchCreateChannelMembershipRequest { */ export interface BatchCreateChannelMembershipError { /** - *

        The ARN of the member that the service couldn't add.

        + *

        The AppInstanceUserArn of the member that the service couldn't add.

        */ MemberArn?: string; @@ -625,8 +631,9 @@ export interface Processor { ExecutionOrder: number | undefined; /** - *

        Determines whether to continue or stop processing if communication with processor fails. If the last processor in a channel flow sequence has a fallback action of CONTINUE, and communication - * with the processor fails, the message is considered processed and sent to the recipients in the channel.

        + *

        Determines whether to continue with message processing or stop it in cases where communication with a processor fails. If a processor has a fallback action of ABORT and + * communication with it fails, the processor sets the message status to FAILED and does not send the message to any recipients. Note that if the last processor in the channel flow sequence + * has a fallback action of CONTINUE and communication with the processor fails, then the message is considered processed and sent to recipients of the channel.

        */ FallbackAction: FallbackAction | string | undefined; } @@ -914,6 +921,55 @@ export namespace ChannelMembershipForAppInstanceUserSummary { }); } +/** + *

        The channel membership preferences for push notification.

        + */ +export interface PushNotificationPreferences { + /** + *

        Enum value that indicates which push notifications to send to the requested member of a channel. + * ALL sends all push notifications, NONE sends no push notifications, FILTERED sends only filtered push notifications. + *

        + */ + AllowNotifications: AllowNotifications | string | undefined; + + /** + *

        The simple JSON object used to send a subset of a push notification to the requsted member.

        + */ + FilterRule?: string; +} + +export namespace PushNotificationPreferences { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PushNotificationPreferences): any => ({ + ...obj, + ...(obj.FilterRule && { FilterRule: SENSITIVE_STRING }), + }); +} + +/** + *

        The channel membership preferences for an AppInstanceUser.

        + */ +export interface ChannelMembershipPreferences { + /** + *

        The push notification configuration of a message.

        + */ + PushNotifications?: PushNotificationPreferences; +} + +export namespace ChannelMembershipPreferences { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ChannelMembershipPreferences): any => ({ + ...obj, + ...(obj.PushNotifications && { + PushNotifications: PushNotificationPreferences.filterSensitiveLog(obj.PushNotifications), + }), + }); +} + /** *

        Summary of the details of a ChannelMembership.

        */ @@ -934,6 +990,26 @@ export namespace ChannelMembershipSummary { }); } +/** + *

        A list of message attribute values.

        + */ +export interface MessageAttributeValue { + /** + *

        The strings in a message attribute value.

        + */ + StringValues?: string[]; +} + +export namespace MessageAttributeValue { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MessageAttributeValue): any => ({ + ...obj, + ...(obj.StringValues && { StringValues: SENSITIVE_STRING }), + }); +} + export enum ChannelMessagePersistenceType { NON_PERSISTENT = "NON_PERSISTENT", PERSISTENT = "PERSISTENT", @@ -1038,6 +1114,11 @@ export interface ChannelMessage { *

        The status of the channel message.

        */ Status?: ChannelMessageStatusStructure; + + /** + *

        The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

        + */ + MessageAttributes?: { [key: string]: MessageAttributeValue }; } export namespace ChannelMessage { @@ -1049,6 +1130,15 @@ export namespace ChannelMessage { ...(obj.Content && { Content: SENSITIVE_STRING }), ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), ...(obj.Sender && { Sender: Identity.filterSensitiveLog(obj.Sender) }), + ...(obj.MessageAttributes && { + MessageAttributes: Object.entries(obj.MessageAttributes).reduce( + (acc: any, [key, value]: [string, MessageAttributeValue]) => ({ + ...acc, + [key]: MessageAttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -1106,6 +1196,11 @@ export interface ChannelMessageSummary { * processing stage.

        */ Status?: ChannelMessageStatusStructure; + + /** + *

        The message attribues listed in a the summary of a channel message.

        + */ + MessageAttributes?: { [key: string]: MessageAttributeValue }; } export namespace ChannelMessageSummary { @@ -1117,6 +1212,15 @@ export namespace ChannelMessageSummary { ...(obj.Content && { Content: SENSITIVE_STRING }), ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), ...(obj.Sender && { Sender: Identity.filterSensitiveLog(obj.Sender) }), + ...(obj.MessageAttributes && { + MessageAttributes: Object.entries(obj.MessageAttributes).reduce( + (acc: any, [key, value]: [string, MessageAttributeValue]) => ({ + ...acc, + [key]: MessageAttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } @@ -1323,7 +1427,7 @@ export interface CreateChannelBanRequest { ChannelArn: string | undefined; /** - *

        The ARN of the member being banned.

        + *

        The AppInstanceUserArn of the member being banned.

        */ MemberArn: string | undefined; @@ -1428,7 +1532,7 @@ export interface CreateChannelMembershipRequest { ChannelArn: string | undefined; /** - *

        The ARN of the member you want to add to the channel.

        + *

        The AppInstanceUserArn of the member you want to add to the channel.

        */ MemberArn: string | undefined; @@ -1485,7 +1589,7 @@ export interface CreateChannelModeratorRequest { ChannelArn: string | undefined; /** - *

        The ARN of the moderator.

        + *

        The AppInstanceUserArn of the moderator.

        */ ChannelModeratorArn: string | undefined; @@ -1596,7 +1700,7 @@ export interface DeleteChannelMembershipRequest { ChannelArn: string | undefined; /** - *

        The ARN of the member that you're removing from the channel.

        + *

        The AppInstanceUserArn of the member that you're removing from the channel.

        */ MemberArn: string | undefined; @@ -1648,7 +1752,7 @@ export interface DeleteChannelModeratorRequest { ChannelArn: string | undefined; /** - *

        The ARN of the moderator being deleted.

        + *

        The AppInstanceUserArn of the moderator being deleted.

        */ ChannelModeratorArn: string | undefined; @@ -1712,7 +1816,7 @@ export interface DescribeChannelBanRequest { ChannelArn: string | undefined; /** - *

        The ARN of the member being banned.

        + *

        The AppInstanceUserArn of the member being banned.

        */ MemberArn: string | undefined; @@ -1788,7 +1892,7 @@ export interface DescribeChannelMembershipRequest { ChannelArn: string | undefined; /** - *

        The ARN of the member.

        + *

        The AppInstanceUserArn of the member.

        */ MemberArn: string | undefined; @@ -1919,7 +2023,7 @@ export interface DescribeChannelModeratorRequest { ChannelArn: string | undefined; /** - *

        The ARN of the channel moderator.

        + *

        The AppInstanceUserArn of the channel moderator.

        */ ChannelModeratorArn: string | undefined; @@ -1981,6 +2085,60 @@ export namespace DisassociateChannelFlowRequest { }); } +export interface GetChannelMembershipPreferencesRequest { + /** + *

        The ARN of the channel.

        + */ + ChannelArn: string | undefined; + + /** + *

        The AppInstanceUserArn of the member retrieving the preferences.

        + */ + MemberArn: string | undefined; + + /** + *

        The AppInstanceUserARN of the user making the API call.

        + */ + ChimeBearer: string | undefined; +} + +export namespace GetChannelMembershipPreferencesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetChannelMembershipPreferencesRequest): any => ({ + ...obj, + }); +} + +export interface GetChannelMembershipPreferencesResponse { + /** + *

        The ARN of the channel.

        + */ + ChannelArn?: string; + + /** + *

        The details of a user.

        + */ + Member?: Identity; + + /** + *

        The channel membership preferences for an AppInstanceUser .

        + */ + Preferences?: ChannelMembershipPreferences; +} + +export namespace GetChannelMembershipPreferencesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetChannelMembershipPreferencesResponse): any => ({ + ...obj, + ...(obj.Member && { Member: Identity.filterSensitiveLog(obj.Member) }), + ...(obj.Preferences && { Preferences: ChannelMembershipPreferences.filterSensitiveLog(obj.Preferences) }), + }); +} + export interface GetChannelMessageRequest { /** *

        The ARN of the channel.

        @@ -2710,6 +2868,66 @@ export namespace ListTagsForResourceResponse { }); } +export interface PutChannelMembershipPreferencesRequest { + /** + *

        The ARN of the channel.

        + */ + ChannelArn: string | undefined; + + /** + *

        The AppInstanceUserArn of the member setting the preferences.

        + */ + MemberArn: string | undefined; + + /** + *

        The AppInstanceUserARN of the user making the API call.

        + */ + ChimeBearer: string | undefined; + + /** + *

        The channel membership preferences of an AppInstanceUser .

        + */ + Preferences: ChannelMembershipPreferences | undefined; +} + +export namespace PutChannelMembershipPreferencesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PutChannelMembershipPreferencesRequest): any => ({ + ...obj, + ...(obj.Preferences && { Preferences: ChannelMembershipPreferences.filterSensitiveLog(obj.Preferences) }), + }); +} + +export interface PutChannelMembershipPreferencesResponse { + /** + *

        The ARN of the channel.

        + */ + ChannelArn?: string; + + /** + *

        The details of a user.

        + */ + Member?: Identity; + + /** + *

        The ARN and metadata of the member being added.

        + */ + Preferences?: ChannelMembershipPreferences; +} + +export namespace PutChannelMembershipPreferencesResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PutChannelMembershipPreferencesResponse): any => ({ + ...obj, + ...(obj.Member && { Member: Identity.filterSensitiveLog(obj.Member) }), + ...(obj.Preferences && { Preferences: ChannelMembershipPreferences.filterSensitiveLog(obj.Preferences) }), + }); +} + export interface RedactChannelMessageRequest { /** *

        The ARN of the channel containing the messages that you want to redact.

        @@ -2757,6 +2975,44 @@ export namespace RedactChannelMessageResponse { }); } +export enum PushNotificationType { + DEFAULT = "DEFAULT", + VOIP = "VOIP", +} + +/** + *

        The push notification configuration of the message.

        + */ +export interface PushNotificationConfiguration { + /** + *

        The title of the push notification.

        + */ + Title: string | undefined; + + /** + *

        The body of the push notification.

        + */ + Body: string | undefined; + + /** + *

        Enum value that indicates the type of the push notification for a message. + * DEFAULT: Normal mobile push notification. + * VOIP: VOIP mobile push notification.

        + */ + Type: PushNotificationType | string | undefined; +} + +export namespace PushNotificationConfiguration { + /** + * @internal + */ + export const filterSensitiveLog = (obj: PushNotificationConfiguration): any => ({ + ...obj, + ...(obj.Title && { Title: SENSITIVE_STRING }), + ...(obj.Body && { Body: SENSITIVE_STRING }), + }); +} + export interface SendChannelMessageRequest { /** *

        The ARN of the channel.

        @@ -2792,6 +3048,16 @@ export interface SendChannelMessageRequest { *

        The AppInstanceUserArn of the user that makes the API call.

        */ ChimeBearer: string | undefined; + + /** + *

        The push notification configuration of the message.

        + */ + PushNotification?: PushNotificationConfiguration; + + /** + *

        The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

        + */ + MessageAttributes?: { [key: string]: MessageAttributeValue }; } export namespace SendChannelMessageRequest { @@ -2803,6 +3069,18 @@ export namespace SendChannelMessageRequest { ...(obj.Content && { Content: SENSITIVE_STRING }), ...(obj.Metadata && { Metadata: SENSITIVE_STRING }), ...(obj.ClientRequestToken && { ClientRequestToken: SENSITIVE_STRING }), + ...(obj.PushNotification && { + PushNotification: PushNotificationConfiguration.filterSensitiveLog(obj.PushNotification), + }), + ...(obj.MessageAttributes && { + MessageAttributes: Object.entries(obj.MessageAttributes).reduce( + (acc: any, [key, value]: [string, MessageAttributeValue]) => ({ + ...acc, + [key]: MessageAttributeValue.filterSensitiveLog(value), + }), + {} + ), + }), }); } diff --git a/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts b/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts index 72079db0bb7c..93f7ea6aaa03 100644 --- a/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts +++ b/clients/client-chime-sdk-messaging/src/protocols/Aws_restJson1.ts @@ -82,6 +82,10 @@ import { DisassociateChannelFlowCommandInput, DisassociateChannelFlowCommandOutput, } from "../commands/DisassociateChannelFlowCommand"; +import { + GetChannelMembershipPreferencesCommandInput, + GetChannelMembershipPreferencesCommandOutput, +} from "../commands/GetChannelMembershipPreferencesCommand"; import { GetChannelMessageCommandInput, GetChannelMessageCommandOutput } from "../commands/GetChannelMessageCommand"; import { GetChannelMessageStatusCommandInput, @@ -122,6 +126,10 @@ import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { + PutChannelMembershipPreferencesCommandInput, + PutChannelMembershipPreferencesCommandOutput, +} from "../commands/PutChannelMembershipPreferencesCommand"; import { RedactChannelMessageCommandInput, RedactChannelMessageCommandOutput, @@ -152,6 +160,7 @@ import { ChannelFlowSummary, ChannelMembership, ChannelMembershipForAppInstanceUserSummary, + ChannelMembershipPreferences, ChannelMembershipSummary, ChannelMessage, ChannelMessageCallback, @@ -165,10 +174,13 @@ import { ForbiddenException, Identity, LambdaConfiguration, + MessageAttributeValue, MessagingSessionEndpoint, NotFoundException, Processor, ProcessorConfiguration, + PushNotificationConfiguration, + PushNotificationPreferences, ResourceLimitExceededException, ServiceFailureException, ServiceUnavailableException, @@ -983,6 +995,47 @@ export const serializeAws_restJson1DisassociateChannelFlowCommand = async ( }); }; +export const serializeAws_restJson1GetChannelMembershipPreferencesCommand = async ( + input: GetChannelMembershipPreferencesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + ...(isSerializableHeaderValue(input.ChimeBearer) && { "x-amz-chime-bearer": input.ChimeBearer! }), + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/channels/{ChannelArn}/memberships/{MemberArn}/preferences"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.MemberArn !== undefined) { + const labelValue: string = input.MemberArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MemberArn."); + } + resolvedPath = resolvedPath.replace("{MemberArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MemberArn."); + } + let body: any; + return new __HttpRequest({ + protocol, + hostname, + port, + method: "GET", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1GetChannelMessageCommand = async ( input: GetChannelMessageCommandInput, context: __SerdeContext @@ -1400,6 +1453,54 @@ export const serializeAws_restJson1ListTagsForResourceCommand = async ( }); }; +export const serializeAws_restJson1PutChannelMembershipPreferencesCommand = async ( + input: PutChannelMembershipPreferencesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const { hostname, protocol = "https", port, path: basePath } = await context.endpoint(); + const headers: any = { + "content-type": "application/json", + ...(isSerializableHeaderValue(input.ChimeBearer) && { "x-amz-chime-bearer": input.ChimeBearer! }), + }; + let resolvedPath = + `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + + "/channels/{ChannelArn}/memberships/{MemberArn}/preferences"; + if (input.ChannelArn !== undefined) { + const labelValue: string = input.ChannelArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: ChannelArn."); + } + resolvedPath = resolvedPath.replace("{ChannelArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: ChannelArn."); + } + if (input.MemberArn !== undefined) { + const labelValue: string = input.MemberArn; + if (labelValue.length <= 0) { + throw new Error("Empty value provided for input HTTP label: MemberArn."); + } + resolvedPath = resolvedPath.replace("{MemberArn}", __extendedEncodeURIComponent(labelValue)); + } else { + throw new Error("No value provided for input HTTP label: MemberArn."); + } + let body: any; + body = JSON.stringify({ + ...(input.Preferences !== undefined && + input.Preferences !== null && { + Preferences: serializeAws_restJson1ChannelMembershipPreferences(input.Preferences, context), + }), + }); + return new __HttpRequest({ + protocol, + hostname, + port, + method: "PUT", + headers, + path: resolvedPath, + body, + }); +}; + export const serializeAws_restJson1RedactChannelMessageCommand = async ( input: RedactChannelMessageCommandInput, context: __SerdeContext @@ -1469,8 +1570,16 @@ export const serializeAws_restJson1SendChannelMessageCommand = async ( body = JSON.stringify({ ClientRequestToken: input.ClientRequestToken ?? generateIdempotencyToken(), ...(input.Content !== undefined && input.Content !== null && { Content: input.Content }), + ...(input.MessageAttributes !== undefined && + input.MessageAttributes !== null && { + MessageAttributes: serializeAws_restJson1MessageAttributeMap(input.MessageAttributes, context), + }), ...(input.Metadata !== undefined && input.Metadata !== null && { Metadata: input.Metadata }), ...(input.Persistence !== undefined && input.Persistence !== null && { Persistence: input.Persistence }), + ...(input.PushNotification !== undefined && + input.PushNotification !== null && { + PushNotification: serializeAws_restJson1PushNotificationConfiguration(input.PushNotification, context), + }), ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }), }); return new __HttpRequest({ @@ -3937,6 +4046,109 @@ const deserializeAws_restJson1DisassociateChannelFlowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1GetChannelMembershipPreferencesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1GetChannelMembershipPreferencesCommandError(output, context); + } + const contents: GetChannelMembershipPreferencesCommandOutput = { + $metadata: deserializeMetadata(output), + ChannelArn: undefined, + Member: undefined, + Preferences: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = __expectString(data.ChannelArn); + } + if (data.Member !== undefined && data.Member !== null) { + contents.Member = deserializeAws_restJson1Identity(data.Member, context); + } + if (data.Preferences !== undefined && data.Preferences !== null) { + contents.Preferences = deserializeAws_restJson1ChannelMembershipPreferences(data.Preferences, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1GetChannelMembershipPreferencesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkmessaging#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkmessaging#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkmessaging#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkmessaging#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkmessaging#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkmessaging#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1GetChannelMessageCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5230,6 +5442,117 @@ const deserializeAws_restJson1ListTagsForResourceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_restJson1PutChannelMembershipPreferencesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return deserializeAws_restJson1PutChannelMembershipPreferencesCommandError(output, context); + } + const contents: PutChannelMembershipPreferencesCommandOutput = { + $metadata: deserializeMetadata(output), + ChannelArn: undefined, + Member: undefined, + Preferences: undefined, + }; + const data: { [key: string]: any } = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + if (data.ChannelArn !== undefined && data.ChannelArn !== null) { + contents.ChannelArn = __expectString(data.ChannelArn); + } + if (data.Member !== undefined && data.Member !== null) { + contents.Member = deserializeAws_restJson1Identity(data.Member, context); + } + if (data.Preferences !== undefined && data.Preferences !== null) { + contents.Preferences = deserializeAws_restJson1ChannelMembershipPreferences(data.Preferences, context); + } + return Promise.resolve(contents); +}; + +const deserializeAws_restJson1PutChannelMembershipPreferencesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "BadRequestException": + case "com.amazonaws.chimesdkmessaging#BadRequestException": + response = { + ...(await deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ConflictException": + case "com.amazonaws.chimesdkmessaging#ConflictException": + response = { + ...(await deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ForbiddenException": + case "com.amazonaws.chimesdkmessaging#ForbiddenException": + response = { + ...(await deserializeAws_restJson1ForbiddenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceFailureException": + case "com.amazonaws.chimesdkmessaging#ServiceFailureException": + response = { + ...(await deserializeAws_restJson1ServiceFailureExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ServiceUnavailableException": + case "com.amazonaws.chimesdkmessaging#ServiceUnavailableException": + response = { + ...(await deserializeAws_restJson1ServiceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottledClientException": + case "com.amazonaws.chimesdkmessaging#ThrottledClientException": + response = { + ...(await deserializeAws_restJson1ThrottledClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnauthorizedClientException": + case "com.amazonaws.chimesdkmessaging#UnauthorizedClientException": + response = { + ...(await deserializeAws_restJson1UnauthorizedClientExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_restJson1RedactChannelMessageCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6239,6 +6562,18 @@ const deserializeAws_restJson1UnauthorizedClientExceptionResponse = async ( return contents; }; +const serializeAws_restJson1ChannelMembershipPreferences = ( + input: ChannelMembershipPreferences, + context: __SerdeContext +): any => { + return { + ...(input.PushNotifications !== undefined && + input.PushNotifications !== null && { + PushNotifications: serializeAws_restJson1PushNotificationPreferences(input.PushNotifications, context), + }), + }; +}; + const serializeAws_restJson1ChannelMessageCallback = (input: ChannelMessageCallback, context: __SerdeContext): any => { return { ...(input.Content !== undefined && input.Content !== null && { Content: input.Content }), @@ -6266,6 +6601,41 @@ const serializeAws_restJson1MemberArns = (input: string[], context: __SerdeConte }); }; +const serializeAws_restJson1MessageAttributeMap = ( + input: { [key: string]: MessageAttributeValue }, + context: __SerdeContext +): any => { + return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: serializeAws_restJson1MessageAttributeValue(value, context), + }; + }, {}); +}; + +const serializeAws_restJson1MessageAttributeStringValues = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_restJson1MessageAttributeValue = (input: MessageAttributeValue, context: __SerdeContext): any => { + return { + ...(input.StringValues !== undefined && + input.StringValues !== null && { + StringValues: serializeAws_restJson1MessageAttributeStringValues(input.StringValues, context), + }), + }; +}; + const serializeAws_restJson1Processor = (input: Processor, context: __SerdeContext): any => { return { ...(input.Configuration !== undefined && @@ -6298,6 +6668,28 @@ const serializeAws_restJson1ProcessorList = (input: Processor[], context: __Serd }); }; +const serializeAws_restJson1PushNotificationConfiguration = ( + input: PushNotificationConfiguration, + context: __SerdeContext +): any => { + return { + ...(input.Body !== undefined && input.Body !== null && { Body: input.Body }), + ...(input.Title !== undefined && input.Title !== null && { Title: input.Title }), + ...(input.Type !== undefined && input.Type !== null && { Type: input.Type }), + }; +}; + +const serializeAws_restJson1PushNotificationPreferences = ( + input: PushNotificationPreferences, + context: __SerdeContext +): any => { + return { + ...(input.AllowNotifications !== undefined && + input.AllowNotifications !== null && { AllowNotifications: input.AllowNotifications }), + ...(input.FilterRule !== undefined && input.FilterRule !== null && { FilterRule: input.FilterRule }), + }; +}; + const serializeAws_restJson1Tag = (input: Tag, context: __SerdeContext): any => { return { ...(input.Key !== undefined && input.Key !== null && { Key: input.Key }), @@ -6569,6 +6961,18 @@ const deserializeAws_restJson1ChannelMembershipForAppInstanceUserSummaryList = ( }); }; +const deserializeAws_restJson1ChannelMembershipPreferences = ( + output: any, + context: __SerdeContext +): ChannelMembershipPreferences => { + return { + PushNotifications: + output.PushNotifications !== undefined && output.PushNotifications !== null + ? deserializeAws_restJson1PushNotificationPreferences(output.PushNotifications, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1ChannelMembershipSummary = ( output: any, context: __SerdeContext @@ -6611,6 +7015,10 @@ const deserializeAws_restJson1ChannelMessage = (output: any, context: __SerdeCon output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedTimestamp))) : undefined, + MessageAttributes: + output.MessageAttributes !== undefined && output.MessageAttributes !== null + ? deserializeAws_restJson1MessageAttributeMap(output.MessageAttributes, context) + : undefined, MessageId: __expectString(output.MessageId), Metadata: __expectString(output.Metadata), Persistence: __expectString(output.Persistence), @@ -6652,6 +7060,10 @@ const deserializeAws_restJson1ChannelMessageSummary = (output: any, context: __S output.LastUpdatedTimestamp !== undefined && output.LastUpdatedTimestamp !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastUpdatedTimestamp))) : undefined, + MessageAttributes: + output.MessageAttributes !== undefined && output.MessageAttributes !== null + ? deserializeAws_restJson1MessageAttributeMap(output.MessageAttributes, context) + : undefined, MessageId: __expectString(output.MessageId), Metadata: __expectString(output.Metadata), Redacted: __expectBoolean(output.Redacted), @@ -6801,6 +7213,41 @@ const deserializeAws_restJson1Members = (output: any, context: __SerdeContext): }); }; +const deserializeAws_restJson1MessageAttributeMap = ( + output: any, + context: __SerdeContext +): { [key: string]: MessageAttributeValue } => { + return Object.entries(output).reduce((acc: { [key: string]: MessageAttributeValue }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: deserializeAws_restJson1MessageAttributeValue(value, context), + }; + }, {}); +}; + +const deserializeAws_restJson1MessageAttributeStringValues = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_restJson1MessageAttributeValue = (output: any, context: __SerdeContext): MessageAttributeValue => { + return { + StringValues: + output.StringValues !== undefined && output.StringValues !== null + ? deserializeAws_restJson1MessageAttributeStringValues(output.StringValues, context) + : undefined, + } as any; +}; + const deserializeAws_restJson1MessagingSessionEndpoint = ( output: any, context: __SerdeContext @@ -6845,6 +7292,16 @@ const deserializeAws_restJson1ProcessorList = (output: any, context: __SerdeCont }); }; +const deserializeAws_restJson1PushNotificationPreferences = ( + output: any, + context: __SerdeContext +): PushNotificationPreferences => { + return { + AllowNotifications: __expectString(output.AllowNotifications), + FilterRule: __expectString(output.FilterRule), + } as any; +}; + const deserializeAws_restJson1Tag = (output: any, context: __SerdeContext): Tag => { return { Key: __expectString(output.Key), diff --git a/clients/client-connectparticipant/src/ConnectParticipant.ts b/clients/client-connectparticipant/src/ConnectParticipant.ts index ccbab263e7bb..a30f9636d41f 100644 --- a/clients/client-connectparticipant/src/ConnectParticipant.ts +++ b/clients/client-connectparticipant/src/ConnectParticipant.ts @@ -46,6 +46,8 @@ export class ConnectParticipant extends ConnectParticipantClient { /** *

        Allows you to confirm that the attachment has been uploaded using the pre-signed URL * provided in StartAttachmentUpload API.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        */ public completeAttachmentUpload( args: CompleteAttachmentUploadCommandInput, @@ -77,29 +79,35 @@ export class ConnectParticipant extends ConnectParticipantClient { } /** - *

        Creates the participant's connection. Note that ParticipantToken is used for invoking - * this API instead of ConnectionToken.

        - *

        The participant token is valid for the lifetime of the participant – until they are - * part of a contact.

        + *

        Creates the participant's connection. Note that ParticipantToken is used for invoking this API instead of + * ConnectionToken.

        + *

        The participant token is valid for the lifetime of the participant – + * until they are part of a contact.

        *

        The response URL for WEBSOCKET Type has a connect expiry timeout of 100s. * Clients must manually connect to the returned websocket URL and subscribe to the desired * topic.

        *

        For chat, you need to publish the following on the established websocket * connection:

        - * - * *

        * {"topic":"aws/subscribe","content":{"topics":["aws/chat"]}} *

        - * *

        Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter, * clients need to call this API again to obtain a new websocket URL and perform the same * steps as before.

        - * + *

        + * Message streaming support: This API can also be used together with the + * StartContactStreaming + * API to create a participant connection for chat contacts that are + * not using a websocket. For more information about message streaming, Enable real-time chat message streaming in the Amazon Connect + * Administrator Guide.

        + *

        + * Feature specifications: For information about feature specifications, such as the allowed number of open + * websocket connections per participant, see Feature specifications in the Amazon Connect Administrator + * Guide.

        * *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 * authentication.

        - *
        + * */ public createParticipantConnection( args: CreateParticipantConnectionCommandInput, @@ -133,8 +141,8 @@ export class ConnectParticipant extends ConnectParticipantClient { /** *

        Disconnects a participant. Note that ConnectionToken is used for invoking this API * instead of ParticipantToken.

        - *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 - * authentication.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        */ public disconnectParticipant( args: DisconnectParticipantCommandInput, @@ -168,6 +176,8 @@ export class ConnectParticipant extends ConnectParticipantClient { /** *

        Provides a pre-signed URL for download of a completed attachment. This is an * asynchronous API for use with active contacts.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        */ public getAttachment( args: GetAttachmentCommandInput, @@ -202,7 +212,7 @@ export class ConnectParticipant extends ConnectParticipantClient { *

        Retrieves a transcript of the session, including details about any attachments. Note * that ConnectionToken is used for invoking this API instead of ParticipantToken.

        *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 - * authentication.

        + * authentication.

        */ public getTranscript( args: GetTranscriptCommandInput, @@ -236,8 +246,8 @@ export class ConnectParticipant extends ConnectParticipantClient { /** *

        Sends an event. Note that ConnectionToken is used for invoking this API instead of * ParticipantToken.

        - *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 - * authentication.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        */ public sendEvent(args: SendEventCommandInput, options?: __HttpHandlerOptions): Promise; public sendEvent(args: SendEventCommandInput, cb: (err: any, data?: SendEventCommandOutput) => void): void; @@ -265,10 +275,8 @@ export class ConnectParticipant extends ConnectParticipantClient { /** *

        Sends a message. Note that ConnectionToken is used for invoking this API instead of * ParticipantToken.

        - * - *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 * authentication.

        - *
        */ public sendMessage(args: SendMessageCommandInput, options?: __HttpHandlerOptions): Promise; public sendMessage(args: SendMessageCommandInput, cb: (err: any, data?: SendMessageCommandOutput) => void): void; @@ -296,6 +304,8 @@ export class ConnectParticipant extends ConnectParticipantClient { /** *

        Provides a pre-signed Amazon S3 URL in response for uploading the file directly to * S3.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        */ public startAttachmentUpload( args: StartAttachmentUploadCommandInput, diff --git a/clients/client-connectparticipant/src/commands/CompleteAttachmentUploadCommand.ts b/clients/client-connectparticipant/src/commands/CompleteAttachmentUploadCommand.ts index f503251875e8..ccd06bf2a13b 100644 --- a/clients/client-connectparticipant/src/commands/CompleteAttachmentUploadCommand.ts +++ b/clients/client-connectparticipant/src/commands/CompleteAttachmentUploadCommand.ts @@ -28,6 +28,8 @@ export interface CompleteAttachmentUploadCommandOutput extends CompleteAttachmen /** *

        Allows you to confirm that the attachment has been uploaded using the pre-signed URL * provided in StartAttachmentUpload API.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connectparticipant/src/commands/CreateParticipantConnectionCommand.ts b/clients/client-connectparticipant/src/commands/CreateParticipantConnectionCommand.ts index 7a894a377bcd..2bbb2d9cb9a0 100644 --- a/clients/client-connectparticipant/src/commands/CreateParticipantConnectionCommand.ts +++ b/clients/client-connectparticipant/src/commands/CreateParticipantConnectionCommand.ts @@ -28,29 +28,35 @@ export interface CreateParticipantConnectionCommandOutput __MetadataBearer {} /** - *

        Creates the participant's connection. Note that ParticipantToken is used for invoking - * this API instead of ConnectionToken.

        - *

        The participant token is valid for the lifetime of the participant – until they are - * part of a contact.

        + *

        Creates the participant's connection. Note that ParticipantToken is used for invoking this API instead of + * ConnectionToken.

        + *

        The participant token is valid for the lifetime of the participant – + * until they are part of a contact.

        *

        The response URL for WEBSOCKET Type has a connect expiry timeout of 100s. * Clients must manually connect to the returned websocket URL and subscribe to the desired * topic.

        *

        For chat, you need to publish the following on the established websocket * connection:

        - * - * *

        * {"topic":"aws/subscribe","content":{"topics":["aws/chat"]}} *

        - * *

        Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter, * clients need to call this API again to obtain a new websocket URL and perform the same * steps as before.

        - * + *

        + * Message streaming support: This API can also be used together with the + * StartContactStreaming + * API to create a participant connection for chat contacts that are + * not using a websocket. For more information about message streaming, Enable real-time chat message streaming in the Amazon Connect + * Administrator Guide.

        + *

        + * Feature specifications: For information about feature specifications, such as the allowed number of open + * websocket connections per participant, see Feature specifications in the Amazon Connect Administrator + * Guide.

        * *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 * authentication.

        - *
        + * * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connectparticipant/src/commands/DisconnectParticipantCommand.ts b/clients/client-connectparticipant/src/commands/DisconnectParticipantCommand.ts index e5c1f8e67c60..13633313e96a 100644 --- a/clients/client-connectparticipant/src/commands/DisconnectParticipantCommand.ts +++ b/clients/client-connectparticipant/src/commands/DisconnectParticipantCommand.ts @@ -28,8 +28,8 @@ export interface DisconnectParticipantCommandOutput extends DisconnectParticipan /** *

        Disconnects a participant. Note that ConnectionToken is used for invoking this API * instead of ParticipantToken.

        - *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 - * authentication.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connectparticipant/src/commands/GetAttachmentCommand.ts b/clients/client-connectparticipant/src/commands/GetAttachmentCommand.ts index 4cda233a4e98..faddd544426a 100644 --- a/clients/client-connectparticipant/src/commands/GetAttachmentCommand.ts +++ b/clients/client-connectparticipant/src/commands/GetAttachmentCommand.ts @@ -28,6 +28,8 @@ export interface GetAttachmentCommandOutput extends GetAttachmentResponse, __Met /** *

        Provides a pre-signed URL for download of a completed attachment. This is an * asynchronous API for use with active contacts.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connectparticipant/src/commands/GetTranscriptCommand.ts b/clients/client-connectparticipant/src/commands/GetTranscriptCommand.ts index da8f0f7f3357..22bc7748747e 100644 --- a/clients/client-connectparticipant/src/commands/GetTranscriptCommand.ts +++ b/clients/client-connectparticipant/src/commands/GetTranscriptCommand.ts @@ -29,7 +29,7 @@ export interface GetTranscriptCommandOutput extends GetTranscriptResponse, __Met *

        Retrieves a transcript of the session, including details about any attachments. Note * that ConnectionToken is used for invoking this API instead of ParticipantToken.

        *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 - * authentication.

        + * authentication.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connectparticipant/src/commands/SendEventCommand.ts b/clients/client-connectparticipant/src/commands/SendEventCommand.ts index d35f210e4634..074d637b2690 100644 --- a/clients/client-connectparticipant/src/commands/SendEventCommand.ts +++ b/clients/client-connectparticipant/src/commands/SendEventCommand.ts @@ -28,8 +28,8 @@ export interface SendEventCommandOutput extends SendEventResponse, __MetadataBea /** *

        Sends an event. Note that ConnectionToken is used for invoking this API instead of * ParticipantToken.

        - *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 - * authentication.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connectparticipant/src/commands/SendMessageCommand.ts b/clients/client-connectparticipant/src/commands/SendMessageCommand.ts index 4f91f2e8cfc4..345c9628ad54 100644 --- a/clients/client-connectparticipant/src/commands/SendMessageCommand.ts +++ b/clients/client-connectparticipant/src/commands/SendMessageCommand.ts @@ -28,10 +28,8 @@ export interface SendMessageCommandOutput extends SendMessageResponse, __Metadat /** *

        Sends a message. Note that ConnectionToken is used for invoking this API instead of * ParticipantToken.

        - * - *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 * authentication.

        - *
        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connectparticipant/src/commands/StartAttachmentUploadCommand.ts b/clients/client-connectparticipant/src/commands/StartAttachmentUploadCommand.ts index 1e62c0615144..02623919fa05 100644 --- a/clients/client-connectparticipant/src/commands/StartAttachmentUploadCommand.ts +++ b/clients/client-connectparticipant/src/commands/StartAttachmentUploadCommand.ts @@ -28,6 +28,8 @@ export interface StartAttachmentUploadCommandOutput extends StartAttachmentUploa /** *

        Provides a pre-signed Amazon S3 URL in response for uploading the file directly to * S3.

        + *

        The Amazon Connect Participant Service APIs do not use Signature Version 4 + * authentication.

        * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-connectparticipant/src/models/models_0.ts b/clients/client-connectparticipant/src/models/models_0.ts index 7a531d7a1ad8..e13f4937ce62 100644 --- a/clients/client-connectparticipant/src/models/models_0.ts +++ b/clients/client-connectparticipant/src/models/models_0.ts @@ -159,10 +159,16 @@ export interface CreateParticipantConnectionRequest { /** *

        This is a header parameter.

        - *

        The Participant Token as obtained from StartChatContact + *

        The ParticipantToken as obtained from StartChatContact * API response.

        */ ParticipantToken: string | undefined; + + /** + *

        Amazon Connect Participant is used to mark the participant as connected for message + * streaming.

        + */ + ConnectParticipant?: boolean; } export namespace CreateParticipantConnectionRequest { @@ -304,7 +310,8 @@ export namespace GetAttachmentRequest { export interface GetAttachmentResponse { /** - *

        The pre-signed URL using which file would be downloaded from Amazon S3 by the API caller.

        + *

        This is the pre-signed URL that can be used for uploading the file to Amazon S3 when used in response + * to StartAttachmentUpload.

        */ Url?: string; @@ -466,6 +473,10 @@ export enum ChatItemType { CONNECTION_ACK = "CONNECTION_ACK", EVENT = "EVENT", MESSAGE = "MESSAGE", + PARTICIPANT_ACTIVE = "PARTICIPANT_ACTIVE", + PARTICIPANT_DISENGAGED = "PARTICIPANT_DISENGAGED", + PARTICIPANT_ENGAGED = "PARTICIPANT_ENGAGED", + PARTICIPANT_INACTIVE = "PARTICIPANT_INACTIVE", PARTICIPANT_JOINED = "PARTICIPANT_JOINED", PARTICIPANT_LEFT = "PARTICIPANT_LEFT", TRANSFER_FAILED = "TRANSFER_FAILED", @@ -722,7 +733,8 @@ export namespace StartAttachmentUploadRequest { */ export interface UploadMetadata { /** - *

        The pre-signed URL using which file would be downloaded from Amazon S3 by the API caller.

        + *

        This is the pre-signed URL that can be used for uploading the file to Amazon S3 when used in response + * to StartAttachmentUpload.

        */ Url?: string; diff --git a/clients/client-connectparticipant/src/protocols/Aws_restJson1.ts b/clients/client-connectparticipant/src/protocols/Aws_restJson1.ts index 9448780b461d..2a1e6e4f0a1a 100644 --- a/clients/client-connectparticipant/src/protocols/Aws_restJson1.ts +++ b/clients/client-connectparticipant/src/protocols/Aws_restJson1.ts @@ -92,6 +92,8 @@ export const serializeAws_restJson1CreateParticipantConnectionCommand = async ( `${basePath?.endsWith("/") ? basePath.slice(0, -1) : basePath || ""}` + "/participant/connection"; let body: any; body = JSON.stringify({ + ...(input.ConnectParticipant !== undefined && + input.ConnectParticipant !== null && { ConnectParticipant: input.ConnectParticipant }), ...(input.Type !== undefined && input.Type !== null && { Type: serializeAws_restJson1ConnectionTypeList(input.Type, context) }), }); diff --git a/clients/client-ec2/src/EC2.ts b/clients/client-ec2/src/EC2.ts index 430ca3078122..ff9426a4e057 100644 --- a/clients/client-ec2/src/EC2.ts +++ b/clients/client-ec2/src/EC2.ts @@ -1695,6 +1695,11 @@ import { GetHostReservationPurchasePreviewCommandInput, GetHostReservationPurchasePreviewCommandOutput, } from "./commands/GetHostReservationPurchasePreviewCommand"; +import { + GetInstanceTypesFromInstanceRequirementsCommand, + GetInstanceTypesFromInstanceRequirementsCommandInput, + GetInstanceTypesFromInstanceRequirementsCommandOutput, +} from "./commands/GetInstanceTypesFromInstanceRequirementsCommand"; import { GetLaunchTemplateDataCommand, GetLaunchTemplateDataCommandInput, @@ -1725,6 +1730,11 @@ import { GetSerialConsoleAccessStatusCommandInput, GetSerialConsoleAccessStatusCommandOutput, } from "./commands/GetSerialConsoleAccessStatusCommand"; +import { + GetSpotPlacementScoresCommand, + GetSpotPlacementScoresCommandInput, + GetSpotPlacementScoresCommandOutput, +} from "./commands/GetSpotPlacementScoresCommand"; import { GetSubnetCidrReservationsCommand, GetSubnetCidrReservationsCommandInput, @@ -14931,6 +14941,49 @@ export class EC2 extends EC2Client { } } + /** + *

        Returns a list of instance types with the specified instance attributes. You can + * use the response to preview the instance types without launching instances. Note + * that the response does not consider capacity.

        + *

        When you specify multiple parameters, you get instance types that satisfy all of the + * specified parameters. If you specify multiple values for a parameter, you get instance + * types that satisfy any of the specified values.

        + *

        For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot + * placement score in the Amazon EC2 User Guide, and Creating an + * Auto Scaling group using attribute-based instance type selection in the + * Amazon EC2 Auto Scaling User Guide.

        + */ + public getInstanceTypesFromInstanceRequirements( + args: GetInstanceTypesFromInstanceRequirementsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getInstanceTypesFromInstanceRequirements( + args: GetInstanceTypesFromInstanceRequirementsCommandInput, + cb: (err: any, data?: GetInstanceTypesFromInstanceRequirementsCommandOutput) => void + ): void; + public getInstanceTypesFromInstanceRequirements( + args: GetInstanceTypesFromInstanceRequirementsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetInstanceTypesFromInstanceRequirementsCommandOutput) => void + ): void; + public getInstanceTypesFromInstanceRequirements( + args: GetInstanceTypesFromInstanceRequirementsCommandInput, + optionsOrCb?: + | __HttpHandlerOptions + | ((err: any, data?: GetInstanceTypesFromInstanceRequirementsCommandOutput) => void), + cb?: (err: any, data?: GetInstanceTypesFromInstanceRequirementsCommandOutput) => void + ): Promise | void { + const command = new GetInstanceTypesFromInstanceRequirementsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

        Retrieves the configuration data of the specified instance. You can use this data * to create a launch template.

        @@ -15144,6 +15197,45 @@ export class EC2 extends EC2Client { } } + /** + *

        Calculates the Spot placement score for a Region or Availability Zone based on the + * specified target capacity and compute requirements.

        + *

        You can specify your compute requirements either by using + * InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal + * instance types to fulfill your Spot request, or you can specify the instance types by using + * InstanceTypes.

        + *

        For more information, see Spot placement score in + * the Amazon EC2 User Guide.

        + */ + public getSpotPlacementScores( + args: GetSpotPlacementScoresCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getSpotPlacementScores( + args: GetSpotPlacementScoresCommandInput, + cb: (err: any, data?: GetSpotPlacementScoresCommandOutput) => void + ): void; + public getSpotPlacementScores( + args: GetSpotPlacementScoresCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetSpotPlacementScoresCommandOutput) => void + ): void; + public getSpotPlacementScores( + args: GetSpotPlacementScoresCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetSpotPlacementScoresCommandOutput) => void), + cb?: (err: any, data?: GetSpotPlacementScoresCommandOutput) => void + ): Promise | void { + const command = new GetSpotPlacementScoresCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

        Gets information about the subnet CIDR reservations.

        */ diff --git a/clients/client-ec2/src/EC2Client.ts b/clients/client-ec2/src/EC2Client.ts index d926719cc6fd..cb738a20013d 100644 --- a/clients/client-ec2/src/EC2Client.ts +++ b/clients/client-ec2/src/EC2Client.ts @@ -1218,6 +1218,10 @@ import { GetHostReservationPurchasePreviewCommandInput, GetHostReservationPurchasePreviewCommandOutput, } from "./commands/GetHostReservationPurchasePreviewCommand"; +import { + GetInstanceTypesFromInstanceRequirementsCommandInput, + GetInstanceTypesFromInstanceRequirementsCommandOutput, +} from "./commands/GetInstanceTypesFromInstanceRequirementsCommand"; import { GetLaunchTemplateDataCommandInput, GetLaunchTemplateDataCommandOutput, @@ -1239,6 +1243,10 @@ import { GetSerialConsoleAccessStatusCommandInput, GetSerialConsoleAccessStatusCommandOutput, } from "./commands/GetSerialConsoleAccessStatusCommand"; +import { + GetSpotPlacementScoresCommandInput, + GetSpotPlacementScoresCommandOutput, +} from "./commands/GetSpotPlacementScoresCommand"; import { GetSubnetCidrReservationsCommandInput, GetSubnetCidrReservationsCommandOutput, @@ -1980,12 +1988,14 @@ export type ServiceInputTypes = | GetFlowLogsIntegrationTemplateCommandInput | GetGroupsForCapacityReservationCommandInput | GetHostReservationPurchasePreviewCommandInput + | GetInstanceTypesFromInstanceRequirementsCommandInput | GetLaunchTemplateDataCommandInput | GetManagedPrefixListAssociationsCommandInput | GetManagedPrefixListEntriesCommandInput | GetPasswordDataCommandInput | GetReservedInstancesExchangeQuoteCommandInput | GetSerialConsoleAccessStatusCommandInput + | GetSpotPlacementScoresCommandInput | GetSubnetCidrReservationsCommandInput | GetTransitGatewayAttachmentPropagationsCommandInput | GetTransitGatewayMulticastDomainAssociationsCommandInput @@ -2453,12 +2463,14 @@ export type ServiceOutputTypes = | GetFlowLogsIntegrationTemplateCommandOutput | GetGroupsForCapacityReservationCommandOutput | GetHostReservationPurchasePreviewCommandOutput + | GetInstanceTypesFromInstanceRequirementsCommandOutput | GetLaunchTemplateDataCommandOutput | GetManagedPrefixListAssociationsCommandOutput | GetManagedPrefixListEntriesCommandOutput | GetPasswordDataCommandOutput | GetReservedInstancesExchangeQuoteCommandOutput | GetSerialConsoleAccessStatusCommandOutput + | GetSpotPlacementScoresCommandOutput | GetSubnetCidrReservationsCommandOutput | GetTransitGatewayAttachmentPropagationsCommandOutput | GetTransitGatewayMulticastDomainAssociationsCommandOutput diff --git a/clients/client-ec2/src/commands/CreateFleetCommand.ts b/clients/client-ec2/src/commands/CreateFleetCommand.ts index 13a72a92ef75..0ae5f9296b92 100644 --- a/clients/client-ec2/src/commands/CreateFleetCommand.ts +++ b/clients/client-ec2/src/commands/CreateFleetCommand.ts @@ -12,7 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateFleetRequest, CreateFleetResult } from "../models/models_0"; +import { CreateFleetRequest } from "../models/models_0"; +import { CreateFleetResult } from "../models/models_1"; import { deserializeAws_ec2CreateFleetCommand, serializeAws_ec2CreateFleetCommand } from "../protocols/Aws_ec2"; export interface CreateFleetCommandInput extends CreateFleetRequest {} diff --git a/clients/client-ec2/src/commands/CreateFlowLogsCommand.ts b/clients/client-ec2/src/commands/CreateFlowLogsCommand.ts index bca6e79cb37a..b39ae72eaf21 100644 --- a/clients/client-ec2/src/commands/CreateFlowLogsCommand.ts +++ b/clients/client-ec2/src/commands/CreateFlowLogsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateFlowLogsRequest, CreateFlowLogsResult } from "../models/models_0"; +import { CreateFlowLogsRequest, CreateFlowLogsResult } from "../models/models_1"; import { deserializeAws_ec2CreateFlowLogsCommand, serializeAws_ec2CreateFlowLogsCommand } from "../protocols/Aws_ec2"; export interface CreateFlowLogsCommandInput extends CreateFlowLogsRequest {} diff --git a/clients/client-ec2/src/commands/CreateFpgaImageCommand.ts b/clients/client-ec2/src/commands/CreateFpgaImageCommand.ts index 7739a2239247..69778b9e8fc3 100644 --- a/clients/client-ec2/src/commands/CreateFpgaImageCommand.ts +++ b/clients/client-ec2/src/commands/CreateFpgaImageCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateFpgaImageRequest, CreateFpgaImageResult } from "../models/models_0"; +import { CreateFpgaImageRequest, CreateFpgaImageResult } from "../models/models_1"; import { deserializeAws_ec2CreateFpgaImageCommand, serializeAws_ec2CreateFpgaImageCommand } from "../protocols/Aws_ec2"; export interface CreateFpgaImageCommandInput extends CreateFpgaImageRequest {} diff --git a/clients/client-ec2/src/commands/CreateImageCommand.ts b/clients/client-ec2/src/commands/CreateImageCommand.ts index 3d40f1666f53..9404ff1fdd5f 100644 --- a/clients/client-ec2/src/commands/CreateImageCommand.ts +++ b/clients/client-ec2/src/commands/CreateImageCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateImageRequest, CreateImageResult } from "../models/models_0"; +import { CreateImageRequest, CreateImageResult } from "../models/models_1"; import { deserializeAws_ec2CreateImageCommand, serializeAws_ec2CreateImageCommand } from "../protocols/Aws_ec2"; export interface CreateImageCommandInput extends CreateImageRequest {} diff --git a/clients/client-ec2/src/commands/CreateVpcEndpointServiceConfigurationCommand.ts b/clients/client-ec2/src/commands/CreateVpcEndpointServiceConfigurationCommand.ts index 3e46a7ff24a2..01e8befa27f4 100644 --- a/clients/client-ec2/src/commands/CreateVpcEndpointServiceConfigurationCommand.ts +++ b/clients/client-ec2/src/commands/CreateVpcEndpointServiceConfigurationCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { CreateVpcEndpointServiceConfigurationRequest, CreateVpcEndpointServiceConfigurationResult, -} from "../models/models_1"; +} from "../models/models_2"; import { deserializeAws_ec2CreateVpcEndpointServiceConfigurationCommand, serializeAws_ec2CreateVpcEndpointServiceConfigurationCommand, diff --git a/clients/client-ec2/src/commands/CreateVpcPeeringConnectionCommand.ts b/clients/client-ec2/src/commands/CreateVpcPeeringConnectionCommand.ts index aa059cadf143..3292ba092260 100644 --- a/clients/client-ec2/src/commands/CreateVpcPeeringConnectionCommand.ts +++ b/clients/client-ec2/src/commands/CreateVpcPeeringConnectionCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateVpcPeeringConnectionRequest, CreateVpcPeeringConnectionResult } from "../models/models_1"; +import { CreateVpcPeeringConnectionRequest, CreateVpcPeeringConnectionResult } from "../models/models_2"; import { deserializeAws_ec2CreateVpcPeeringConnectionCommand, serializeAws_ec2CreateVpcPeeringConnectionCommand, diff --git a/clients/client-ec2/src/commands/CreateVpnConnectionCommand.ts b/clients/client-ec2/src/commands/CreateVpnConnectionCommand.ts index 6ef2d62afbc9..01d67302a754 100644 --- a/clients/client-ec2/src/commands/CreateVpnConnectionCommand.ts +++ b/clients/client-ec2/src/commands/CreateVpnConnectionCommand.ts @@ -12,8 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { CreateVpnConnectionRequest } from "../models/models_1"; -import { CreateVpnConnectionResult } from "../models/models_2"; +import { CreateVpnConnectionRequest, CreateVpnConnectionResult } from "../models/models_2"; import { deserializeAws_ec2CreateVpnConnectionCommand, serializeAws_ec2CreateVpnConnectionCommand, diff --git a/clients/client-ec2/src/commands/DescribeHostsCommand.ts b/clients/client-ec2/src/commands/DescribeHostsCommand.ts index 7379d5e5ddc5..e5fb7d2fa0cb 100644 --- a/clients/client-ec2/src/commands/DescribeHostsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeHostsCommand.ts @@ -12,7 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeHostsRequest, DescribeHostsResult } from "../models/models_2"; +import { DescribeHostsRequest } from "../models/models_2"; +import { DescribeHostsResult } from "../models/models_3"; import { deserializeAws_ec2DescribeHostsCommand, serializeAws_ec2DescribeHostsCommand } from "../protocols/Aws_ec2"; export interface DescribeHostsCommandInput extends DescribeHostsRequest {} diff --git a/clients/client-ec2/src/commands/DescribeIamInstanceProfileAssociationsCommand.ts b/clients/client-ec2/src/commands/DescribeIamInstanceProfileAssociationsCommand.ts index e7790f15d7fb..70fca9545241 100644 --- a/clients/client-ec2/src/commands/DescribeIamInstanceProfileAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeIamInstanceProfileAssociationsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeIamInstanceProfileAssociationsRequest, DescribeIamInstanceProfileAssociationsResult, -} from "../models/models_2"; +} from "../models/models_3"; import { deserializeAws_ec2DescribeIamInstanceProfileAssociationsCommand, serializeAws_ec2DescribeIamInstanceProfileAssociationsCommand, diff --git a/clients/client-ec2/src/commands/DescribeIdFormatCommand.ts b/clients/client-ec2/src/commands/DescribeIdFormatCommand.ts index 484dc35ef93a..5f8f5ba90b8b 100644 --- a/clients/client-ec2/src/commands/DescribeIdFormatCommand.ts +++ b/clients/client-ec2/src/commands/DescribeIdFormatCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeIdFormatRequest, DescribeIdFormatResult } from "../models/models_2"; +import { DescribeIdFormatRequest, DescribeIdFormatResult } from "../models/models_3"; import { deserializeAws_ec2DescribeIdFormatCommand, serializeAws_ec2DescribeIdFormatCommand, diff --git a/clients/client-ec2/src/commands/DescribeIdentityIdFormatCommand.ts b/clients/client-ec2/src/commands/DescribeIdentityIdFormatCommand.ts index 47640b20de48..96cf6d0bc502 100644 --- a/clients/client-ec2/src/commands/DescribeIdentityIdFormatCommand.ts +++ b/clients/client-ec2/src/commands/DescribeIdentityIdFormatCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeIdentityIdFormatRequest, DescribeIdentityIdFormatResult } from "../models/models_2"; +import { DescribeIdentityIdFormatRequest, DescribeIdentityIdFormatResult } from "../models/models_3"; import { deserializeAws_ec2DescribeIdentityIdFormatCommand, serializeAws_ec2DescribeIdentityIdFormatCommand, diff --git a/clients/client-ec2/src/commands/DescribeImageAttributeCommand.ts b/clients/client-ec2/src/commands/DescribeImageAttributeCommand.ts index b70551f64cb0..20cc7a0a283c 100644 --- a/clients/client-ec2/src/commands/DescribeImageAttributeCommand.ts +++ b/clients/client-ec2/src/commands/DescribeImageAttributeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeImageAttributeRequest, ImageAttribute } from "../models/models_2"; +import { DescribeImageAttributeRequest, ImageAttribute } from "../models/models_3"; import { deserializeAws_ec2DescribeImageAttributeCommand, serializeAws_ec2DescribeImageAttributeCommand, diff --git a/clients/client-ec2/src/commands/DescribeImagesCommand.ts b/clients/client-ec2/src/commands/DescribeImagesCommand.ts index d4a5af5636fa..df47304bf670 100644 --- a/clients/client-ec2/src/commands/DescribeImagesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeImagesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeImagesRequest, DescribeImagesResult } from "../models/models_2"; +import { DescribeImagesRequest, DescribeImagesResult } from "../models/models_3"; import { deserializeAws_ec2DescribeImagesCommand, serializeAws_ec2DescribeImagesCommand } from "../protocols/Aws_ec2"; export interface DescribeImagesCommandInput extends DescribeImagesRequest {} diff --git a/clients/client-ec2/src/commands/DescribeImportImageTasksCommand.ts b/clients/client-ec2/src/commands/DescribeImportImageTasksCommand.ts index 45849eb6f1cb..7e74496e58f3 100644 --- a/clients/client-ec2/src/commands/DescribeImportImageTasksCommand.ts +++ b/clients/client-ec2/src/commands/DescribeImportImageTasksCommand.ts @@ -12,8 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeImportImageTasksRequest } from "../models/models_2"; -import { DescribeImportImageTasksResult } from "../models/models_3"; +import { DescribeImportImageTasksRequest, DescribeImportImageTasksResult } from "../models/models_3"; import { deserializeAws_ec2DescribeImportImageTasksCommand, serializeAws_ec2DescribeImportImageTasksCommand, diff --git a/clients/client-ec2/src/commands/DescribeTagsCommand.ts b/clients/client-ec2/src/commands/DescribeTagsCommand.ts index 2ea6bb9dbe3e..dd17001478bb 100644 --- a/clients/client-ec2/src/commands/DescribeTagsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTagsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTagsRequest, DescribeTagsResult } from "../models/models_3"; +import { DescribeTagsRequest, DescribeTagsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeTagsCommand, serializeAws_ec2DescribeTagsCommand } from "../protocols/Aws_ec2"; export interface DescribeTagsCommandInput extends DescribeTagsRequest {} diff --git a/clients/client-ec2/src/commands/DescribeTrafficMirrorFiltersCommand.ts b/clients/client-ec2/src/commands/DescribeTrafficMirrorFiltersCommand.ts index 9b973b54b3fd..1c910975c215 100644 --- a/clients/client-ec2/src/commands/DescribeTrafficMirrorFiltersCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTrafficMirrorFiltersCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTrafficMirrorFiltersRequest, DescribeTrafficMirrorFiltersResult } from "../models/models_3"; +import { DescribeTrafficMirrorFiltersRequest, DescribeTrafficMirrorFiltersResult } from "../models/models_4"; import { deserializeAws_ec2DescribeTrafficMirrorFiltersCommand, serializeAws_ec2DescribeTrafficMirrorFiltersCommand, diff --git a/clients/client-ec2/src/commands/DescribeTrafficMirrorSessionsCommand.ts b/clients/client-ec2/src/commands/DescribeTrafficMirrorSessionsCommand.ts index e8d5f3c38c24..a67a142e83c5 100644 --- a/clients/client-ec2/src/commands/DescribeTrafficMirrorSessionsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTrafficMirrorSessionsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTrafficMirrorSessionsRequest, DescribeTrafficMirrorSessionsResult } from "../models/models_3"; +import { DescribeTrafficMirrorSessionsRequest, DescribeTrafficMirrorSessionsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeTrafficMirrorSessionsCommand, serializeAws_ec2DescribeTrafficMirrorSessionsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTrafficMirrorTargetsCommand.ts b/clients/client-ec2/src/commands/DescribeTrafficMirrorTargetsCommand.ts index d9992644042c..c4b6bf2d6bac 100644 --- a/clients/client-ec2/src/commands/DescribeTrafficMirrorTargetsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTrafficMirrorTargetsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTrafficMirrorTargetsRequest, DescribeTrafficMirrorTargetsResult } from "../models/models_3"; +import { DescribeTrafficMirrorTargetsRequest, DescribeTrafficMirrorTargetsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeTrafficMirrorTargetsCommand, serializeAws_ec2DescribeTrafficMirrorTargetsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayAttachmentsCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayAttachmentsCommand.ts index e155f6d2516f..73c4f79bdc3c 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayAttachmentsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayAttachmentsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTransitGatewayAttachmentsRequest, DescribeTransitGatewayAttachmentsResult } from "../models/models_3"; +import { DescribeTransitGatewayAttachmentsRequest, DescribeTransitGatewayAttachmentsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeTransitGatewayAttachmentsCommand, serializeAws_ec2DescribeTransitGatewayAttachmentsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayConnectPeersCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayConnectPeersCommand.ts index b55d3b74e13b..39055fbd34d7 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayConnectPeersCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayConnectPeersCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeTransitGatewayConnectPeersRequest, DescribeTransitGatewayConnectPeersResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2DescribeTransitGatewayConnectPeersCommand, serializeAws_ec2DescribeTransitGatewayConnectPeersCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayConnectsCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayConnectsCommand.ts index 43a22c27dc0d..d58719a73fcf 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayConnectsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayConnectsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTransitGatewayConnectsRequest, DescribeTransitGatewayConnectsResult } from "../models/models_3"; +import { DescribeTransitGatewayConnectsRequest, DescribeTransitGatewayConnectsResult } from "../models/models_4"; import { deserializeAws_ec2DescribeTransitGatewayConnectsCommand, serializeAws_ec2DescribeTransitGatewayConnectsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayMulticastDomainsCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayMulticastDomainsCommand.ts index 8c3d737c92b0..497996458500 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayMulticastDomainsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayMulticastDomainsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeTransitGatewayMulticastDomainsRequest, DescribeTransitGatewayMulticastDomainsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2DescribeTransitGatewayMulticastDomainsCommand, serializeAws_ec2DescribeTransitGatewayMulticastDomainsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayPeeringAttachmentsCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayPeeringAttachmentsCommand.ts index e31a0dd1584d..35525a3bd082 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayPeeringAttachmentsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayPeeringAttachmentsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeTransitGatewayPeeringAttachmentsRequest, DescribeTransitGatewayPeeringAttachmentsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommand, serializeAws_ec2DescribeTransitGatewayPeeringAttachmentsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayRouteTablesCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayRouteTablesCommand.ts index 901540fa90ce..337dad3bf6bf 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayRouteTablesCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayRouteTablesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTransitGatewayRouteTablesRequest, DescribeTransitGatewayRouteTablesResult } from "../models/models_3"; +import { DescribeTransitGatewayRouteTablesRequest, DescribeTransitGatewayRouteTablesResult } from "../models/models_4"; import { deserializeAws_ec2DescribeTransitGatewayRouteTablesCommand, serializeAws_ec2DescribeTransitGatewayRouteTablesCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewayVpcAttachmentsCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewayVpcAttachmentsCommand.ts index 1fdd97ed9dfb..7dc50da4528f 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewayVpcAttachmentsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewayVpcAttachmentsCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { DescribeTransitGatewayVpcAttachmentsRequest, DescribeTransitGatewayVpcAttachmentsResult, -} from "../models/models_3"; +} from "../models/models_4"; import { deserializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommand, serializeAws_ec2DescribeTransitGatewayVpcAttachmentsCommand, diff --git a/clients/client-ec2/src/commands/DescribeTransitGatewaysCommand.ts b/clients/client-ec2/src/commands/DescribeTransitGatewaysCommand.ts index 94666f602d60..806ed1f10491 100644 --- a/clients/client-ec2/src/commands/DescribeTransitGatewaysCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTransitGatewaysCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTransitGatewaysRequest, DescribeTransitGatewaysResult } from "../models/models_3"; +import { DescribeTransitGatewaysRequest, DescribeTransitGatewaysResult } from "../models/models_4"; import { deserializeAws_ec2DescribeTransitGatewaysCommand, serializeAws_ec2DescribeTransitGatewaysCommand, diff --git a/clients/client-ec2/src/commands/DescribeTrunkInterfaceAssociationsCommand.ts b/clients/client-ec2/src/commands/DescribeTrunkInterfaceAssociationsCommand.ts index 3a0eba95e960..91f71051791a 100644 --- a/clients/client-ec2/src/commands/DescribeTrunkInterfaceAssociationsCommand.ts +++ b/clients/client-ec2/src/commands/DescribeTrunkInterfaceAssociationsCommand.ts @@ -12,8 +12,10 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { DescribeTrunkInterfaceAssociationsRequest } from "../models/models_3"; -import { DescribeTrunkInterfaceAssociationsResult } from "../models/models_4"; +import { + DescribeTrunkInterfaceAssociationsRequest, + DescribeTrunkInterfaceAssociationsResult, +} from "../models/models_4"; import { deserializeAws_ec2DescribeTrunkInterfaceAssociationsCommand, serializeAws_ec2DescribeTrunkInterfaceAssociationsCommand, diff --git a/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts b/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts new file mode 100644 index 000000000000..32ea38f38a59 --- /dev/null +++ b/clients/client-ec2/src/commands/GetInstanceTypesFromInstanceRequirementsCommand.ts @@ -0,0 +1,119 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { + GetInstanceTypesFromInstanceRequirementsRequest, + GetInstanceTypesFromInstanceRequirementsResult, +} from "../models/models_4"; +import { + deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand, + serializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand, +} from "../protocols/Aws_ec2"; + +export interface GetInstanceTypesFromInstanceRequirementsCommandInput + extends GetInstanceTypesFromInstanceRequirementsRequest {} +export interface GetInstanceTypesFromInstanceRequirementsCommandOutput + extends GetInstanceTypesFromInstanceRequirementsResult, + __MetadataBearer {} + +/** + *

        Returns a list of instance types with the specified instance attributes. You can + * use the response to preview the instance types without launching instances. Note + * that the response does not consider capacity.

        + *

        When you specify multiple parameters, you get instance types that satisfy all of the + * specified parameters. If you specify multiple values for a parameter, you get instance + * types that satisfy any of the specified values.

        + *

        For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot + * placement score in the Amazon EC2 User Guide, and Creating an + * Auto Scaling group using attribute-based instance type selection in the + * Amazon EC2 Auto Scaling User Guide.

        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetInstanceTypesFromInstanceRequirementsCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetInstanceTypesFromInstanceRequirementsCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new GetInstanceTypesFromInstanceRequirementsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetInstanceTypesFromInstanceRequirementsCommandInput} for command's `input` shape. + * @see {@link GetInstanceTypesFromInstanceRequirementsCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetInstanceTypesFromInstanceRequirementsCommand extends $Command< + GetInstanceTypesFromInstanceRequirementsCommandInput, + GetInstanceTypesFromInstanceRequirementsCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetInstanceTypesFromInstanceRequirementsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler< + GetInstanceTypesFromInstanceRequirementsCommandInput, + GetInstanceTypesFromInstanceRequirementsCommandOutput + > { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "GetInstanceTypesFromInstanceRequirementsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetInstanceTypesFromInstanceRequirementsRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetInstanceTypesFromInstanceRequirementsResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize( + input: GetInstanceTypesFromInstanceRequirementsCommandInput, + context: __SerdeContext + ): Promise<__HttpRequest> { + return serializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts b/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts new file mode 100644 index 000000000000..b95aaef9948c --- /dev/null +++ b/clients/client-ec2/src/commands/GetSpotPlacementScoresCommand.ts @@ -0,0 +1,102 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; +import { GetSpotPlacementScoresRequest, GetSpotPlacementScoresResult } from "../models/models_4"; +import { + deserializeAws_ec2GetSpotPlacementScoresCommand, + serializeAws_ec2GetSpotPlacementScoresCommand, +} from "../protocols/Aws_ec2"; + +export interface GetSpotPlacementScoresCommandInput extends GetSpotPlacementScoresRequest {} +export interface GetSpotPlacementScoresCommandOutput extends GetSpotPlacementScoresResult, __MetadataBearer {} + +/** + *

        Calculates the Spot placement score for a Region or Availability Zone based on the + * specified target capacity and compute requirements.

        + *

        You can specify your compute requirements either by using + * InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal + * instance types to fulfill your Spot request, or you can specify the instance types by using + * InstanceTypes.

        + *

        For more information, see Spot placement score in + * the Amazon EC2 User Guide.

        + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { EC2Client, GetSpotPlacementScoresCommand } from "@aws-sdk/client-ec2"; // ES Modules import + * // const { EC2Client, GetSpotPlacementScoresCommand } = require("@aws-sdk/client-ec2"); // CommonJS import + * const client = new EC2Client(config); + * const command = new GetSpotPlacementScoresCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetSpotPlacementScoresCommandInput} for command's `input` shape. + * @see {@link GetSpotPlacementScoresCommandOutput} for command's `response` shape. + * @see {@link EC2ClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetSpotPlacementScoresCommand extends $Command< + GetSpotPlacementScoresCommandInput, + GetSpotPlacementScoresCommandOutput, + EC2ClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetSpotPlacementScoresCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: EC2ClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "EC2Client"; + const commandName = "GetSpotPlacementScoresCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetSpotPlacementScoresRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetSpotPlacementScoresResult.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetSpotPlacementScoresCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_ec2GetSpotPlacementScoresCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_ec2GetSpotPlacementScoresCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-ec2/src/commands/ModifyInstanceCreditSpecificationCommand.ts b/clients/client-ec2/src/commands/ModifyInstanceCreditSpecificationCommand.ts index 8aaee359bff1..4c06250350f3 100644 --- a/clients/client-ec2/src/commands/ModifyInstanceCreditSpecificationCommand.ts +++ b/clients/client-ec2/src/commands/ModifyInstanceCreditSpecificationCommand.ts @@ -12,7 +12,8 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyInstanceCreditSpecificationRequest, ModifyInstanceCreditSpecificationResult } from "../models/models_4"; +import { ModifyInstanceCreditSpecificationRequest } from "../models/models_4"; +import { ModifyInstanceCreditSpecificationResult } from "../models/models_5"; import { deserializeAws_ec2ModifyInstanceCreditSpecificationCommand, serializeAws_ec2ModifyInstanceCreditSpecificationCommand, diff --git a/clients/client-ec2/src/commands/ModifyInstanceEventStartTimeCommand.ts b/clients/client-ec2/src/commands/ModifyInstanceEventStartTimeCommand.ts index 9a7f6d685757..250e51ae544b 100644 --- a/clients/client-ec2/src/commands/ModifyInstanceEventStartTimeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyInstanceEventStartTimeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyInstanceEventStartTimeRequest, ModifyInstanceEventStartTimeResult } from "../models/models_4"; +import { ModifyInstanceEventStartTimeRequest, ModifyInstanceEventStartTimeResult } from "../models/models_5"; import { deserializeAws_ec2ModifyInstanceEventStartTimeCommand, serializeAws_ec2ModifyInstanceEventStartTimeCommand, diff --git a/clients/client-ec2/src/commands/ModifyInstanceEventWindowCommand.ts b/clients/client-ec2/src/commands/ModifyInstanceEventWindowCommand.ts index 6e5635fe9417..75d8f2124bd7 100644 --- a/clients/client-ec2/src/commands/ModifyInstanceEventWindowCommand.ts +++ b/clients/client-ec2/src/commands/ModifyInstanceEventWindowCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyInstanceEventWindowRequest, ModifyInstanceEventWindowResult } from "../models/models_4"; +import { ModifyInstanceEventWindowRequest, ModifyInstanceEventWindowResult } from "../models/models_5"; import { deserializeAws_ec2ModifyInstanceEventWindowCommand, serializeAws_ec2ModifyInstanceEventWindowCommand, diff --git a/clients/client-ec2/src/commands/ModifyInstanceMetadataOptionsCommand.ts b/clients/client-ec2/src/commands/ModifyInstanceMetadataOptionsCommand.ts index 6f8a2e834a88..9bb608a3feb1 100644 --- a/clients/client-ec2/src/commands/ModifyInstanceMetadataOptionsCommand.ts +++ b/clients/client-ec2/src/commands/ModifyInstanceMetadataOptionsCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyInstanceMetadataOptionsRequest, ModifyInstanceMetadataOptionsResult } from "../models/models_4"; +import { ModifyInstanceMetadataOptionsRequest, ModifyInstanceMetadataOptionsResult } from "../models/models_5"; import { deserializeAws_ec2ModifyInstanceMetadataOptionsCommand, serializeAws_ec2ModifyInstanceMetadataOptionsCommand, diff --git a/clients/client-ec2/src/commands/ModifyInstancePlacementCommand.ts b/clients/client-ec2/src/commands/ModifyInstancePlacementCommand.ts index 807875e36121..a7c42bf7e491 100644 --- a/clients/client-ec2/src/commands/ModifyInstancePlacementCommand.ts +++ b/clients/client-ec2/src/commands/ModifyInstancePlacementCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyInstancePlacementRequest, ModifyInstancePlacementResult } from "../models/models_4"; +import { ModifyInstancePlacementRequest, ModifyInstancePlacementResult } from "../models/models_5"; import { deserializeAws_ec2ModifyInstancePlacementCommand, serializeAws_ec2ModifyInstancePlacementCommand, diff --git a/clients/client-ec2/src/commands/ModifyLaunchTemplateCommand.ts b/clients/client-ec2/src/commands/ModifyLaunchTemplateCommand.ts index 683c7b1c26d8..15147d5c4463 100644 --- a/clients/client-ec2/src/commands/ModifyLaunchTemplateCommand.ts +++ b/clients/client-ec2/src/commands/ModifyLaunchTemplateCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyLaunchTemplateRequest, ModifyLaunchTemplateResult } from "../models/models_4"; +import { ModifyLaunchTemplateRequest, ModifyLaunchTemplateResult } from "../models/models_5"; import { deserializeAws_ec2ModifyLaunchTemplateCommand, serializeAws_ec2ModifyLaunchTemplateCommand, diff --git a/clients/client-ec2/src/commands/ModifyManagedPrefixListCommand.ts b/clients/client-ec2/src/commands/ModifyManagedPrefixListCommand.ts index 72fdb40936f7..962c268241cb 100644 --- a/clients/client-ec2/src/commands/ModifyManagedPrefixListCommand.ts +++ b/clients/client-ec2/src/commands/ModifyManagedPrefixListCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyManagedPrefixListRequest, ModifyManagedPrefixListResult } from "../models/models_4"; +import { ModifyManagedPrefixListRequest, ModifyManagedPrefixListResult } from "../models/models_5"; import { deserializeAws_ec2ModifyManagedPrefixListCommand, serializeAws_ec2ModifyManagedPrefixListCommand, diff --git a/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts b/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts index 18e702c9d367..1f9bfa7c02d4 100644 --- a/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifyNetworkInterfaceAttributeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyNetworkInterfaceAttributeRequest } from "../models/models_4"; +import { ModifyNetworkInterfaceAttributeRequest } from "../models/models_5"; import { deserializeAws_ec2ModifyNetworkInterfaceAttributeCommand, serializeAws_ec2ModifyNetworkInterfaceAttributeCommand, diff --git a/clients/client-ec2/src/commands/ModifyReservedInstancesCommand.ts b/clients/client-ec2/src/commands/ModifyReservedInstancesCommand.ts index 47249216d31c..fd2dda81a0e7 100644 --- a/clients/client-ec2/src/commands/ModifyReservedInstancesCommand.ts +++ b/clients/client-ec2/src/commands/ModifyReservedInstancesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifyReservedInstancesRequest, ModifyReservedInstancesResult } from "../models/models_4"; +import { ModifyReservedInstancesRequest, ModifyReservedInstancesResult } from "../models/models_5"; import { deserializeAws_ec2ModifyReservedInstancesCommand, serializeAws_ec2ModifyReservedInstancesCommand, diff --git a/clients/client-ec2/src/commands/ModifySecurityGroupRulesCommand.ts b/clients/client-ec2/src/commands/ModifySecurityGroupRulesCommand.ts index b2662a742855..3121ff9d2d50 100644 --- a/clients/client-ec2/src/commands/ModifySecurityGroupRulesCommand.ts +++ b/clients/client-ec2/src/commands/ModifySecurityGroupRulesCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifySecurityGroupRulesRequest, ModifySecurityGroupRulesResult } from "../models/models_4"; +import { ModifySecurityGroupRulesRequest, ModifySecurityGroupRulesResult } from "../models/models_5"; import { deserializeAws_ec2ModifySecurityGroupRulesCommand, serializeAws_ec2ModifySecurityGroupRulesCommand, diff --git a/clients/client-ec2/src/commands/ModifySnapshotAttributeCommand.ts b/clients/client-ec2/src/commands/ModifySnapshotAttributeCommand.ts index 8ccda222029a..f0eb6c1e3788 100644 --- a/clients/client-ec2/src/commands/ModifySnapshotAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifySnapshotAttributeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifySnapshotAttributeRequest } from "../models/models_4"; +import { ModifySnapshotAttributeRequest } from "../models/models_5"; import { deserializeAws_ec2ModifySnapshotAttributeCommand, serializeAws_ec2ModifySnapshotAttributeCommand, diff --git a/clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.ts b/clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.ts index 999a2782f709..0deda4844fef 100644 --- a/clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.ts +++ b/clients/client-ec2/src/commands/ModifySpotFleetRequestCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifySpotFleetRequestRequest, ModifySpotFleetRequestResponse } from "../models/models_4"; +import { ModifySpotFleetRequestRequest, ModifySpotFleetRequestResponse } from "../models/models_5"; import { deserializeAws_ec2ModifySpotFleetRequestCommand, serializeAws_ec2ModifySpotFleetRequestCommand, diff --git a/clients/client-ec2/src/commands/ModifySubnetAttributeCommand.ts b/clients/client-ec2/src/commands/ModifySubnetAttributeCommand.ts index 7eb13fb70df0..c40845d47460 100644 --- a/clients/client-ec2/src/commands/ModifySubnetAttributeCommand.ts +++ b/clients/client-ec2/src/commands/ModifySubnetAttributeCommand.ts @@ -12,7 +12,7 @@ import { } from "@aws-sdk/types"; import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; -import { ModifySubnetAttributeRequest } from "../models/models_4"; +import { ModifySubnetAttributeRequest } from "../models/models_5"; import { deserializeAws_ec2ModifySubnetAttributeCommand, serializeAws_ec2ModifySubnetAttributeCommand, diff --git a/clients/client-ec2/src/commands/ModifyTrafficMirrorFilterNetworkServicesCommand.ts b/clients/client-ec2/src/commands/ModifyTrafficMirrorFilterNetworkServicesCommand.ts index 12a9bae38166..edf428561572 100644 --- a/clients/client-ec2/src/commands/ModifyTrafficMirrorFilterNetworkServicesCommand.ts +++ b/clients/client-ec2/src/commands/ModifyTrafficMirrorFilterNetworkServicesCommand.ts @@ -15,7 +15,7 @@ import { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from " import { ModifyTrafficMirrorFilterNetworkServicesRequest, ModifyTrafficMirrorFilterNetworkServicesResult, -} from "../models/models_4"; +} from "../models/models_5"; import { deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommand, serializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommand, diff --git a/clients/client-ec2/src/commands/index.ts b/clients/client-ec2/src/commands/index.ts index 26055ba42b8c..cc5f9882e8ea 100644 --- a/clients/client-ec2/src/commands/index.ts +++ b/clients/client-ec2/src/commands/index.ts @@ -345,12 +345,14 @@ export * from "./GetEbsEncryptionByDefaultCommand"; export * from "./GetFlowLogsIntegrationTemplateCommand"; export * from "./GetGroupsForCapacityReservationCommand"; export * from "./GetHostReservationPurchasePreviewCommand"; +export * from "./GetInstanceTypesFromInstanceRequirementsCommand"; export * from "./GetLaunchTemplateDataCommand"; export * from "./GetManagedPrefixListAssociationsCommand"; export * from "./GetManagedPrefixListEntriesCommand"; export * from "./GetPasswordDataCommand"; export * from "./GetReservedInstancesExchangeQuoteCommand"; export * from "./GetSerialConsoleAccessStatusCommand"; +export * from "./GetSpotPlacementScoresCommand"; export * from "./GetSubnetCidrReservationsCommand"; export * from "./GetTransitGatewayAttachmentPropagationsCommand"; export * from "./GetTransitGatewayMulticastDomainAssociationsCommand"; diff --git a/clients/client-ec2/src/models/models_0.ts b/clients/client-ec2/src/models/models_0.ts index 1bbb739a1468..0ab443a4b83f 100644 --- a/clients/client-ec2/src/models/models_0.ts +++ b/clients/client-ec2/src/models/models_0.ts @@ -1,3 +1,134 @@ +/** + *

        The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) + * on an instance.

        + */ +export interface AcceleratorCount { + /** + *

        The minimum number of accelerators. If this parameter is not specified, there is no minimum + * limit.

        + */ + Min?: number; + + /** + *

        The maximum number of accelerators. If this parameter is not specified, there is no + * maximum limit.

        + */ + Max?: number; +} + +export namespace AcceleratorCount { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AcceleratorCount): any => ({ + ...obj, + }); +} + +/** + *

        The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) + * on an instance. To exclude accelerator-enabled instance types, set Max to + * 0.

        + */ +export interface AcceleratorCountRequest { + /** + *

        The minimum number of accelerators. To specify no minimum limit, omit this + * parameter.

        + */ + Min?: number; + + /** + *

        The maximum number of accelerators. To specify no maximum limit, omit this + * parameter. To exclude accelerator-enabled instance types, set Max to + * 0.

        + */ + Max?: number; +} + +export namespace AcceleratorCountRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AcceleratorCountRequest): any => ({ + ...obj, + }); +} + +export enum AcceleratorManufacturer { + AMAZON_WEB_SERVICES = "amazon-web-services", + AMD = "amd", + NVIDIA = "nvidia", + XILINX = "xilinx", +} + +export enum AcceleratorName { + A100 = "a100", + K80 = "k80", + M60 = "m60", + RADEON_PRO_V520 = "radeon-pro-v520", + T4 = "t4", + V100 = "v100", + VU9P = "vu9p", +} + +/** + *

        The minimum and maximum amount of total accelerator memory, in MiB.

        + */ +export interface AcceleratorTotalMemoryMiB { + /** + *

        The minimum amount of accelerator memory, in MiB. If this parameter is not specified, + * there is no minimum limit.

        + */ + Min?: number; + + /** + *

        The maximum amount of accelerator memory, in MiB. If this parameter is not specified, + * there is no maximum limit.

        + */ + Max?: number; +} + +export namespace AcceleratorTotalMemoryMiB { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AcceleratorTotalMemoryMiB): any => ({ + ...obj, + }); +} + +/** + *

        The minimum and maximum amount of total accelerator memory, in MiB.

        + */ +export interface AcceleratorTotalMemoryMiBRequest { + /** + *

        The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this + * parameter.

        + */ + Min?: number; + + /** + *

        The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this + * parameter.

        + */ + Max?: number; +} + +export namespace AcceleratorTotalMemoryMiBRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: AcceleratorTotalMemoryMiBRequest): any => ({ + ...obj, + }); +} + +export enum AcceleratorType { + FPGA = "fpga", + GPU = "gpu", + INFERENCE = "inference", +} + /** *

        Details about the target configuration.

        */ @@ -5664,6 +5795,7 @@ export type _InstanceType = | "d3en.6xlarge" | "d3en.8xlarge" | "d3en.xlarge" + | "dl1.24xlarge" | "f1.16xlarge" | "f1.2xlarge" | "f1.4xlarge" @@ -7504,642 +7636,559 @@ export namespace FleetLaunchTemplateSpecificationRequest { }); } +export enum BareMetal { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} + /** - *

        Describes the placement of an instance.

        + *

        The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see + * Amazon + * EBS–optimized instances in the Amazon EC2 User Guide.

        */ -export interface Placement { +export interface BaselineEbsBandwidthMbpsRequest { /** - *

        The Availability Zone of the instance.

        - *

        If not specified, an Availability Zone will be automatically chosen for you based on - * the load balancing criteria for the Region.

        - *

        This parameter is not supported by CreateFleet.

        + *

        The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit + * this parameter.

        */ - AvailabilityZone?: string; + Min?: number; /** - *

        The affinity setting for the instance on the Dedicated Host. This parameter is not - * supported for the ImportInstance command.

        - *

        This parameter is not supported by CreateFleet.

        + *

        The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit + * this parameter.

        */ - Affinity?: string; + Max?: number; +} +export namespace BaselineEbsBandwidthMbpsRequest { /** - *

        The name of the placement group the instance is in.

        + * @internal */ - GroupName?: string; + export const filterSensitiveLog = (obj: BaselineEbsBandwidthMbpsRequest): any => ({ + ...obj, + }); +} - /** - *

        The number of the partition the instance is in. Valid only if the placement group - * strategy is set to partition.

        - *

        This parameter is not supported by CreateFleet.

        - */ - PartitionNumber?: number; +export enum BurstablePerformance { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} - /** - *

        The ID of the Dedicated Host on which the instance resides. This parameter is not - * supported for the ImportInstance command.

        - *

        This parameter is not supported by CreateFleet.

        - */ - HostId?: string; +export enum CpuManufacturer { + AMAZON_WEB_SERVICES = "amazon-web-services", + AMD = "amd", + INTEL = "intel", +} - /** - *

        The tenancy of the instance (if the instance is running in a VPC). An instance with a - * tenancy of dedicated runs on single-tenant hardware. The host - * tenancy is not supported for the ImportInstance command.

        - *

        This parameter is not supported by CreateFleet.

        - * - *

        T3 instances that use the unlimited CPU credit option do not support host tenancy.

        - */ - Tenancy?: Tenancy | string; +export enum InstanceGeneration { + CURRENT = "current", + PREVIOUS = "previous", +} + +export enum LocalStorage { + EXCLUDED = "excluded", + INCLUDED = "included", + REQUIRED = "required", +} +export enum LocalStorageType { + HDD = "hdd", + SSD = "ssd", +} + +/** + *

        The minimum and maximum amount of memory per vCPU, in GiB.

        + */ +export interface MemoryGiBPerVCpuRequest { /** - *

        Reserved for future use.

        - *

        This parameter is not supported by CreateFleet.

        + *

        The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this + * parameter.

        */ - SpreadDomain?: string; + Min?: number; /** - *

        The ARN of the host resource group in which to launch the instances. If you specify - * a host resource group ARN, omit the Tenancy - * parameter or set it to host.

        - *

        This parameter is not supported by CreateFleet.

        + *

        The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this + * parameter.

        */ - HostResourceGroupArn?: string; + Max?: number; } -export namespace Placement { +export namespace MemoryGiBPerVCpuRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Placement): any => ({ + export const filterSensitiveLog = (obj: MemoryGiBPerVCpuRequest): any => ({ ...obj, }); } /** - *

        Describes overrides for a launch template.

        + *

        The minimum and maximum amount of memory, in MiB.

        */ -export interface FleetLaunchTemplateOverridesRequest { - /** - *

        The instance type.

        - */ - InstanceType?: _InstanceType | string; - - /** - *

        The maximum price per unit hour that you are willing to pay for a Spot Instance.

        - */ - MaxPrice?: string; - +export interface MemoryMiBRequest { /** - *

        The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

        + *

        The minimum amount of memory, in MiB. To specify no minimum limit, specify + * 0.

        */ - SubnetId?: string; + Min: number | undefined; /** - *

        The Availability Zone in which to launch the instances.

        + *

        The maximum amount of memory, in MiB. To specify no maximum limit, omit this + * parameter.

        */ - AvailabilityZone?: string; + Max?: number; +} +export namespace MemoryMiBRequest { /** - *

        The number of units provided by the specified instance type.

        + * @internal */ - WeightedCapacity?: number; + export const filterSensitiveLog = (obj: MemoryMiBRequest): any => ({ + ...obj, + }); +} +/** + *

        The minimum and maximum number of network interfaces.

        + */ +export interface NetworkInterfaceCountRequest { /** - *

        The priority for the launch template override. The highest priority is launched - * first.

        - *

        If the On-Demand AllocationStrategy is set to prioritized, - * EC2 Fleet uses priority to determine which launch template override to use first in fulfilling - * On-Demand capacity.

        - *

        If the Spot AllocationStrategy is set to - * capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis - * to determine which launch template override to use in fulfilling Spot capacity, but - * optimizes for capacity first.

        - *

        Valid values are whole numbers starting at 0. The lower the number, the - * higher the priority. If no number is set, the launch template override has the lowest - * priority. You can set the same priority for different launch template overrides.

        + *

        The minimum number of network interfaces. To specify no minimum limit, omit this + * parameter.

        */ - Priority?: number; + Min?: number; /** - *

        The location where the instance launched, if applicable.

        + *

        The maximum number of network interfaces. To specify no maximum limit, omit this + * parameter.

        */ - Placement?: Placement; + Max?: number; } -export namespace FleetLaunchTemplateOverridesRequest { +export namespace NetworkInterfaceCountRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateOverridesRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfaceCountRequest): any => ({ ...obj, }); } /** - *

        Describes a launch template and overrides.

        + *

        The minimum and maximum amount of total local storage, in GB.

        */ -export interface FleetLaunchTemplateConfigRequest { +export interface TotalLocalStorageGBRequest { /** - *

        The launch template to use. You must specify either the launch template ID or launch - * template name in the request.

        + *

        The minimum amount of total local storage, in GB. To specify no minimum limit, omit this + * parameter.

        */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecificationRequest; + Min?: number; /** - *

        Any parameters that you specify override the same parameters in the launch - * template.

        - *

        For fleets of type request and maintain, a maximum of 300 - * items is allowed across all launch templates.

        + *

        The maximum amount of total local storage, in GB. To specify no maximum limit, omit this + * parameter.

        */ - Overrides?: FleetLaunchTemplateOverridesRequest[]; + Max?: number; } -export namespace FleetLaunchTemplateConfigRequest { +export namespace TotalLocalStorageGBRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateConfigRequest): any => ({ + export const filterSensitiveLog = (obj: TotalLocalStorageGBRequest): any => ({ ...obj, }); } -export enum FleetOnDemandAllocationStrategy { - LOWEST_PRICE = "lowest-price", - PRIORITIZED = "prioritized", -} - -export enum FleetCapacityReservationUsageStrategy { - USE_CAPACITY_RESERVATIONS_FIRST = "use-capacity-reservations-first", -} - /** - *

        Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand - * capacity.

        - * - *

        This strategy can only be used if the EC2 Fleet is of type instant.

        - *
        - *

        For more information about Capacity Reservations, see On-Demand Capacity - * Reservations in the Amazon EC2 User Guide. For examples of using - * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example - * configurations in the Amazon EC2 User Guide.

        + *

        The minimum and maximum number of vCPUs.

        */ -export interface CapacityReservationOptionsRequest { +export interface VCpuCountRangeRequest { /** - *

        Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

        - *

        If you specify use-capacity-reservations-first, the fleet uses unused - * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If - * multiple instance pools have unused Capacity Reservations, the On-Demand allocation - * strategy (lowest-price or prioritized) is applied. If the number - * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining - * On-Demand target capacity is launched according to the On-Demand allocation strategy - * (lowest-price or prioritized).

        - *

        If you do not specify a value, the fleet fulfils the On-Demand capacity according to the - * chosen On-Demand allocation strategy.

        + *

        The minimum number of vCPUs. To specify no minimum limit, specify 0.

        */ - UsageStrategy?: FleetCapacityReservationUsageStrategy | string; + Min: number | undefined; + + /** + *

        The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

        + */ + Max?: number; } -export namespace CapacityReservationOptionsRequest { +export namespace VCpuCountRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: VCpuCountRangeRequest): any => ({ ...obj, }); } /** - *

        Describes the configuration of On-Demand Instances in an EC2 Fleet.

        + *

        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with these attributes.

        + *

        When you specify multiple parameters, you get instance types that satisfy all of the + * specified parameters. If you specify multiple values for a parameter, you get instance + * types that satisfy any of the specified values.

        + * + *

        You must specify VCpuCount and MemoryMiB. All other parameters + * are optional. Any unspecified optional parameter is set to its default.

        + *
        + *

        For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot + * placement score in the Amazon EC2 User Guide.

        */ -export interface OnDemandOptionsRequest { +export interface InstanceRequirementsRequest { /** - *

        The order of the launch template overrides to use in fulfilling On-Demand capacity. If - * you specify lowest-price, EC2 Fleet uses price to determine the order, launching - * the lowest price first. If you specify prioritized, EC2 Fleet uses the priority - * that you assigned to each launch template override, launching the highest priority first. - * If you do not specify a value, EC2 Fleet defaults to lowest-price.

        + *

        The minimum and maximum number of vCPUs.

        */ - AllocationStrategy?: FleetOnDemandAllocationStrategy | string; + VCpuCount: VCpuCountRangeRequest | undefined; /** - *

        The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. - * Supported only for fleets of type instant.

        + *

        The minimum and maximum amount of memory, in MiB.

        */ - CapacityReservationOptions?: CapacityReservationOptionsRequest; + MemoryMiB: MemoryMiBRequest | undefined; /** - *

        Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. - * Supported only for fleets of type instant.

        + *

        The CPU manufacturers to include.

        + *
          + *
        • + *

          For instance types with Intel CPUs, specify intel.

          + *
        • + *
        • + *

          For instance types with AMD CPUs, specify amd.

          + *
        • + *
        • + *

          For instance types with Amazon Web Services CPUs, specify amazon-web-services.

          + *
        • + *
        + * + *

        Don't confuse the CPU manufacturer with the CPU architecture. Instances will + * be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you + * specify in your launch template.

        + *
        + *

        Default: Any manufacturer

        */ - SingleInstanceType?: boolean; + CpuManufacturers?: (CpuManufacturer | string)[]; /** - *

        Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported - * only for fleets of type instant.

        + *

        The minimum and maximum amount of memory per vCPU, in GiB.

        + *

        Default: No minimum or maximum limits

        */ - SingleAvailabilityZone?: boolean; + MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest; /** - *

        The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

        + *

        The instance types to exclude. You can use strings with one or more wild cards, represented by + * an asterisk (*), to exclude an instance family, type, size, or generation. The + * following are examples: m5.8xlarge, c5*.*, m5a.*, + * r*, *3*.

        + *

        For example, if you specify c5*.*, Amazon EC2 will exclude the entire C5 + * instance family (all C5a and C5n instance types). If you specify c5a.*, Amazon EC2 + * excludes all the C5a instance types, but does not exclude the C5n instance types.

        + *

        Default: No excluded instance types

        */ - MinTargetCapacity?: number; + ExcludedInstanceTypes?: string[]; /** - *

        The maximum amount per hour for On-Demand Instances that you're willing to pay.

        + *

        Indicates whether current or previous generation instance types are included. The + * current generation instance types are recommended for use. Current generation instance types are + * typically the latest two to three generations in each instance family. For more + * information, see Instance types in the + * Amazon EC2 User Guide.

        + *

        For current generation instance types, specify current.

        + *

        For previous generation instance types, specify previous.

        + *

        Default: Current and previous generation instance types

        */ - MaxTotalPrice?: string; -} + InstanceGenerations?: (InstanceGeneration | string)[]; -export namespace OnDemandOptionsRequest { /** - * @internal - */ - export const filterSensitiveLog = (obj: OnDemandOptionsRequest): any => ({ - ...obj, - }); -} - -export enum SpotAllocationStrategy { - CAPACITY_OPTIMIZED = "capacity-optimized", - CAPACITY_OPTIMIZED_PRIORITIZED = "capacity-optimized-prioritized", - DIVERSIFIED = "diversified", - LOWEST_PRICE = "lowest-price", -} - -export type SpotInstanceInterruptionBehavior = "hibernate" | "stop" | "terminate"; - -export enum FleetReplacementStrategy { - LAUNCH = "launch", -} - -/** - *

        The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your - * Spot Instance is at an elevated risk of being interrupted. For more information, see - * Capacity rebalancing in the Amazon EC2 User Guide.

        - */ -export interface FleetSpotCapacityRebalanceRequest { - /** - *

        The replacement strategy to use. Only available for fleets of type - * maintain.

        - *

        To allow EC2 Fleet to launch a replacement Spot Instance when an instance rebalance - * notification is emitted for an existing Spot Instance in the fleet, specify - * launch. You must specify a value, otherwise you get an error.

        - * - *

        When a replacement instance is launched, the instance marked for rebalance is not - * automatically terminated. You can terminate it, or you can leave it running. You are charged for all instances while they are running.

        - *
        - */ - ReplacementStrategy?: FleetReplacementStrategy | string; -} - -export namespace FleetSpotCapacityRebalanceRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: FleetSpotCapacityRebalanceRequest): any => ({ - ...obj, - }); -} - -/** - *

        The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

        - */ -export interface FleetSpotMaintenanceStrategiesRequest { - /** - *

        The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an - * elevated risk of being interrupted.

        - */ - CapacityRebalance?: FleetSpotCapacityRebalanceRequest; -} - -export namespace FleetSpotMaintenanceStrategiesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: FleetSpotMaintenanceStrategiesRequest): any => ({ - ...obj, - }); -} - -/** - *

        Describes the configuration of Spot Instances in an EC2 Fleet request.

        - */ -export interface SpotOptionsRequest { - /** - *

        Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by - * the EC2 Fleet.

        - *

        If the allocation strategy is lowest-price, EC2 Fleet launches instances from - * the Spot Instance pools with the lowest price. This is the default allocation strategy.

        - *

        If the allocation strategy is diversified, EC2 Fleet launches instances from all - * of the Spot Instance pools that you specify.

        - *

        If the allocation strategy is capacity-optimized (recommended), EC2 Fleet - * launches instances from Spot Instance pools with optimal capacity for the number of instances that - * are launching. To give certain instance types a higher chance of launching first, use - * capacity-optimized-prioritized. Set a priority for each instance type by - * using the Priority parameter for LaunchTemplateOverrides. You can - * assign the same priority to different LaunchTemplateOverrides. EC2 implements - * the priorities on a best-effort basis, but optimizes for capacity first. - * capacity-optimized-prioritized is supported only if your fleet uses a - * launch template. Note that if the On-Demand AllocationStrategy is set to - * prioritized, the same priority is applied when fulfilling On-Demand - * capacity.

        - */ - AllocationStrategy?: SpotAllocationStrategy | string; - - /** - *

        The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

        - */ - MaintenanceStrategies?: FleetSpotMaintenanceStrategiesRequest; - - /** - *

        The behavior when a Spot Instance is interrupted. The default is terminate.

        - */ - InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; - - /** - *

        The number of Spot pools across which to allocate your target Spot capacity. Valid only - * when Spot AllocationStrategy is set to - * lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates - * your target Spot capacity across the number of Spot pools that you specify.

        - *

        Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a - * best effort basis. If a pool runs out of Spot capacity before fulfilling your target - * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest - * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than - * the number of pools that you specified. Similarly, if most of the pools have no Spot - * capacity, you might receive your full target capacity from fewer than the number of pools - * that you specified.

        - */ - InstancePoolsToUseCount?: number; - - /** - *

        Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. - * Supported only for fleets of type instant.

        - */ - SingleInstanceType?: boolean; - - /** - *

        Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported - * only for fleets of type instant.

        - */ - SingleAvailabilityZone?: boolean; - - /** - *

        The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

        - */ - MinTargetCapacity?: number; - - /** - *

        The maximum amount per hour for Spot Instances that you're willing to pay.

        - */ - MaxTotalPrice?: string; -} - -export namespace SpotOptionsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: SpotOptionsRequest): any => ({ - ...obj, - }); -} - -export enum DefaultTargetCapacityType { - ON_DEMAND = "on-demand", - SPOT = "spot", -} - -/** - *

        The number of units to request. You can choose to set the target capacity as the number of - * instances. Or you can set the target capacity to a performance characteristic that is important to your application workload, - * such as vCPUs, memory, or I/O. If the request type is maintain, you can - * specify a target capacity of 0 and add capacity later.

        - *

        You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance - * MaxTotalPrice parameter, or both parameters to ensure that your fleet cost - * does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances - * in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're - * willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops - * launching instances even if it hasn’t met the target capacity. The - * MaxTotalPrice parameters are located in OnDemandOptionsRequest - * and SpotOptionsRequest.

        - */ -export interface TargetCapacitySpecificationRequest { - /** - *

        The number of units to request, filled using - * DefaultTargetCapacityType.

        + *

        The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, + * expressed as a percentage above the cheapest M, C, or R instance type with your specified + * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance + * types priced above your threshold.

        + *

        The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

        + *

        To turn off price protection, specify a high value, such as 999999.

        + *

        This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

        + *

        Default: 100 + *

        */ - TotalTargetCapacity: number | undefined; + SpotMaxPricePercentageOverLowestPrice?: number; /** - *

        The number of On-Demand units to request.

        + *

        The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, + * expressed as a percentage above the cheapest M, C, or R instance type with your specified + * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance + * types priced above your threshold.

        + *

        The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

        + *

        To turn off price protection, specify a high value, such as 999999.

        + *

        This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

        + *

        Default: 20 + *

        */ - OnDemandTargetCapacity?: number; + OnDemandMaxPricePercentageOverLowestPrice?: number; /** - *

        The number of Spot units to request.

        + *

        Indicates whether bare metal instance types must be included, excluded, or required.

        + *
          + *
        • + *

          To include bare metal instance types, specify included.

          + *
        • + *
        • + *

          To require only bare metal instance types, specify required.

          + *
        • + *
        • + *

          To exclude bare metal instance types, specify excluded.

          + *
        • + *
        + *

        Default: excluded + *

        */ - SpotTargetCapacity?: number; + BareMetal?: BareMetal | string; /** - *

        The default TotalTargetCapacity, which is either Spot or - * On-Demand.

        + *

        Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see + * Burstable performance instances.

        + *
          + *
        • + *

          To include burstable performance instance types, specify included.

          + *
        • + *
        • + *

          To require only burstable performance instance types, specify required.

          + *
        • + *
        • + *

          To exclude burstable performance instance types, specify excluded.

          + *
        • + *
        + *

        Default: excluded + *

        */ - DefaultTargetCapacityType?: DefaultTargetCapacityType | string; -} + BurstablePerformance?: BurstablePerformance | string; -export namespace TargetCapacitySpecificationRequest { /** - * @internal - */ - export const filterSensitiveLog = (obj: TargetCapacitySpecificationRequest): any => ({ - ...obj, - }); -} - -export enum FleetType { - INSTANT = "instant", - MAINTAIN = "maintain", - REQUEST = "request", -} - -export interface CreateFleetRequest { - /** - *

        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

        + *

        Indicates whether instance types must support hibernation for On-Demand Instances.

        + *

        This parameter is not supported for GetSpotPlacementScores.

        + *

        Default: false + *

        */ - DryRun?: boolean; + RequireHibernateSupport?: boolean; /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

        + *

        The minimum and maximum number of network interfaces.

        + *

        Default: No minimum or maximum limits

        */ - ClientToken?: string; + NetworkInterfaceCount?: NetworkInterfaceCountRequest; /** - *

        Describes the configuration of Spot Instances in an EC2 Fleet.

        + *

        Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, + * Amazon + * EC2 instance store in the Amazon EC2 User Guide.

        + *
          + *
        • + *

          To include instance types with instance store volumes, specify + * included.

          + *
        • + *
        • + *

          To require only instance types with instance store volumes, specify + * required.

          + *
        • + *
        • + *

          To exclude instance types with instance store volumes, specify + * excluded.

          + *
        • + *
        + *

        Default: included + *

        */ - SpotOptions?: SpotOptionsRequest; + LocalStorage?: LocalStorage | string; /** - *

        Describes the configuration of On-Demand Instances in an EC2 Fleet.

        + *

        The type of local storage that is required.

        + *
          + *
        • + *

          For instance types with hard disk drive (HDD) storage, specify hdd.

          + *
        • + *
        • + *

          For instance types with solid state drive (SDD) storage, specify sdd.

          + *
        • + *
        + *

        Default: hdd and sdd + *

        */ - OnDemandOptions?: OnDemandOptionsRequest; + LocalStorageTypes?: (LocalStorageType | string)[]; /** - *

        Indicates whether running instances should be terminated if the total target capacity of - * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

        + *

        The minimum and maximum amount of total local storage, in GB.

        + *

        Default: No minimum or maximum limits

        */ - ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; + TotalLocalStorageGB?: TotalLocalStorageGBRequest; /** - *

        The configuration for the EC2 Fleet.

        + *

        The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see + * Amazon + * EBS–optimized instances in the Amazon EC2 User Guide.

        + *

        Default: No minimum or maximum limits

        */ - LaunchTemplateConfigs: FleetLaunchTemplateConfigRequest[] | undefined; + BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest; /** - *

        The number of units to request.

        + *

        The accelerator types that must be on the instance type.

        + *
          + *
        • + *

          To include instance types with GPU hardware, specify gpu.

          + *
        • + *
        • + *

          To include instance types with FPGA hardware, specify fpga.

          + *
        • + *
        • + *

          To include instance types with inference hardware, specify inference.

          + *
        • + *
        + *

        Default: Any accelerator type

        */ - TargetCapacitySpecification: TargetCapacitySpecificationRequest | undefined; + AcceleratorTypes?: (AcceleratorType | string)[]; /** - *

        Indicates whether running instances should be terminated when the EC2 Fleet expires.

        + *

        The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on + * an instance.

        + *

        To exclude accelerator-enabled instance types, set Max to 0.

        + *

        Default: No minimum or maximum limits

        */ - TerminateInstancesWithExpiration?: boolean; + AcceleratorCount?: AcceleratorCountRequest; /** - *

        The fleet type. The default value is maintain.

        + *

        Indicates whether instance types must have accelerators by specific manufacturers.

        *
          *
        • - *

          - * maintain - The EC2 Fleet places an asynchronous request for your desired - * capacity, and continues to maintain your desired Spot capacity by replenishing - * interrupted Spot Instances.

          + *

          For instance types with NVIDIA devices, specify nvidia.

          *
        • *
        • - *

          - * request - The EC2 Fleet places an asynchronous one-time request for your - * desired capacity, but does submit Spot requests in alternative capacity pools if Spot - * capacity is unavailable, and does not maintain Spot capacity if Spot Instances are - * interrupted.

          + *

          For instance types with AMD devices, specify amd.

          *
        • *
        • - *

          - * instant - The EC2 Fleet places a synchronous one-time request for your - * desired capacity, and returns errors for any instances that could not be - * launched.

          + *

          For instance types with Amazon Web Services devices, specify amazon-web-services.

          + *
        • + *
        • + *

          For instance types with Xilinx devices, specify xilinx.

          *
        • *
        - *

        For more information, see EC2 Fleet - * request types in the Amazon EC2 User Guide.

        + *

        Default: Any manufacturer

        */ - Type?: FleetType | string; + AcceleratorManufacturers?: (AcceleratorManufacturer | string)[]; /** - *

        The start date and time of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * The default is to start fulfilling the request immediately.

        + *

        The accelerators that must be on the instance type.

        + *
          + *
        • + *

          For instance types with NVIDIA A100 GPUs, specify a100.

          + *
        • + *
        • + *

          For instance types with NVIDIA V100 GPUs, specify v100.

          + *
        • + *
        • + *

          For instance types with NVIDIA K80 GPUs, specify k80.

          + *
        • + *
        • + *

          For instance types with NVIDIA T4 GPUs, specify t4.

          + *
        • + *
        • + *

          For instance types with NVIDIA M60 GPUs, specify m60.

          + *
        • + *
        • + *

          For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

          + *
        • + *
        • + *

          For instance types with Xilinx VU9P FPGAs, specify vu9p.

          + *
        • + *
        + *

        Default: Any accelerator

        */ - ValidFrom?: Date; + AcceleratorNames?: (AcceleratorName | string)[]; /** - *

        The end date and time of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

        + *

        The minimum and maximum amount of total accelerator memory, in MiB.

        + *

        Default: No minimum or maximum limits

        */ - ValidUntil?: Date; + AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest; +} +export namespace InstanceRequirementsRequest { /** - *

        Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for - * fleets of type maintain. For more information, see EC2 Fleet - * health checks in the Amazon EC2 User Guide.

        + * @internal */ - ReplaceUnhealthyInstances?: boolean; + export const filterSensitiveLog = (obj: InstanceRequirementsRequest): any => ({ + ...obj, + }); +} +/** + *

        Describes the placement of an instance.

        + */ +export interface Placement { /** - *

        The key-value pair for tagging the EC2 Fleet request on creation. For more information, see - * Tagging your resources.

        - *

        If the fleet type is instant, specify a resource type of fleet - * to tag the fleet or instance to tag the instances at launch.

        - *

        If the fleet type is maintain or request, specify a resource - * type of fleet to tag the fleet. You cannot specify a resource type of - * instance. To tag instances at launch, specify the tags in a launch template.

        + *

        The Availability Zone of the instance.

        + *

        If not specified, an Availability Zone will be automatically chosen for you based on + * the load balancing criteria for the Region.

        + *

        This parameter is not supported by CreateFleet.

        */ - TagSpecifications?: TagSpecification[]; + AvailabilityZone?: string; /** - *

        Reserved.

        + *

        The affinity setting for the instance on the Dedicated Host. This parameter is not + * supported for the ImportInstance command.

        + *

        This parameter is not supported by CreateFleet.

        */ - Context?: string; -} + Affinity?: string; -export namespace CreateFleetRequest { /** - * @internal + *

        The name of the placement group the instance is in.

        */ - export const filterSensitiveLog = (obj: CreateFleetRequest): any => ({ - ...obj, - }); -} + GroupName?: string; -/** - *

        Describes the Amazon EC2 launch template and the launch template version that can be used - * by a Spot Fleet request to configure Amazon EC2 instances. For information about launch templates, - * see Launching an instance from a launch template in the - * Amazon EC2 User Guide for Linux Instances.

        - */ -export interface FleetLaunchTemplateSpecification { /** - *

        The ID of the launch template. If you specify the template ID, you can't specify the - * template name.

        + *

        The number of the partition the instance is in. Valid only if the placement group + * strategy is set to partition.

        + *

        This parameter is not supported by CreateFleet.

        */ - LaunchTemplateId?: string; + PartitionNumber?: number; /** - *

        The name of the launch template. If you specify the template name, you can't specify - * the template ID.

        + *

        The ID of the Dedicated Host on which the instance resides. This parameter is not + * supported for the ImportInstance command.

        + *

        This parameter is not supported by CreateFleet.

        */ - LaunchTemplateName?: string; + HostId?: string; /** - *

        The launch template version number, $Latest, or $Default. - * You must specify a value, otherwise the request fails.

        - *

        If the value is $Latest, Amazon EC2 uses the latest version of the launch - * template.

        - *

        If the value is $Default, Amazon EC2 uses the default version of the launch - * template.

        + *

        The tenancy of the instance (if the instance is running in a VPC). An instance with a + * tenancy of dedicated runs on single-tenant hardware. The host + * tenancy is not supported for the ImportInstance command.

        + *

        This parameter is not supported by CreateFleet.

        + * + *

        T3 instances that use the unlimited CPU credit option do not support host tenancy.

        */ - Version?: string; -} + Tenancy?: Tenancy | string; -export namespace FleetLaunchTemplateSpecification { /** - * @internal + *

        Reserved for future use.

        + *

        This parameter is not supported by CreateFleet.

        */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateSpecification): any => ({ - ...obj, - }); -} + SpreadDomain?: string; -/** - *

        Describes the placement of an instance.

        - */ -export interface PlacementResponse { /** - *

        The name of the placement group that the instance is in.

        + *

        The ARN of the host resource group in which to launch the instances. If you specify + * a host resource group ARN, omit the Tenancy + * parameter or set it to host.

        + *

        This parameter is not supported by CreateFleet.

        */ - GroupName?: string; + HostResourceGroupArn?: string; } -export namespace PlacementResponse { +export namespace Placement { /** * @internal */ - export const filterSensitiveLog = (obj: PlacementResponse): any => ({ + export const filterSensitiveLog = (obj: Placement): any => ({ ...obj, }); } @@ -8147,9 +8196,13 @@ export namespace PlacementResponse { /** *

        Describes overrides for a launch template.

        */ -export interface FleetLaunchTemplateOverrides { +export interface FleetLaunchTemplateOverridesRequest { /** *

        The instance type.

        + * + *

        If you specify InstanceTypes, you can't specify + * InstanceRequirements.

        + *
        */ InstanceType?: _InstanceType | string; @@ -8159,7 +8212,7 @@ export interface FleetLaunchTemplateOverrides { MaxPrice?: string; /** - *

        The ID of the subnet in which to launch the instances.

        + *

        The IDs of the subnets in which to launch the instances. Separate multiple subnet IDs using commas (for example, subnet-1234abcdeexample1, subnet-0987cdef6example2). A request of type instant can have only one subnet ID.

        */ SubnetId?: string; @@ -8184,22 +8237,32 @@ export interface FleetLaunchTemplateOverrides { * to determine which launch template override to use in fulfilling Spot capacity, but * optimizes for capacity first.

        *

        Valid values are whole numbers starting at 0. The lower the number, the - * higher the priority. If no number is set, the override has the lowest priority. You can set - * the same priority for different launch template overrides.

        + * higher the priority. If no number is set, the launch template override has the lowest + * priority. You can set the same priority for different launch template overrides.

        */ Priority?: number; /** *

        The location where the instance launched, if applicable.

        */ - Placement?: PlacementResponse; + Placement?: Placement; + + /** + *

        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

        + * + *

        If you specify InstanceRequirements, you can't specify + * InstanceTypes.

        + *
        + */ + InstanceRequirements?: InstanceRequirementsRequest; } -export namespace FleetLaunchTemplateOverrides { +export namespace FleetLaunchTemplateOverridesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateOverrides): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateOverridesRequest): any => ({ ...obj, }); } @@ -8207,350 +8270,345 @@ export namespace FleetLaunchTemplateOverrides { /** *

        Describes a launch template and overrides.

        */ -export interface LaunchTemplateAndOverridesResponse { +export interface FleetLaunchTemplateConfigRequest { /** - *

        The launch template.

        + *

        The launch template to use. You must specify either the launch template ID or launch + * template name in the request.

        */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecificationRequest; /** *

        Any parameters that you specify override the same parameters in the launch * template.

        + *

        For fleets of type request and maintain, a maximum of 300 + * items is allowed across all launch templates.

        */ - Overrides?: FleetLaunchTemplateOverrides; + Overrides?: FleetLaunchTemplateOverridesRequest[]; } -export namespace LaunchTemplateAndOverridesResponse { +export namespace FleetLaunchTemplateConfigRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateAndOverridesResponse): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateConfigRequest): any => ({ ...obj, }); } -export enum InstanceLifecycle { - ON_DEMAND = "on-demand", - SPOT = "spot", +export enum FleetOnDemandAllocationStrategy { + LOWEST_PRICE = "lowest-price", + PRIORITIZED = "prioritized", +} + +export enum FleetCapacityReservationUsageStrategy { + USE_CAPACITY_RESERVATIONS_FIRST = "use-capacity-reservations-first", } /** - *

        Describes the instances that could not be launched by the fleet.

        + *

        Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand + * capacity.

        + * + *

        This strategy can only be used if the EC2 Fleet is of type instant.

        + *
        + *

        For more information about Capacity Reservations, see On-Demand Capacity + * Reservations in the Amazon EC2 User Guide. For examples of using + * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example + * configurations in the Amazon EC2 User Guide.

        */ -export interface CreateFleetError { - /** - *

        The launch templates and overrides that were used for launching the instances. The - * values that you specify in the Overrides replace the values in the launch template.

        - */ - LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; - - /** - *

        Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

        - */ - Lifecycle?: InstanceLifecycle | string; - - /** - *

        The error code that indicates why the instance could not be launched. For more - * information about error codes, see Error Codes.

        - */ - ErrorCode?: string; - +export interface CapacityReservationOptionsRequest { /** - *

        The error message that describes why the instance could not be launched. For more - * information about error messages, see Error Codes.

        + *

        Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

        + *

        If you specify use-capacity-reservations-first, the fleet uses unused + * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If + * multiple instance pools have unused Capacity Reservations, the On-Demand allocation + * strategy (lowest-price or prioritized) is applied. If the number + * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining + * On-Demand target capacity is launched according to the On-Demand allocation strategy + * (lowest-price or prioritized).

        + *

        If you do not specify a value, the fleet fulfils the On-Demand capacity according to the + * chosen On-Demand allocation strategy.

        */ - ErrorMessage?: string; + UsageStrategy?: FleetCapacityReservationUsageStrategy | string; } -export namespace CreateFleetError { +export namespace CapacityReservationOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFleetError): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationOptionsRequest): any => ({ ...obj, }); } -export type PlatformValues = "Windows"; - /** - *

        Describes the instances that were launched by the fleet.

        + *

        Describes the configuration of On-Demand Instances in an EC2 Fleet.

        */ -export interface CreateFleetInstance { +export interface OnDemandOptionsRequest { /** - *

        The launch templates and overrides that were used for launching the instances. The - * values that you specify in the Overrides replace the values in the launch template.

        + *

        The order of the launch template overrides to use in fulfilling On-Demand capacity. If + * you specify lowest-price, EC2 Fleet uses price to determine the order, launching + * the lowest price first. If you specify prioritized, EC2 Fleet uses the priority + * that you assigned to each launch template override, launching the highest priority first. + * If you do not specify a value, EC2 Fleet defaults to lowest-price.

        */ - LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; + AllocationStrategy?: FleetOnDemandAllocationStrategy | string; /** - *

        Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

        + *

        The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. + * Supported only for fleets of type instant.

        */ - Lifecycle?: InstanceLifecycle | string; + CapacityReservationOptions?: CapacityReservationOptionsRequest; /** - *

        The IDs of the instances.

        + *

        Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. + * Supported only for fleets of type instant.

        */ - InstanceIds?: string[]; + SingleInstanceType?: boolean; /** - *

        The instance type.

        + *

        Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported + * only for fleets of type instant.

        */ - InstanceType?: _InstanceType | string; + SingleAvailabilityZone?: boolean; + + /** + *

        The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

        + */ + MinTargetCapacity?: number; /** - *

        The value is Windows for Windows instances. Otherwise, the value is - * blank.

        + *

        The maximum amount per hour for On-Demand Instances that you're willing to pay.

        */ - Platform?: PlatformValues | string; + MaxTotalPrice?: string; } -export namespace CreateFleetInstance { +export namespace OnDemandOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFleetInstance): any => ({ + export const filterSensitiveLog = (obj: OnDemandOptionsRequest): any => ({ ...obj, }); } -export interface CreateFleetResult { - /** - *

        The ID of the EC2 Fleet.

        - */ - FleetId?: string; +export enum SpotAllocationStrategy { + CAPACITY_OPTIMIZED = "capacity-optimized", + CAPACITY_OPTIMIZED_PRIORITIZED = "capacity-optimized-prioritized", + DIVERSIFIED = "diversified", + LOWEST_PRICE = "lowest-price", +} - /** - *

        Information about the instances that could not be launched by the fleet. Supported only for - * fleets of type instant.

        - */ - Errors?: CreateFleetError[]; +export type SpotInstanceInterruptionBehavior = "hibernate" | "stop" | "terminate"; + +export enum FleetReplacementStrategy { + LAUNCH = "launch", +} +/** + *

        The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your + * Spot Instance is at an elevated risk of being interrupted. For more information, see + * Capacity rebalancing in the Amazon EC2 User Guide.

        + */ +export interface FleetSpotCapacityRebalanceRequest { /** - *

        Information about the instances that were launched by the fleet. Supported only for - * fleets of type instant.

        + *

        The replacement strategy to use. Only available for fleets of type + * maintain.

        + *

        To allow EC2 Fleet to launch a replacement Spot Instance when an instance rebalance + * notification is emitted for an existing Spot Instance in the fleet, specify + * launch. You must specify a value, otherwise you get an error.

        + * + *

        When a replacement instance is launched, the instance marked for rebalance is not + * automatically terminated. You can terminate it, or you can leave it running. You are charged for all instances while they are running.

        + *
        */ - Instances?: CreateFleetInstance[]; + ReplacementStrategy?: FleetReplacementStrategy | string; } -export namespace CreateFleetResult { +export namespace FleetSpotCapacityRebalanceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFleetResult): any => ({ + export const filterSensitiveLog = (obj: FleetSpotCapacityRebalanceRequest): any => ({ ...obj, }); } -export enum DestinationFileFormat { - parquet = "parquet", - plain_text = "plain-text", -} - /** - *

        Describes the destination options for a flow log.

        + *

        The strategies for managing your Spot Instances that are at an elevated risk of being interrupted.

        */ -export interface DestinationOptionsRequest { - /** - *

        The format for the flow log. The default is plain-text.

        - */ - FileFormat?: DestinationFileFormat | string; - - /** - *

        Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. - * The default is false.

        - */ - HiveCompatiblePartitions?: boolean; - +export interface FleetSpotMaintenanceStrategiesRequest { /** - *

        Indicates whether to partition the flow log per hour. This reduces the cost and response - * time for queries. The default is false.

        + *

        The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an + * elevated risk of being interrupted.

        */ - PerHourPartition?: boolean; + CapacityRebalance?: FleetSpotCapacityRebalanceRequest; } -export namespace DestinationOptionsRequest { +export namespace FleetSpotMaintenanceStrategiesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DestinationOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: FleetSpotMaintenanceStrategiesRequest): any => ({ ...obj, }); } -export type LogDestinationType = "cloud-watch-logs" | "s3"; - -export type FlowLogsResourceType = "NetworkInterface" | "Subnet" | "VPC"; - -export type TrafficType = "ACCEPT" | "ALL" | "REJECT"; - -export interface CreateFlowLogsRequest { - /** - *

        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

        - */ - DryRun?: boolean; - - /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to ensure - * idempotency.

        - */ - ClientToken?: string; - - /** - *

        The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group - * in your account.

        - *

        If you specify LogDestinationType as s3, do not specify - * DeliverLogsPermissionArn or LogGroupName.

        - */ - DeliverLogsPermissionArn?: string; - - /** - *

        The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

        - *

        If you specify LogDestinationType as s3, do not specify - * DeliverLogsPermissionArn or LogGroupName.

        - */ - LogGroupName?: string; - - /** - *

        The ID of the subnet, network interface, or VPC for which you want to create a flow log.

        - *

        Constraints: Maximum of 1000 resources

        - */ - ResourceIds: string[] | undefined; - +/** + *

        Describes the configuration of Spot Instances in an EC2 Fleet request.

        + */ +export interface SpotOptionsRequest { /** - *

        The type of resource for which to create the flow log. For example, if you specified a VPC ID for - * the ResourceId property, specify VPC for this property.

        + *

        Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by + * the EC2 Fleet.

        + *

        If the allocation strategy is lowest-price, EC2 Fleet launches instances from + * the Spot Instance pools with the lowest price. This is the default allocation strategy.

        + *

        If the allocation strategy is diversified, EC2 Fleet launches instances from all + * of the Spot Instance pools that you specify.

        + *

        If the allocation strategy is capacity-optimized (recommended), EC2 Fleet + * launches instances from Spot Instance pools with optimal capacity for the number of instances that + * are launching. To give certain instance types a higher chance of launching first, use + * capacity-optimized-prioritized. Set a priority for each instance type by + * using the Priority parameter for LaunchTemplateOverrides. You can + * assign the same priority to different LaunchTemplateOverrides. EC2 implements + * the priorities on a best-effort basis, but optimizes for capacity first. + * capacity-optimized-prioritized is supported only if your fleet uses a + * launch template. Note that if the On-Demand AllocationStrategy is set to + * prioritized, the same priority is applied when fulfilling On-Demand + * capacity.

        */ - ResourceType: FlowLogsResourceType | string | undefined; + AllocationStrategy?: SpotAllocationStrategy | string; /** - *

        The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

        + *

        The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

        */ - TrafficType: TrafficType | string | undefined; + MaintenanceStrategies?: FleetSpotMaintenanceStrategiesRequest; /** - *

        The type of destination to which the flow log data is to be published. Flow log data can be - * published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To - * publish flow log data to Amazon S3, specify s3.

        - *

        If you specify LogDestinationType as s3, do not specify - * DeliverLogsPermissionArn or LogGroupName.

        - *

        Default: cloud-watch-logs - *

        + *

        The behavior when a Spot Instance is interrupted. The default is terminate.

        */ - LogDestinationType?: LogDestinationType | string; + InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; /** - *

        The destination to which the flow log data is to be published. Flow log data can be published - * to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified - * for LogDestinationType.

        - *

        If LogDestinationType is not specified or cloud-watch-logs, - * specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish - * to a log group called my-logs, specify - * arn:aws:logs:us-east-1:123456789012:log-group:my-logs. Alternatively, - * use LogGroupName instead.

        - *

        If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a - * subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: - * bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a - * bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You - * cannot use AWSLogs as a subfolder name. This is a reserved term.

        + *

        The number of Spot pools across which to allocate your target Spot capacity. Valid only + * when Spot AllocationStrategy is set to + * lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates + * your target Spot capacity across the number of Spot pools that you specify.

        + *

        Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a + * best effort basis. If a pool runs out of Spot capacity before fulfilling your target + * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest + * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than + * the number of pools that you specified. Similarly, if most of the pools have no Spot + * capacity, you might receive your full target capacity from fewer than the number of pools + * that you specified.

        */ - LogDestination?: string; + InstancePoolsToUseCount?: number; /** - *

        The fields to include in the flow log record, in the order in which they should - * appear. For a list of available fields, see Flow log records. If you - * omit this parameter, the flow log is created using the default format. If you specify this parameter, - * you must specify at least one field.

        - *

        Specify the fields using the ${field-id} format, separated by spaces. For - * the CLI, surround this parameter value with single quotes on Linux or - * double quotes on Windows.

        + *

        Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. + * Supported only for fleets of type instant.

        */ - LogFormat?: string; + SingleInstanceType?: boolean; /** - *

        The tags to apply to the flow logs.

        + *

        Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported + * only for fleets of type instant.

        */ - TagSpecifications?: TagSpecification[]; + SingleAvailabilityZone?: boolean; /** - *

        The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).

        - *

        When a network interface is attached to a Nitro-based - * instance, the aggregation interval is always 60 seconds or less, regardless - * of the value that you specify.

        - *

        Default: 600

        + *

        The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

        */ - MaxAggregationInterval?: number; + MinTargetCapacity?: number; /** - *

        The destination options.

        + *

        The maximum amount per hour for Spot Instances that you're willing to pay.

        */ - DestinationOptions?: DestinationOptionsRequest; + MaxTotalPrice?: string; } -export namespace CreateFlowLogsRequest { +export namespace SpotOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateFlowLogsRequest): any => ({ + export const filterSensitiveLog = (obj: SpotOptionsRequest): any => ({ ...obj, }); } -export interface CreateFlowLogsResult { - /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

        - */ - ClientToken?: string; +export enum DefaultTargetCapacityType { + ON_DEMAND = "on-demand", + SPOT = "spot", +} +export enum TargetCapacityUnitType { + MEMORY_MIB = "memory-mib", + UNITS = "units", + VCPU = "vcpu", +} + +/** + *

        The number of units to request. You can choose to set the target capacity as the number of + * instances. Or you can set the target capacity to a performance characteristic that is important to your application workload, + * such as vCPUs, memory, or I/O. If the request type is maintain, you can + * specify a target capacity of 0 and add capacity later.

        + *

        You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance + * MaxTotalPrice parameter, or both parameters to ensure that your fleet cost + * does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances + * in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're + * willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops + * launching instances even if it hasn’t met the target capacity. The + * MaxTotalPrice parameters are located in OnDemandOptionsRequest + * and SpotOptionsRequest.

        + */ +export interface TargetCapacitySpecificationRequest { /** - *

        The IDs of the flow logs.

        + *

        The number of units to request, filled using + * DefaultTargetCapacityType.

        */ - FlowLogIds?: string[]; + TotalTargetCapacity: number | undefined; /** - *

        Information about the flow logs that could not be created successfully.

        + *

        The number of On-Demand units to request.

        */ - Unsuccessful?: UnsuccessfulItem[]; -} + OnDemandTargetCapacity?: number; -export namespace CreateFlowLogsResult { /** - * @internal + *

        The number of Spot units to request.

        */ - export const filterSensitiveLog = (obj: CreateFlowLogsResult): any => ({ - ...obj, - }); -} + SpotTargetCapacity?: number; -/** - *

        Describes a storage location in Amazon S3.

        - */ -export interface StorageLocation { /** - *

        The name of the S3 bucket.

        + *

        The default TotalTargetCapacity, which is either Spot or + * On-Demand.

        */ - Bucket?: string; + DefaultTargetCapacityType?: DefaultTargetCapacityType | string; /** - *

        The key.

        + *

        The unit for the target capacity.

        + *

        Default: units (translates to number of instances)

        */ - Key?: string; + TargetCapacityUnitType?: TargetCapacityUnitType | string; } -export namespace StorageLocation { +export namespace TargetCapacitySpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: StorageLocation): any => ({ + export const filterSensitiveLog = (obj: TargetCapacitySpecificationRequest): any => ({ ...obj, }); } -export interface CreateFpgaImageRequest { +export enum FleetType { + INSTANT = "instant", + MAINTAIN = "maintain", + REQUEST = "request", +} + +export interface CreateFleetRequest { /** *

        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -8559,321 +8617,208 @@ export interface CreateFpgaImageRequest { DryRun?: boolean; /** - *

        The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

        - */ - InputStorageLocation: StorageLocation | undefined; - - /** - *

        The location in Amazon S3 for the output logs.

        - */ - LogsStorageLocation?: StorageLocation; - - /** - *

        A description for the AFI.

        - */ - Description?: string; - - /** - *

        A name for the AFI.

        - */ - Name?: string; - - /** - *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - * For more information, see Ensuring Idempotency.

        + *

        Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

        */ ClientToken?: string; /** - *

        The tags to apply to the FPGA image during creation.

        - */ - TagSpecifications?: TagSpecification[]; -} - -export namespace CreateFpgaImageRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateFpgaImageRequest): any => ({ - ...obj, - }); -} - -export interface CreateFpgaImageResult { - /** - *

        The FPGA image identifier (AFI ID).

        + *

        Describes the configuration of Spot Instances in an EC2 Fleet.

        */ - FpgaImageId?: string; + SpotOptions?: SpotOptionsRequest; /** - *

        The global FPGA image identifier (AGFI ID).

        + *

        Describes the configuration of On-Demand Instances in an EC2 Fleet.

        */ - FpgaImageGlobalId?: string; -} + OnDemandOptions?: OnDemandOptionsRequest; -export namespace CreateFpgaImageResult { /** - * @internal + *

        Indicates whether running instances should be terminated if the total target capacity of + * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

        */ - export const filterSensitiveLog = (obj: CreateFpgaImageResult): any => ({ - ...obj, - }); -} - -export type VolumeType = "gp2" | "gp3" | "io1" | "io2" | "sc1" | "st1" | "standard"; + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; -/** - *

        Describes a block device for an EBS volume.

        - */ -export interface EbsBlockDevice { /** - *

        Indicates whether the EBS volume is deleted on instance termination. For more - * information, see Preserving Amazon EBS volumes on instance termination in the - * Amazon EC2 User Guide.

        + *

        The configuration for the EC2 Fleet.

        */ - DeleteOnTermination?: boolean; + LaunchTemplateConfigs: FleetLaunchTemplateConfigRequest[] | undefined; /** - *

        The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this - * represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this - * represents the baseline performance of the volume and the rate at which the volume accumulates - * I/O credits for bursting.

        - *

        The following are the supported values for each volume type:

        - *
          - *
        • - *

          - * gp3: 3,000-16,000 IOPS

          - *
        • - *
        • - *

          - * io1: 100-64,000 IOPS

          - *
        • - *
        • - *

          - * io2: 100-64,000 IOPS

          - *
        • - *
        - *

        For io1 and io2 volumes, we guarantee 64,000 IOPS only for - * Instances built on the Nitro System. Other instance families guarantee performance - * up to 32,000 IOPS.

        - *

        This parameter is required for io1 and io2 volumes. - * The default for gp3 volumes is 3,000 IOPS. - * This parameter is not supported for gp2, st1, sc1, or standard volumes.

        + *

        The number of units to request.

        */ - Iops?: number; + TargetCapacitySpecification: TargetCapacitySpecificationRequest | undefined; /** - *

        The ID of the snapshot.

        + *

        Indicates whether running instances should be terminated when the EC2 Fleet expires.

        */ - SnapshotId?: string; + TerminateInstancesWithExpiration?: boolean; /** - *

        The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. - * If you specify a snapshot, the default is the snapshot size. You can specify a volume - * size that is equal to or larger than the snapshot size.

        - *

        The following are the supported volumes sizes for each volume type:

        - *
          - *
        • - *

          - * gp2 and gp3:1-16,384

          - *
        • + *

          The fleet type. The default value is maintain.

          + *
            *
          • *

            - * io1 and io2: 4-16,384

            + * maintain - The EC2 Fleet places an asynchronous request for your desired + * capacity, and continues to maintain your desired Spot capacity by replenishing + * interrupted Spot Instances.

            *
          • *
          • *

            - * st1 and sc1: 125-16,384

            + * request - The EC2 Fleet places an asynchronous one-time request for your + * desired capacity, but does submit Spot requests in alternative capacity pools if Spot + * capacity is unavailable, and does not maintain Spot capacity if Spot Instances are + * interrupted.

            *
          • *
          • *

            - * standard: 1-1,024

            + * instant - The EC2 Fleet places a synchronous one-time request for your + * desired capacity, and returns errors for any instances that could not be + * launched.

            *
          • *
          + *

          For more information, see EC2 Fleet + * request types in the Amazon EC2 User Guide.

          */ - VolumeSize?: number; + Type?: FleetType | string; /** - *

          The volume type. For more information, see Amazon EBS volume types in the - * Amazon EC2 User Guide. If the volume type is io1 or io2, - * you must specify the IOPS that the volume supports.

          + *

          The start date and time of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * The default is to start fulfilling the request immediately.

          */ - VolumeType?: VolumeType | string; + ValidFrom?: Date; /** - *

          Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under - * which the EBS volume is encrypted.

          - *

          This parameter is only supported on BlockDeviceMapping objects called by - * RunInstances, RequestSpotFleet, - * and RequestSpotInstances.

          + *

          The end date and time of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * At this point, no new EC2 Fleet requests are placed or able to fulfill the request. If no value is specified, the request remains until you cancel it.

          */ - KmsKeyId?: string; + ValidUntil?: Date; /** - *

          The throughput that the volume supports, in MiB/s.

          - *

          This parameter is valid only for gp3 volumes.

          - *

          Valid Range: Minimum value of 125. Maximum value of 1000.

          + *

          Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for + * fleets of type maintain. For more information, see EC2 Fleet + * health checks in the Amazon EC2 User Guide.

          */ - Throughput?: number; + ReplaceUnhealthyInstances?: boolean; /** - *

          The ARN of the Outpost on which the snapshot is stored.

          + *

          The key-value pair for tagging the EC2 Fleet request on creation. For more information, see + * Tagging your resources.

          + *

          If the fleet type is instant, specify a resource type of fleet + * to tag the fleet or instance to tag the instances at launch.

          + *

          If the fleet type is maintain or request, specify a resource + * type of fleet to tag the fleet. You cannot specify a resource type of + * instance. To tag instances at launch, specify the tags in a launch template.

          */ - OutpostArn?: string; + TagSpecifications?: TagSpecification[]; /** - *

          Indicates whether the encryption state of an EBS volume is changed while being - * restored from a backing snapshot. - * The effect of setting the encryption state to true depends on - * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. - * For more information, see Amazon EBS encryption - * in the Amazon EC2 User Guide.

          - *

          In no case can you remove encryption from an encrypted volume.

          - *

          Encrypted volumes can only be attached to instances that support Amazon EBS - * encryption. For more information, see Supported instance types.

          - *

          This parameter is not returned by .

          + *

          Reserved.

          */ - Encrypted?: boolean; + Context?: string; } -export namespace EbsBlockDevice { +export namespace CreateFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EbsBlockDevice): any => ({ + export const filterSensitiveLog = (obj: CreateFleetRequest): any => ({ ...obj, }); } /** - *

          Describes a block device mapping, which defines the EBS volumes and instance store - * volumes to attach to an instance at launch.

          + *

          Describes the Amazon EC2 launch template and the launch template version that can be used + * by a Spot Fleet request to configure Amazon EC2 instances. For information about launch templates, + * see Launching an instance from a launch template in the + * Amazon EC2 User Guide for Linux Instances.

          */ -export interface BlockDeviceMapping { - /** - *

          The device name (for example, /dev/sdh or xvdh).

          - */ - DeviceName?: string; - +export interface FleetLaunchTemplateSpecification { /** - *

          The virtual device name (ephemeralN). Instance store volumes are numbered - * starting from 0. An instance type with 2 available instance store volumes can specify - * mappings for ephemeral0 and ephemeral1. The number of - * available instance store volumes depends on the instance type. After you connect to the - * instance, you must mount the volume.

          - *

          NVMe instance store volumes are automatically enumerated and assigned a device name. - * Including them in your block device mapping has no effect.

          - *

          Constraints: For M3 instances, you must specify instance store volumes in the block - * device mapping for the instance. When you launch an M3 instance, we ignore any instance - * store volumes specified in the block device mapping for the AMI.

          + *

          The ID of the launch template. If you specify the template ID, you can't specify the + * template name.

          */ - VirtualName?: string; + LaunchTemplateId?: string; /** - *

          Parameters used to automatically set up EBS volumes when the instance is - * launched.

          + *

          The name of the launch template. If you specify the template name, you can't specify + * the template ID.

          */ - Ebs?: EbsBlockDevice; + LaunchTemplateName?: string; /** - *

          To omit the device from the block device mapping, specify an empty string. When this - * property is specified, the device is removed from the block device mapping regardless of - * the assigned value.

          + *

          The launch template version number, $Latest, or $Default. + * You must specify a value, otherwise the request fails.

          + *

          If the value is $Latest, Amazon EC2 uses the latest version of the launch + * template.

          + *

          If the value is $Default, Amazon EC2 uses the default version of the launch + * template.

          */ - NoDevice?: string; + Version?: string; } -export namespace BlockDeviceMapping { +export namespace FleetLaunchTemplateSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: BlockDeviceMapping): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateSpecification): any => ({ ...obj, }); } -export interface CreateImageRequest { - /** - *

          The block device mappings. This parameter cannot be used to modify the encryption - * status of existing volumes or snapshots. To create an AMI with encrypted snapshots, - * use the CopyImage action.

          - */ - BlockDeviceMappings?: BlockDeviceMapping[]; - - /** - *

          A description for the new image.

          - */ - Description?: string; - - /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          - */ - DryRun?: boolean; - - /** - *

          The ID of the instance.

          - */ - InstanceId: string | undefined; - - /** - *

          A name for the new image.

          - *

          Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

          - */ - Name: string | undefined; - +/** + *

          The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see + * Amazon + * EBS–optimized instances in the Amazon EC2 User Guide.

          + */ +export interface BaselineEbsBandwidthMbps { /** - *

          By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. - * If the No Reboot option is set, Amazon EC2 doesn't shut down the instance before creating - * the image. Without a reboot, the AMI will be crash consistent (all the volumes are snapshotted - * at the same time), but not application consistent (all the operating system buffers are not flushed - * to disk before the snapshots are created).

          + *

          The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no + * minimum limit.

          */ - NoReboot?: boolean; + Min?: number; /** - *

          The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the - * snapshots, or both.

          - *
            - *
          • - *

            To tag the AMI, the value for ResourceType must be - * image.

            - *
          • - *
          • - *

            To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that - * are attached to the instance, the value for ResourceType must be - * snapshot. The same tag is applied to all of the snapshots that are - * created.

            - *
          • - *
          - *

          If you specify other values for ResourceType, the request fails.

          - *

          To tag an AMI or snapshot after it has been created, see CreateTags.

          + *

          The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no + * maximum limit.

          */ - TagSpecifications?: TagSpecification[]; + Max?: number; } -export namespace CreateImageRequest { +export namespace BaselineEbsBandwidthMbps { /** * @internal */ - export const filterSensitiveLog = (obj: CreateImageRequest): any => ({ + export const filterSensitiveLog = (obj: BaselineEbsBandwidthMbps): any => ({ ...obj, }); } -export interface CreateImageResult { +/** + *

          The minimum and maximum amount of memory per vCPU, in GiB.

          + *

          + */ +export interface MemoryGiBPerVCpu { /** - *

          The ID of the new AMI.

          + *

          The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is + * no minimum limit.

          */ - ImageId?: string; + Min?: number; + + /** + *

          The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is + * no maximum limit.

          + */ + Max?: number; } -export namespace CreateImageResult { +export namespace MemoryGiBPerVCpu { /** * @internal */ - export const filterSensitiveLog = (obj: CreateImageResult): any => ({ + export const filterSensitiveLog = (obj: MemoryGiBPerVCpu): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_1.ts b/clients/client-ec2/src/models/models_1.ts index fd5ebbb864f7..a630b5f6938c 100644 --- a/clients/client-ec2/src/models/models_1.ts +++ b/clients/client-ec2/src/models/models_1.ts @@ -2,15 +2,30 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { _InstanceType, + AcceleratorCount, + AcceleratorManufacturer, + AcceleratorName, + AcceleratorTotalMemoryMiB, + AcceleratorType, AddPrefixListEntry, ApplianceModeSupportValue, AttachmentStatus, + BareMetal, + BaselineEbsBandwidthMbps, + BurstablePerformance, + CpuManufacturer, CurrencyCodeValues, DnsSupportValue, + FleetLaunchTemplateSpecification, InstanceEventWindow, + InstanceGeneration, + InstanceRequirementsRequest, InternetGatewayAttachment, Ipv4PrefixSpecification, Ipv6SupportValue, + LocalStorage, + LocalStorageType, + MemoryGiBPerVCpu, ReservedInstancesListing, ResourceType, RouteTableAssociationState, @@ -22,3662 +37,3993 @@ import { TransitGatewayAttachmentState, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, + UnsuccessfulItem, VolumeAttachment, - VolumeType, Vpc, - VpcPeeringConnection, WeekDay, } from "./models_0"; /** - *

          The start day and time and the end day and time of the time range, in UTC.

          + *

          The minimum and maximum amount of memory, in MiB.

          */ -export interface InstanceEventWindowTimeRangeRequest { +export interface MemoryMiB { /** - *

          The day on which the time range begins.

          + *

          The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum + * limit.

          */ - StartWeekDay?: WeekDay | string; + Min?: number; /** - *

          The hour when the time range begins.

          + *

          The maximum amount of memory, in MiB. If this parameter is not specified, there is no + * maximum limit.

          */ - StartHour?: number; + Max?: number; +} +export namespace MemoryMiB { /** - *

          The day on which the time range ends.

          + * @internal */ - EndWeekDay?: WeekDay | string; + export const filterSensitiveLog = (obj: MemoryMiB): any => ({ + ...obj, + }); +} +/** + *

          The minimum and maximum number of network interfaces.

          + */ +export interface NetworkInterfaceCount { /** - *

          The hour when the time range ends.

          + *

          The minimum number of network interfaces. If this parameter is not specified, there is no + * minimum limit.

          */ - EndHour?: number; + Min?: number; + + /** + *

          The maximum number of network interfaces. If this parameter is not specified, there is no + * maximum limit.

          + */ + Max?: number; } -export namespace InstanceEventWindowTimeRangeRequest { +export namespace NetworkInterfaceCount { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceEventWindowTimeRangeRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfaceCount): any => ({ ...obj, }); } -export interface CreateInstanceEventWindowRequest { +/** + *

          The minimum and maximum amount of total local storage, in GB.

          + */ +export interface TotalLocalStorageGB { /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The minimum amount of total local storage, in GB. If this parameter is not specified, there is + * no minimum limit.

          */ - DryRun?: boolean; + Min?: number; /** - *

          The name of the event window.

          + *

          The maximum amount of total local storage, in GB. If this parameter is not specified, there is + * no maximum limit.

          */ - Name?: string; + Max?: number; +} +export namespace TotalLocalStorageGB { /** - *

          The time range for the event window. If you specify a time range, you can't specify a cron - * expression.

          + * @internal */ - TimeRanges?: InstanceEventWindowTimeRangeRequest[]; + export const filterSensitiveLog = (obj: TotalLocalStorageGB): any => ({ + ...obj, + }); +} +/** + *

          The minimum and maximum number of vCPUs.

          + */ +export interface VCpuCountRange { /** - *

          The cron expression for the event window, for example, * 0-4,20-23 * * 1,5. If - * you specify a cron expression, you can't specify a time range.

          - *

          Constraints:

          - *
            - *
          • - *

            Only hour and day of the week values are supported.

            - *
          • - *
          • - *

            For day of the week values, you can specify either integers 0 through - * 6, or alternative single values SUN through - * SAT.

            - *
          • - *
          • - *

            The minute, month, and year must be specified by *.

            - *
          • - *
          • - *

            The hour value must be one or a multiple range, for example, 0-4 or - * 0-4,20-23.

            - *
          • - *
          • - *

            Each hour range must be >= 2 hours, for example, 0-2 or - * 20-23.

            - *
          • - *
          • - *

            The event window must be >= 4 hours. The combined total time ranges in the event - * window must be >= 4 hours.

            - *
          • - *
          - *

          For more information about cron expressions, see cron on the Wikipedia - * website.

          + *

          The minimum number of vCPUs. If the value is 0, there is no minimum + * limit.

          */ - CronExpression?: string; + Min?: number; /** - *

          The tags to apply to the event window.

          + *

          The maximum number of vCPUs. If this parameter is not specified, there is no maximum + * limit.

          */ - TagSpecifications?: TagSpecification[]; + Max?: number; } -export namespace CreateInstanceEventWindowRequest { +export namespace VCpuCountRange { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInstanceEventWindowRequest): any => ({ + export const filterSensitiveLog = (obj: VCpuCountRange): any => ({ ...obj, }); } -export interface CreateInstanceEventWindowResult { +/** + *

          The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with these attributes.

          + *

          When you specify multiple parameters, you get instance types that satisfy all of the + * specified parameters. If you specify multiple values for a parameter, you get instance + * types that satisfy any of the specified values.

          + * + *

          You must specify VCpuCount and MemoryMiB. All other parameters + * are optional. Any unspecified optional parameter is set to its default.

          + *
          + *

          For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot + * placement score in the Amazon EC2 User Guide.

          + */ +export interface InstanceRequirements { /** - *

          Information about the event window.

          + *

          The minimum and maximum number of vCPUs.

          */ - InstanceEventWindow?: InstanceEventWindow; -} + VCpuCount?: VCpuCountRange; -export namespace CreateInstanceEventWindowResult { /** - * @internal + *

          The minimum and maximum amount of memory, in MiB.

          */ - export const filterSensitiveLog = (obj: CreateInstanceEventWindowResult): any => ({ - ...obj, - }); -} + MemoryMiB?: MemoryMiB; -export type ContainerFormat = "ova"; + /** + *

          The CPU manufacturers to include.

          + *
            + *
          • + *

            For instance types with Intel CPUs, specify intel.

            + *
          • + *
          • + *

            For instance types with AMD CPUs, specify amd.

            + *
          • + *
          • + *

            For instance types with Amazon Web Services CPUs, specify amazon-web-services.

            + *
          • + *
          + * + *

          Don't confuse the CPU manufacturer with the CPU architecture. Instances will + * be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you + * specify in your launch template.

          + *
          + *

          Default: Any manufacturer

          + */ + CpuManufacturers?: (CpuManufacturer | string)[]; -export type DiskImageFormat = "RAW" | "VHD" | "VMDK"; + /** + *

          The minimum and maximum amount of memory per vCPU, in GiB.

          + *

          Default: No minimum or maximum limits

          + */ + MemoryGiBPerVCpu?: MemoryGiBPerVCpu; -/** - *

          Describes an export instance task.

          - */ -export interface ExportToS3TaskSpecification { /** - *

          The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is - * exported.

          + *

          The instance types to exclude. You can use strings with one or more wild cards, represented by + * an asterisk (*), to exclude an instance type, size, or generation. The + * following are examples: m5.8xlarge, c5*.*, m5a.*, + * r*, *3*.

          + *

          For example, if you specify c5*.*, Amazon EC2 will exclude the entire C5 + * instance family (all C5a and C5n instance types). If you specify c5a.*, Amazon EC2 + * excludes all the C5a instance types, but does not exclude the C5n instance types.

          + *

          Default: No excluded instance types

          */ - ContainerFormat?: ContainerFormat | string; + ExcludedInstanceTypes?: string[]; /** - *

          The format for the exported image.

          + *

          Indicates whether current or previous generation instance types are included. The + * current generation instance types are recommended for use. Current generation instance types are + * typically the latest two to three generations in each instance family. For more + * information, see Instance types in the + * Amazon EC2 User Guide.

          + *

          For current generation instance types, specify current.

          + *

          For previous generation instance types, specify previous.

          + *

          Default: Current and previous generation instance types

          */ - DiskImageFormat?: DiskImageFormat | string; + InstanceGenerations?: (InstanceGeneration | string)[]; /** - *

          The Amazon S3 bucket for the destination image. The destination bucket must exist and grant - * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

          + *

          The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, + * expressed as a percentage above the cheapest M, C, or R instance type with your specified + * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance + * types priced above your threshold.

          + *

          The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

          + *

          To turn off price protection, specify a high value, such as 999999.

          + *

          This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

          + *

          Default: 100 + *

          */ - S3Bucket?: string; + SpotMaxPricePercentageOverLowestPrice?: number; /** - *

          The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + - * exportTaskId + '.' + diskImageFormat.

          + *

          The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, + * expressed as a percentage above the cheapest M, C, or R instance type with your specified + * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance + * types priced above your threshold.

          + *

          The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

          + *

          To turn off price protection, specify a high value, such as 999999.

          + *

          This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

          + *

          Default: 20 + *

          */ - S3Prefix?: string; -} + OnDemandMaxPricePercentageOverLowestPrice?: number; -export namespace ExportToS3TaskSpecification { /** - * @internal + *

          Indicates whether bare metal instance types must be included, excluded, or required.

          + *
            + *
          • + *

            To include bare metal instance types, specify included.

            + *
          • + *
          • + *

            To require only bare metal instance types, specify required.

            + *
          • + *
          • + *

            To exclude bare metal instance types, specify excluded.

            + *
          • + *
          + *

          Default: excluded + *

          */ - export const filterSensitiveLog = (obj: ExportToS3TaskSpecification): any => ({ - ...obj, - }); -} + BareMetal?: BareMetal | string; -export type ExportEnvironment = "citrix" | "microsoft" | "vmware"; + /** + *

          Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see + * Burstable performance instances.

          + *
            + *
          • + *

            To include burstable performance instance types, specify included.

            + *
          • + *
          • + *

            To require only burstable performance instance types, specify required.

            + *
          • + *
          • + *

            To exclude burstable performance instance types, specify excluded.

            + *
          • + *
          + *

          Default: excluded + *

          + */ + BurstablePerformance?: BurstablePerformance | string; -export interface CreateInstanceExportTaskRequest { /** - *

          A description for the conversion task or the resource being exported. The maximum length is 255 characters.

          + *

          Indicates whether instance types must support hibernation for On-Demand + * Instances.

          + *

          This parameter is not supported for GetSpotPlacementScores.

          + *

          Default: false + *

          */ - Description?: string; + RequireHibernateSupport?: boolean; /** - *

          The format and location for an export instance task.

          + *

          The minimum and maximum number of network interfaces.

          + *

          Default: No minimum or maximum limits

          */ - ExportToS3Task: ExportToS3TaskSpecification | undefined; + NetworkInterfaceCount?: NetworkInterfaceCount; /** - *

          The ID of the instance.

          + *

          Indicates whether instance types with instance store volumes are included, excluded, or required. For more information, + * Amazon + * EC2 instance store in the Amazon EC2 User Guide.

          + *
            + *
          • + *

            To include instance types with instance store volumes, specify + * included.

            + *
          • + *
          • + *

            To require only instance types with instance store volumes, specify + * required.

            + *
          • + *
          • + *

            To exclude instance types with instance store volumes, specify + * excluded.

            + *
          • + *
          + *

          Default: included + *

          */ - InstanceId: string | undefined; + LocalStorage?: LocalStorage | string; /** - *

          The target virtualization environment.

          + *

          The type of local storage that is required.

          + *
            + *
          • + *

            For instance types with hard disk drive (HDD) storage, specify hdd.

            + *
          • + *
          • + *

            For instance types with solid state drive (SDD) storage, specify sdd.

            + *
          • + *
          + *

          Default: hdd and sdd + *

          */ - TargetEnvironment: ExportEnvironment | string | undefined; + LocalStorageTypes?: (LocalStorageType | string)[]; /** - *

          The tags to apply to the export instance task during creation.

          + *

          The minimum and maximum amount of total local storage, in GB.

          + *

          Default: No minimum or maximum limits

          */ - TagSpecifications?: TagSpecification[]; -} + TotalLocalStorageGB?: TotalLocalStorageGB; -export namespace CreateInstanceExportTaskRequest { /** - * @internal + *

          The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see + * Amazon + * EBS–optimized instances in the Amazon EC2 User Guide.

          + *

          Default: No minimum or maximum limits

          */ - export const filterSensitiveLog = (obj: CreateInstanceExportTaskRequest): any => ({ - ...obj, - }); -} + BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbps; -/** - *

          Describes the format and location for the export task.

          - */ -export interface ExportToS3Task { /** - *

          The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is - * exported.

          + *

          The accelerator types that must be on the instance type.

          + *
            + *
          • + *

            For instance types with GPU accelerators, specify gpu.

            + *
          • + *
          • + *

            For instance types with FPGA accelerators, specify fpga.

            + *
          • + *
          • + *

            For instance types with inference accelerators, specify inference.

            + *
          • + *
          + *

          Default: Any accelerator type

          */ - ContainerFormat?: ContainerFormat | string; + AcceleratorTypes?: (AcceleratorType | string)[]; /** - *

          The format for the exported image.

          + *

          The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on + * an instance.

          + *

          To exclude accelerator-enabled instance types, set Max to 0.

          + *

          Default: No minimum or maximum limits

          */ - DiskImageFormat?: DiskImageFormat | string; + AcceleratorCount?: AcceleratorCount; /** - *

          The Amazon S3 bucket for the destination image. The destination bucket must exist and grant - * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

          + *

          Indicates whether instance types must have accelerators by specific manufacturers.

          + *
            + *
          • + *

            For instance types with NVIDIA devices, specify nvidia.

            + *
          • + *
          • + *

            For instance types with AMD devices, specify amd.

            + *
          • + *
          • + *

            For instance types with Amazon Web Services devices, specify amazon-web-services.

            + *
          • + *
          • + *

            For instance types with Xilinx devices, specify xilinx.

            + *
          • + *
          + *

          Default: Any manufacturer

          */ - S3Bucket?: string; + AcceleratorManufacturers?: (AcceleratorManufacturer | string)[]; /** - *

          The encryption key for your S3 bucket.

          + *

          The accelerators that must be on the instance type.

          + *
            + *
          • + *

            For instance types with NVIDIA A100 GPUs, specify a100.

            + *
          • + *
          • + *

            For instance types with NVIDIA V100 GPUs, specify v100.

            + *
          • + *
          • + *

            For instance types with NVIDIA K80 GPUs, specify k80.

            + *
          • + *
          • + *

            For instance types with NVIDIA T4 GPUs, specify t4.

            + *
          • + *
          • + *

            For instance types with NVIDIA M60 GPUs, specify m60.

            + *
          • + *
          • + *

            For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

            + *
          • + *
          • + *

            For instance types with Xilinx VU9P FPGAs, specify vu9p.

            + *
          • + *
          + *

          Default: Any accelerator

          */ - S3Key?: string; + AcceleratorNames?: (AcceleratorName | string)[]; + + /** + *

          The minimum and maximum amount of total accelerator memory, in MiB.

          + *

          Default: No minimum or maximum limits

          + */ + AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiB; } -export namespace ExportToS3Task { +export namespace InstanceRequirements { /** * @internal */ - export const filterSensitiveLog = (obj: ExportToS3Task): any => ({ + export const filterSensitiveLog = (obj: InstanceRequirements): any => ({ ...obj, }); } /** - *

          Describes an instance to export.

          + *

          Describes the placement of an instance.

          */ -export interface InstanceExportDetails { - /** - *

          The ID of the resource being exported.

          - */ - InstanceId?: string; - +export interface PlacementResponse { /** - *

          The target virtualization environment.

          + *

          The name of the placement group that the instance is in.

          */ - TargetEnvironment?: ExportEnvironment | string; + GroupName?: string; } -export namespace InstanceExportDetails { +export namespace PlacementResponse { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceExportDetails): any => ({ + export const filterSensitiveLog = (obj: PlacementResponse): any => ({ ...obj, }); } -export type ExportTaskState = "active" | "cancelled" | "cancelling" | "completed"; - /** - *

          Describes an export instance task.

          + *

          Describes overrides for a launch template.

          */ -export interface ExportTask { +export interface FleetLaunchTemplateOverrides { /** - *

          A description of the resource being exported.

          + *

          The instance type.

          + * + *

          If you specify InstanceTypes, you can't specify + * InstanceRequirements.

          + *
          */ - Description?: string; + InstanceType?: _InstanceType | string; /** - *

          The ID of the export task.

          + *

          The maximum price per unit hour that you are willing to pay for a Spot Instance.

          */ - ExportTaskId?: string; + MaxPrice?: string; /** - *

          Information about the export task.

          + *

          The ID of the subnet in which to launch the instances.

          */ - ExportToS3Task?: ExportToS3Task; + SubnetId?: string; /** - *

          Information about the instance to export.

          + *

          The Availability Zone in which to launch the instances.

          */ - InstanceExportDetails?: InstanceExportDetails; + AvailabilityZone?: string; /** - *

          The state of the export task.

          + *

          The number of units provided by the specified instance type.

          */ - State?: ExportTaskState | string; + WeightedCapacity?: number; /** - *

          The status message related to the export task.

          + *

          The priority for the launch template override. The highest priority is launched + * first.

          + *

          If the On-Demand AllocationStrategy is set to prioritized, + * EC2 Fleet uses priority to determine which launch template override to use first in fulfilling + * On-Demand capacity.

          + *

          If the Spot AllocationStrategy is set to + * capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis + * to determine which launch template override to use in fulfilling Spot capacity, but + * optimizes for capacity first.

          + *

          Valid values are whole numbers starting at 0. The lower the number, the + * higher the priority. If no number is set, the override has the lowest priority. You can set + * the same priority for different launch template overrides.

          */ - StatusMessage?: string; + Priority?: number; /** - *

          The tags for the export task.

          + *

          The location where the instance launched, if applicable.

          */ - Tags?: Tag[]; + Placement?: PlacementResponse; + + /** + *

          The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

          + * + *

          If you specify InstanceRequirements, you can't specify + * InstanceTypes.

          + *
          + */ + InstanceRequirements?: InstanceRequirements; } -export namespace ExportTask { +export namespace FleetLaunchTemplateOverrides { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTask): any => ({ + export const filterSensitiveLog = (obj: FleetLaunchTemplateOverrides): any => ({ ...obj, }); } -export interface CreateInstanceExportTaskResult { +/** + *

          Describes a launch template and overrides.

          + */ +export interface LaunchTemplateAndOverridesResponse { /** - *

          Information about the export instance task.

          + *

          The launch template.

          */ - ExportTask?: ExportTask; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + + /** + *

          Any parameters that you specify override the same parameters in the launch + * template.

          + */ + Overrides?: FleetLaunchTemplateOverrides; } -export namespace CreateInstanceExportTaskResult { +export namespace LaunchTemplateAndOverridesResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInstanceExportTaskResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateAndOverridesResponse): any => ({ ...obj, }); } -export interface CreateInternetGatewayRequest { +export enum InstanceLifecycle { + ON_DEMAND = "on-demand", + SPOT = "spot", +} + +/** + *

          Describes the instances that could not be launched by the fleet.

          + */ +export interface CreateFleetError { /** - *

          The tags to assign to the internet gateway.

          + *

          The launch templates and overrides that were used for launching the instances. The + * values that you specify in the Overrides replace the values in the launch template.

          */ - TagSpecifications?: TagSpecification[]; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

          */ - DryRun?: boolean; + Lifecycle?: InstanceLifecycle | string; + + /** + *

          The error code that indicates why the instance could not be launched. For more + * information about error codes, see Error Codes.

          + */ + ErrorCode?: string; + + /** + *

          The error message that describes why the instance could not be launched. For more + * information about error messages, see Error Codes.

          + */ + ErrorMessage?: string; } -export namespace CreateInternetGatewayRequest { +export namespace CreateFleetError { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInternetGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: CreateFleetError): any => ({ ...obj, }); } +export type PlatformValues = "Windows"; + /** - *

          Describes an internet gateway.

          + *

          Describes the instances that were launched by the fleet.

          */ -export interface InternetGateway { +export interface CreateFleetInstance { /** - *

          Any VPCs attached to the internet gateway.

          + *

          The launch templates and overrides that were used for launching the instances. The + * values that you specify in the Overrides replace the values in the launch template.

          */ - Attachments?: InternetGatewayAttachment[]; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

          The ID of the internet gateway.

          + *

          Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

          */ - InternetGatewayId?: string; + Lifecycle?: InstanceLifecycle | string; /** - *

          The ID of the Amazon Web Services account that owns the internet gateway.

          + *

          The IDs of the instances.

          */ - OwnerId?: string; + InstanceIds?: string[]; /** - *

          Any tags assigned to the internet gateway.

          + *

          The instance type.

          */ - Tags?: Tag[]; + InstanceType?: _InstanceType | string; + + /** + *

          The value is Windows for Windows instances. Otherwise, the value is + * blank.

          + */ + Platform?: PlatformValues | string; } -export namespace InternetGateway { +export namespace CreateFleetInstance { /** * @internal */ - export const filterSensitiveLog = (obj: InternetGateway): any => ({ + export const filterSensitiveLog = (obj: CreateFleetInstance): any => ({ ...obj, }); } -export interface CreateInternetGatewayResult { +export interface CreateFleetResult { /** - *

          Information about the internet gateway.

          + *

          The ID of the EC2 Fleet.

          */ - InternetGateway?: InternetGateway; + FleetId?: string; + + /** + *

          Information about the instances that could not be launched by the fleet. Supported only for + * fleets of type instant.

          + */ + Errors?: CreateFleetError[]; + + /** + *

          Information about the instances that were launched by the fleet. Supported only for + * fleets of type instant.

          + */ + Instances?: CreateFleetInstance[]; } -export namespace CreateInternetGatewayResult { +export namespace CreateFleetResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateInternetGatewayResult): any => ({ + export const filterSensitiveLog = (obj: CreateFleetResult): any => ({ ...obj, }); } -export enum KeyType { - ed25519 = "ed25519", - rsa = "rsa", +export enum DestinationFileFormat { + parquet = "parquet", + plain_text = "plain-text", } -export interface CreateKeyPairRequest { - /** - *

          A unique name for the key pair.

          - *

          Constraints: Up to 255 ASCII characters

          - */ - KeyName: string | undefined; - +/** + *

          Describes the destination options for a flow log.

          + */ +export interface DestinationOptionsRequest { /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The format for the flow log. The default is plain-text.

          */ - DryRun?: boolean; + FileFormat?: DestinationFileFormat | string; /** - *

          The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

          - *

          Default: rsa - *

          + *

          Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3. + * The default is false.

          */ - KeyType?: KeyType | string; + HiveCompatiblePartitions?: boolean; /** - *

          The tags to apply to the new key pair.

          + *

          Indicates whether to partition the flow log per hour. This reduces the cost and response + * time for queries. The default is false.

          */ - TagSpecifications?: TagSpecification[]; + PerHourPartition?: boolean; } -export namespace CreateKeyPairRequest { +export namespace DestinationOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateKeyPairRequest): any => ({ + export const filterSensitiveLog = (obj: DestinationOptionsRequest): any => ({ ...obj, }); } -/** - *

          Describes a key pair.

          - */ -export interface KeyPair { - /** - *

          The SHA-1 digest of the DER encoded private key.

          - */ - KeyFingerprint?: string; +export type LogDestinationType = "cloud-watch-logs" | "s3"; + +export type FlowLogsResourceType = "NetworkInterface" | "Subnet" | "VPC"; +export type TrafficType = "ACCEPT" | "ALL" | "REJECT"; + +export interface CreateFlowLogsRequest { /** - *

          An unencrypted PEM encoded RSA or ED25519 private key.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - KeyMaterial?: string; + DryRun?: boolean; /** - *

          The name of the key pair.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to ensure + * idempotency.

          */ - KeyName?: string; + ClientToken?: string; /** - *

          The ID of the key pair.

          + *

          The ARN for the IAM role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group + * in your account.

          + *

          If you specify LogDestinationType as s3, do not specify + * DeliverLogsPermissionArn or LogGroupName.

          */ - KeyPairId?: string; + DeliverLogsPermissionArn?: string; /** - *

          Any tags applied to the key pair.

          + *

          The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.

          + *

          If you specify LogDestinationType as s3, do not specify + * DeliverLogsPermissionArn or LogGroupName.

          */ - Tags?: Tag[]; -} + LogGroupName?: string; -export namespace KeyPair { /** - * @internal + *

          The ID of the subnet, network interface, or VPC for which you want to create a flow log.

          + *

          Constraints: Maximum of 1000 resources

          */ - export const filterSensitiveLog = (obj: KeyPair): any => ({ - ...obj, - ...(obj.KeyMaterial && { KeyMaterial: SENSITIVE_STRING }), - }); -} + ResourceIds: string[] | undefined; -/** - *

          The parameters for a block device for an EBS volume.

          - */ -export interface LaunchTemplateEbsBlockDeviceRequest { /** - *

          Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. - * If you are creating a volume from a snapshot, you can't specify an encryption value.

          + *

          The type of resource for which to create the flow log. For example, if you specified a VPC ID for + * the ResourceId property, specify VPC for this property.

          */ - Encrypted?: boolean; + ResourceType: FlowLogsResourceType | string | undefined; /** - *

          Indicates whether the EBS volume is deleted on instance termination.

          + *

          The type of traffic to log. You can log traffic that the resource accepts or rejects, or all traffic.

          */ - DeleteOnTermination?: boolean; + TrafficType: TrafficType | string | undefined; /** - *

          The number of I/O operations per second (IOPS). For gp3, io1, and io2 - * volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, - * this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits - * for bursting.

          - *

          The following are the supported values for each volume type:

          - *
            - *
          • - *

            - * gp3: 3,000-16,000 IOPS

            - *
          • - *
          • - *

            - * io1: 100-64,000 IOPS

            - *
          • - *
          • - *

            - * io2: 100-64,000 IOPS

            - *
          • - *
          - *

          For io1 and io2 volumes, we guarantee 64,000 IOPS - * only for Instances built on the Nitro System. Other instance families guarantee performance up - * to 32,000 IOPS.

          - *

          This parameter is supported for io1, io2, and gp3 volumes only. This parameter is not supported for - * gp2, st1, sc1, or standard volumes.

          + *

          The type of destination to which the flow log data is to be published. Flow log data can be + * published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To + * publish flow log data to Amazon S3, specify s3.

          + *

          If you specify LogDestinationType as s3, do not specify + * DeliverLogsPermissionArn or LogGroupName.

          + *

          Default: cloud-watch-logs + *

          */ - Iops?: number; + LogDestinationType?: LogDestinationType | string; /** - *

          The ARN of the symmetric Key Management Service (KMS) CMK used for - * encryption.

          + *

          The destination to which the flow log data is to be published. Flow log data can be published + * to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified + * for LogDestinationType.

          + *

          If LogDestinationType is not specified or cloud-watch-logs, + * specify the Amazon Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish + * to a log group called my-logs, specify + * arn:aws:logs:us-east-1:123456789012:log-group:my-logs. Alternatively, + * use LogGroupName instead.

          + *

          If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You can also specify a + * subfolder in the bucket. To specify a subfolder in the bucket, use the following ARN format: + * bucket_ARN/subfolder_name/. For example, to specify a subfolder named my-logs in a + * bucket named my-bucket, use the following ARN: arn:aws:s3:::my-bucket/my-logs/. You + * cannot use AWSLogs as a subfolder name. This is a reserved term.

          */ - KmsKeyId?: string; + LogDestination?: string; /** - *

          The ID of the snapshot.

          + *

          The fields to include in the flow log record, in the order in which they should + * appear. For a list of available fields, see Flow log records. If you + * omit this parameter, the flow log is created using the default format. If you specify this parameter, + * you must specify at least one field.

          + *

          Specify the fields using the ${field-id} format, separated by spaces. For + * the CLI, surround this parameter value with single quotes on Linux or + * double quotes on Windows.

          */ - SnapshotId?: string; + LogFormat?: string; /** - *

          The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following - * are the supported volumes sizes for each volume type:

          - *
            - *
          • - *

            - * gp2 and gp3: 1-16,384

            - *
          • - *
          • - *

            - * io1 and io2: 4-16,384

            - *
          • - *
          • - *

            - * st1 and sc1: 125-16,384

            - *
          • - *
          • - *

            - * standard: 1-1,024

            - *
          • - *
          + *

          The tags to apply to the flow logs.

          */ - VolumeSize?: number; + TagSpecifications?: TagSpecification[]; /** - *

          The volume type. For more information, see Amazon EBS volume types in the - * Amazon Elastic Compute Cloud User Guide.

          + *

          The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. You can specify 60 seconds (1 minute) or 600 seconds (10 minutes).

          + *

          When a network interface is attached to a Nitro-based + * instance, the aggregation interval is always 60 seconds or less, regardless + * of the value that you specify.

          + *

          Default: 600

          */ - VolumeType?: VolumeType | string; + MaxAggregationInterval?: number; /** - *

          The throughput to provision for a gp3 volume, with a maximum of 1,000 MiB/s.

          - *

          Valid Range: Minimum value of 125. Maximum value of 1000.

          + *

          The destination options.

          */ - Throughput?: number; + DestinationOptions?: DestinationOptionsRequest; } -export namespace LaunchTemplateEbsBlockDeviceRequest { +export namespace CreateFlowLogsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateEbsBlockDeviceRequest): any => ({ + export const filterSensitiveLog = (obj: CreateFlowLogsRequest): any => ({ ...obj, }); } -/** - *

          Describes a block device mapping.

          - */ -export interface LaunchTemplateBlockDeviceMappingRequest { - /** - *

          The device name (for example, /dev/sdh or xvdh).

          - */ - DeviceName?: string; - +export interface CreateFlowLogsResult { /** - *

          The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. - * An instance type with 2 available instance store volumes can specify mappings for ephemeral0 - * and ephemeral1. The number of available instance store volumes depends on the instance type. - * After you connect to the instance, you must mount the volume.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

          */ - VirtualName?: string; + ClientToken?: string; /** - *

          Parameters used to automatically set up EBS volumes when the instance is launched.

          + *

          The IDs of the flow logs.

          */ - Ebs?: LaunchTemplateEbsBlockDeviceRequest; + FlowLogIds?: string[]; /** - *

          To omit the device from the block device mapping, specify an empty string.

          + *

          Information about the flow logs that could not be created successfully.

          */ - NoDevice?: string; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace LaunchTemplateBlockDeviceMappingRequest { +export namespace CreateFlowLogsResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateBlockDeviceMappingRequest): any => ({ + export const filterSensitiveLog = (obj: CreateFlowLogsResult): any => ({ ...obj, }); } -export type CapacityReservationPreference = "none" | "open"; - /** - *

          Describes a target Capacity Reservation or Capacity Reservation group.

          + *

          Describes a storage location in Amazon S3.

          */ -export interface CapacityReservationTarget { +export interface StorageLocation { /** - *

          The ID of the Capacity Reservation in which to run the instance.

          + *

          The name of the S3 bucket.

          */ - CapacityReservationId?: string; + Bucket?: string; /** - *

          The ARN of the Capacity Reservation resource group in which to run the instance.

          + *

          The key.

          */ - CapacityReservationResourceGroupArn?: string; + Key?: string; } -export namespace CapacityReservationTarget { +export namespace StorageLocation { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationTarget): any => ({ + export const filterSensitiveLog = (obj: StorageLocation): any => ({ ...obj, }); } -/** - *

          Describes an instance's Capacity Reservation targeting option. You can specify only one option at a time. Use the - * CapacityReservationPreference parameter to configure the instance to run in On-Demand capacity or - * to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). - * Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation or - * a Capacity Reservation group.

          - */ -export interface LaunchTemplateCapacityReservationSpecificationRequest { +export interface CreateFpgaImageRequest { /** - *

          Indicates the instance's Capacity Reservation preferences. Possible preferences include:

          - *
            - *
          • - *

            - * open - The instance can run in any open Capacity Reservation that has matching attributes - * (instance type, platform, Availability Zone).

            - *
          • - *
          • - *

            - * none - The instance avoids running in a Capacity Reservation even if one is available. The instance - * runs in On-Demand capacity.

            - *
          • - *
          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - CapacityReservationPreference?: CapacityReservationPreference | string; + DryRun?: boolean; /** - *

          Information about the target Capacity Reservation or Capacity Reservation group.

          + *

          The location of the encrypted design checkpoint in Amazon S3. The input must be a tarball.

          */ - CapacityReservationTarget?: CapacityReservationTarget; -} + InputStorageLocation: StorageLocation | undefined; -export namespace LaunchTemplateCapacityReservationSpecificationRequest { /** - * @internal + *

          The location in Amazon S3 for the output logs.

          */ - export const filterSensitiveLog = (obj: LaunchTemplateCapacityReservationSpecificationRequest): any => ({ - ...obj, - }); -} + LogsStorageLocation?: StorageLocation; -/** - *

          The CPU options for the instance. Both the core count and threads per core - * must be specified in the request.

          - */ -export interface LaunchTemplateCpuOptionsRequest { /** - *

          The number of CPU cores for the instance.

          + *

          A description for the AFI.

          */ - CoreCount?: number; + Description?: string; /** - *

          The number of threads per CPU core. To disable multithreading - * for the instance, specify a value of 1. Otherwise, specify the default value of 2.

          + *

          A name for the AFI.

          */ - ThreadsPerCore?: number; -} + Name?: string; -export namespace LaunchTemplateCpuOptionsRequest { /** - * @internal + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + * For more information, see Ensuring Idempotency.

          */ - export const filterSensitiveLog = (obj: LaunchTemplateCpuOptionsRequest): any => ({ - ...obj, - }); -} + ClientToken?: string; -/** - *

          The credit option for CPU usage of a T2, T3, or T3a instance.

          - */ -export interface CreditSpecificationRequest { /** - *

          The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are - * standard and unlimited.

          + *

          The tags to apply to the FPGA image during creation.

          */ - CpuCredits: string | undefined; + TagSpecifications?: TagSpecification[]; } -export namespace CreditSpecificationRequest { +export namespace CreateFpgaImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreditSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateFpgaImageRequest): any => ({ ...obj, }); } -/** - *

          A specification for an Elastic Graphics accelerator.

          - */ -export interface ElasticGpuSpecification { +export interface CreateFpgaImageResult { /** - *

          The type of Elastic Graphics accelerator. For more information about the values to specify for - * Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the - * Amazon Elastic Compute Cloud User Guide for Windows Instances.

          + *

          The FPGA image identifier (AFI ID).

          */ - Type: string | undefined; + FpgaImageId?: string; + + /** + *

          The global FPGA image identifier (AGFI ID).

          + */ + FpgaImageGlobalId?: string; } -export namespace ElasticGpuSpecification { +export namespace CreateFpgaImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: ElasticGpuSpecification): any => ({ + export const filterSensitiveLog = (obj: CreateFpgaImageResult): any => ({ ...obj, }); } +export type VolumeType = "gp2" | "gp3" | "io1" | "io2" | "sc1" | "st1" | "standard"; + /** - *

          - * Describes an elastic inference accelerator. - *

          + *

          Describes a block device for an EBS volume.

          */ -export interface LaunchTemplateElasticInferenceAccelerator { +export interface EbsBlockDevice { /** - *

          - * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. - *

          + *

          Indicates whether the EBS volume is deleted on instance termination. For more + * information, see Preserving Amazon EBS volumes on instance termination in the + * Amazon EC2 User Guide.

          */ - Type: string | undefined; + DeleteOnTermination?: boolean; /** - *

          - * The number of elastic inference accelerators to attach to the instance. - *

          - *

          Default: 1

          + *

          The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this + * represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this + * represents the baseline performance of the volume and the rate at which the volume accumulates + * I/O credits for bursting.

          + *

          The following are the supported values for each volume type:

          + *
            + *
          • + *

            + * gp3: 3,000-16,000 IOPS

            + *
          • + *
          • + *

            + * io1: 100-64,000 IOPS

            + *
          • + *
          • + *

            + * io2: 100-64,000 IOPS

            + *
          • + *
          + *

          For io1 and io2 volumes, we guarantee 64,000 IOPS only for + * Instances built on the Nitro System. Other instance families guarantee performance + * up to 32,000 IOPS.

          + *

          This parameter is required for io1 and io2 volumes. + * The default for gp3 volumes is 3,000 IOPS. + * This parameter is not supported for gp2, st1, sc1, or standard volumes.

          */ - Count?: number; -} + Iops?: number; -export namespace LaunchTemplateElasticInferenceAccelerator { /** - * @internal + *

          The ID of the snapshot.

          */ - export const filterSensitiveLog = (obj: LaunchTemplateElasticInferenceAccelerator): any => ({ - ...obj, - }); -} + SnapshotId?: string; -/** - *

          Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, - * see - * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

          - */ -export interface LaunchTemplateEnclaveOptionsRequest { /** - *

          To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true.

          + *

          The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. + * If you specify a snapshot, the default is the snapshot size. You can specify a volume + * size that is equal to or larger than the snapshot size.

          + *

          The following are the supported volumes sizes for each volume type:

          + *
            + *
          • + *

            + * gp2 and gp3:1-16,384

            + *
          • + *
          • + *

            + * io1 and io2: 4-16,384

            + *
          • + *
          • + *

            + * st1 and sc1: 125-16,384

            + *
          • + *
          • + *

            + * standard: 1-1,024

            + *
          • + *
          */ - Enabled?: boolean; -} + VolumeSize?: number; -export namespace LaunchTemplateEnclaveOptionsRequest { /** - * @internal + *

          The volume type. For more information, see Amazon EBS volume types in the + * Amazon EC2 User Guide. If the volume type is io1 or io2, + * you must specify the IOPS that the volume supports.

          */ - export const filterSensitiveLog = (obj: LaunchTemplateEnclaveOptionsRequest): any => ({ - ...obj, - }); -} + VolumeType?: VolumeType | string; -/** - *

          Indicates whether the instance is configured for hibernation. This parameter is valid only - * if the instance meets the hibernation - * prerequisites.

          - */ -export interface LaunchTemplateHibernationOptionsRequest { /** - *

          If you set this parameter to true, the instance is enabled for hibernation.

          - *

          Default: false - *

          + *

          Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under + * which the EBS volume is encrypted.

          + *

          This parameter is only supported on BlockDeviceMapping objects called by + * RunInstances, RequestSpotFleet, + * and RequestSpotInstances.

          */ - Configured?: boolean; + KmsKeyId?: string; + + /** + *

          The throughput that the volume supports, in MiB/s.

          + *

          This parameter is valid only for gp3 volumes.

          + *

          Valid Range: Minimum value of 125. Maximum value of 1000.

          + */ + Throughput?: number; + + /** + *

          The ARN of the Outpost on which the snapshot is stored.

          + */ + OutpostArn?: string; + + /** + *

          Indicates whether the encryption state of an EBS volume is changed while being + * restored from a backing snapshot. + * The effect of setting the encryption state to true depends on + * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. + * For more information, see Amazon EBS encryption + * in the Amazon EC2 User Guide.

          + *

          In no case can you remove encryption from an encrypted volume.

          + *

          Encrypted volumes can only be attached to instances that support Amazon EBS + * encryption. For more information, see Supported instance types.

          + *

          This parameter is not returned by .

          + */ + Encrypted?: boolean; } -export namespace LaunchTemplateHibernationOptionsRequest { +export namespace EbsBlockDevice { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateHibernationOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: EbsBlockDevice): any => ({ ...obj, }); } /** - *

          An IAM instance profile.

          + *

          Describes a block device mapping, which defines the EBS volumes and instance store + * volumes to attach to an instance at launch.

          */ -export interface LaunchTemplateIamInstanceProfileSpecificationRequest { +export interface BlockDeviceMapping { /** - *

          The Amazon Resource Name (ARN) of the instance profile.

          + *

          The device name (for example, /dev/sdh or xvdh).

          */ - Arn?: string; + DeviceName?: string; /** - *

          The name of the instance profile.

          + *

          The virtual device name (ephemeralN). Instance store volumes are numbered + * starting from 0. An instance type with 2 available instance store volumes can specify + * mappings for ephemeral0 and ephemeral1. The number of + * available instance store volumes depends on the instance type. After you connect to the + * instance, you must mount the volume.

          + *

          NVMe instance store volumes are automatically enumerated and assigned a device name. + * Including them in your block device mapping has no effect.

          + *

          Constraints: For M3 instances, you must specify instance store volumes in the block + * device mapping for the instance. When you launch an M3 instance, we ignore any instance + * store volumes specified in the block device mapping for the AMI.

          */ - Name?: string; + VirtualName?: string; + + /** + *

          Parameters used to automatically set up EBS volumes when the instance is + * launched.

          + */ + Ebs?: EbsBlockDevice; + + /** + *

          To omit the device from the block device mapping, specify an empty string. When this + * property is specified, the device is removed from the block device mapping regardless of + * the assigned value.

          + */ + NoDevice?: string; } -export namespace LaunchTemplateIamInstanceProfileSpecificationRequest { +export namespace BlockDeviceMapping { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateIamInstanceProfileSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: BlockDeviceMapping): any => ({ ...obj, }); } -export type ShutdownBehavior = "stop" | "terminate"; - -export type MarketType = "spot"; - -export type InstanceInterruptionBehavior = "hibernate" | "stop" | "terminate"; +export interface CreateImageRequest { + /** + *

          The block device mappings. This parameter cannot be used to modify the encryption + * status of existing volumes or snapshots. To create an AMI with encrypted snapshots, + * use the CopyImage action.

          + */ + BlockDeviceMappings?: BlockDeviceMapping[]; -export type SpotInstanceType = "one-time" | "persistent"; + /** + *

          A description for the new image.

          + */ + Description?: string; -/** - *

          The options for Spot Instances.

          - */ -export interface LaunchTemplateSpotMarketOptionsRequest { /** - *

          The maximum hourly price you're willing to pay for the Spot Instances.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - MaxPrice?: string; + DryRun?: boolean; /** - *

          The Spot Instance request type.

          + *

          The ID of the instance.

          */ - SpotInstanceType?: SpotInstanceType | string; + InstanceId: string | undefined; /** - *

          The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

          + *

          A name for the new image.

          + *

          Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)

          */ - BlockDurationMinutes?: number; + Name: string | undefined; /** - *

          The end date of the request. - * For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. - * If the request is persistent, it remains active until it is canceled or this date and time is reached. - * The default end date is 7 days from the current date.

          + *

          By default, Amazon EC2 attempts to shut down and reboot the instance before creating the image. + * If the No Reboot option is set, Amazon EC2 doesn't shut down the instance before creating + * the image. Without a reboot, the AMI will be crash consistent (all the volumes are snapshotted + * at the same time), but not application consistent (all the operating system buffers are not flushed + * to disk before the snapshots are created).

          */ - ValidUntil?: Date; + NoReboot?: boolean; /** - *

          The behavior when a Spot Instance is interrupted. The default is terminate.

          + *

          The tags to apply to the AMI and snapshots on creation. You can tag the AMI, the + * snapshots, or both.

          + *
            + *
          • + *

            To tag the AMI, the value for ResourceType must be + * image.

            + *
          • + *
          • + *

            To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that + * are attached to the instance, the value for ResourceType must be + * snapshot. The same tag is applied to all of the snapshots that are + * created.

            + *
          • + *
          + *

          If you specify other values for ResourceType, the request fails.

          + *

          To tag an AMI or snapshot after it has been created, see CreateTags.

          */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + TagSpecifications?: TagSpecification[]; } -export namespace LaunchTemplateSpotMarketOptionsRequest { +export namespace CreateImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateSpotMarketOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateImageRequest): any => ({ ...obj, }); } -/** - *

          The market (purchasing) option for the instances.

          - */ -export interface LaunchTemplateInstanceMarketOptionsRequest { - /** - *

          The market type.

          - */ - MarketType?: MarketType | string; - +export interface CreateImageResult { /** - *

          The options for Spot Instances.

          + *

          The ID of the new AMI.

          */ - SpotOptions?: LaunchTemplateSpotMarketOptionsRequest; + ImageId?: string; } -export namespace LaunchTemplateInstanceMarketOptionsRequest { +export namespace CreateImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceMarketOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateImageResult): any => ({ ...obj, }); } /** - *

          Describes a license configuration.

          + *

          The start day and time and the end day and time of the time range, in UTC.

          */ -export interface LaunchTemplateLicenseConfigurationRequest { +export interface InstanceEventWindowTimeRangeRequest { /** - *

          The Amazon Resource Name (ARN) of the license configuration.

          + *

          The day on which the time range begins.

          */ - LicenseConfigurationArn?: string; -} + StartWeekDay?: WeekDay | string; -export namespace LaunchTemplateLicenseConfigurationRequest { /** - * @internal + *

          The hour when the time range begins.

          */ - export const filterSensitiveLog = (obj: LaunchTemplateLicenseConfigurationRequest): any => ({ - ...obj, - }); -} + StartHour?: number; -export type LaunchTemplateInstanceMetadataEndpointState = "disabled" | "enabled"; + /** + *

          The day on which the time range ends.

          + */ + EndWeekDay?: WeekDay | string; -export enum LaunchTemplateInstanceMetadataProtocolIpv6 { - disabled = "disabled", - enabled = "enabled", + /** + *

          The hour when the time range ends.

          + */ + EndHour?: number; } -export enum LaunchTemplateHttpTokensState { - optional = "optional", - required = "required", +export namespace InstanceEventWindowTimeRangeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceEventWindowTimeRangeRequest): any => ({ + ...obj, + }); } -/** - *

          The metadata options for the instance. For more information, see Instance Metadata and User Data in the - * Amazon Elastic Compute Cloud User Guide.

          - */ -export interface LaunchTemplateInstanceMetadataOptionsRequest { +export interface CreateInstanceEventWindowRequest { /** - *

          The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

          - *

          If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

          - *

          If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - HttpTokens?: LaunchTemplateHttpTokensState | string; + DryRun?: boolean; /** - *

          The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

          - *

          Default: 1

          - *

          Possible values: Integers from 1 to 64

          + *

          The name of the event window.

          */ - HttpPutResponseHopLimit?: number; + Name?: string; /** - *

          This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

          - * - *

          If you specify a value of disabled, you will not be able to access your instance metadata. - *

          - *
          + *

          The time range for the event window. If you specify a time range, you can't specify a cron + * expression.

          */ - HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; + TimeRanges?: InstanceEventWindowTimeRangeRequest[]; /** - *

          Enables or disables the IPv6 endpoint for the instance metadata service.

          - *

          Default: disabled - *

          + *

          The cron expression for the event window, for example, * 0-4,20-23 * * 1,5. If + * you specify a cron expression, you can't specify a time range.

          + *

          Constraints:

          + *
            + *
          • + *

            Only hour and day of the week values are supported.

            + *
          • + *
          • + *

            For day of the week values, you can specify either integers 0 through + * 6, or alternative single values SUN through + * SAT.

            + *
          • + *
          • + *

            The minute, month, and year must be specified by *.

            + *
          • + *
          • + *

            The hour value must be one or a multiple range, for example, 0-4 or + * 0-4,20-23.

            + *
          • + *
          • + *

            Each hour range must be >= 2 hours, for example, 0-2 or + * 20-23.

            + *
          • + *
          • + *

            The event window must be >= 4 hours. The combined total time ranges in the event + * window must be >= 4 hours.

            + *
          • + *
          + *

          For more information about cron expressions, see cron on the Wikipedia + * website.

          */ - HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string; + CronExpression?: string; + + /** + *

          The tags to apply to the event window.

          + */ + TagSpecifications?: TagSpecification[]; } -export namespace LaunchTemplateInstanceMetadataOptionsRequest { +export namespace CreateInstanceEventWindowRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceMetadataOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInstanceEventWindowRequest): any => ({ ...obj, }); } -/** - *

          Describes the monitoring for the instance.

          - */ -export interface LaunchTemplatesMonitoringRequest { +export interface CreateInstanceEventWindowResult { /** - *

          Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled.

          + *

          Information about the event window.

          */ - Enabled?: boolean; + InstanceEventWindow?: InstanceEventWindow; } -export namespace LaunchTemplatesMonitoringRequest { +export namespace CreateInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplatesMonitoringRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInstanceEventWindowResult): any => ({ ...obj, }); } +export type ContainerFormat = "ova"; + +export type DiskImageFormat = "RAW" | "VHD" | "VMDK"; + /** - *

          Describes the IPv4 prefix option for a network interface.

          + *

          Describes an export instance task.

          */ -export interface Ipv4PrefixSpecificationRequest { +export interface ExportToS3TaskSpecification { /** - *

          The IPv4 prefix. For information, see - * Assigning prefixes to Amazon EC2 network interfaces in the - * Amazon Elastic Compute Cloud User Guide.

          + *

          The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is + * exported.

          */ - Ipv4Prefix?: string; + ContainerFormat?: ContainerFormat | string; + + /** + *

          The format for the exported image.

          + */ + DiskImageFormat?: DiskImageFormat | string; + + /** + *

          The Amazon S3 bucket for the destination image. The destination bucket must exist and grant + * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

          + */ + S3Bucket?: string; + + /** + *

          The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + + * exportTaskId + '.' + diskImageFormat.

          + */ + S3Prefix?: string; } -export namespace Ipv4PrefixSpecificationRequest { +export namespace ExportToS3TaskSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv4PrefixSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: ExportToS3TaskSpecification): any => ({ ...obj, }); } -/** - *

          Describes an IPv6 address.

          - */ -export interface InstanceIpv6AddressRequest { +export type ExportEnvironment = "citrix" | "microsoft" | "vmware"; + +export interface CreateInstanceExportTaskRequest { /** - *

          The IPv6 address.

          + *

          A description for the conversion task or the resource being exported. The maximum length is 255 characters.

          */ - Ipv6Address?: string; + Description?: string; + + /** + *

          The format and location for an export instance task.

          + */ + ExportToS3Task: ExportToS3TaskSpecification | undefined; + + /** + *

          The ID of the instance.

          + */ + InstanceId: string | undefined; + + /** + *

          The target virtualization environment.

          + */ + TargetEnvironment: ExportEnvironment | string | undefined; + + /** + *

          The tags to apply to the export instance task during creation.

          + */ + TagSpecifications?: TagSpecification[]; } -export namespace InstanceIpv6AddressRequest { +export namespace CreateInstanceExportTaskRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceIpv6AddressRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInstanceExportTaskRequest): any => ({ ...obj, }); } /** - *

          Describes the IPv4 prefix option for a network interface.

          + *

          Describes the format and location for the export task.

          */ -export interface Ipv6PrefixSpecificationRequest { +export interface ExportToS3Task { /** - *

          The IPv6 prefix.

          + *

          The container format used to combine disk images with metadata (such as OVF). If absent, only the disk image is + * exported.

          */ - Ipv6Prefix?: string; + ContainerFormat?: ContainerFormat | string; + + /** + *

          The format for the exported image.

          + */ + DiskImageFormat?: DiskImageFormat | string; + + /** + *

          The Amazon S3 bucket for the destination image. The destination bucket must exist and grant + * WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

          + */ + S3Bucket?: string; + + /** + *

          The encryption key for your S3 bucket.

          + */ + S3Key?: string; } -export namespace Ipv6PrefixSpecificationRequest { +export namespace ExportToS3Task { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6PrefixSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: ExportToS3Task): any => ({ ...obj, }); } /** - *

          Describes a secondary private IPv4 address for a network interface.

          + *

          Describes an instance to export.

          */ -export interface PrivateIpAddressSpecification { +export interface InstanceExportDetails { /** - *

          Indicates whether the private IPv4 address is the primary private IPv4 address. Only - * one IPv4 address can be designated as primary.

          + *

          The ID of the resource being exported.

          */ - Primary?: boolean; + InstanceId?: string; /** - *

          The private IPv4 addresses.

          + *

          The target virtualization environment.

          */ - PrivateIpAddress?: string; + TargetEnvironment?: ExportEnvironment | string; } -export namespace PrivateIpAddressSpecification { +export namespace InstanceExportDetails { /** * @internal */ - export const filterSensitiveLog = (obj: PrivateIpAddressSpecification): any => ({ + export const filterSensitiveLog = (obj: InstanceExportDetails): any => ({ ...obj, }); } +export type ExportTaskState = "active" | "cancelled" | "cancelling" | "completed"; + /** - *

          The parameters for a network interface.

          + *

          Describes an export instance task.

          */ -export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { +export interface ExportTask { /** - *

          Associates a Carrier IP address with eth0 for a new network interface.

          - *

          Use this option when you launch an instance in a Wavelength Zone and want to associate - * a Carrier IP address with the network interface. For more information about Carrier IP - * addresses, see Carrier IP addresses in the Wavelength Developer - * Guide.

          + *

          A description of the resource being exported.

          */ - AssociateCarrierIpAddress?: boolean; + Description?: string; /** - *

          Associates a public IPv4 address with eth0 for a new network interface.

          + *

          The ID of the export task.

          */ - AssociatePublicIpAddress?: boolean; + ExportTaskId?: string; /** - *

          Indicates whether the network interface is deleted when the instance is terminated.

          + *

          Information about the export task.

          */ - DeleteOnTermination?: boolean; + ExportToS3Task?: ExportToS3Task; /** - *

          A description for the network interface.

          + *

          Information about the instance to export.

          */ - Description?: string; + InstanceExportDetails?: InstanceExportDetails; /** - *

          The device index for the network interface attachment.

          + *

          The state of the export task.

          */ - DeviceIndex?: number; + State?: ExportTaskState | string; /** - *

          The IDs of one or more security groups.

          + *

          The status message related to the export task.

          */ - Groups?: string[]; + StatusMessage?: string; /** - *

          The type of network interface. To create an Elastic Fabric Adapter (EFA), specify - * efa. For more information, see Elastic Fabric Adapter in the - * Amazon Elastic Compute Cloud User Guide.

          - *

          If you are not creating an EFA, specify interface or omit this parameter.

          - *

          Valid values: interface | efa - *

          + *

          The tags for the export task.

          */ - InterfaceType?: string; + Tags?: Tag[]; +} +export namespace ExportTask { /** - *

          The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

          + * @internal */ - Ipv6AddressCount?: number; + export const filterSensitiveLog = (obj: ExportTask): any => ({ + ...obj, + }); +} +export interface CreateInstanceExportTaskResult { /** - *

          One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

          + *

          Information about the export instance task.

          */ - Ipv6Addresses?: InstanceIpv6AddressRequest[]; + ExportTask?: ExportTask; +} +export namespace CreateInstanceExportTaskResult { /** - *

          The ID of the network interface.

          + * @internal */ - NetworkInterfaceId?: string; + export const filterSensitiveLog = (obj: CreateInstanceExportTaskResult): any => ({ + ...obj, + }); +} +export interface CreateInternetGatewayRequest { /** - *

          The primary private IPv4 address of the network interface.

          + *

          The tags to assign to the internet gateway.

          */ - PrivateIpAddress?: string; + TagSpecifications?: TagSpecification[]; /** - *

          One or more private IPv4 addresses.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + DryRun?: boolean; +} +export namespace CreateInternetGatewayRequest { /** - *

          The number of secondary private IPv4 addresses to assign to a network interface.

          + * @internal */ - SecondaryPrivateIpAddressCount?: number; + export const filterSensitiveLog = (obj: CreateInternetGatewayRequest): any => ({ + ...obj, + }); +} +/** + *

          Describes an internet gateway.

          + */ +export interface InternetGateway { /** - *

          The ID of the subnet for the network interface.

          + *

          Any VPCs attached to the internet gateway.

          */ - SubnetId?: string; + Attachments?: InternetGatewayAttachment[]; /** - *

          The index of the network card. Some instance types support multiple network cards. - * The primary network interface must be assigned to network card index 0. - * The default is network card index 0.

          + *

          The ID of the internet gateway.

          */ - NetworkCardIndex?: number; + InternetGatewayId?: string; /** - *

          One or more IPv4 prefixes to be assigned to the network interface. You cannot use - * this option if you use the Ipv4PrefixCount option.

          + *

          The ID of the Amazon Web Services account that owns the internet gateway.

          */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + OwnerId?: string; /** - *

          The number of IPv4 prefixes to be automatically assigned to the - * network interface. You cannot use this option if you use the Ipv4Prefix option.

          + *

          Any tags assigned to the internet gateway.

          */ - Ipv4PrefixCount?: number; + Tags?: Tag[]; +} +export namespace InternetGateway { /** - *

          One or more IPv6 prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv6PrefixCount option.

          + * @internal */ - Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + export const filterSensitiveLog = (obj: InternetGateway): any => ({ + ...obj, + }); +} +export interface CreateInternetGatewayResult { /** - *

          The number of IPv6 prefixes to be automatically assigned to the network - * interface. You cannot use this option if you use the Ipv6Prefix option.

          + *

          Information about the internet gateway.

          */ - Ipv6PrefixCount?: number; + InternetGateway?: InternetGateway; } -export namespace LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { +export namespace CreateInternetGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: CreateInternetGatewayResult): any => ({ ...obj, }); } -/** - *

          Describes the placement of an instance.

          - */ -export interface LaunchTemplatePlacementRequest { - /** - *

          The Availability Zone for the instance.

          - */ - AvailabilityZone?: string; +export enum KeyType { + ed25519 = "ed25519", + rsa = "rsa", +} +export interface CreateKeyPairRequest { /** - *

          The affinity setting for an instance on a Dedicated Host.

          + *

          A unique name for the key pair.

          + *

          Constraints: Up to 255 ASCII characters

          */ - Affinity?: string; + KeyName: string | undefined; /** - *

          The name of the placement group for the instance.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - GroupName?: string; + DryRun?: boolean; /** - *

          The ID of the Dedicated Host for the instance.

          + *

          The type of key pair. Note that ED25519 keys are not supported for Windows instances, EC2 Instance Connect, and EC2 Serial Console.

          + *

          Default: rsa + *

          */ - HostId?: string; + KeyType?: KeyType | string; /** - *

          The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy - * of dedicated runs on single-tenant hardware.

          + *

          The tags to apply to the new key pair.

          */ - Tenancy?: Tenancy | string; + TagSpecifications?: TagSpecification[]; +} +export namespace CreateKeyPairRequest { /** - *

          Reserved for future use.

          + * @internal */ - SpreadDomain?: string; + export const filterSensitiveLog = (obj: CreateKeyPairRequest): any => ({ + ...obj, + }); +} +/** + *

          Describes a key pair.

          + */ +export interface KeyPair { /** - *

          The ARN of the host resource group in which to launch the instances. If you specify a host - * resource group ARN, omit the Tenancy parameter - * or set it to host.

          + *

          The SHA-1 digest of the DER encoded private key.

          */ - HostResourceGroupArn?: string; + KeyFingerprint?: string; /** - *

          The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

          + *

          An unencrypted PEM encoded RSA or ED25519 private key.

          */ - PartitionNumber?: number; -} + KeyMaterial?: string; -export namespace LaunchTemplatePlacementRequest { /** - * @internal + *

          The name of the key pair.

          */ - export const filterSensitiveLog = (obj: LaunchTemplatePlacementRequest): any => ({ - ...obj, - }); -} + KeyName?: string; -/** - *

          The tags specification for the launch template.

          - */ -export interface LaunchTemplateTagSpecificationRequest { /** - *

          The type of resource to tag. Currently, the resource types that support tagging on - * creation are instance and volume. To tag a resource after it - * has been created, see CreateTags.

          + *

          The ID of the key pair.

          */ - ResourceType?: ResourceType | string; + KeyPairId?: string; /** - *

          The tags to apply to the resource.

          + *

          Any tags applied to the key pair.

          */ Tags?: Tag[]; } -export namespace LaunchTemplateTagSpecificationRequest { +export namespace KeyPair { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateTagSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: KeyPair): any => ({ ...obj, + ...(obj.KeyMaterial && { KeyMaterial: SENSITIVE_STRING }), }); } /** - *

          The information to include in the launch template.

          + *

          The parameters for a block device for an EBS volume.

          */ -export interface RequestLaunchTemplateData { +export interface LaunchTemplateEbsBlockDeviceRequest { /** - *

          The ID of the kernel.

          - * - *

          We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - * information, see User Provided - * Kernels in the Amazon Elastic Compute Cloud User - * Guide.

          - *
          + *

          Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption. + * If you are creating a volume from a snapshot, you can't specify an encryption value.

          */ - KernelId?: string; + Encrypted?: boolean; /** - *

          Indicates whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal Amazon EBS I/O performance. This optimization isn't available with all - * instance types. Additional usage charges apply when using an EBS-optimized - * instance.

          + *

          Indicates whether the EBS volume is deleted on instance termination.

          */ - EbsOptimized?: boolean; + DeleteOnTermination?: boolean; /** - *

          The name or Amazon Resource Name (ARN) of an IAM instance profile.

          + *

          The number of I/O operations per second (IOPS). For gp3, io1, and io2 + * volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, + * this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits + * for bursting.

          + *

          The following are the supported values for each volume type:

          + *
            + *
          • + *

            + * gp3: 3,000-16,000 IOPS

            + *
          • + *
          • + *

            + * io1: 100-64,000 IOPS

            + *
          • + *
          • + *

            + * io2: 100-64,000 IOPS

            + *
          • + *
          + *

          For io1 and io2 volumes, we guarantee 64,000 IOPS + * only for Instances built on the Nitro System. Other instance families guarantee performance up + * to 32,000 IOPS.

          + *

          This parameter is supported for io1, io2, and gp3 volumes only. This parameter is not supported for + * gp2, st1, sc1, or standard volumes.

          */ - IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecificationRequest; + Iops?: number; /** - *

          The block device mapping.

          + *

          The ARN of the symmetric Key Management Service (KMS) CMK used for + * encryption.

          */ - BlockDeviceMappings?: LaunchTemplateBlockDeviceMappingRequest[]; + KmsKeyId?: string; /** - *

          One or more network interfaces. If you specify a network interface, you must specify - * any security groups and subnets as part of the network interface.

          + *

          The ID of the snapshot.

          */ - NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest[]; + SnapshotId?: string; /** - *

          The ID of the AMI.

          - */ - ImageId?: string; - - /** - *

          The instance type. For more information, see Instance Types in the - * Amazon Elastic Compute Cloud User Guide.

          - */ - InstanceType?: _InstanceType | string; - - /** - *

          The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

          - * - *

          If you do not specify a key pair, you can't connect to the instance unless you - * choose an AMI that is configured to allow users another way to log in.

          - *
          - */ - KeyName?: string; - - /** - *

          The monitoring for the instance.

          - */ - Monitoring?: LaunchTemplatesMonitoringRequest; - - /** - *

          The placement for the instance.

          - */ - Placement?: LaunchTemplatePlacementRequest; - - /** - *

          The ID of the RAM disk.

          - * - *

          We recommend that you use PV-GRUB instead of kernels and RAM disks. For more - * information, see User Provided - * Kernels in the Amazon Elastic Compute Cloud User - * Guide.

          - *
          - */ - RamDiskId?: string; - - /** - *

          If you set this parameter to true, you can't terminate the instance using - * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, - * use ModifyInstanceAttribute. - * Alternatively, if you set InstanceInitiatedShutdownBehavior to - * terminate, you can terminate the instance by running the shutdown - * command from the instance.

          - */ - DisableApiTermination?: boolean; - - /** - *

          Indicates whether an instance stops or terminates when you initiate shutdown from - * the instance (using the operating system command for system shutdown).

          - *

          Default: stop - *

          - */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; - - /** - *

          The user data to make available to the instance. You must provide base64-encoded text. - * User data is limited to 16 KB. For more information, see Running Commands on Your Linux Instance - * at Launch (Linux) or Adding User Data (Windows).

          - * - *

          If you are creating the launch template for use with Batch, the user data - * must be provided in the - * MIME multi-part archive format. For more information, see Amazon EC2 user data in - * launch templates in the Batch User Guide.

          - */ - UserData?: string; - - /** - *

          The tags to apply to the resources during launch. You can only tag instances and - * volumes on launch. The specified tags are applied to all instances or volumes that are - * created during launch. To tag a resource after it has been created, see CreateTags.

          - */ - TagSpecifications?: LaunchTemplateTagSpecificationRequest[]; - - /** - *

          An elastic GPU to associate with the instance.

          - */ - ElasticGpuSpecifications?: ElasticGpuSpecification[]; - - /** - *

          - * The elastic inference accelerator for the instance. - *

          - */ - ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[]; - - /** - *

          One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and - * security name in the same request.

          - */ - SecurityGroupIds?: string[]; - - /** - *

          [EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, - * you must use security group IDs instead. You cannot specify both a security group ID and - * security name in the same request.

          - */ - SecurityGroups?: string[]; - - /** - *

          The market (purchasing) option for the instances.

          + *

          The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following + * are the supported volumes sizes for each volume type:

          + *
            + *
          • + *

            + * gp2 and gp3: 1-16,384

            + *
          • + *
          • + *

            + * io1 and io2: 4-16,384

            + *
          • + *
          • + *

            + * st1 and sc1: 125-16,384

            + *
          • + *
          • + *

            + * standard: 1-1,024

            + *
          • + *
          */ - InstanceMarketOptions?: LaunchTemplateInstanceMarketOptionsRequest; + VolumeSize?: number; /** - *

          The credit option for CPU usage of the instance. Valid for T2, T3, or T3a instances - * only.

          + *

          The volume type. For more information, see Amazon EBS volume types in the + * Amazon Elastic Compute Cloud User Guide.

          */ - CreditSpecification?: CreditSpecificationRequest; + VolumeType?: VolumeType | string; /** - *

          The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User - * Guide.

          + *

          The throughput to provision for a gp3 volume, with a maximum of 1,000 MiB/s.

          + *

          Valid Range: Minimum value of 125. Maximum value of 1000.

          */ - CpuOptions?: LaunchTemplateCpuOptionsRequest; + Throughput?: number; +} +export namespace LaunchTemplateEbsBlockDeviceRequest { /** - *

          The Capacity Reservation targeting option. If you do not specify this parameter, the - * instance's Capacity Reservation preference defaults to open, which enables it - * to run in any open Capacity Reservation that has matching attributes (instance type, - * platform, Availability Zone).

          + * @internal */ - CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationRequest; + export const filterSensitiveLog = (obj: LaunchTemplateEbsBlockDeviceRequest): any => ({ + ...obj, + }); +} +/** + *

          Describes a block device mapping.

          + */ +export interface LaunchTemplateBlockDeviceMappingRequest { /** - *

          The license configurations.

          + *

          The device name (for example, /dev/sdh or xvdh).

          */ - LicenseSpecifications?: LaunchTemplateLicenseConfigurationRequest[]; + DeviceName?: string; /** - *

          Indicates whether an instance is enabled for hibernation. This parameter is valid only - * if the instance meets the hibernation - * prerequisites. For - * more information, see Hibernate your instance in the - * Amazon Elastic Compute Cloud User Guide.

          + *

          The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0. + * An instance type with 2 available instance store volumes can specify mappings for ephemeral0 + * and ephemeral1. The number of available instance store volumes depends on the instance type. + * After you connect to the instance, you must mount the volume.

          */ - HibernationOptions?: LaunchTemplateHibernationOptionsRequest; + VirtualName?: string; /** - *

          The metadata options for the instance. For more information, see Instance metadata and user data in the - * Amazon Elastic Compute Cloud User Guide.

          + *

          Parameters used to automatically set up EBS volumes when the instance is launched.

          */ - MetadataOptions?: LaunchTemplateInstanceMetadataOptionsRequest; + Ebs?: LaunchTemplateEbsBlockDeviceRequest; /** - *

          Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, - * see - * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

          - *

          You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

          + *

          To omit the device from the block device mapping, specify an empty string.

          */ - EnclaveOptions?: LaunchTemplateEnclaveOptionsRequest; + NoDevice?: string; } -export namespace RequestLaunchTemplateData { +export namespace LaunchTemplateBlockDeviceMappingRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RequestLaunchTemplateData): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateBlockDeviceMappingRequest): any => ({ ...obj, }); } -export interface CreateLaunchTemplateRequest { - /** - *

          Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

          - */ - DryRun?: boolean; +export type CapacityReservationPreference = "none" | "open"; +/** + *

          Describes a target Capacity Reservation or Capacity Reservation group.

          + */ +export interface CapacityReservationTarget { /** - *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

          - *

          Constraint: Maximum 128 ASCII characters.

          + *

          The ID of the Capacity Reservation in which to run the instance.

          */ - ClientToken?: string; + CapacityReservationId?: string; /** - *

          A name for the launch template.

          + *

          The ARN of the Capacity Reservation resource group in which to run the instance.

          */ - LaunchTemplateName: string | undefined; + CapacityReservationResourceGroupArn?: string; +} +export namespace CapacityReservationTarget { /** - *

          A description for the first version of the launch template.

          + * @internal */ - VersionDescription?: string; + export const filterSensitiveLog = (obj: CapacityReservationTarget): any => ({ + ...obj, + }); +} +/** + *

          Describes an instance's Capacity Reservation targeting option. You can specify only one option at a time. Use the + * CapacityReservationPreference parameter to configure the instance to run in On-Demand capacity or + * to run in any open Capacity Reservation that has matching attributes (instance type, platform, Availability Zone). + * Use the CapacityReservationTarget parameter to explicitly target a specific Capacity Reservation or + * a Capacity Reservation group.

          + */ +export interface LaunchTemplateCapacityReservationSpecificationRequest { /** - *

          The information for the launch template.

          + *

          Indicates the instance's Capacity Reservation preferences. Possible preferences include:

          + *
            + *
          • + *

            + * open - The instance can run in any open Capacity Reservation that has matching attributes + * (instance type, platform, Availability Zone).

            + *
          • + *
          • + *

            + * none - The instance avoids running in a Capacity Reservation even if one is available. The instance + * runs in On-Demand capacity.

            + *
          • + *
          */ - LaunchTemplateData: RequestLaunchTemplateData | undefined; + CapacityReservationPreference?: CapacityReservationPreference | string; /** - *

          The tags to apply to the launch template during creation.

          + *

          Information about the target Capacity Reservation or Capacity Reservation group.

          */ - TagSpecifications?: TagSpecification[]; + CapacityReservationTarget?: CapacityReservationTarget; } -export namespace CreateLaunchTemplateRequest { +export namespace LaunchTemplateCapacityReservationSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLaunchTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateCapacityReservationSpecificationRequest): any => ({ ...obj, }); } /** - *

          Describes a launch template.

          + *

          The CPU options for the instance. Both the core count and threads per core + * must be specified in the request.

          */ -export interface LaunchTemplate { - /** - *

          The ID of the launch template.

          - */ - LaunchTemplateId?: string; - +export interface LaunchTemplateCpuOptionsRequest { /** - *

          The name of the launch template.

          + *

          The number of CPU cores for the instance.

          */ - LaunchTemplateName?: string; + CoreCount?: number; /** - *

          The time launch template was created.

          + *

          The number of threads per CPU core. To disable multithreading + * for the instance, specify a value of 1. Otherwise, specify the default value of 2.

          */ - CreateTime?: Date; + ThreadsPerCore?: number; +} +export namespace LaunchTemplateCpuOptionsRequest { /** - *

          The principal that created the launch template.

          + * @internal */ - CreatedBy?: string; + export const filterSensitiveLog = (obj: LaunchTemplateCpuOptionsRequest): any => ({ + ...obj, + }); +} +/** + *

          The credit option for CPU usage of a T2, T3, or T3a instance.

          + */ +export interface CreditSpecificationRequest { /** - *

          The version number of the default version of the launch template.

          + *

          The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are + * standard and unlimited.

          */ - DefaultVersionNumber?: number; + CpuCredits: string | undefined; +} +export namespace CreditSpecificationRequest { /** - *

          The version number of the latest version of the launch template.

          + * @internal */ - LatestVersionNumber?: number; + export const filterSensitiveLog = (obj: CreditSpecificationRequest): any => ({ + ...obj, + }); +} +/** + *

          A specification for an Elastic Graphics accelerator.

          + */ +export interface ElasticGpuSpecification { /** - *

          The tags for the launch template.

          + *

          The type of Elastic Graphics accelerator. For more information about the values to specify for + * Type, see Elastic Graphics Basics, specifically the Elastic Graphics accelerator column, in the + * Amazon Elastic Compute Cloud User Guide for Windows Instances.

          */ - Tags?: Tag[]; + Type: string | undefined; } -export namespace LaunchTemplate { +export namespace ElasticGpuSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplate): any => ({ + export const filterSensitiveLog = (obj: ElasticGpuSpecification): any => ({ ...obj, }); } /** - *

          The error code and error message that is returned for a parameter or parameter combination that is not valid when a new launch template or new version of a launch template is created.

          + *

          + * Describes an elastic inference accelerator. + *

          */ -export interface ValidationError { +export interface LaunchTemplateElasticInferenceAccelerator { /** - *

          The error code that indicates why the parameter or parameter combination is not valid. For more information about error codes, see Error Codes.

          + *

          + * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. + *

          */ - Code?: string; + Type: string | undefined; /** - *

          The error message that describes why the parameter or parameter combination is not valid. For more - * information about error messages, see Error Codes.

          + *

          + * The number of elastic inference accelerators to attach to the instance. + *

          + *

          Default: 1

          */ - Message?: string; + Count?: number; } -export namespace ValidationError { +export namespace LaunchTemplateElasticInferenceAccelerator { /** * @internal */ - export const filterSensitiveLog = (obj: ValidationError): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateElasticInferenceAccelerator): any => ({ ...obj, }); } /** - *

          The error codes and error messages that are returned for the parameters or parameter combinations that are not valid when a new launch template or new version of a launch template is created.

          + *

          Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, + * see + * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

          */ -export interface ValidationWarning { +export interface LaunchTemplateEnclaveOptionsRequest { /** - *

          The error codes and error messages.

          + *

          To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true.

          */ - Errors?: ValidationError[]; + Enabled?: boolean; } -export namespace ValidationWarning { +export namespace LaunchTemplateEnclaveOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ValidationWarning): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateEnclaveOptionsRequest): any => ({ ...obj, }); } -export interface CreateLaunchTemplateResult { - /** - *

          Information about the launch template.

          - */ - LaunchTemplate?: LaunchTemplate; - +/** + *

          Indicates whether the instance is configured for hibernation. This parameter is valid only + * if the instance meets the hibernation + * prerequisites.

          + */ +export interface LaunchTemplateHibernationOptionsRequest { /** - *

          If the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

          + *

          If you set this parameter to true, the instance is enabled for hibernation.

          + *

          Default: false + *

          */ - Warning?: ValidationWarning; + Configured?: boolean; } -export namespace CreateLaunchTemplateResult { +export namespace LaunchTemplateHibernationOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLaunchTemplateResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateHibernationOptionsRequest): any => ({ ...obj, }); } -export interface CreateLaunchTemplateVersionRequest { - /** - *

          Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

          - */ - DryRun?: boolean; - - /** - *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

          - *

          Constraint: Maximum 128 ASCII characters.

          - */ - ClientToken?: string; - - /** - *

          The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

          - */ - LaunchTemplateId?: string; - - /** - *

          The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

          - */ - LaunchTemplateName?: string; - - /** - *

          The version number of the launch template version on which to base the new version. - * The new version inherits the same launch parameters as the source version, except for - * parameters that you specify in LaunchTemplateData. Snapshots applied - * to the block device mapping are ignored when creating a new version unless they - * are explicitly included.

          - */ - SourceVersion?: string; - +/** + *

          An IAM instance profile.

          + */ +export interface LaunchTemplateIamInstanceProfileSpecificationRequest { /** - *

          A description for the version of the launch template.

          + *

          The Amazon Resource Name (ARN) of the instance profile.

          */ - VersionDescription?: string; + Arn?: string; /** - *

          The information for the launch template.

          + *

          The name of the instance profile.

          */ - LaunchTemplateData: RequestLaunchTemplateData | undefined; + Name?: string; } -export namespace CreateLaunchTemplateVersionRequest { +export namespace LaunchTemplateIamInstanceProfileSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateIamInstanceProfileSpecificationRequest): any => ({ ...obj, }); } -/** - *

          Describes a block device for an EBS volume.

          - */ -export interface LaunchTemplateEbsBlockDevice { - /** - *

          Indicates whether the EBS volume is encrypted.

          - */ - Encrypted?: boolean; +export type ShutdownBehavior = "stop" | "terminate"; - /** - *

          Indicates whether the EBS volume is deleted on instance termination.

          - */ - DeleteOnTermination?: boolean; +export type MarketType = "spot"; - /** - *

          The number of I/O operations per second (IOPS) that the volume supports.

          - */ - Iops?: number; +export type InstanceInterruptionBehavior = "hibernate" | "stop" | "terminate"; +export type SpotInstanceType = "one-time" | "persistent"; + +/** + *

          The options for Spot Instances.

          + */ +export interface LaunchTemplateSpotMarketOptionsRequest { /** - *

          The ARN of the Key Management Service (KMS) CMK used for encryption.

          + *

          The maximum hourly price you're willing to pay for the Spot Instances.

          */ - KmsKeyId?: string; + MaxPrice?: string; /** - *

          The ID of the snapshot.

          + *

          The Spot Instance request type.

          */ - SnapshotId?: string; + SpotInstanceType?: SpotInstanceType | string; /** - *

          The size of the volume, in GiB.

          + *

          The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

          */ - VolumeSize?: number; + BlockDurationMinutes?: number; /** - *

          The volume type.

          + *

          The end date of the request. + * For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. + * If the request is persistent, it remains active until it is canceled or this date and time is reached. + * The default end date is 7 days from the current date.

          */ - VolumeType?: VolumeType | string; + ValidUntil?: Date; /** - *

          The throughput that the volume supports, in MiB/s.

          + *

          The behavior when a Spot Instance is interrupted. The default is terminate.

          */ - Throughput?: number; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; } -export namespace LaunchTemplateEbsBlockDevice { +export namespace LaunchTemplateSpotMarketOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateEbsBlockDevice): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateSpotMarketOptionsRequest): any => ({ ...obj, }); } /** - *

          Describes a block device mapping.

          + *

          The market (purchasing) option for the instances.

          */ -export interface LaunchTemplateBlockDeviceMapping { +export interface LaunchTemplateInstanceMarketOptionsRequest { /** - *

          The device name.

          + *

          The market type.

          */ - DeviceName?: string; + MarketType?: MarketType | string; /** - *

          The virtual device name (ephemeralN).

          + *

          The options for Spot Instances.

          */ - VirtualName?: string; + SpotOptions?: LaunchTemplateSpotMarketOptionsRequest; +} +export namespace LaunchTemplateInstanceMarketOptionsRequest { /** - *

          Information about the block device for an EBS volume.

          + * @internal */ - Ebs?: LaunchTemplateEbsBlockDevice; + export const filterSensitiveLog = (obj: LaunchTemplateInstanceMarketOptionsRequest): any => ({ + ...obj, + }); +} +/** + *

          Describes a license configuration.

          + */ +export interface LaunchTemplateLicenseConfigurationRequest { /** - *

          To omit the device from the block device mapping, specify an empty string.

          + *

          The Amazon Resource Name (ARN) of the license configuration.

          */ - NoDevice?: string; + LicenseConfigurationArn?: string; } -export namespace LaunchTemplateBlockDeviceMapping { +export namespace LaunchTemplateLicenseConfigurationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateBlockDeviceMapping): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateLicenseConfigurationRequest): any => ({ ...obj, }); } +export type LaunchTemplateInstanceMetadataEndpointState = "disabled" | "enabled"; + +export enum LaunchTemplateInstanceMetadataProtocolIpv6 { + disabled = "disabled", + enabled = "enabled", +} + +export enum LaunchTemplateHttpTokensState { + optional = "optional", + required = "required", +} + /** - *

          Describes a target Capacity Reservation or Capacity Reservation group.

          + *

          The metadata options for the instance. For more information, see Instance Metadata and User Data in the + * Amazon Elastic Compute Cloud User Guide.

          */ -export interface CapacityReservationTargetResponse { +export interface LaunchTemplateInstanceMetadataOptionsRequest { /** - *

          The ID of the targeted Capacity Reservation.

          + *

          The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

          + *

          If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

          + *

          If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.

          */ - CapacityReservationId?: string; + HttpTokens?: LaunchTemplateHttpTokensState | string; /** - *

          The ARN of the targeted Capacity Reservation group.

          + *

          The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

          + *

          Default: 1

          + *

          Possible values: Integers from 1 to 64

          */ - CapacityReservationResourceGroupArn?: string; + HttpPutResponseHopLimit?: number; + + /** + *

          This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

          + * + *

          If you specify a value of disabled, you will not be able to access your instance metadata. + *

          + *
          + */ + HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; + + /** + *

          Enables or disables the IPv6 endpoint for the instance metadata service.

          + *

          Default: disabled + *

          + */ + HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string; } -export namespace CapacityReservationTargetResponse { +export namespace LaunchTemplateInstanceMetadataOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationTargetResponse): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceMetadataOptionsRequest): any => ({ ...obj, }); } /** - *

          Information about the Capacity Reservation targeting option.

          + *

          Describes the monitoring for the instance.

          */ -export interface LaunchTemplateCapacityReservationSpecificationResponse { - /** - *

          Indicates the instance's Capacity Reservation preferences. Possible preferences include:

          - *
            - *
          • - *

            - * open - The instance can run in any open Capacity Reservation that has matching attributes - * (instance type, platform, Availability Zone).

            - *
          • - *
          • - *

            - * none - The instance avoids running in a Capacity Reservation even if one is available. The instance - * runs in On-Demand capacity.

            - *
          • - *
          - */ - CapacityReservationPreference?: CapacityReservationPreference | string; - +export interface LaunchTemplatesMonitoringRequest { /** - *

          Information about the target Capacity Reservation or Capacity Reservation group.

          + *

          Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled.

          */ - CapacityReservationTarget?: CapacityReservationTargetResponse; + Enabled?: boolean; } -export namespace LaunchTemplateCapacityReservationSpecificationResponse { +export namespace LaunchTemplatesMonitoringRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateCapacityReservationSpecificationResponse): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplatesMonitoringRequest): any => ({ ...obj, }); } /** - *

          The CPU options for the instance.

          + *

          Describes the IPv4 prefix option for a network interface.

          */ -export interface LaunchTemplateCpuOptions { - /** - *

          The number of CPU cores for the instance.

          - */ - CoreCount?: number; - +export interface Ipv4PrefixSpecificationRequest { /** - *

          The number of threads per CPU core.

          + *

          The IPv4 prefix. For information, see + * Assigning prefixes to Amazon EC2 network interfaces in the + * Amazon Elastic Compute Cloud User Guide.

          */ - ThreadsPerCore?: number; + Ipv4Prefix?: string; } -export namespace LaunchTemplateCpuOptions { +export namespace Ipv4PrefixSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateCpuOptions): any => ({ + export const filterSensitiveLog = (obj: Ipv4PrefixSpecificationRequest): any => ({ ...obj, }); } /** - *

          Describes the credit option for CPU usage of a T2, T3, or T3a instance.

          + *

          Describes an IPv6 address.

          */ -export interface CreditSpecification { +export interface InstanceIpv6AddressRequest { /** - *

          The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are - * standard and unlimited.

          + *

          The IPv6 address.

          */ - CpuCredits?: string; + Ipv6Address?: string; } -export namespace CreditSpecification { +export namespace InstanceIpv6AddressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreditSpecification): any => ({ + export const filterSensitiveLog = (obj: InstanceIpv6AddressRequest): any => ({ ...obj, }); } /** - *

          Describes an elastic GPU.

          + *

          Describes the IPv4 prefix option for a network interface.

          */ -export interface ElasticGpuSpecificationResponse { +export interface Ipv6PrefixSpecificationRequest { /** - *

          The elastic GPU type.

          + *

          The IPv6 prefix.

          */ - Type?: string; + Ipv6Prefix?: string; } -export namespace ElasticGpuSpecificationResponse { +export namespace Ipv6PrefixSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ElasticGpuSpecificationResponse): any => ({ + export const filterSensitiveLog = (obj: Ipv6PrefixSpecificationRequest): any => ({ ...obj, }); } /** - *

          - * Describes an elastic inference accelerator. - *

          + *

          Describes a secondary private IPv4 address for a network interface.

          */ -export interface LaunchTemplateElasticInferenceAcceleratorResponse { +export interface PrivateIpAddressSpecification { /** - *

          - * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. - *

          + *

          Indicates whether the private IPv4 address is the primary private IPv4 address. Only + * one IPv4 address can be designated as primary.

          */ - Type?: string; + Primary?: boolean; /** - *

          - * The number of elastic inference accelerators to attach to the instance. - *

          - *

          Default: 1

          + *

          The private IPv4 addresses.

          */ - Count?: number; + PrivateIpAddress?: string; } -export namespace LaunchTemplateElasticInferenceAcceleratorResponse { +export namespace PrivateIpAddressSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateElasticInferenceAcceleratorResponse): any => ({ + export const filterSensitiveLog = (obj: PrivateIpAddressSpecification): any => ({ ...obj, }); } /** - *

          Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

          + *

          The parameters for a network interface.

          */ -export interface LaunchTemplateEnclaveOptions { +export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { /** - *

          If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; - * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

          + *

          Associates a Carrier IP address with eth0 for a new network interface.

          + *

          Use this option when you launch an instance in a Wavelength Zone and want to associate + * a Carrier IP address with the network interface. For more information about Carrier IP + * addresses, see Carrier IP addresses in the Wavelength Developer + * Guide.

          */ - Enabled?: boolean; -} + AssociateCarrierIpAddress?: boolean; -export namespace LaunchTemplateEnclaveOptions { /** - * @internal + *

          Associates a public IPv4 address with eth0 for a new network interface.

          */ - export const filterSensitiveLog = (obj: LaunchTemplateEnclaveOptions): any => ({ - ...obj, - }); -} + AssociatePublicIpAddress?: boolean; -/** - *

          Indicates whether an instance is configured for hibernation.

          - */ -export interface LaunchTemplateHibernationOptions { /** - *

          If this parameter is set to true, the instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

          + *

          Indicates whether the network interface is deleted when the instance is terminated.

          */ - Configured?: boolean; -} + DeleteOnTermination?: boolean; -export namespace LaunchTemplateHibernationOptions { /** - * @internal + *

          A description for the network interface.

          */ - export const filterSensitiveLog = (obj: LaunchTemplateHibernationOptions): any => ({ - ...obj, - }); -} + Description?: string; -/** - *

          Describes an IAM instance profile.

          - */ -export interface LaunchTemplateIamInstanceProfileSpecification { /** - *

          The Amazon Resource Name (ARN) of the instance profile.

          + *

          The device index for the network interface attachment.

          */ - Arn?: string; + DeviceIndex?: number; /** - *

          The name of the instance profile.

          + *

          The IDs of one or more security groups.

          */ - Name?: string; + Groups?: string[]; + + /** + *

          The type of network interface. To create an Elastic Fabric Adapter (EFA), specify + * efa. For more information, see Elastic Fabric Adapter in the + * Amazon Elastic Compute Cloud User Guide.

          + *

          If you are not creating an EFA, specify interface or omit this parameter.

          + *

          Valid values: interface | efa + *

          + */ + InterfaceType?: string; + + /** + *

          The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

          + */ + Ipv6AddressCount?: number; + + /** + *

          One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.

          + */ + Ipv6Addresses?: InstanceIpv6AddressRequest[]; + + /** + *

          The ID of the network interface.

          + */ + NetworkInterfaceId?: string; + + /** + *

          The primary private IPv4 address of the network interface.

          + */ + PrivateIpAddress?: string; + + /** + *

          One or more private IPv4 addresses.

          + */ + PrivateIpAddresses?: PrivateIpAddressSpecification[]; + + /** + *

          The number of secondary private IPv4 addresses to assign to a network interface.

          + */ + SecondaryPrivateIpAddressCount?: number; + + /** + *

          The ID of the subnet for the network interface.

          + */ + SubnetId?: string; + + /** + *

          The index of the network card. Some instance types support multiple network cards. + * The primary network interface must be assigned to network card index 0. + * The default is network card index 0.

          + */ + NetworkCardIndex?: number; + + /** + *

          One or more IPv4 prefixes to be assigned to the network interface. You cannot use + * this option if you use the Ipv4PrefixCount option.

          + */ + Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + + /** + *

          The number of IPv4 prefixes to be automatically assigned to the + * network interface. You cannot use this option if you use the Ipv4Prefix option.

          + */ + Ipv4PrefixCount?: number; + + /** + *

          One or more IPv6 prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv6PrefixCount option.

          + */ + Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + + /** + *

          The number of IPv6 prefixes to be automatically assigned to the network + * interface. You cannot use this option if you use the Ipv6Prefix option.

          + */ + Ipv6PrefixCount?: number; } -export namespace LaunchTemplateIamInstanceProfileSpecification { +export namespace LaunchTemplateInstanceNetworkInterfaceSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateIamInstanceProfileSpecification): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest): any => ({ ...obj, }); } /** - *

          The options for Spot Instances.

          + *

          Describes the placement of an instance.

          */ -export interface LaunchTemplateSpotMarketOptions { +export interface LaunchTemplatePlacementRequest { /** - *

          The maximum hourly price you're willing to pay for the Spot Instances.

          + *

          The Availability Zone for the instance.

          */ - MaxPrice?: string; + AvailabilityZone?: string; /** - *

          The Spot Instance request type.

          + *

          The affinity setting for an instance on a Dedicated Host.

          */ - SpotInstanceType?: SpotInstanceType | string; + Affinity?: string; /** - *

          The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

          + *

          The name of the placement group for the instance.

          */ - BlockDurationMinutes?: number; + GroupName?: string; /** - *

          The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

          + *

          The ID of the Dedicated Host for the instance.

          */ - ValidUntil?: Date; + HostId?: string; /** - *

          The behavior when a Spot Instance is interrupted.

          + *

          The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy + * of dedicated runs on single-tenant hardware.

          */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + Tenancy?: Tenancy | string; + + /** + *

          Reserved for future use.

          + */ + SpreadDomain?: string; + + /** + *

          The ARN of the host resource group in which to launch the instances. If you specify a host + * resource group ARN, omit the Tenancy parameter + * or set it to host.

          + */ + HostResourceGroupArn?: string; + + /** + *

          The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

          + */ + PartitionNumber?: number; } -export namespace LaunchTemplateSpotMarketOptions { +export namespace LaunchTemplatePlacementRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateSpotMarketOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplatePlacementRequest): any => ({ ...obj, }); } /** - *

          The market (purchasing) option for the instances.

          + *

          The tags specification for the launch template.

          */ -export interface LaunchTemplateInstanceMarketOptions { +export interface LaunchTemplateTagSpecificationRequest { /** - *

          The market type.

          + *

          The type of resource to tag. Currently, the resource types that support tagging on + * creation are instance and volume. To tag a resource after it + * has been created, see CreateTags.

          */ - MarketType?: MarketType | string; + ResourceType?: ResourceType | string; /** - *

          The options for Spot Instances.

          + *

          The tags to apply to the resource.

          */ - SpotOptions?: LaunchTemplateSpotMarketOptions; + Tags?: Tag[]; } -export namespace LaunchTemplateInstanceMarketOptions { +export namespace LaunchTemplateTagSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceMarketOptions): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateTagSpecificationRequest): any => ({ ...obj, }); } /** - *

          Describes a license configuration.

          + *

          The information to include in the launch template.

          */ -export interface LaunchTemplateLicenseConfiguration { +export interface RequestLaunchTemplateData { /** - *

          The Amazon Resource Name (ARN) of the license configuration.

          + *

          The ID of the kernel.

          + * + *

          We recommend that you use PV-GRUB instead of kernels and RAM disks. For more + * information, see User Provided + * Kernels in the Amazon Elastic Compute Cloud User + * Guide.

          + *
          */ - LicenseConfigurationArn?: string; -} + KernelId?: string; -export namespace LaunchTemplateLicenseConfiguration { /** - * @internal + *

          Indicates whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal Amazon EBS I/O performance. This optimization isn't available with all + * instance types. Additional usage charges apply when using an EBS-optimized + * instance.

          */ - export const filterSensitiveLog = (obj: LaunchTemplateLicenseConfiguration): any => ({ - ...obj, - }); -} - -export type LaunchTemplateInstanceMetadataOptionsState = "applied" | "pending"; + EbsOptimized?: boolean; -/** - *

          The metadata options for the instance. For more information, see Instance Metadata and User Data in the - * Amazon Elastic Compute Cloud User Guide.

          - */ -export interface LaunchTemplateInstanceMetadataOptions { /** - *

          The state of the metadata option changes.

          - *

          - * pending - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.

          - *

          - * applied - The metadata options have been successfully applied on the instance.

          + *

          The name or Amazon Resource Name (ARN) of an IAM instance profile.

          */ - State?: LaunchTemplateInstanceMetadataOptionsState | string; + IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecificationRequest; /** - *

          The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

          - *

          If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

          - *

          If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.

          + *

          The block device mapping.

          */ - HttpTokens?: LaunchTemplateHttpTokensState | string; + BlockDeviceMappings?: LaunchTemplateBlockDeviceMappingRequest[]; /** - *

          The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

          - *

          Default: 1

          - *

          Possible values: Integers from 1 to 64

          + *

          One or more network interfaces. If you specify a network interface, you must specify + * any security groups and subnets as part of the network interface.

          */ - HttpPutResponseHopLimit?: number; + NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecificationRequest[]; /** - *

          This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

          - * - *

          If you specify a value of disabled, you will not be able to access your instance metadata. - *

          - *
          + *

          The ID of the AMI.

          */ - HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; + ImageId?: string; /** - *

          Enables or disables the IPv6 endpoint for the instance metadata service.

          - *

          Default: disabled - *

          + *

          The instance type. For more information, see Instance Types in the + * Amazon Elastic Compute Cloud User Guide.

          + *

          If you specify InstanceTypes, you can't specify + * InstanceRequirements.

          */ - HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string; -} + InstanceType?: _InstanceType | string; -export namespace LaunchTemplateInstanceMetadataOptions { /** - * @internal + *

          The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair.

          + * + *

          If you do not specify a key pair, you can't connect to the instance unless you + * choose an AMI that is configured to allow users another way to log in.

          + *
          */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceMetadataOptions): any => ({ - ...obj, - }); -} + KeyName?: string; -/** - *

          Describes the monitoring for the instance.

          - */ -export interface LaunchTemplatesMonitoring { /** - *

          Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

          + *

          The monitoring for the instance.

          */ - Enabled?: boolean; -} + Monitoring?: LaunchTemplatesMonitoringRequest; -export namespace LaunchTemplatesMonitoring { /** - * @internal + *

          The placement for the instance.

          */ - export const filterSensitiveLog = (obj: LaunchTemplatesMonitoring): any => ({ - ...obj, - }); -} + Placement?: LaunchTemplatePlacementRequest; -/** - *

          Information about the IPv4 delegated prefixes assigned - * to a network interface.

          - */ -export interface Ipv4PrefixSpecificationResponse { /** - *

          One or more IPv4 delegated prefixes assigned to the network interface.

          + *

          The ID of the RAM disk.

          + * + *

          We recommend that you use PV-GRUB instead of kernels and RAM disks. For more + * information, see User Provided + * Kernels in the Amazon Elastic Compute Cloud User + * Guide.

          + *
          */ - Ipv4Prefix?: string; -} + RamDiskId?: string; -export namespace Ipv4PrefixSpecificationResponse { /** - * @internal + *

          If you set this parameter to true, you can't terminate the instance using + * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, + * use ModifyInstanceAttribute. + * Alternatively, if you set InstanceInitiatedShutdownBehavior to + * terminate, you can terminate the instance by running the shutdown + * command from the instance.

          */ - export const filterSensitiveLog = (obj: Ipv4PrefixSpecificationResponse): any => ({ - ...obj, - }); -} + DisableApiTermination?: boolean; -/** - *

          Describes an IPv6 address.

          - */ -export interface InstanceIpv6Address { /** - *

          The IPv6 address.

          + *

          Indicates whether an instance stops or terminates when you initiate shutdown from + * the instance (using the operating system command for system shutdown).

          + *

          Default: stop + *

          */ - Ipv6Address?: string; -} + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; -export namespace InstanceIpv6Address { /** - * @internal + *

          The user data to make available to the instance. You must provide base64-encoded text. + * User data is limited to 16 KB. For more information, see Running Commands on Your Linux Instance + * at Launch (Linux) or Adding User Data (Windows).

          + * + *

          If you are creating the launch template for use with Batch, the user data + * must be provided in the + * MIME multi-part archive format. For more information, see Amazon EC2 user data in + * launch templates in the Batch User Guide.

          */ - export const filterSensitiveLog = (obj: InstanceIpv6Address): any => ({ - ...obj, - }); -} + UserData?: string; -/** - *

          Information about the IPv6 delegated prefixes assigned - * to a network interface.

          - */ -export interface Ipv6PrefixSpecificationResponse { /** - *

          One or more IPv6 delegated prefixes assigned to the network interface.

          + *

          The tags to apply to the resources during launch. You can only tag instances and + * volumes on launch. The specified tags are applied to all instances or volumes that are + * created during launch. To tag a resource after it has been created, see CreateTags.

          */ - Ipv6Prefix?: string; -} + TagSpecifications?: LaunchTemplateTagSpecificationRequest[]; -export namespace Ipv6PrefixSpecificationResponse { /** - * @internal + *

          An elastic GPU to associate with the instance.

          */ - export const filterSensitiveLog = (obj: Ipv6PrefixSpecificationResponse): any => ({ - ...obj, - }); -} + ElasticGpuSpecifications?: ElasticGpuSpecification[]; -/** - *

          Describes a network interface.

          - */ -export interface LaunchTemplateInstanceNetworkInterfaceSpecification { /** - *

          Indicates whether to associate a Carrier IP address with eth0 for a new network interface.

          - *

          Use this option when you launch an instance in a Wavelength Zone and want to associate - * a Carrier IP address with the network interface. For more information about Carrier IP - * addresses, see Carrier IP addresses in the Wavelength Developer - * Guide.

          + *

          + * The elastic inference accelerator for the instance. + *

          */ - AssociateCarrierIpAddress?: boolean; + ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[]; /** - *

          Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

          + *

          One or more security group IDs. You can create a security group using CreateSecurityGroup. You cannot specify both a security group ID and + * security name in the same request.

          */ - AssociatePublicIpAddress?: boolean; + SecurityGroupIds?: string[]; /** - *

          Indicates whether the network interface is deleted when the instance is terminated.

          + *

          [EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, + * you must use security group IDs instead. You cannot specify both a security group ID and + * security name in the same request.

          */ - DeleteOnTermination?: boolean; + SecurityGroups?: string[]; /** - *

          A description for the network interface.

          + *

          The market (purchasing) option for the instances.

          */ - Description?: string; + InstanceMarketOptions?: LaunchTemplateInstanceMarketOptionsRequest; /** - *

          The device index for the network interface attachment.

          + *

          The credit option for CPU usage of the instance. Valid for T2, T3, or T3a instances + * only.

          */ - DeviceIndex?: number; + CreditSpecification?: CreditSpecificationRequest; /** - *

          The IDs of one or more security groups.

          + *

          The CPU options for the instance. For more information, see Optimizing CPU Options in the Amazon Elastic Compute Cloud User + * Guide.

          */ - Groups?: string[]; + CpuOptions?: LaunchTemplateCpuOptionsRequest; /** - *

          The type of network interface.

          + *

          The Capacity Reservation targeting option. If you do not specify this parameter, the + * instance's Capacity Reservation preference defaults to open, which enables it + * to run in any open Capacity Reservation that has matching attributes (instance type, + * platform, Availability Zone).

          */ - InterfaceType?: string; + CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationRequest; /** - *

          The number of IPv6 addresses for the network interface.

          + *

          The license configurations.

          */ - Ipv6AddressCount?: number; + LicenseSpecifications?: LaunchTemplateLicenseConfigurationRequest[]; /** - *

          The IPv6 addresses for the network interface.

          + *

          Indicates whether an instance is enabled for hibernation. This parameter is valid only + * if the instance meets the hibernation + * prerequisites. For + * more information, see Hibernate your instance in the + * Amazon Elastic Compute Cloud User Guide.

          */ - Ipv6Addresses?: InstanceIpv6Address[]; + HibernationOptions?: LaunchTemplateHibernationOptionsRequest; /** - *

          The ID of the network interface.

          + *

          The metadata options for the instance. For more information, see Instance metadata and user data in the + * Amazon Elastic Compute Cloud User Guide.

          */ - NetworkInterfaceId?: string; + MetadataOptions?: LaunchTemplateInstanceMetadataOptionsRequest; /** - *

          The primary private IPv4 address of the network interface.

          + *

          Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, + * see + * What is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

          + *

          You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

          */ - PrivateIpAddress?: string; + EnclaveOptions?: LaunchTemplateEnclaveOptionsRequest; /** - *

          One or more private IPv4 addresses.

          + *

          The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with these attributes.

          + *

          If you specify InstanceRequirements, you can't specify + * InstanceTypes.

          */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + InstanceRequirements?: InstanceRequirementsRequest; +} +export namespace RequestLaunchTemplateData { /** - *

          The number of secondary private IPv4 addresses for the network interface.

          + * @internal */ - SecondaryPrivateIpAddressCount?: number; + export const filterSensitiveLog = (obj: RequestLaunchTemplateData): any => ({ + ...obj, + }); +} +export interface CreateLaunchTemplateRequest { /** - *

          The ID of the subnet for the network interface.

          + *

          Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

          */ - SubnetId?: string; + DryRun?: boolean; /** - *

          The index of the network card.

          + *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

          + *

          Constraint: Maximum 128 ASCII characters.

          */ - NetworkCardIndex?: number; + ClientToken?: string; /** - *

          One or more IPv4 prefixes assigned to the network interface.

          + *

          A name for the launch template.

          */ - Ipv4Prefixes?: Ipv4PrefixSpecificationResponse[]; + LaunchTemplateName: string | undefined; /** - *

          The number of IPv4 prefixes that Amazon Web Services automatically assigned to the - * network interface.

          + *

          A description for the first version of the launch template.

          */ - Ipv4PrefixCount?: number; + VersionDescription?: string; /** - *

          One or more IPv6 prefixes assigned to the network interface.

          + *

          The information for the launch template.

          */ - Ipv6Prefixes?: Ipv6PrefixSpecificationResponse[]; + LaunchTemplateData: RequestLaunchTemplateData | undefined; /** - *

          The number of IPv6 prefixes that Amazon Web Services automatically assigned to the network - * interface.

          + *

          The tags to apply to the launch template during creation.

          */ - Ipv6PrefixCount?: number; + TagSpecifications?: TagSpecification[]; } -export namespace LaunchTemplateInstanceNetworkInterfaceSpecification { +export namespace CreateLaunchTemplateRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateInstanceNetworkInterfaceSpecification): any => ({ + export const filterSensitiveLog = (obj: CreateLaunchTemplateRequest): any => ({ ...obj, }); } /** - *

          Describes the placement of an instance.

          + *

          Describes a launch template.

          */ -export interface LaunchTemplatePlacement { - /** - *

          The Availability Zone of the instance.

          - */ - AvailabilityZone?: string; - +export interface LaunchTemplate { /** - *

          The affinity setting for the instance on the Dedicated Host.

          + *

          The ID of the launch template.

          */ - Affinity?: string; + LaunchTemplateId?: string; /** - *

          The name of the placement group for the instance.

          + *

          The name of the launch template.

          */ - GroupName?: string; + LaunchTemplateName?: string; /** - *

          The ID of the Dedicated Host for the instance.

          + *

          The time launch template was created.

          */ - HostId?: string; + CreateTime?: Date; /** - *

          The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

          + *

          The principal that created the launch template.

          */ - Tenancy?: Tenancy | string; + CreatedBy?: string; /** - *

          Reserved for future use.

          + *

          The version number of the default version of the launch template.

          */ - SpreadDomain?: string; + DefaultVersionNumber?: number; /** - *

          The ARN of the host resource group in which to launch the instances. - *

          + *

          The version number of the latest version of the launch template.

          */ - HostResourceGroupArn?: string; + LatestVersionNumber?: number; /** - *

          The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

          + *

          The tags for the launch template.

          */ - PartitionNumber?: number; + Tags?: Tag[]; } -export namespace LaunchTemplatePlacement { +export namespace LaunchTemplate { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplatePlacement): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplate): any => ({ ...obj, }); } /** - *

          The tag specification for the launch template.

          + *

          The error code and error message that is returned for a parameter or parameter combination that is not valid when a new launch template or new version of a launch template is created.

          */ -export interface LaunchTemplateTagSpecification { +export interface ValidationError { /** - *

          The type of resource.

          + *

          The error code that indicates why the parameter or parameter combination is not valid. For more information about error codes, see Error Codes.

          */ - ResourceType?: ResourceType | string; + Code?: string; /** - *

          The tags for the resource.

          + *

          The error message that describes why the parameter or parameter combination is not valid. For more + * information about error messages, see Error Codes.

          */ - Tags?: Tag[]; + Message?: string; } -export namespace LaunchTemplateTagSpecification { +export namespace ValidationError { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateTagSpecification): any => ({ + export const filterSensitiveLog = (obj: ValidationError): any => ({ ...obj, }); } /** - *

          The information for a launch template.

          + *

          The error codes and error messages that are returned for the parameters or parameter combinations that are not valid when a new launch template or new version of a launch template is created.

          */ -export interface ResponseLaunchTemplateData { - /** - *

          The ID of the kernel, if applicable.

          - */ - KernelId?: string; - - /** - *

          Indicates whether the instance is optimized for Amazon EBS I/O.

          - */ - EbsOptimized?: boolean; - - /** - *

          The IAM instance profile.

          - */ - IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecification; - - /** - *

          The block device mappings.

          - */ - BlockDeviceMappings?: LaunchTemplateBlockDeviceMapping[]; - - /** - *

          The network interfaces.

          - */ - NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecification[]; - - /** - *

          The ID of the AMI that was used to launch the instance.

          - */ - ImageId?: string; - +export interface ValidationWarning { /** - *

          The instance type.

          + *

          The error codes and error messages.

          */ - InstanceType?: _InstanceType | string; + Errors?: ValidationError[]; +} +export namespace ValidationWarning { /** - *

          The name of the key pair.

          + * @internal */ - KeyName?: string; + export const filterSensitiveLog = (obj: ValidationWarning): any => ({ + ...obj, + }); +} +export interface CreateLaunchTemplateResult { /** - *

          The monitoring for the instance.

          + *

          Information about the launch template.

          */ - Monitoring?: LaunchTemplatesMonitoring; + LaunchTemplate?: LaunchTemplate; /** - *

          The placement of the instance.

          + *

          If the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

          */ - Placement?: LaunchTemplatePlacement; + Warning?: ValidationWarning; +} +export namespace CreateLaunchTemplateResult { /** - *

          The ID of the RAM disk, if applicable.

          + * @internal */ - RamDiskId?: string; + export const filterSensitiveLog = (obj: CreateLaunchTemplateResult): any => ({ + ...obj, + }); +} +export interface CreateLaunchTemplateVersionRequest { /** - *

          If set to true, indicates that the instance cannot be terminated using - * the Amazon EC2 console, command line tool, or API.

          + *

          Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

          */ - DisableApiTermination?: boolean; + DryRun?: boolean; /** - *

          Indicates whether an instance stops or terminates when you initiate shutdown from - * the instance (using the operating system command for system shutdown).

          + *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

          + *

          Constraint: Maximum 128 ASCII characters.

          */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + ClientToken?: string; /** - *

          The user data for the instance.

          + *

          The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

          */ - UserData?: string; + LaunchTemplateId?: string; /** - *

          The tags.

          + *

          The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

          */ - TagSpecifications?: LaunchTemplateTagSpecification[]; + LaunchTemplateName?: string; /** - *

          The elastic GPU specification.

          + *

          The version number of the launch template version on which to base the new version. + * The new version inherits the same launch parameters as the source version, except for + * parameters that you specify in LaunchTemplateData. Snapshots applied + * to the block device mapping are ignored when creating a new version unless they + * are explicitly included.

          */ - ElasticGpuSpecifications?: ElasticGpuSpecificationResponse[]; + SourceVersion?: string; /** - *

          - * The elastic inference accelerator for the instance. - *

          + *

          A description for the version of the launch template.

          */ - ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAcceleratorResponse[]; + VersionDescription?: string; /** - *

          The security group IDs.

          + *

          The information for the launch template.

          */ - SecurityGroupIds?: string[]; + LaunchTemplateData: RequestLaunchTemplateData | undefined; +} +export namespace CreateLaunchTemplateVersionRequest { /** - *

          The security group names.

          + * @internal */ - SecurityGroups?: string[]; + export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionRequest): any => ({ + ...obj, + }); +} +/** + *

          Describes a block device for an EBS volume.

          + */ +export interface LaunchTemplateEbsBlockDevice { /** - *

          The market (purchasing) option for the instances.

          + *

          Indicates whether the EBS volume is encrypted.

          */ - InstanceMarketOptions?: LaunchTemplateInstanceMarketOptions; + Encrypted?: boolean; /** - *

          The credit option for CPU usage of the instance.

          + *

          Indicates whether the EBS volume is deleted on instance termination.

          */ - CreditSpecification?: CreditSpecification; + DeleteOnTermination?: boolean; /** - *

          The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User - * Guide.

          + *

          The number of I/O operations per second (IOPS) that the volume supports.

          */ - CpuOptions?: LaunchTemplateCpuOptions; + Iops?: number; /** - *

          Information about the Capacity Reservation targeting option.

          + *

          The ARN of the Key Management Service (KMS) CMK used for encryption.

          */ - CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationResponse; + KmsKeyId?: string; /** - *

          The license configurations.

          + *

          The ID of the snapshot.

          */ - LicenseSpecifications?: LaunchTemplateLicenseConfiguration[]; + SnapshotId?: string; /** - *

          Indicates whether an instance is configured for hibernation. For more information, see - * Hibernate - * your instance in the Amazon Elastic Compute Cloud User Guide.

          + *

          The size of the volume, in GiB.

          */ - HibernationOptions?: LaunchTemplateHibernationOptions; + VolumeSize?: number; /** - *

          The metadata options for the instance. For more information, see Instance metadata and user data in the - * Amazon Elastic Compute Cloud User Guide.

          + *

          The volume type.

          */ - MetadataOptions?: LaunchTemplateInstanceMetadataOptions; + VolumeType?: VolumeType | string; /** - *

          Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

          + *

          The throughput that the volume supports, in MiB/s.

          */ - EnclaveOptions?: LaunchTemplateEnclaveOptions; + Throughput?: number; } -export namespace ResponseLaunchTemplateData { +export namespace LaunchTemplateEbsBlockDevice { /** * @internal */ - export const filterSensitiveLog = (obj: ResponseLaunchTemplateData): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateEbsBlockDevice): any => ({ ...obj, }); } /** - *

          Describes a launch template version.

          + *

          Describes a block device mapping.

          */ -export interface LaunchTemplateVersion { - /** - *

          The ID of the launch template.

          - */ - LaunchTemplateId?: string; - +export interface LaunchTemplateBlockDeviceMapping { /** - *

          The name of the launch template.

          + *

          The device name.

          */ - LaunchTemplateName?: string; + DeviceName?: string; /** - *

          The version number.

          + *

          The virtual device name (ephemeralN).

          */ - VersionNumber?: number; + VirtualName?: string; /** - *

          The description for the version.

          + *

          Information about the block device for an EBS volume.

          */ - VersionDescription?: string; + Ebs?: LaunchTemplateEbsBlockDevice; /** - *

          The time the version was created.

          + *

          To omit the device from the block device mapping, specify an empty string.

          */ - CreateTime?: Date; + NoDevice?: string; +} +export namespace LaunchTemplateBlockDeviceMapping { /** - *

          The principal that created the version.

          + * @internal */ - CreatedBy?: string; + export const filterSensitiveLog = (obj: LaunchTemplateBlockDeviceMapping): any => ({ + ...obj, + }); +} +/** + *

          Describes a target Capacity Reservation or Capacity Reservation group.

          + */ +export interface CapacityReservationTargetResponse { /** - *

          Indicates whether the version is the default version.

          + *

          The ID of the targeted Capacity Reservation.

          */ - DefaultVersion?: boolean; + CapacityReservationId?: string; /** - *

          Information about the launch template.

          + *

          The ARN of the targeted Capacity Reservation group.

          */ - LaunchTemplateData?: ResponseLaunchTemplateData; + CapacityReservationResourceGroupArn?: string; } -export namespace LaunchTemplateVersion { +export namespace CapacityReservationTargetResponse { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchTemplateVersion): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationTargetResponse): any => ({ ...obj, }); } -export interface CreateLaunchTemplateVersionResult { +/** + *

          Information about the Capacity Reservation targeting option.

          + */ +export interface LaunchTemplateCapacityReservationSpecificationResponse { /** - *

          Information about the launch template version.

          + *

          Indicates the instance's Capacity Reservation preferences. Possible preferences include:

          + *
            + *
          • + *

            + * open - The instance can run in any open Capacity Reservation that has matching attributes + * (instance type, platform, Availability Zone).

            + *
          • + *
          • + *

            + * none - The instance avoids running in a Capacity Reservation even if one is available. The instance + * runs in On-Demand capacity.

            + *
          • + *
          */ - LaunchTemplateVersion?: LaunchTemplateVersion; + CapacityReservationPreference?: CapacityReservationPreference | string; /** - *

          If the new version of the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

          + *

          Information about the target Capacity Reservation or Capacity Reservation group.

          */ - Warning?: ValidationWarning; + CapacityReservationTarget?: CapacityReservationTargetResponse; } -export namespace CreateLaunchTemplateVersionResult { +export namespace LaunchTemplateCapacityReservationSpecificationResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateCapacityReservationSpecificationResponse): any => ({ ...obj, }); } -export interface CreateLocalGatewayRouteRequest { - /** - *

          The CIDR range used for destination matches. Routing decisions are based on - * the most specific match.

          - */ - DestinationCidrBlock: string | undefined; - - /** - *

          The ID of the local gateway route table.

          - */ - LocalGatewayRouteTableId: string | undefined; - +/** + *

          The CPU options for the instance.

          + */ +export interface LaunchTemplateCpuOptions { /** - *

          The ID of the virtual interface group.

          + *

          The number of CPU cores for the instance.

          */ - LocalGatewayVirtualInterfaceGroupId: string | undefined; + CoreCount?: number; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The number of threads per CPU core.

          */ - DryRun?: boolean; + ThreadsPerCore?: number; } -export namespace CreateLocalGatewayRouteRequest { +export namespace LaunchTemplateCpuOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLocalGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateCpuOptions): any => ({ ...obj, }); } -export type LocalGatewayRouteState = "active" | "blackhole" | "deleted" | "deleting" | "pending"; - -export type LocalGatewayRouteType = "propagated" | "static"; - /** - *

          Describes a route for a local gateway route table.

          + *

          Describes the credit option for CPU usage of a T2, T3, or T3a instance.

          */ -export interface LocalGatewayRoute { - /** - *

          The CIDR block used for destination matches.

          - */ - DestinationCidrBlock?: string; - +export interface CreditSpecification { /** - *

          The ID of the virtual interface group.

          + *

          The credit option for CPU usage of a T2, T3, or T3a instance. Valid values are + * standard and unlimited.

          */ - LocalGatewayVirtualInterfaceGroupId?: string; + CpuCredits?: string; +} +export namespace CreditSpecification { /** - *

          The route type.

          + * @internal */ - Type?: LocalGatewayRouteType | string; + export const filterSensitiveLog = (obj: CreditSpecification): any => ({ + ...obj, + }); +} +/** + *

          Describes an elastic GPU.

          + */ +export interface ElasticGpuSpecificationResponse { /** - *

          The state of the route.

          + *

          The elastic GPU type.

          */ - State?: LocalGatewayRouteState | string; + Type?: string; +} +export namespace ElasticGpuSpecificationResponse { /** - *

          The ID of the local gateway route table.

          + * @internal */ - LocalGatewayRouteTableId?: string; + export const filterSensitiveLog = (obj: ElasticGpuSpecificationResponse): any => ({ + ...obj, + }); +} +/** + *

          + * Describes an elastic inference accelerator. + *

          + */ +export interface LaunchTemplateElasticInferenceAcceleratorResponse { /** - *

          The Amazon Resource Name (ARN) of the local gateway route table.

          + *

          + * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge. + *

          */ - LocalGatewayRouteTableArn?: string; + Type?: string; /** - *

          The ID of the Amazon Web Services account that owns the local gateway route.

          + *

          + * The number of elastic inference accelerators to attach to the instance. + *

          + *

          Default: 1

          */ - OwnerId?: string; + Count?: number; } -export namespace LocalGatewayRoute { +export namespace LaunchTemplateElasticInferenceAcceleratorResponse { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGatewayRoute): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateElasticInferenceAcceleratorResponse): any => ({ ...obj, }); } -export interface CreateLocalGatewayRouteResult { +/** + *

          Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

          + */ +export interface LaunchTemplateEnclaveOptions { /** - *

          Information about the route.

          + *

          If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; + * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

          */ - Route?: LocalGatewayRoute; + Enabled?: boolean; } -export namespace CreateLocalGatewayRouteResult { +export namespace LaunchTemplateEnclaveOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLocalGatewayRouteResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateEnclaveOptions): any => ({ ...obj, }); } -export interface CreateLocalGatewayRouteTableVpcAssociationRequest { +/** + *

          Indicates whether an instance is configured for hibernation.

          + */ +export interface LaunchTemplateHibernationOptions { /** - *

          The ID of the local gateway route table.

          + *

          If this parameter is set to true, the instance is enabled for hibernation; otherwise, it is not enabled for hibernation.

          */ - LocalGatewayRouteTableId: string | undefined; + Configured?: boolean; +} +export namespace LaunchTemplateHibernationOptions { /** - *

          The ID of the VPC.

          + * @internal */ - VpcId: string | undefined; + export const filterSensitiveLog = (obj: LaunchTemplateHibernationOptions): any => ({ + ...obj, + }); +} +/** + *

          Describes an IAM instance profile.

          + */ +export interface LaunchTemplateIamInstanceProfileSpecification { /** - *

          The tags to assign to the local gateway route table VPC association.

          + *

          The Amazon Resource Name (ARN) of the instance profile.

          */ - TagSpecifications?: TagSpecification[]; + Arn?: string; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The name of the instance profile.

          */ - DryRun?: boolean; + Name?: string; } -export namespace CreateLocalGatewayRouteTableVpcAssociationRequest { +export namespace LaunchTemplateIamInstanceProfileSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLocalGatewayRouteTableVpcAssociationRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateIamInstanceProfileSpecification): any => ({ ...obj, }); } /** - *

          Describes an association between a local gateway route table and a VPC.

          + *

          The options for Spot Instances.

          */ -export interface LocalGatewayRouteTableVpcAssociation { +export interface LaunchTemplateSpotMarketOptions { /** - *

          The ID of the association.

          + *

          The maximum hourly price you're willing to pay for the Spot Instances.

          */ - LocalGatewayRouteTableVpcAssociationId?: string; + MaxPrice?: string; /** - *

          The ID of the local gateway route table.

          + *

          The Spot Instance request type.

          */ - LocalGatewayRouteTableId?: string; + SpotInstanceType?: SpotInstanceType | string; /** - *

          The Amazon Resource Name (ARN) of the local gateway route table for the association.

          + *

          The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).

          */ - LocalGatewayRouteTableArn?: string; + BlockDurationMinutes?: number; /** - *

          The ID of the local gateway.

          + *

          The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.

          */ - LocalGatewayId?: string; + ValidUntil?: Date; /** - *

          The ID of the VPC.

          + *

          The behavior when a Spot Instance is interrupted.

          */ - VpcId?: string; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; +} +export namespace LaunchTemplateSpotMarketOptions { /** - *

          The ID of the Amazon Web Services account that owns the local gateway route table for the association.

          + * @internal */ - OwnerId?: string; + export const filterSensitiveLog = (obj: LaunchTemplateSpotMarketOptions): any => ({ + ...obj, + }); +} +/** + *

          The market (purchasing) option for the instances.

          + */ +export interface LaunchTemplateInstanceMarketOptions { /** - *

          The state of the association.

          + *

          The market type.

          */ - State?: string; + MarketType?: MarketType | string; /** - *

          The tags assigned to the association.

          + *

          The options for Spot Instances.

          */ - Tags?: Tag[]; + SpotOptions?: LaunchTemplateSpotMarketOptions; } -export namespace LocalGatewayRouteTableVpcAssociation { +export namespace LaunchTemplateInstanceMarketOptions { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGatewayRouteTableVpcAssociation): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceMarketOptions): any => ({ ...obj, }); } -export interface CreateLocalGatewayRouteTableVpcAssociationResult { +/** + *

          Describes a license configuration.

          + */ +export interface LaunchTemplateLicenseConfiguration { /** - *

          Information about the association.

          + *

          The Amazon Resource Name (ARN) of the license configuration.

          */ - LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation; + LicenseConfigurationArn?: string; } -export namespace CreateLocalGatewayRouteTableVpcAssociationResult { +export namespace LaunchTemplateLicenseConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: CreateLocalGatewayRouteTableVpcAssociationResult): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateLicenseConfiguration): any => ({ ...obj, }); } -export interface CreateManagedPrefixListRequest { - /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          - */ - DryRun?: boolean; +export type LaunchTemplateInstanceMetadataOptionsState = "applied" | "pending"; +/** + *

          The metadata options for the instance. For more information, see Instance Metadata and User Data in the + * Amazon Elastic Compute Cloud User Guide.

          + */ +export interface LaunchTemplateInstanceMetadataOptions { /** - *

          A name for the prefix list.

          - *

          Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

          + *

          The state of the metadata option changes.

          + *

          + * pending - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.

          + *

          + * applied - The metadata options have been successfully applied on the instance.

          */ - PrefixListName: string | undefined; + State?: LaunchTemplateInstanceMetadataOptionsState | string; /** - *

          One or more entries for the prefix list.

          + *

          The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is optional.

          + *

          If the state is optional, you can choose to retrieve instance metadata with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.

          + *

          If the state is required, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.

          */ - Entries?: AddPrefixListEntry[]; + HttpTokens?: LaunchTemplateHttpTokensState | string; /** - *

          The maximum number of entries for the prefix list.

          + *

          The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.

          + *

          Default: 1

          + *

          Possible values: Integers from 1 to 64

          */ - MaxEntries: number | undefined; + HttpPutResponseHopLimit?: number; /** - *

          The tags to apply to the prefix list during creation.

          + *

          This parameter enables or disables the HTTP metadata endpoint on your instances. If the parameter is not specified, the default state is enabled.

          + * + *

          If you specify a value of disabled, you will not be able to access your instance metadata. + *

          + *
          */ - TagSpecifications?: TagSpecification[]; + HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string; /** - *

          The IP address type.

          - *

          Valid Values: IPv4 | IPv6 + *

          Enables or disables the IPv6 endpoint for the instance metadata service.

          + *

          Default: disabled *

          */ - AddressFamily: string | undefined; - - /** - *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

          - *

          Constraints: Up to 255 UTF-8 characters in length.

          - */ - ClientToken?: string; + HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string; } -export namespace CreateManagedPrefixListRequest { +export namespace LaunchTemplateInstanceMetadataOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateManagedPrefixListRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceMetadataOptions): any => ({ ...obj, }); } -export type PrefixListState = - | "create-complete" - | "create-failed" - | "create-in-progress" - | "delete-complete" - | "delete-failed" - | "delete-in-progress" - | "modify-complete" - | "modify-failed" - | "modify-in-progress" - | "restore-complete" - | "restore-failed" - | "restore-in-progress"; - /** - *

          Describes a managed prefix list.

          + *

          Describes the monitoring for the instance.

          */ -export interface ManagedPrefixList { - /** - *

          The ID of the prefix list.

          - */ - PrefixListId?: string; - - /** - *

          The IP address version.

          - */ - AddressFamily?: string; - - /** - *

          The current state of the prefix list.

          - */ - State?: PrefixListState | string; - - /** - *

          The state message.

          - */ - StateMessage?: string; - - /** - *

          The Amazon Resource Name (ARN) for the prefix list.

          - */ - PrefixListArn?: string; - +export interface LaunchTemplatesMonitoring { /** - *

          The name of the prefix list.

          + *

          Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

          */ - PrefixListName?: string; + Enabled?: boolean; +} +export namespace LaunchTemplatesMonitoring { /** - *

          The maximum number of entries for the prefix list.

          + * @internal */ - MaxEntries?: number; + export const filterSensitiveLog = (obj: LaunchTemplatesMonitoring): any => ({ + ...obj, + }); +} +/** + *

          Information about the IPv4 delegated prefixes assigned + * to a network interface.

          + */ +export interface Ipv4PrefixSpecificationResponse { /** - *

          The version of the prefix list.

          + *

          One or more IPv4 delegated prefixes assigned to the network interface.

          */ - Version?: number; + Ipv4Prefix?: string; +} +export namespace Ipv4PrefixSpecificationResponse { /** - *

          The tags for the prefix list.

          + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: Ipv4PrefixSpecificationResponse): any => ({ + ...obj, + }); +} +/** + *

          Describes an IPv6 address.

          + */ +export interface InstanceIpv6Address { /** - *

          The ID of the owner of the prefix list.

          + *

          The IPv6 address.

          */ - OwnerId?: string; + Ipv6Address?: string; } -export namespace ManagedPrefixList { +export namespace InstanceIpv6Address { /** * @internal */ - export const filterSensitiveLog = (obj: ManagedPrefixList): any => ({ + export const filterSensitiveLog = (obj: InstanceIpv6Address): any => ({ ...obj, }); } -export interface CreateManagedPrefixListResult { +/** + *

          Information about the IPv6 delegated prefixes assigned + * to a network interface.

          + */ +export interface Ipv6PrefixSpecificationResponse { /** - *

          Information about the prefix list.

          + *

          One or more IPv6 delegated prefixes assigned to the network interface.

          */ - PrefixList?: ManagedPrefixList; + Ipv6Prefix?: string; } -export namespace CreateManagedPrefixListResult { +export namespace Ipv6PrefixSpecificationResponse { /** * @internal */ - export const filterSensitiveLog = (obj: CreateManagedPrefixListResult): any => ({ + export const filterSensitiveLog = (obj: Ipv6PrefixSpecificationResponse): any => ({ ...obj, }); } -export enum ConnectivityType { - PRIVATE = "private", - PUBLIC = "public", -} +/** + *

          Describes a network interface.

          + */ +export interface LaunchTemplateInstanceNetworkInterfaceSpecification { + /** + *

          Indicates whether to associate a Carrier IP address with eth0 for a new network interface.

          + *

          Use this option when you launch an instance in a Wavelength Zone and want to associate + * a Carrier IP address with the network interface. For more information about Carrier IP + * addresses, see Carrier IP addresses in the Wavelength Developer + * Guide.

          + */ + AssociateCarrierIpAddress?: boolean; -export interface CreateNatGatewayRequest { /** - *

          [Public NAT gateways only] The allocation ID of an Elastic IP address to associate - * with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. - * If the Elastic IP address is associated with another resource, you must first disassociate it.

          + *

          Indicates whether to associate a public IPv4 address with eth0 for a new network interface.

          */ - AllocationId?: string; + AssociatePublicIpAddress?: boolean; /** - *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to ensure - * idempotency.

          - *

          Constraint: Maximum 64 ASCII characters.

          + *

          Indicates whether the network interface is deleted when the instance is terminated.

          */ - ClientToken?: string; + DeleteOnTermination?: boolean; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          A description for the network interface.

          */ - DryRun?: boolean; + Description?: string; /** - *

          The subnet in which to create the NAT gateway.

          + *

          The device index for the network interface attachment.

          */ - SubnetId: string | undefined; + DeviceIndex?: number; /** - *

          The tags to assign to the NAT gateway.

          + *

          The IDs of one or more security groups.

          + */ + Groups?: string[]; + + /** + *

          The type of network interface.

          */ - TagSpecifications?: TagSpecification[]; + InterfaceType?: string; /** - *

          Indicates whether the NAT gateway supports public or private connectivity. - * The default is public connectivity.

          + *

          The number of IPv6 addresses for the network interface.

          */ - ConnectivityType?: ConnectivityType | string; -} + Ipv6AddressCount?: number; -export namespace CreateNatGatewayRequest { /** - * @internal + *

          The IPv6 addresses for the network interface.

          */ - export const filterSensitiveLog = (obj: CreateNatGatewayRequest): any => ({ - ...obj, - }); -} + Ipv6Addresses?: InstanceIpv6Address[]; -/** - *

          Describes the IP addresses and network interface associated with a NAT gateway.

          - */ -export interface NatGatewayAddress { /** - *

          [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.

          + *

          The ID of the network interface.

          */ - AllocationId?: string; + NetworkInterfaceId?: string; /** - *

          The ID of the network interface associated with the NAT gateway.

          + *

          The primary private IPv4 address of the network interface.

          */ - NetworkInterfaceId?: string; + PrivateIpAddress?: string; /** - *

          The private IP address associated with the NAT gateway.

          + *

          One or more private IPv4 addresses.

          */ - PrivateIp?: string; + PrivateIpAddresses?: PrivateIpAddressSpecification[]; /** - *

          [Public NAT gateway only] The Elastic IP address associated with the NAT gateway.

          + *

          The number of secondary private IPv4 addresses for the network interface.

          */ - PublicIp?: string; -} + SecondaryPrivateIpAddressCount?: number; -export namespace NatGatewayAddress { /** - * @internal + *

          The ID of the subnet for the network interface.

          */ - export const filterSensitiveLog = (obj: NatGatewayAddress): any => ({ - ...obj, - }); -} + SubnetId?: string; -/** - *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          - */ -export interface ProvisionedBandwidth { /** - *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          + *

          The index of the network card.

          */ - ProvisionTime?: Date; + NetworkCardIndex?: number; /** - *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          + *

          One or more IPv4 prefixes assigned to the network interface.

          */ - Provisioned?: string; + Ipv4Prefixes?: Ipv4PrefixSpecificationResponse[]; /** - *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          + *

          The number of IPv4 prefixes that Amazon Web Services automatically assigned to the + * network interface.

          */ - RequestTime?: Date; + Ipv4PrefixCount?: number; /** - *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          + *

          One or more IPv6 prefixes assigned to the network interface.

          */ - Requested?: string; + Ipv6Prefixes?: Ipv6PrefixSpecificationResponse[]; /** - *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          + *

          The number of IPv6 prefixes that Amazon Web Services automatically assigned to the network + * interface.

          */ - Status?: string; + Ipv6PrefixCount?: number; } -export namespace ProvisionedBandwidth { +export namespace LaunchTemplateInstanceNetworkInterfaceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ProvisionedBandwidth): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateInstanceNetworkInterfaceSpecification): any => ({ ...obj, }); } -export enum NatGatewayState { - AVAILABLE = "available", - DELETED = "deleted", - DELETING = "deleting", - FAILED = "failed", - PENDING = "pending", -} - /** - *

          Describes a NAT gateway.

          + *

          Describes the placement of an instance.

          */ -export interface NatGateway { +export interface LaunchTemplatePlacement { /** - *

          The date and time the NAT gateway was created.

          + *

          The Availability Zone of the instance.

          */ - CreateTime?: Date; + AvailabilityZone?: string; /** - *

          The date and time the NAT gateway was deleted, if applicable.

          + *

          The affinity setting for the instance on the Dedicated Host.

          */ - DeleteTime?: Date; + Affinity?: string; /** - *

          If the NAT gateway could not be created, specifies the error code for the failure. - * (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | - * InvalidAllocationID.NotFound | Resource.AlreadyAssociated | - * InternalError | InvalidSubnetID.NotFound)

          + *

          The name of the placement group for the instance.

          */ - FailureCode?: string; + GroupName?: string; /** - *

          If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

          - *
            - *
          • - *

            For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses to create this NAT gateway"

            - *
          • - *
          • - *

            For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway attached"

            - *
          • - *
          • - *

            For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway"

            - *
          • - *
          • - *

            For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx is already associated"

            - *
          • - *
          • - *

            For InternalError: "Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again."

            - *
          • - *
          • - *

            For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does not exist or could not be found."

            - *
          • - *
          + *

          The ID of the Dedicated Host for the instance.

          */ - FailureMessage?: string; + HostId?: string; /** - *

          Information about the IP addresses and network interface associated with the NAT gateway.

          + *

          The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware.

          */ - NatGatewayAddresses?: NatGatewayAddress[]; + Tenancy?: Tenancy | string; /** - *

          The ID of the NAT gateway.

          + *

          Reserved for future use.

          */ - NatGatewayId?: string; + SpreadDomain?: string; /** - *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through - * the Support Center.

          + *

          The ARN of the host resource group in which to launch the instances. + *

          */ - ProvisionedBandwidth?: ProvisionedBandwidth; + HostResourceGroupArn?: string; /** - *

          The state of the NAT gateway.

          - *
            - *
          • - *

            - * pending: The NAT gateway is being created and is not ready to process - * traffic.

            - *
          • - *
          • - *

            - * failed: The NAT gateway could not be created. Check the - * failureCode and failureMessage fields for the reason.

            - *
          • - *
          • - *

            - * available: The NAT gateway is able to process traffic. This status remains - * until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

            - *
          • - *
          • - *

            - * deleting: The NAT gateway is in the process of being terminated and may - * still be processing traffic.

            - *
          • - *
          • - *

            - * deleted: The NAT gateway has been terminated and is no longer processing - * traffic.

            - *
          • - *
          + *

          The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.

          */ - State?: NatGatewayState | string; + PartitionNumber?: number; +} +export namespace LaunchTemplatePlacement { /** - *

          The ID of the subnet in which the NAT gateway is located.

          + * @internal */ - SubnetId?: string; + export const filterSensitiveLog = (obj: LaunchTemplatePlacement): any => ({ + ...obj, + }); +} +/** + *

          The tag specification for the launch template.

          + */ +export interface LaunchTemplateTagSpecification { /** - *

          The ID of the VPC in which the NAT gateway is located.

          + *

          The type of resource.

          */ - VpcId?: string; + ResourceType?: ResourceType | string; /** - *

          The tags for the NAT gateway.

          + *

          The tags for the resource.

          */ Tags?: Tag[]; - - /** - *

          Indicates whether the NAT gateway supports public or private connectivity.

          - */ - ConnectivityType?: ConnectivityType | string; } -export namespace NatGateway { +export namespace LaunchTemplateTagSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: NatGateway): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateTagSpecification): any => ({ ...obj, }); } -export interface CreateNatGatewayResult { +/** + *

          The information for a launch template.

          + */ +export interface ResponseLaunchTemplateData { /** - *

          Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

          + *

          The ID of the kernel, if applicable.

          */ - ClientToken?: string; + KernelId?: string; /** - *

          Information about the NAT gateway.

          + *

          Indicates whether the instance is optimized for Amazon EBS I/O.

          */ - NatGateway?: NatGateway; -} + EbsOptimized?: boolean; -export namespace CreateNatGatewayResult { /** - * @internal + *

          The IAM instance profile.

          */ - export const filterSensitiveLog = (obj: CreateNatGatewayResult): any => ({ - ...obj, - }); -} + IamInstanceProfile?: LaunchTemplateIamInstanceProfileSpecification; -export interface CreateNetworkAclRequest { /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The block device mappings.

          */ - DryRun?: boolean; + BlockDeviceMappings?: LaunchTemplateBlockDeviceMapping[]; /** - *

          The ID of the VPC.

          + *

          The network interfaces.

          */ - VpcId: string | undefined; + NetworkInterfaces?: LaunchTemplateInstanceNetworkInterfaceSpecification[]; /** - *

          The tags to assign to the network ACL.

          + *

          The ID of the AMI that was used to launch the instance.

          */ - TagSpecifications?: TagSpecification[]; -} + ImageId?: string; -export namespace CreateNetworkAclRequest { /** - * @internal + *

          The instance type.

          */ - export const filterSensitiveLog = (obj: CreateNetworkAclRequest): any => ({ - ...obj, - }); -} + InstanceType?: _InstanceType | string; + + /** + *

          The name of the key pair.

          + */ + KeyName?: string; + + /** + *

          The monitoring for the instance.

          + */ + Monitoring?: LaunchTemplatesMonitoring; -/** - *

          Describes an association between a network ACL and a subnet.

          - */ -export interface NetworkAclAssociation { /** - *

          The ID of the association between a network ACL and a subnet.

          + *

          The placement of the instance.

          */ - NetworkAclAssociationId?: string; + Placement?: LaunchTemplatePlacement; /** - *

          The ID of the network ACL.

          + *

          The ID of the RAM disk, if applicable.

          */ - NetworkAclId?: string; + RamDiskId?: string; /** - *

          The ID of the subnet.

          + *

          If set to true, indicates that the instance cannot be terminated using + * the Amazon EC2 console, command line tool, or API.

          */ - SubnetId?: string; -} + DisableApiTermination?: boolean; -export namespace NetworkAclAssociation { /** - * @internal + *

          Indicates whether an instance stops or terminates when you initiate shutdown from + * the instance (using the operating system command for system shutdown).

          */ - export const filterSensitiveLog = (obj: NetworkAclAssociation): any => ({ - ...obj, - }); -} + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; -/** - *

          Describes the ICMP type and code.

          - */ -export interface IcmpTypeCode { /** - *

          The ICMP code. A value of -1 means all codes for the specified ICMP type.

          + *

          The user data for the instance.

          */ - Code?: number; + UserData?: string; /** - *

          The ICMP type. A value of -1 means all types.

          + *

          The tags.

          */ - Type?: number; -} + TagSpecifications?: LaunchTemplateTagSpecification[]; -export namespace IcmpTypeCode { /** - * @internal + *

          The elastic GPU specification.

          */ - export const filterSensitiveLog = (obj: IcmpTypeCode): any => ({ - ...obj, - }); -} + ElasticGpuSpecifications?: ElasticGpuSpecificationResponse[]; -/** - *

          Describes a range of ports.

          - */ -export interface PortRange { /** - *

          The first port in the range.

          + *

          + * The elastic inference accelerator for the instance. + *

          */ - From?: number; + ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAcceleratorResponse[]; /** - *

          The last port in the range.

          + *

          The security group IDs.

          */ - To?: number; -} + SecurityGroupIds?: string[]; -export namespace PortRange { /** - * @internal + *

          The security group names.

          */ - export const filterSensitiveLog = (obj: PortRange): any => ({ - ...obj, - }); -} + SecurityGroups?: string[]; -export type RuleAction = "allow" | "deny"; + /** + *

          The market (purchasing) option for the instances.

          + */ + InstanceMarketOptions?: LaunchTemplateInstanceMarketOptions; -/** - *

          Describes an entry in a network ACL.

          - */ -export interface NetworkAclEntry { /** - *

          The IPv4 network range to allow or deny, in CIDR notation.

          + *

          The credit option for CPU usage of the instance.

          */ - CidrBlock?: string; + CreditSpecification?: CreditSpecification; /** - *

          Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

          + *

          The CPU options for the instance. For more information, see Optimizing CPU options in the Amazon Elastic Compute Cloud User + * Guide.

          */ - Egress?: boolean; + CpuOptions?: LaunchTemplateCpuOptions; /** - *

          ICMP protocol: The ICMP type and code.

          + *

          Information about the Capacity Reservation targeting option.

          */ - IcmpTypeCode?: IcmpTypeCode; + CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationResponse; /** - *

          The IPv6 network range to allow or deny, in CIDR notation.

          + *

          The license configurations.

          */ - Ipv6CidrBlock?: string; + LicenseSpecifications?: LaunchTemplateLicenseConfiguration[]; /** - *

          TCP or UDP protocols: The range of ports the rule applies to.

          + *

          Indicates whether an instance is configured for hibernation. For more information, see + * Hibernate + * your instance in the Amazon Elastic Compute Cloud User Guide.

          */ - PortRange?: PortRange; + HibernationOptions?: LaunchTemplateHibernationOptions; /** - *

          The protocol number. A value of "-1" means all protocols.

          + *

          The metadata options for the instance. For more information, see Instance metadata and user data in the + * Amazon Elastic Compute Cloud User Guide.

          */ - Protocol?: string; + MetadataOptions?: LaunchTemplateInstanceMetadataOptions; /** - *

          Indicates whether to allow or deny the traffic that matches the rule.

          + *

          Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

          */ - RuleAction?: RuleAction | string; + EnclaveOptions?: LaunchTemplateEnclaveOptions; /** - *

          The rule number for the entry. ACL entries are processed in ascending order by rule number.

          + *

          The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with these attributes.

          + *

          If you specify InstanceRequirements, you can't specify + * InstanceTypes.

          */ - RuleNumber?: number; + InstanceRequirements?: InstanceRequirements; } -export namespace NetworkAclEntry { +export namespace ResponseLaunchTemplateData { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkAclEntry): any => ({ + export const filterSensitiveLog = (obj: ResponseLaunchTemplateData): any => ({ ...obj, }); } /** - *

          Describes a network ACL.

          + *

          Describes a launch template version.

          */ -export interface NetworkAcl { +export interface LaunchTemplateVersion { /** - *

          Any associations between the network ACL and one or more subnets

          + *

          The ID of the launch template.

          */ - Associations?: NetworkAclAssociation[]; + LaunchTemplateId?: string; /** - *

          One or more entries (rules) in the network ACL.

          + *

          The name of the launch template.

          */ - Entries?: NetworkAclEntry[]; + LaunchTemplateName?: string; /** - *

          Indicates whether this is the default network ACL for the VPC.

          + *

          The version number.

          */ - IsDefault?: boolean; + VersionNumber?: number; /** - *

          The ID of the network ACL.

          + *

          The description for the version.

          */ - NetworkAclId?: string; + VersionDescription?: string; /** - *

          Any tags assigned to the network ACL.

          + *

          The time the version was created.

          */ - Tags?: Tag[]; + CreateTime?: Date; /** - *

          The ID of the VPC for the network ACL.

          + *

          The principal that created the version.

          */ - VpcId?: string; + CreatedBy?: string; /** - *

          The ID of the Amazon Web Services account that owns the network ACL.

          + *

          Indicates whether the version is the default version.

          */ - OwnerId?: string; + DefaultVersion?: boolean; + + /** + *

          Information about the launch template.

          + */ + LaunchTemplateData?: ResponseLaunchTemplateData; } -export namespace NetworkAcl { +export namespace LaunchTemplateVersion { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkAcl): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateVersion): any => ({ ...obj, }); } -export interface CreateNetworkAclResult { +export interface CreateLaunchTemplateVersionResult { /** - *

          Information about the network ACL.

          + *

          Information about the launch template version.

          */ - NetworkAcl?: NetworkAcl; + LaunchTemplateVersion?: LaunchTemplateVersion; + + /** + *

          If the new version of the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.

          + */ + Warning?: ValidationWarning; } -export namespace CreateNetworkAclResult { +export namespace CreateLaunchTemplateVersionResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkAclResult): any => ({ + export const filterSensitiveLog = (obj: CreateLaunchTemplateVersionResult): any => ({ ...obj, }); } -export interface CreateNetworkAclEntryRequest { +export interface CreateLocalGatewayRouteRequest { /** - *

          The IPv4 network range to allow or deny, in CIDR notation (for example - * 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

          + *

          The CIDR range used for destination matches. Routing decisions are based on + * the most specific match.

          */ - CidrBlock?: string; + DestinationCidrBlock: string | undefined; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The ID of the local gateway route table.

          */ - DryRun?: boolean; + LocalGatewayRouteTableId: string | undefined; /** - *

          Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

          + *

          The ID of the virtual interface group.

          */ - Egress: boolean | undefined; + LocalGatewayVirtualInterfaceGroupId: string | undefined; /** - *

          ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol - * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - IcmpTypeCode?: IcmpTypeCode; + DryRun?: boolean; +} +export namespace CreateLocalGatewayRouteRequest { /** - *

          The IPv6 network range to allow or deny, in CIDR notation (for example - * 2001:db8:1234:1a00::/64).

          + * @internal */ - Ipv6CidrBlock?: string; + export const filterSensitiveLog = (obj: CreateLocalGatewayRouteRequest): any => ({ + ...obj, + }); +} +export type LocalGatewayRouteState = "active" | "blackhole" | "deleted" | "deleting" | "pending"; + +export type LocalGatewayRouteType = "propagated" | "static"; + +/** + *

          Describes a route for a local gateway route table.

          + */ +export interface LocalGatewayRoute { /** - *

          The ID of the network ACL.

          + *

          The CIDR block used for destination matches.

          */ - NetworkAclId: string | undefined; + DestinationCidrBlock?: string; /** - *

          TCP or UDP protocols: The range of ports the rule applies to. - * Required if specifying protocol 6 (TCP) or 17 (UDP).

          + *

          The ID of the virtual interface group.

          */ - PortRange?: PortRange; + LocalGatewayVirtualInterfaceGroupId?: string; /** - *

          The protocol number. A value of "-1" means all protocols. If you specify "-1" or a - * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is - * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify - * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and - * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) - * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

          + *

          The route type.

          */ - Protocol: string | undefined; + Type?: LocalGatewayRouteType | string; /** - *

          Indicates whether to allow or deny the traffic that matches the rule.

          + *

          The state of the route.

          */ - RuleAction: RuleAction | string | undefined; + State?: LocalGatewayRouteState | string; /** - *

          The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

          - *

          Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

          + *

          The ID of the local gateway route table.

          */ - RuleNumber: number | undefined; -} + LocalGatewayRouteTableId?: string; -export namespace CreateNetworkAclEntryRequest { /** - * @internal + *

          The Amazon Resource Name (ARN) of the local gateway route table.

          */ - export const filterSensitiveLog = (obj: CreateNetworkAclEntryRequest): any => ({ - ...obj, - }); -} - -export type Protocol = "tcp" | "udp"; + LocalGatewayRouteTableArn?: string; -export interface CreateNetworkInsightsPathRequest { /** - *

          The IP address of the Amazon Web Services resource that is the source of the path.

          + *

          The ID of the Amazon Web Services account that owns the local gateway route.

          */ - SourceIp?: string; + OwnerId?: string; +} +export namespace LocalGatewayRoute { /** - *

          The IP address of the Amazon Web Services resource that is the destination of the path.

          + * @internal */ - DestinationIp?: string; + export const filterSensitiveLog = (obj: LocalGatewayRoute): any => ({ + ...obj, + }); +} +export interface CreateLocalGatewayRouteResult { /** - *

          The Amazon Web Services resource that is the source of the path.

          + *

          Information about the route.

          */ - Source: string | undefined; + Route?: LocalGatewayRoute; +} +export namespace CreateLocalGatewayRouteResult { /** - *

          The Amazon Web Services resource that is the destination of the path.

          + * @internal */ - Destination: string | undefined; + export const filterSensitiveLog = (obj: CreateLocalGatewayRouteResult): any => ({ + ...obj, + }); +} +export interface CreateLocalGatewayRouteTableVpcAssociationRequest { /** - *

          The protocol.

          + *

          The ID of the local gateway route table.

          */ - Protocol: Protocol | string | undefined; + LocalGatewayRouteTableId: string | undefined; /** - *

          The destination port.

          + *

          The ID of the VPC.

          */ - DestinationPort?: number; + VpcId: string | undefined; /** - *

          The tags to add to the path.

          + *

          The tags to assign to the local gateway route table VPC association.

          */ TagSpecifications?: TagSpecification[]; @@ -3687,714 +4033,749 @@ export interface CreateNetworkInsightsPathRequest { * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; - - /** - *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, - * see How to ensure idempotency.

          - */ - ClientToken?: string; } -export namespace CreateNetworkInsightsPathRequest { +export namespace CreateLocalGatewayRouteTableVpcAssociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkInsightsPathRequest): any => ({ + export const filterSensitiveLog = (obj: CreateLocalGatewayRouteTableVpcAssociationRequest): any => ({ ...obj, }); } /** - *

          Describes a path.

          + *

          Describes an association between a local gateway route table and a VPC.

          */ -export interface NetworkInsightsPath { - /** - *

          The ID of the path.

          - */ - NetworkInsightsPathId?: string; - - /** - *

          The Amazon Resource Name (ARN) of the path.

          - */ - NetworkInsightsPathArn?: string; - +export interface LocalGatewayRouteTableVpcAssociation { /** - *

          The time stamp when the path was created.

          + *

          The ID of the association.

          */ - CreatedDate?: Date; + LocalGatewayRouteTableVpcAssociationId?: string; /** - *

          The Amazon Web Services resource that is the source of the path.

          + *

          The ID of the local gateway route table.

          */ - Source?: string; + LocalGatewayRouteTableId?: string; /** - *

          The Amazon Web Services resource that is the destination of the path.

          + *

          The Amazon Resource Name (ARN) of the local gateway route table for the association.

          */ - Destination?: string; + LocalGatewayRouteTableArn?: string; /** - *

          The IP address of the Amazon Web Services resource that is the source of the path.

          + *

          The ID of the local gateway.

          */ - SourceIp?: string; + LocalGatewayId?: string; /** - *

          The IP address of the Amazon Web Services resource that is the destination of the path.

          + *

          The ID of the VPC.

          */ - DestinationIp?: string; + VpcId?: string; /** - *

          The protocol.

          + *

          The ID of the Amazon Web Services account that owns the local gateway route table for the association.

          */ - Protocol?: Protocol | string; + OwnerId?: string; /** - *

          The destination port.

          + *

          The state of the association.

          */ - DestinationPort?: number; + State?: string; /** - *

          The tags associated with the path.

          + *

          The tags assigned to the association.

          */ Tags?: Tag[]; } -export namespace NetworkInsightsPath { +export namespace LocalGatewayRouteTableVpcAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInsightsPath): any => ({ + export const filterSensitiveLog = (obj: LocalGatewayRouteTableVpcAssociation): any => ({ ...obj, }); } -export interface CreateNetworkInsightsPathResult { +export interface CreateLocalGatewayRouteTableVpcAssociationResult { /** - *

          Information about the path.

          + *

          Information about the association.

          */ - NetworkInsightsPath?: NetworkInsightsPath; + LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation; } -export namespace CreateNetworkInsightsPathResult { +export namespace CreateLocalGatewayRouteTableVpcAssociationResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkInsightsPathResult): any => ({ + export const filterSensitiveLog = (obj: CreateLocalGatewayRouteTableVpcAssociationResult): any => ({ ...obj, }); } -export type NetworkInterfaceCreationType = "branch" | "efa" | "trunk"; - -/** - *

          Contains the parameters for CreateNetworkInterface.

          - */ -export interface CreateNetworkInterfaceRequest { - /** - *

          A description for the network interface.

          - */ - Description?: string; - +export interface CreateManagedPrefixListRequest { /** *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; /** - *

          The IDs of one or more security groups.

          - */ - Groups?: string[]; - - /** - *

          The number of IPv6 addresses to assign to a network interface. Amazon EC2 - * automatically selects the IPv6 addresses from the subnet range. You can't use this - * option if specifying specific IPv6 addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set - * to true, you can specify 0 to override this setting.

          - */ - Ipv6AddressCount?: number; - - /** - *

          One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. - * You can't use this option if you're specifying a number of IPv6 addresses.

          - */ - Ipv6Addresses?: InstanceIpv6Address[]; - - /** - *

          The primary private IPv4 address of the network interface. If you don't specify an - * IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you - * specify an IP address, you cannot indicate any IP addresses specified in - * privateIpAddresses as primary (only one IP address can be designated as - * primary).

          - */ - PrivateIpAddress?: string; - - /** - *

          One or more private IPv4 addresses.

          + *

          A name for the prefix list.

          + *

          Constraints: Up to 255 characters in length. The name cannot start with com.amazonaws.

          */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + PrefixListName: string | undefined; /** - *

          The number of secondary private IPv4 addresses to assign to a network interface. When - * you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses - * within the subnet's IPv4 CIDR range. You can't specify this option and specify more than - * one private IP address using privateIpAddresses.

          - *

          The number of IP addresses you can assign to a network interface varies by instance - * type. For more information, see IP Addresses Per ENI Per - * Instance Type in the Amazon Virtual Private Cloud User Guide.

          + *

          One or more entries for the prefix list.

          */ - SecondaryPrivateIpAddressCount?: number; + Entries?: AddPrefixListEntry[]; /** - *

          One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

          + *

          The maximum number of entries for the prefix list.

          */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + MaxEntries: number | undefined; /** - *

          The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

          + *

          The tags to apply to the prefix list during creation.

          */ - Ipv4PrefixCount?: number; + TagSpecifications?: TagSpecification[]; /** - *

          One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

          + *

          The IP address type.

          + *

          Valid Values: IPv4 | IPv6 + *

          */ - Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + AddressFamily: string | undefined; /** - *

          The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv6Prefixes option.

          + *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

          + *

          Constraints: Up to 255 UTF-8 characters in length.

          */ - Ipv6PrefixCount?: number; + ClientToken?: string; +} +export namespace CreateManagedPrefixListRequest { /** - *

          Indicates the type of network interface. To create an Elastic Fabric Adapter (EFA), specify - * efa. For more information, see - * Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide. To create a trunk network interface, specify - * efa. For more information, see - * Network interface trunking in the Amazon Elastic Compute Cloud User Guide.

          + * @internal */ - InterfaceType?: NetworkInterfaceCreationType | string; + export const filterSensitiveLog = (obj: CreateManagedPrefixListRequest): any => ({ + ...obj, + }); +} - /** - *

          The ID of the subnet to associate with the network interface.

          - */ - SubnetId: string | undefined; +export type PrefixListState = + | "create-complete" + | "create-failed" + | "create-in-progress" + | "delete-complete" + | "delete-failed" + | "delete-in-progress" + | "modify-complete" + | "modify-failed" + | "modify-in-progress" + | "restore-complete" + | "restore-failed" + | "restore-in-progress"; +/** + *

          Describes a managed prefix list.

          + */ +export interface ManagedPrefixList { /** - *

          The tags to apply to the new network interface.

          + *

          The ID of the prefix list.

          */ - TagSpecifications?: TagSpecification[]; + PrefixListId?: string; /** - *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

          + *

          The IP address version.

          */ - ClientToken?: string; -} + AddressFamily?: string; -export namespace CreateNetworkInterfaceRequest { /** - * @internal + *

          The current state of the prefix list.

          */ - export const filterSensitiveLog = (obj: CreateNetworkInterfaceRequest): any => ({ - ...obj, - }); -} + State?: PrefixListState | string; -/** - *

          Describes association information for an Elastic IP address (IPv4 only), or a Carrier - * IP address (for a network interface which resides in a subnet in a Wavelength - * Zone).

          - */ -export interface NetworkInterfaceAssociation { /** - *

          The allocation ID.

          + *

          The state message.

          */ - AllocationId?: string; + StateMessage?: string; /** - *

          The association ID.

          + *

          The Amazon Resource Name (ARN) for the prefix list.

          */ - AssociationId?: string; + PrefixListArn?: string; /** - *

          The ID of the Elastic IP address owner.

          + *

          The name of the prefix list.

          */ - IpOwnerId?: string; + PrefixListName?: string; /** - *

          The public DNS name.

          + *

          The maximum number of entries for the prefix list.

          */ - PublicDnsName?: string; + MaxEntries?: number; /** - *

          The address of the Elastic IP address bound to the network - * interface.

          + *

          The version of the prefix list.

          */ - PublicIp?: string; + Version?: number; /** - *

          The customer-owned IP address associated with the network interface.

          + *

          The tags for the prefix list.

          */ - CustomerOwnedIp?: string; + Tags?: Tag[]; /** - *

          The carrier IP address associated with the network interface.

          - *

          This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.

          + *

          The ID of the owner of the prefix list.

          */ - CarrierIp?: string; + OwnerId?: string; } -export namespace NetworkInterfaceAssociation { +export namespace ManagedPrefixList { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceAssociation): any => ({ + export const filterSensitiveLog = (obj: ManagedPrefixList): any => ({ ...obj, }); } -/** - *

          Describes a network interface attachment.

          - */ -export interface NetworkInterfaceAttachment { +export interface CreateManagedPrefixListResult { /** - *

          The timestamp indicating when the attachment initiated.

          + *

          Information about the prefix list.

          */ - AttachTime?: Date; + PrefixList?: ManagedPrefixList; +} +export namespace CreateManagedPrefixListResult { /** - *

          The ID of the network interface attachment.

          + * @internal */ - AttachmentId?: string; + export const filterSensitiveLog = (obj: CreateManagedPrefixListResult): any => ({ + ...obj, + }); +} + +export enum ConnectivityType { + PRIVATE = "private", + PUBLIC = "public", +} +export interface CreateNatGatewayRequest { /** - *

          Indicates whether the network interface is deleted when the instance is terminated.

          + *

          [Public NAT gateways only] The allocation ID of an Elastic IP address to associate + * with the NAT gateway. You cannot specify an Elastic IP address with a private NAT gateway. + * If the Elastic IP address is associated with another resource, you must first disassociate it.

          */ - DeleteOnTermination?: boolean; + AllocationId?: string; /** - *

          The device index of the network interface attachment on the instance.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to ensure + * idempotency.

          + *

          Constraint: Maximum 64 ASCII characters.

          */ - DeviceIndex?: number; + ClientToken?: string; /** - *

          The index of the network card.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - NetworkCardIndex?: number; + DryRun?: boolean; /** - *

          The ID of the instance.

          + *

          The subnet in which to create the NAT gateway.

          */ - InstanceId?: string; + SubnetId: string | undefined; /** - *

          The Amazon Web Services account ID of the owner of the instance.

          + *

          The tags to assign to the NAT gateway.

          */ - InstanceOwnerId?: string; + TagSpecifications?: TagSpecification[]; /** - *

          The attachment state.

          + *

          Indicates whether the NAT gateway supports public or private connectivity. + * The default is public connectivity.

          */ - Status?: AttachmentStatus | string; + ConnectivityType?: ConnectivityType | string; } -export namespace NetworkInterfaceAttachment { +export namespace CreateNatGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceAttachment): any => ({ + export const filterSensitiveLog = (obj: CreateNatGatewayRequest): any => ({ ...obj, }); } /** - *

          Describes a security group.

          + *

          Describes the IP addresses and network interface associated with a NAT gateway.

          */ -export interface GroupIdentifier { +export interface NatGatewayAddress { /** - *

          The name of the security group.

          + *

          [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway.

          */ - GroupName?: string; + AllocationId?: string; /** - *

          The ID of the security group.

          + *

          The ID of the network interface associated with the NAT gateway.

          */ - GroupId?: string; -} + NetworkInterfaceId?: string; -export namespace GroupIdentifier { /** - * @internal + *

          The private IP address associated with the NAT gateway.

          */ - export const filterSensitiveLog = (obj: GroupIdentifier): any => ({ - ...obj, - }); -} - -export type NetworkInterfaceType = "efa" | "interface" | "natGateway" | "trunk"; + PrivateIp?: string; -/** - *

          Describes an IPv6 address associated with a network interface.

          - */ -export interface NetworkInterfaceIpv6Address { /** - *

          The IPv6 address.

          + *

          [Public NAT gateway only] The Elastic IP address associated with the NAT gateway.

          */ - Ipv6Address?: string; + PublicIp?: string; } -export namespace NetworkInterfaceIpv6Address { +export namespace NatGatewayAddress { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceIpv6Address): any => ({ + export const filterSensitiveLog = (obj: NatGatewayAddress): any => ({ ...obj, }); } /** - *

          Describes the IPv6 prefix.

          + *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          */ -export interface Ipv6PrefixSpecification { - /** - *

          The IPv6 prefix.

          - */ - Ipv6Prefix?: string; -} - -export namespace Ipv6PrefixSpecification { +export interface ProvisionedBandwidth { /** - * @internal + *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          */ - export const filterSensitiveLog = (obj: Ipv6PrefixSpecification): any => ({ - ...obj, - }); -} + ProvisionTime?: Date; -/** - *

          Describes the private IPv4 address of a network interface.

          - */ -export interface NetworkInterfacePrivateIpAddress { /** - *

          The association information for an Elastic IP address (IPv4) associated with the network interface.

          + *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          */ - Association?: NetworkInterfaceAssociation; + Provisioned?: string; /** - *

          Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

          + *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          */ - Primary?: boolean; + RequestTime?: Date; /** - *

          The private DNS name.

          + *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          */ - PrivateDnsName?: string; + Requested?: string; /** - *

          The private IPv4 address.

          + *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through the Support Center.

          */ - PrivateIpAddress?: string; + Status?: string; } -export namespace NetworkInterfacePrivateIpAddress { +export namespace ProvisionedBandwidth { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfacePrivateIpAddress): any => ({ + export const filterSensitiveLog = (obj: ProvisionedBandwidth): any => ({ ...obj, }); } -export type NetworkInterfaceStatus = "associated" | "attaching" | "available" | "detaching" | "in-use"; +export enum NatGatewayState { + AVAILABLE = "available", + DELETED = "deleted", + DELETING = "deleting", + FAILED = "failed", + PENDING = "pending", +} /** - *

          Describes a network interface.

          + *

          Describes a NAT gateway.

          */ -export interface NetworkInterface { +export interface NatGateway { /** - *

          The association information for an Elastic IP address (IPv4) associated with the network interface.

          + *

          The date and time the NAT gateway was created.

          */ - Association?: NetworkInterfaceAssociation; + CreateTime?: Date; /** - *

          The network interface attachment.

          + *

          The date and time the NAT gateway was deleted, if applicable.

          */ - Attachment?: NetworkInterfaceAttachment; + DeleteTime?: Date; /** - *

          The Availability Zone.

          + *

          If the NAT gateway could not be created, specifies the error code for the failure. + * (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | + * InvalidAllocationID.NotFound | Resource.AlreadyAssociated | + * InternalError | InvalidSubnetID.NotFound)

          */ - AvailabilityZone?: string; + FailureCode?: string; /** - *

          A description.

          + *

          If the NAT gateway could not be created, specifies the error message for the failure, that corresponds to the error code.

          + *
            + *
          • + *

            For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free addresses to create this NAT gateway"

            + *
          • + *
          • + *

            For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway attached"

            + *
          • + *
          • + *

            For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx could not be associated with this NAT gateway"

            + *
          • + *
          • + *

            For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx is already associated"

            + *
          • + *
          • + *

            For InternalError: "Network interface eni-xxxxxxxx, created and used internally by this NAT gateway is in an invalid state. Please try again."

            + *
          • + *
          • + *

            For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx does not exist or could not be found."

            + *
          • + *
          */ - Description?: string; + FailureMessage?: string; /** - *

          Any security groups for the network interface.

          + *

          Information about the IP addresses and network interface associated with the NAT gateway.

          */ - Groups?: GroupIdentifier[]; + NatGatewayAddresses?: NatGatewayAddress[]; /** - *

          The type of network interface.

          + *

          The ID of the NAT gateway.

          */ - InterfaceType?: NetworkInterfaceType | string; + NatGatewayId?: string; /** - *

          The IPv6 addresses associated with the network interface.

          + *

          Reserved. If you need to sustain traffic greater than the documented limits, contact us through + * the Support Center.

          + */ + ProvisionedBandwidth?: ProvisionedBandwidth; + + /** + *

          The state of the NAT gateway.

          + *
            + *
          • + *

            + * pending: The NAT gateway is being created and is not ready to process + * traffic.

            + *
          • + *
          • + *

            + * failed: The NAT gateway could not be created. Check the + * failureCode and failureMessage fields for the reason.

            + *
          • + *
          • + *

            + * available: The NAT gateway is able to process traffic. This status remains + * until you delete the NAT gateway, and does not indicate the health of the NAT gateway.

            + *
          • + *
          • + *

            + * deleting: The NAT gateway is in the process of being terminated and may + * still be processing traffic.

            + *
          • + *
          • + *

            + * deleted: The NAT gateway has been terminated and is no longer processing + * traffic.

            + *
          • + *
          + */ + State?: NatGatewayState | string; + + /** + *

          The ID of the subnet in which the NAT gateway is located.

          */ - Ipv6Addresses?: NetworkInterfaceIpv6Address[]; + SubnetId?: string; /** - *

          The MAC address.

          + *

          The ID of the VPC in which the NAT gateway is located.

          */ - MacAddress?: string; + VpcId?: string; /** - *

          The ID of the network interface.

          + *

          The tags for the NAT gateway.

          */ - NetworkInterfaceId?: string; + Tags?: Tag[]; /** - *

          The Amazon Resource Name (ARN) of the Outpost.

          + *

          Indicates whether the NAT gateway supports public or private connectivity.

          */ - OutpostArn?: string; + ConnectivityType?: ConnectivityType | string; +} +export namespace NatGateway { /** - *

          The Amazon Web Services account ID of the owner of the network interface.

          + * @internal */ - OwnerId?: string; + export const filterSensitiveLog = (obj: NatGateway): any => ({ + ...obj, + }); +} +export interface CreateNatGatewayResult { /** - *

          The private DNS name.

          + *

          Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.

          */ - PrivateDnsName?: string; + ClientToken?: string; /** - *

          The IPv4 address of the network interface within the subnet.

          + *

          Information about the NAT gateway.

          */ - PrivateIpAddress?: string; + NatGateway?: NatGateway; +} +export namespace CreateNatGatewayResult { /** - *

          The private IPv4 addresses associated with the network interface.

          + * @internal */ - PrivateIpAddresses?: NetworkInterfacePrivateIpAddress[]; + export const filterSensitiveLog = (obj: CreateNatGatewayResult): any => ({ + ...obj, + }); +} +export interface CreateNetworkAclRequest { /** - *

          The IPv4 prefixes that are assigned to the network interface.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - Ipv4Prefixes?: Ipv4PrefixSpecification[]; + DryRun?: boolean; /** - *

          The IPv6 prefixes that are assigned to the network interface.

          + *

          The ID of the VPC.

          */ - Ipv6Prefixes?: Ipv6PrefixSpecification[]; + VpcId: string | undefined; /** - *

          The alias or Amazon Web Services account ID of the principal or service that created the network interface.

          + *

          The tags to assign to the network ACL.

          */ - RequesterId?: string; + TagSpecifications?: TagSpecification[]; +} +export namespace CreateNetworkAclRequest { /** - *

          Indicates whether the network interface is being managed by Amazon Web Services.

          + * @internal */ - RequesterManaged?: boolean; + export const filterSensitiveLog = (obj: CreateNetworkAclRequest): any => ({ + ...obj, + }); +} +/** + *

          Describes an association between a network ACL and a subnet.

          + */ +export interface NetworkAclAssociation { /** - *

          Indicates whether source/destination checking is enabled.

          + *

          The ID of the association between a network ACL and a subnet.

          */ - SourceDestCheck?: boolean; + NetworkAclAssociationId?: string; /** - *

          The status of the network interface.

          + *

          The ID of the network ACL.

          */ - Status?: NetworkInterfaceStatus | string; + NetworkAclId?: string; /** *

          The ID of the subnet.

          */ SubnetId?: string; +} +export namespace NetworkAclAssociation { /** - *

          Any tags assigned to the network interface.

          + * @internal */ - TagSet?: Tag[]; + export const filterSensitiveLog = (obj: NetworkAclAssociation): any => ({ + ...obj, + }); +} +/** + *

          Describes the ICMP type and code.

          + */ +export interface IcmpTypeCode { /** - *

          The ID of the VPC.

          + *

          The ICMP code. A value of -1 means all codes for the specified ICMP type.

          */ - VpcId?: string; + Code?: number; + + /** + *

          The ICMP type. A value of -1 means all types.

          + */ + Type?: number; } -export namespace NetworkInterface { +export namespace IcmpTypeCode { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterface): any => ({ + export const filterSensitiveLog = (obj: IcmpTypeCode): any => ({ ...obj, }); } /** - *

          Contains the output of CreateNetworkInterface.

          + *

          Describes a range of ports.

          */ -export interface CreateNetworkInterfaceResult { +export interface PortRange { /** - *

          Information about the network interface.

          + *

          The first port in the range.

          */ - NetworkInterface?: NetworkInterface; + From?: number; /** - *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          + *

          The last port in the range.

          */ - ClientToken?: string; + To?: number; } -export namespace CreateNetworkInterfaceResult { +export namespace PortRange { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkInterfaceResult): any => ({ + export const filterSensitiveLog = (obj: PortRange): any => ({ ...obj, }); } -export type InterfacePermissionType = "EIP-ASSOCIATE" | "INSTANCE-ATTACH"; +export type RuleAction = "allow" | "deny"; /** - *

          Contains the parameters for CreateNetworkInterfacePermission.

          + *

          Describes an entry in a network ACL.

          */ -export interface CreateNetworkInterfacePermissionRequest { +export interface NetworkAclEntry { /** - *

          The ID of the network interface.

          + *

          The IPv4 network range to allow or deny, in CIDR notation.

          */ - NetworkInterfaceId: string | undefined; + CidrBlock?: string; /** - *

          The Amazon Web Services account ID.

          + *

          Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).

          */ - AwsAccountId?: string; + Egress?: boolean; /** - *

          The Amazon Web Service. Currently not supported.

          + *

          ICMP protocol: The ICMP type and code.

          */ - AwsService?: string; + IcmpTypeCode?: IcmpTypeCode; /** - *

          The type of permission to grant.

          + *

          The IPv6 network range to allow or deny, in CIDR notation.

          */ - Permission: InterfacePermissionType | string | undefined; + Ipv6CidrBlock?: string; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          TCP or UDP protocols: The range of ports the rule applies to.

          */ - DryRun?: boolean; -} + PortRange?: PortRange; -export namespace CreateNetworkInterfacePermissionRequest { /** - * @internal + *

          The protocol number. A value of "-1" means all protocols.

          */ - export const filterSensitiveLog = (obj: CreateNetworkInterfacePermissionRequest): any => ({ - ...obj, - }); -} - -export type NetworkInterfacePermissionStateCode = "granted" | "pending" | "revoked" | "revoking"; + Protocol?: string; -/** - *

          Describes the state of a network interface permission.

          - */ -export interface NetworkInterfacePermissionState { /** - *

          The state of the permission.

          + *

          Indicates whether to allow or deny the traffic that matches the rule.

          */ - State?: NetworkInterfacePermissionStateCode | string; + RuleAction?: RuleAction | string; /** - *

          A status message, if applicable.

          + *

          The rule number for the entry. ACL entries are processed in ascending order by rule number.

          */ - StatusMessage?: string; + RuleNumber?: number; } -export namespace NetworkInterfacePermissionState { +export namespace NetworkAclEntry { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfacePermissionState): any => ({ + export const filterSensitiveLog = (obj: NetworkAclEntry): any => ({ ...obj, }); } /** - *

          Describes a permission for a network interface.

          + *

          Describes a network ACL.

          */ -export interface NetworkInterfacePermission { +export interface NetworkAcl { /** - *

          The ID of the network interface permission.

          + *

          Any associations between the network ACL and one or more subnets

          */ - NetworkInterfacePermissionId?: string; + Associations?: NetworkAclAssociation[]; /** - *

          The ID of the network interface.

          + *

          One or more entries (rules) in the network ACL.

          */ - NetworkInterfaceId?: string; + Entries?: NetworkAclEntry[]; /** - *

          The Amazon Web Services account ID.

          + *

          Indicates whether this is the default network ACL for the VPC.

          */ - AwsAccountId?: string; + IsDefault?: boolean; /** - *

          The Amazon Web Service.

          + *

          The ID of the network ACL.

          */ - AwsService?: string; + NetworkAclId?: string; /** - *

          The type of permission.

          + *

          Any tags assigned to the network ACL.

          */ - Permission?: InterfacePermissionType | string; + Tags?: Tag[]; /** - *

          Information about the state of the permission.

          + *

          The ID of the VPC for the network ACL.

          */ - PermissionState?: NetworkInterfacePermissionState; + VpcId?: string; + + /** + *

          The ID of the Amazon Web Services account that owns the network ACL.

          + */ + OwnerId?: string; } -export namespace NetworkInterfacePermission { +export namespace NetworkAcl { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfacePermission): any => ({ + export const filterSensitiveLog = (obj: NetworkAcl): any => ({ ...obj, }); } -/** - *

          Contains the output of CreateNetworkInterfacePermission.

          - */ -export interface CreateNetworkInterfacePermissionResult { +export interface CreateNetworkAclResult { /** - *

          Information about the permission for the network interface.

          + *

          Information about the network ACL.

          */ - InterfacePermission?: NetworkInterfacePermission; + NetworkAcl?: NetworkAcl; } -export namespace CreateNetworkInterfacePermissionResult { +export namespace CreateNetworkAclResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateNetworkInterfacePermissionResult): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkAclResult): any => ({ ...obj, }); } -export type PlacementStrategy = "cluster" | "partition" | "spread"; +export interface CreateNetworkAclEntryRequest { + /** + *

          The IPv4 network range to allow or deny, in CIDR notation (for example + * 172.16.0.0/24). We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

          + */ + CidrBlock?: string; -export interface CreatePlacementGroupRequest { /** *

          Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -4403,119 +4784,101 @@ export interface CreatePlacementGroupRequest { DryRun?: boolean; /** - *

          A name for the placement group. Must be unique within the scope of your account for - * the Region.

          - *

          Constraints: Up to 255 ASCII characters

          - */ - GroupName?: string; - - /** - *

          The placement strategy.

          - */ - Strategy?: PlacementStrategy | string; - - /** - *

          The number of partitions. Valid only when Strategy is - * set to partition.

          - */ - PartitionCount?: number; - - /** - *

          The tags to apply to the new placement group.

          + *

          Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).

          */ - TagSpecifications?: TagSpecification[]; -} + Egress: boolean | undefined; -export namespace CreatePlacementGroupRequest { /** - * @internal + *

          ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol + * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.

          */ - export const filterSensitiveLog = (obj: CreatePlacementGroupRequest): any => ({ - ...obj, - }); -} - -export type PlacementGroupState = "available" | "deleted" | "deleting" | "pending"; + IcmpTypeCode?: IcmpTypeCode; -/** - *

          Describes a placement group.

          - */ -export interface PlacementGroup { /** - *

          The name of the placement group.

          + *

          The IPv6 network range to allow or deny, in CIDR notation (for example + * 2001:db8:1234:1a00::/64).

          */ - GroupName?: string; + Ipv6CidrBlock?: string; /** - *

          The state of the placement group.

          + *

          The ID of the network ACL.

          */ - State?: PlacementGroupState | string; + NetworkAclId: string | undefined; /** - *

          The placement strategy.

          + *

          TCP or UDP protocols: The range of ports the rule applies to. + * Required if specifying protocol 6 (TCP) or 17 (UDP).

          */ - Strategy?: PlacementStrategy | string; + PortRange?: PortRange; /** - *

          The number of partitions. Valid only if strategy is - * set to partition.

          + *

          The protocol number. A value of "-1" means all protocols. If you specify "-1" or a + * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is + * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify + * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and + * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6) + * and specify an IPv6 CIDR block, you must specify an ICMP type and code.

          */ - PartitionCount?: number; + Protocol: string | undefined; /** - *

          The ID of the placement group.

          + *

          Indicates whether to allow or deny the traffic that matches the rule.

          */ - GroupId?: string; + RuleAction: RuleAction | string | undefined; /** - *

          Any tags applied to the placement group.

          + *

          The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.

          + *

          Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.

          */ - Tags?: Tag[]; + RuleNumber: number | undefined; } -export namespace PlacementGroup { +export namespace CreateNetworkAclEntryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PlacementGroup): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkAclEntryRequest): any => ({ ...obj, }); } -export interface CreatePlacementGroupResult { +export type Protocol = "tcp" | "udp"; + +export interface CreateNetworkInsightsPathRequest { /** - *

          Describes a placement group.

          + *

          The IP address of the Amazon Web Services resource that is the source of the path.

          */ - PlacementGroup?: PlacementGroup; -} + SourceIp?: string; -export namespace CreatePlacementGroupResult { /** - * @internal + *

          The IP address of the Amazon Web Services resource that is the destination of the path.

          */ - export const filterSensitiveLog = (obj: CreatePlacementGroupResult): any => ({ - ...obj, - }); -} + DestinationIp?: string; -export interface CreateReplaceRootVolumeTaskRequest { /** - *

          The ID of the instance for which to replace the root volume.

          + *

          The Amazon Web Services resource that is the source of the path.

          */ - InstanceId: string | undefined; + Source: string | undefined; /** - *

          The ID of the snapshot from which to restore the replacement root volume. If you want to - * restore the volume to the initial launch state, omit this parameter.

          + *

          The Amazon Web Services resource that is the destination of the path.

          */ - SnapshotId?: string; + Destination: string | undefined; /** - *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the request. - * If you do not specify a client token, a randomly generated token is used for the request - * to ensure idempotency. For more information, see Ensuring idempotency.

          + *

          The protocol.

          */ - ClientToken?: string; + Protocol: Protocol | string | undefined; + + /** + *

          The destination port.

          + */ + DestinationPort?: number; + + /** + *

          The tags to add to the path.

          + */ + TagSpecifications?: TagSpecification[]; /** *

          Checks whether you have the required permissions for the action, without actually making the request, @@ -4525,1501 +4888,1594 @@ export interface CreateReplaceRootVolumeTaskRequest { DryRun?: boolean; /** - *

          The tags to apply to the root volume replacement task.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, + * see How to ensure idempotency.

          */ - TagSpecifications?: TagSpecification[]; + ClientToken?: string; } -export namespace CreateReplaceRootVolumeTaskRequest { +export namespace CreateNetworkInsightsPathRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateReplaceRootVolumeTaskRequest): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInsightsPathRequest): any => ({ ...obj, }); } -export enum ReplaceRootVolumeTaskState { - failed = "failed", - failed_detached = "failed-detached", - failing = "failing", - in_progress = "in-progress", - pending = "pending", - succeeded = "succeeded", -} - /** - *

          Information about a root volume replacement task.

          + *

          Describes a path.

          */ -export interface ReplaceRootVolumeTask { +export interface NetworkInsightsPath { /** - *

          The ID of the root volume replacement task.

          + *

          The ID of the path.

          */ - ReplaceRootVolumeTaskId?: string; + NetworkInsightsPathId?: string; /** - *

          The ID of the instance for which the root volume replacement task was created.

          + *

          The Amazon Resource Name (ARN) of the path.

          */ - InstanceId?: string; + NetworkInsightsPathArn?: string; /** - *

          The state of the task. The task can be in one of the following states:

          - *
            - *
          • - *

            - * pending - the replacement volume is being created.

            - *
          • - *
          • - *

            - * in-progress - the original volume is being detached and the - * replacement volume is being attached.

            - *
          • - *
          • - *

            - * succeeded - the replacement volume has been successfully attached - * to the instance and the instance is available.

            - *
          • - *
          • - *

            - * failing - the replacement task is in the process of failing.

            - *
          • - *
          • - *

            - * failed - the replacement task has failed but the original root - * volume is still attached.

            - *
          • - *
          • - *

            - * failing-detached - the replacement task is in the process of failing. - * The instance might have no root volume attached.

            - *
          • - *
          • - *

            - * failed-detached - the replacement task has failed and the instance - * has no root volume attached.

            - *
          • - *
          + *

          The time stamp when the path was created.

          */ - TaskState?: ReplaceRootVolumeTaskState | string; + CreatedDate?: Date; /** - *

          The time the task was started.

          + *

          The Amazon Web Services resource that is the source of the path.

          */ - StartTime?: string; + Source?: string; /** - *

          The time the task completed.

          + *

          The Amazon Web Services resource that is the destination of the path.

          */ - CompleteTime?: string; + Destination?: string; /** - *

          The tags assigned to the task.

          + *

          The IP address of the Amazon Web Services resource that is the source of the path.

          + */ + SourceIp?: string; + + /** + *

          The IP address of the Amazon Web Services resource that is the destination of the path.

          + */ + DestinationIp?: string; + + /** + *

          The protocol.

          + */ + Protocol?: Protocol | string; + + /** + *

          The destination port.

          + */ + DestinationPort?: number; + + /** + *

          The tags associated with the path.

          */ Tags?: Tag[]; } -export namespace ReplaceRootVolumeTask { +export namespace NetworkInsightsPath { /** * @internal */ - export const filterSensitiveLog = (obj: ReplaceRootVolumeTask): any => ({ + export const filterSensitiveLog = (obj: NetworkInsightsPath): any => ({ ...obj, }); } -export interface CreateReplaceRootVolumeTaskResult { +export interface CreateNetworkInsightsPathResult { /** - *

          Information about the root volume replacement task.

          + *

          Information about the path.

          */ - ReplaceRootVolumeTask?: ReplaceRootVolumeTask; + NetworkInsightsPath?: NetworkInsightsPath; } -export namespace CreateReplaceRootVolumeTaskResult { +export namespace CreateNetworkInsightsPathResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateReplaceRootVolumeTaskResult): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInsightsPathResult): any => ({ ...obj, }); } +export type NetworkInterfaceCreationType = "branch" | "efa" | "trunk"; + /** - *

          Describes the price for a Reserved Instance.

          + *

          Contains the parameters for CreateNetworkInterface.

          */ -export interface PriceScheduleSpecification { +export interface CreateNetworkInterfaceRequest { /** - *

          The currency for transacting the Reserved Instance resale. - * At this time, the only supported currency is USD.

          + *

          A description for the network interface.

          + */ + Description?: string; + + /** + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          + */ + DryRun?: boolean; + + /** + *

          The IDs of one or more security groups.

          + */ + Groups?: string[]; + + /** + *

          The number of IPv6 addresses to assign to a network interface. Amazon EC2 + * automatically selects the IPv6 addresses from the subnet range. You can't use this + * option if specifying specific IPv6 addresses. If your subnet has the AssignIpv6AddressOnCreation attribute set + * to true, you can specify 0 to override this setting.

          + */ + Ipv6AddressCount?: number; + + /** + *

          One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. + * You can't use this option if you're specifying a number of IPv6 addresses.

          + */ + Ipv6Addresses?: InstanceIpv6Address[]; + + /** + *

          The primary private IPv4 address of the network interface. If you don't specify an + * IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you + * specify an IP address, you cannot indicate any IP addresses specified in + * privateIpAddresses as primary (only one IP address can be designated as + * primary).

          + */ + PrivateIpAddress?: string; + + /** + *

          One or more private IPv4 addresses.

          */ - CurrencyCode?: CurrencyCodeValues | string; + PrivateIpAddresses?: PrivateIpAddressSpecification[]; /** - *

          The fixed price for the term.

          + *

          The number of secondary private IPv4 addresses to assign to a network interface. When + * you specify a number of secondary IPv4 addresses, Amazon EC2 selects these IP addresses + * within the subnet's IPv4 CIDR range. You can't specify this option and specify more than + * one private IP address using privateIpAddresses.

          + *

          The number of IP addresses you can assign to a network interface varies by instance + * type. For more information, see IP Addresses Per ENI Per + * Instance Type in the Amazon Virtual Private Cloud User Guide.

          */ - Price?: number; + SecondaryPrivateIpAddressCount?: number; /** - *

          The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

          + *

          One or more IPv4 prefixes assigned to the network interface. You cannot use this option if you use the Ipv4PrefixCount option.

          */ - Term?: number; -} + Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; -export namespace PriceScheduleSpecification { /** - * @internal + *

          The number of IPv4 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv4 Prefixes option.

          */ - export const filterSensitiveLog = (obj: PriceScheduleSpecification): any => ({ - ...obj, - }); -} + Ipv4PrefixCount?: number; -/** - *

          Contains the parameters for CreateReservedInstancesListing.

          - */ -export interface CreateReservedInstancesListingRequest { /** - *

          Unique, case-sensitive identifier you provide to ensure idempotency of your - * listings. This helps avoid duplicate listings. For more information, see - * Ensuring Idempotency.

          + *

          One or more IPv6 prefixes assigned to the network interface. You cannot use this option if you use the Ipv6PrefixCount option.

          */ - ClientToken: string | undefined; + Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; /** - *

          The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

          + *

          The number of IPv6 prefixes that Amazon Web Services automatically assigns to the network interface. You cannot use this option if you use the Ipv6Prefixes option.

          */ - InstanceCount: number | undefined; + Ipv6PrefixCount?: number; /** - *

          A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

          + *

          Indicates the type of network interface. To create an Elastic Fabric Adapter (EFA), specify + * efa. For more information, see + * Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide. To create a trunk network interface, specify + * efa. For more information, see + * Network interface trunking in the Amazon Elastic Compute Cloud User Guide.

          */ - PriceSchedules: PriceScheduleSpecification[] | undefined; + InterfaceType?: NetworkInterfaceCreationType | string; /** - *

          The ID of the active Standard Reserved Instance.

          + *

          The ID of the subnet to associate with the network interface.

          */ - ReservedInstancesId: string | undefined; -} + SubnetId: string | undefined; -export namespace CreateReservedInstancesListingRequest { /** - * @internal + *

          The tags to apply to the new network interface.

          */ - export const filterSensitiveLog = (obj: CreateReservedInstancesListingRequest): any => ({ - ...obj, - }); -} + TagSpecifications?: TagSpecification[]; -/** - *

          Contains the output of CreateReservedInstancesListing.

          - */ -export interface CreateReservedInstancesListingResult { /** - *

          Information about the Standard Reserved Instance listing.

          + *

          Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

          */ - ReservedInstancesListings?: ReservedInstancesListing[]; + ClientToken?: string; } -export namespace CreateReservedInstancesListingResult { +export namespace CreateNetworkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateReservedInstancesListingResult): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInterfaceRequest): any => ({ ...obj, }); } -export interface CreateRestoreImageTaskRequest { +/** + *

          Describes association information for an Elastic IP address (IPv4 only), or a Carrier + * IP address (for a network interface which resides in a subnet in a Wavelength + * Zone).

          + */ +export interface NetworkInterfaceAssociation { /** - *

          The name of the Amazon S3 bucket that contains the stored AMI object.

          + *

          The allocation ID.

          */ - Bucket: string | undefined; + AllocationId?: string; /** - *

          The name of the stored AMI object in the bucket.

          + *

          The association ID.

          */ - ObjectKey: string | undefined; + AssociationId?: string; /** - *

          The name for the restored AMI. The name must be unique for AMIs in the Region for this - * account. If you do not provide a name, the new AMI gets the same name as the original - * AMI.

          + *

          The ID of the Elastic IP address owner.

          */ - Name?: string; + IpOwnerId?: string; /** - *

          The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the - * snapshots, or both.

          - *
            - *
          • - *

            To tag the AMI, the value for ResourceType must be image.

            - *
          • - *
          • - *

            To - * tag the snapshots, the value for ResourceType must be snapshot. The - * same tag is applied to all of the snapshots that are created.

            - *
          • - *
          + *

          The public DNS name.

          */ - TagSpecifications?: TagSpecification[]; + PublicDnsName?: string; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The address of the Elastic IP address bound to the network + * interface.

          */ - DryRun?: boolean; -} + PublicIp?: string; -export namespace CreateRestoreImageTaskRequest { /** - * @internal + *

          The customer-owned IP address associated with the network interface.

          */ - export const filterSensitiveLog = (obj: CreateRestoreImageTaskRequest): any => ({ - ...obj, - }); -} + CustomerOwnedIp?: string; -export interface CreateRestoreImageTaskResult { /** - *

          The AMI ID.

          + *

          The carrier IP address associated with the network interface.

          + *

          This option is only available when the network interface is in a subnet which is associated with a Wavelength Zone.

          */ - ImageId?: string; + CarrierIp?: string; } -export namespace CreateRestoreImageTaskResult { +export namespace NetworkInterfaceAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRestoreImageTaskResult): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfaceAssociation): any => ({ ...obj, }); } -export interface CreateRouteRequest { - /** - *

          The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

          - */ - DestinationCidrBlock?: string; - - /** - *

          The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

          - */ - DestinationIpv6CidrBlock?: string; - +/** + *

          Describes a network interface attachment.

          + */ +export interface NetworkInterfaceAttachment { /** - *

          The ID of a prefix list used for the destination match.

          + *

          The timestamp indicating when the attachment initiated.

          */ - DestinationPrefixListId?: string; + AttachTime?: Date; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The ID of the network interface attachment.

          */ - DryRun?: boolean; + AttachmentId?: string; /** - *

          The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

          + *

          Indicates whether the network interface is deleted when the instance is terminated.

          */ - VpcEndpointId?: string; + DeleteOnTermination?: boolean; /** - *

          [IPv6 traffic only] The ID of an egress-only internet gateway.

          + *

          The device index of the network interface attachment on the instance.

          */ - EgressOnlyInternetGatewayId?: string; + DeviceIndex?: number; /** - *

          The ID of an internet gateway or virtual private gateway attached to your - * VPC.

          + *

          The index of the network card.

          */ - GatewayId?: string; + NetworkCardIndex?: number; /** - *

          The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

          + *

          The ID of the instance.

          */ InstanceId?: string; /** - *

          [IPv4 traffic only] The ID of a NAT gateway.

          + *

          The Amazon Web Services account ID of the owner of the instance.

          */ - NatGatewayId?: string; + InstanceOwnerId?: string; /** - *

          The ID of a transit gateway.

          + *

          The attachment state.

          */ - TransitGatewayId?: string; + Status?: AttachmentStatus | string; +} +export namespace NetworkInterfaceAttachment { /** - *

          The ID of the local gateway.

          + * @internal */ - LocalGatewayId?: string; + export const filterSensitiveLog = (obj: NetworkInterfaceAttachment): any => ({ + ...obj, + }); +} +/** + *

          Describes a security group.

          + */ +export interface GroupIdentifier { /** - *

          The ID of the carrier gateway.

          - *

          You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.

          + *

          The name of the security group.

          */ - CarrierGatewayId?: string; + GroupName?: string; /** - *

          The ID of a network interface.

          + *

          The ID of the security group.

          */ - NetworkInterfaceId?: string; + GroupId?: string; +} +export namespace GroupIdentifier { /** - *

          The ID of the route table for the route.

          + * @internal */ - RouteTableId: string | undefined; + export const filterSensitiveLog = (obj: GroupIdentifier): any => ({ + ...obj, + }); +} + +export type NetworkInterfaceType = "efa" | "interface" | "natGateway" | "trunk"; +/** + *

          Describes an IPv6 address associated with a network interface.

          + */ +export interface NetworkInterfaceIpv6Address { /** - *

          The ID of a VPC peering connection.

          + *

          The IPv6 address.

          */ - VpcPeeringConnectionId?: string; + Ipv6Address?: string; } -export namespace CreateRouteRequest { +export namespace NetworkInterfaceIpv6Address { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRouteRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfaceIpv6Address): any => ({ ...obj, }); } -export interface CreateRouteResult { +/** + *

          Describes the IPv6 prefix.

          + */ +export interface Ipv6PrefixSpecification { /** - *

          Returns true if the request succeeds; otherwise, it returns an error.

          + *

          The IPv6 prefix.

          */ - Return?: boolean; + Ipv6Prefix?: string; } -export namespace CreateRouteResult { +export namespace Ipv6PrefixSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRouteResult): any => ({ + export const filterSensitiveLog = (obj: Ipv6PrefixSpecification): any => ({ ...obj, }); } -export interface CreateRouteTableRequest { +/** + *

          Describes the private IPv4 address of a network interface.

          + */ +export interface NetworkInterfacePrivateIpAddress { /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The association information for an Elastic IP address (IPv4) associated with the network interface.

          */ - DryRun?: boolean; + Association?: NetworkInterfaceAssociation; + + /** + *

          Indicates whether this IPv4 address is the primary private IPv4 address of the network interface.

          + */ + Primary?: boolean; /** - *

          The ID of the VPC.

          + *

          The private DNS name.

          */ - VpcId: string | undefined; + PrivateDnsName?: string; /** - *

          The tags to assign to the route table.

          + *

          The private IPv4 address.

          */ - TagSpecifications?: TagSpecification[]; + PrivateIpAddress?: string; } -export namespace CreateRouteTableRequest { +export namespace NetworkInterfacePrivateIpAddress { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfacePrivateIpAddress): any => ({ ...obj, }); } +export type NetworkInterfaceStatus = "associated" | "attaching" | "available" | "detaching" | "in-use"; + /** - *

          Describes an association between a route table and a subnet or gateway.

          + *

          Describes a network interface.

          */ -export interface RouteTableAssociation { +export interface NetworkInterface { /** - *

          Indicates whether this is the main route table.

          + *

          The association information for an Elastic IP address (IPv4) associated with the network interface.

          */ - Main?: boolean; + Association?: NetworkInterfaceAssociation; /** - *

          The ID of the association.

          + *

          The network interface attachment.

          */ - RouteTableAssociationId?: string; + Attachment?: NetworkInterfaceAttachment; /** - *

          The ID of the route table.

          + *

          The Availability Zone.

          */ - RouteTableId?: string; + AvailabilityZone?: string; /** - *

          The ID of the subnet. A subnet ID is not returned for an implicit association.

          + *

          A description.

          */ - SubnetId?: string; + Description?: string; /** - *

          The ID of the internet gateway or virtual private gateway.

          + *

          Any security groups for the network interface.

          */ - GatewayId?: string; + Groups?: GroupIdentifier[]; /** - *

          The state of the association.

          + *

          The type of network interface.

          */ - AssociationState?: RouteTableAssociationState; -} + InterfaceType?: NetworkInterfaceType | string; -export namespace RouteTableAssociation { /** - * @internal + *

          The IPv6 addresses associated with the network interface.

          */ - export const filterSensitiveLog = (obj: RouteTableAssociation): any => ({ - ...obj, - }); -} + Ipv6Addresses?: NetworkInterfaceIpv6Address[]; -/** - *

          Describes a virtual private gateway propagating route.

          - */ -export interface PropagatingVgw { /** - *

          The ID of the virtual private gateway.

          + *

          The MAC address.

          */ - GatewayId?: string; -} + MacAddress?: string; -export namespace PropagatingVgw { /** - * @internal + *

          The ID of the network interface.

          */ - export const filterSensitiveLog = (obj: PropagatingVgw): any => ({ - ...obj, - }); -} - -export type RouteOrigin = "CreateRoute" | "CreateRouteTable" | "EnableVgwRoutePropagation"; - -export type RouteState = "active" | "blackhole"; + NetworkInterfaceId?: string; -/** - *

          Describes a route in a route table.

          - */ -export interface Route { /** - *

          The IPv4 CIDR block used for the destination match.

          + *

          The Amazon Resource Name (ARN) of the Outpost.

          */ - DestinationCidrBlock?: string; + OutpostArn?: string; /** - *

          The IPv6 CIDR block used for the destination match.

          + *

          The Amazon Web Services account ID of the owner of the network interface.

          */ - DestinationIpv6CidrBlock?: string; + OwnerId?: string; /** - *

          The prefix of the Amazon Web Service.

          + *

          The private DNS name.

          */ - DestinationPrefixListId?: string; + PrivateDnsName?: string; /** - *

          The ID of the egress-only internet gateway.

          + *

          The IPv4 address of the network interface within the subnet.

          */ - EgressOnlyInternetGatewayId?: string; + PrivateIpAddress?: string; /** - *

          The ID of a gateway attached to your VPC.

          + *

          The private IPv4 addresses associated with the network interface.

          */ - GatewayId?: string; + PrivateIpAddresses?: NetworkInterfacePrivateIpAddress[]; /** - *

          The ID of a NAT instance in your VPC.

          + *

          The IPv4 prefixes that are assigned to the network interface.

          */ - InstanceId?: string; + Ipv4Prefixes?: Ipv4PrefixSpecification[]; /** - *

          The ID of Amazon Web Services account that owns the instance.

          + *

          The IPv6 prefixes that are assigned to the network interface.

          */ - InstanceOwnerId?: string; + Ipv6Prefixes?: Ipv6PrefixSpecification[]; /** - *

          The ID of a NAT gateway.

          + *

          The alias or Amazon Web Services account ID of the principal or service that created the network interface.

          */ - NatGatewayId?: string; + RequesterId?: string; /** - *

          The ID of a transit gateway.

          + *

          Indicates whether the network interface is being managed by Amazon Web Services.

          */ - TransitGatewayId?: string; + RequesterManaged?: boolean; /** - *

          The ID of the local gateway.

          + *

          Indicates whether source/destination checking is enabled.

          */ - LocalGatewayId?: string; + SourceDestCheck?: boolean; /** - *

          The ID of the carrier gateway.

          + *

          The status of the network interface.

          */ - CarrierGatewayId?: string; + Status?: NetworkInterfaceStatus | string; /** - *

          The ID of the network interface.

          + *

          The ID of the subnet.

          */ - NetworkInterfaceId?: string; + SubnetId?: string; /** - *

          Describes how the route was created.

          - *
            - *
          • - *

            - * CreateRouteTable - The route was automatically created when the route table was created.

            - *
          • - *
          • - *

            - * CreateRoute - The route was manually added to the route table.

            - *
          • - *
          • - *

            - * EnableVgwRoutePropagation - The route was propagated by route propagation.

            - *
          • - *
          + *

          Any tags assigned to the network interface.

          */ - Origin?: RouteOrigin | string; + TagSet?: Tag[]; /** - *

          The state of the route. The blackhole state indicates that the - * route's target isn't available (for example, the specified gateway isn't attached to the - * VPC, or the specified NAT instance has been terminated).

          + *

          The ID of the VPC.

          */ - State?: RouteState | string; + VpcId?: string; /** - *

          The ID of a VPC peering connection.

          + *

          Indicates whether a network interface with an IPv6 address is unreachable from the + * public internet. If the value is true, inbound traffic from the internet + * is dropped and you cannot assign an elastic IP address to the network interface. The + * network interface is reachable from peered VPCs and resources connected through a + * transit gateway, including on-premises networks.

          */ - VpcPeeringConnectionId?: string; + DenyAllIgwTraffic?: boolean; } -export namespace Route { +export namespace NetworkInterface { /** * @internal */ - export const filterSensitiveLog = (obj: Route): any => ({ + export const filterSensitiveLog = (obj: NetworkInterface): any => ({ ...obj, }); } /** - *

          Describes a route table.

          + *

          Contains the output of CreateNetworkInterface.

          */ -export interface RouteTable { +export interface CreateNetworkInterfaceResult { /** - *

          The associations between the route table and one or more subnets or a gateway.

          + *

          Information about the network interface.

          */ - Associations?: RouteTableAssociation[]; + NetworkInterface?: NetworkInterface; /** - *

          Any virtual private gateway (VGW) propagating routes.

          + *

          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

          */ - PropagatingVgws?: PropagatingVgw[]; + ClientToken?: string; +} +export namespace CreateNetworkInterfaceResult { /** - *

          The ID of the route table.

          + * @internal */ - RouteTableId?: string; + export const filterSensitiveLog = (obj: CreateNetworkInterfaceResult): any => ({ + ...obj, + }); +} + +export type InterfacePermissionType = "EIP-ASSOCIATE" | "INSTANCE-ATTACH"; +/** + *

          Contains the parameters for CreateNetworkInterfacePermission.

          + */ +export interface CreateNetworkInterfacePermissionRequest { /** - *

          The routes in the route table.

          + *

          The ID of the network interface.

          */ - Routes?: Route[]; + NetworkInterfaceId: string | undefined; /** - *

          Any tags assigned to the route table.

          + *

          The Amazon Web Services account ID.

          */ - Tags?: Tag[]; + AwsAccountId?: string; /** - *

          The ID of the VPC.

          + *

          The Amazon Web Service. Currently not supported.

          */ - VpcId?: string; + AwsService?: string; /** - *

          The ID of the Amazon Web Services account that owns the route table.

          + *

          The type of permission to grant.

          */ - OwnerId?: string; + Permission: InterfacePermissionType | string | undefined; + + /** + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          + */ + DryRun?: boolean; } -export namespace RouteTable { +export namespace CreateNetworkInterfacePermissionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: RouteTable): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInterfacePermissionRequest): any => ({ ...obj, }); } -export interface CreateRouteTableResult { +export type NetworkInterfacePermissionStateCode = "granted" | "pending" | "revoked" | "revoking"; + +/** + *

          Describes the state of a network interface permission.

          + */ +export interface NetworkInterfacePermissionState { /** - *

          Information about the route table.

          + *

          The state of the permission.

          */ - RouteTable?: RouteTable; + State?: NetworkInterfacePermissionStateCode | string; + + /** + *

          A status message, if applicable.

          + */ + StatusMessage?: string; } -export namespace CreateRouteTableResult { +export namespace NetworkInterfacePermissionState { /** * @internal */ - export const filterSensitiveLog = (obj: CreateRouteTableResult): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfacePermissionState): any => ({ ...obj, }); } -export interface CreateSecurityGroupRequest { +/** + *

          Describes a permission for a network interface.

          + */ +export interface NetworkInterfacePermission { /** - *

          A description for the security group. This is informational only.

          - *

          Constraints: Up to 255 characters in length

          - *

          Constraints for EC2-Classic: ASCII characters

          - *

          Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

          + *

          The ID of the network interface permission.

          */ - Description: string | undefined; + NetworkInterfacePermissionId?: string; /** - *

          The name of the security group.

          - *

          Constraints: Up to 255 characters in length. Cannot start with - * sg-.

          - *

          Constraints for EC2-Classic: ASCII characters

          - *

          Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

          + *

          The ID of the network interface.

          */ - GroupName: string | undefined; + NetworkInterfaceId?: string; /** - *

          [EC2-VPC] The ID of the VPC. Required for EC2-VPC.

          + *

          The Amazon Web Services account ID.

          */ - VpcId?: string; + AwsAccountId?: string; + + /** + *

          The Amazon Web Service.

          + */ + AwsService?: string; /** - *

          The tags to assign to the security group.

          + *

          The type of permission.

          */ - TagSpecifications?: TagSpecification[]; + Permission?: InterfacePermissionType | string; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          Information about the state of the permission.

          */ - DryRun?: boolean; + PermissionState?: NetworkInterfacePermissionState; } -export namespace CreateSecurityGroupRequest { +export namespace NetworkInterfacePermission { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSecurityGroupRequest): any => ({ + export const filterSensitiveLog = (obj: NetworkInterfacePermission): any => ({ ...obj, }); } -export interface CreateSecurityGroupResult { - /** - *

          The ID of the security group.

          - */ - GroupId?: string; - +/** + *

          Contains the output of CreateNetworkInterfacePermission.

          + */ +export interface CreateNetworkInterfacePermissionResult { /** - *

          The tags assigned to the security group.

          + *

          Information about the permission for the network interface.

          */ - Tags?: Tag[]; + InterfacePermission?: NetworkInterfacePermission; } -export namespace CreateSecurityGroupResult { +export namespace CreateNetworkInterfacePermissionResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSecurityGroupResult): any => ({ + export const filterSensitiveLog = (obj: CreateNetworkInterfacePermissionResult): any => ({ ...obj, }); } -export interface CreateSnapshotRequest { +export type PlacementStrategy = "cluster" | "partition" | "spread"; + +export interface CreatePlacementGroupRequest { /** - *

          A description for the snapshot.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - Description?: string; + DryRun?: boolean; /** - *

          The Amazon Resource Name (ARN) of the Outpost on which to create a local - * snapshot.

          - *
            - *
          • - *

            To create a snapshot of a volume in a Region, omit this parameter. The snapshot - * is created in the same Region as the volume.

            - *
          • - *
          • - *

            To create a snapshot of a volume on an Outpost and store the snapshot in the - * Region, omit this parameter. The snapshot is created in the Region for the - * Outpost.

            - *
          • - *
          • - *

            To create a snapshot of a volume on an Outpost and store the snapshot on an - * Outpost, specify the ARN of the destination Outpost. The snapshot must be created on - * the same Outpost as the volume.

            - *
          • - *
          - *

          For more information, see Create local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

          + *

          A name for the placement group. Must be unique within the scope of your account for + * the Region.

          + *

          Constraints: Up to 255 ASCII characters

          */ - OutpostArn?: string; + GroupName?: string; /** - *

          The ID of the Amazon EBS volume.

          + *

          The placement strategy.

          */ - VolumeId: string | undefined; + Strategy?: PlacementStrategy | string; /** - *

          The tags to apply to the snapshot during creation.

          + *

          The number of partitions. Valid only when Strategy is + * set to partition.

          */ - TagSpecifications?: TagSpecification[]; + PartitionCount?: number; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The tags to apply to the new placement group.

          */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; } -export namespace CreateSnapshotRequest { +export namespace CreatePlacementGroupRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSnapshotRequest): any => ({ + export const filterSensitiveLog = (obj: CreatePlacementGroupRequest): any => ({ ...obj, }); } -export type SnapshotState = "completed" | "error" | "pending"; +export type PlacementGroupState = "available" | "deleted" | "deleting" | "pending"; /** - *

          Describes a snapshot.

          + *

          Describes a placement group.

          */ -export interface Snapshot { - /** - *

          The data encryption key identifier for the snapshot. This value is a unique identifier - * that corresponds to the data encryption key that was used to encrypt the original volume or - * snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, - * and vice versa, if snapshots share the same data encryption key identifier, then they belong - * to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

          - */ - DataEncryptionKeyId?: string; - +export interface PlacementGroup { /** - *

          The description for the snapshot.

          + *

          The name of the placement group.

          */ - Description?: string; + GroupName?: string; /** - *

          Indicates whether the snapshot is encrypted.

          + *

          The state of the placement group.

          */ - Encrypted?: boolean; + State?: PlacementGroupState | string; /** - *

          The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the - * volume encryption key for the parent volume.

          + *

          The placement strategy.

          */ - KmsKeyId?: string; + Strategy?: PlacementStrategy | string; /** - *

          The ID of the Amazon Web Services account that owns the EBS snapshot.

          + *

          The number of partitions. Valid only if strategy is + * set to partition.

          */ - OwnerId?: string; + PartitionCount?: number; /** - *

          The progress of the snapshot, as a percentage.

          + *

          The ID of the placement group.

          */ - Progress?: string; + GroupId?: string; /** - *

          The ID of the snapshot. Each snapshot receives a unique identifier when it is - * created.

          + *

          Any tags applied to the placement group.

          */ - SnapshotId?: string; + Tags?: Tag[]; +} +export namespace PlacementGroup { /** - *

          The time stamp when the snapshot was initiated.

          + * @internal */ - StartTime?: Date; + export const filterSensitiveLog = (obj: PlacementGroup): any => ({ + ...obj, + }); +} +export interface CreatePlacementGroupResult { /** - *

          The snapshot state.

          + *

          Describes a placement group.

          */ - State?: SnapshotState | string; + PlacementGroup?: PlacementGroup; +} +export namespace CreatePlacementGroupResult { /** - *

          Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails - * (for example, if the proper Key Management Service (KMS) permissions are not obtained) this field displays error - * state details to help you diagnose why the error occurred. This parameter is only returned by - * DescribeSnapshots.

          + * @internal */ - StateMessage?: string; + export const filterSensitiveLog = (obj: CreatePlacementGroupResult): any => ({ + ...obj, + }); +} +export interface CreateReplaceRootVolumeTaskRequest { /** - *

          The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any - * purpose.

          + *

          The ID of the instance for which to replace the root volume.

          */ - VolumeId?: string; + InstanceId: string | undefined; /** - *

          The size of the volume, in GiB.

          + *

          The ID of the snapshot from which to restore the replacement root volume. If you want to + * restore the volume to the initial launch state, omit this parameter.

          */ - VolumeSize?: number; + SnapshotId?: string; /** - *

          The Amazon Web Services owner alias, from an Amazon-maintained list (amazon). This is not - * the user-configured Amazon Web Services account alias set using the IAM console.

          + *

          Unique, case-sensitive identifier you provide to ensure the idempotency of the request. + * If you do not specify a client token, a randomly generated token is used for the request + * to ensure idempotency. For more information, see Ensuring idempotency.

          */ - OwnerAlias?: string; + ClientToken?: string; /** - *

          The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the - * Amazon Elastic Compute Cloud User Guide.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - OutpostArn?: string; + DryRun?: boolean; /** - *

          Any tags assigned to the snapshot.

          + *

          The tags to apply to the root volume replacement task.

          */ - Tags?: Tag[]; + TagSpecifications?: TagSpecification[]; } -export namespace Snapshot { +export namespace CreateReplaceRootVolumeTaskRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Snapshot): any => ({ + export const filterSensitiveLog = (obj: CreateReplaceRootVolumeTaskRequest): any => ({ ...obj, }); } -export type CopyTagsFromSource = "volume"; +export enum ReplaceRootVolumeTaskState { + failed = "failed", + failed_detached = "failed-detached", + failing = "failing", + in_progress = "in-progress", + pending = "pending", + succeeded = "succeeded", +} /** - *

          The instance details to specify which volumes should be snapshotted.

          + *

          Information about a root volume replacement task.

          */ -export interface InstanceSpecification { +export interface ReplaceRootVolumeTask { /** - *

          The instance to specify which volumes should be snapshotted.

          + *

          The ID of the root volume replacement task.

          + */ + ReplaceRootVolumeTaskId?: string; + + /** + *

          The ID of the instance for which the root volume replacement task was created.

          */ InstanceId?: string; /** - *

          Excludes the root volume from being snapshotted.

          + *

          The state of the task. The task can be in one of the following states:

          + *
            + *
          • + *

            + * pending - the replacement volume is being created.

            + *
          • + *
          • + *

            + * in-progress - the original volume is being detached and the + * replacement volume is being attached.

            + *
          • + *
          • + *

            + * succeeded - the replacement volume has been successfully attached + * to the instance and the instance is available.

            + *
          • + *
          • + *

            + * failing - the replacement task is in the process of failing.

            + *
          • + *
          • + *

            + * failed - the replacement task has failed but the original root + * volume is still attached.

            + *
          • + *
          • + *

            + * failing-detached - the replacement task is in the process of failing. + * The instance might have no root volume attached.

            + *
          • + *
          • + *

            + * failed-detached - the replacement task has failed and the instance + * has no root volume attached.

            + *
          • + *
          + */ + TaskState?: ReplaceRootVolumeTaskState | string; + + /** + *

          The time the task was started.

          + */ + StartTime?: string; + + /** + *

          The time the task completed.

          + */ + CompleteTime?: string; + + /** + *

          The tags assigned to the task.

          */ - ExcludeBootVolume?: boolean; + Tags?: Tag[]; } -export namespace InstanceSpecification { +export namespace ReplaceRootVolumeTask { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceSpecification): any => ({ + export const filterSensitiveLog = (obj: ReplaceRootVolumeTask): any => ({ ...obj, }); } -export interface CreateSnapshotsRequest { - /** - *

          A description propagated to every snapshot specified by the instance.

          - */ - Description?: string; - +export interface CreateReplaceRootVolumeTaskResult { /** - *

          The instance to specify which volumes should be included in the snapshots.

          + *

          Information about the root volume replacement task.

          */ - InstanceSpecification: InstanceSpecification | undefined; + ReplaceRootVolumeTask?: ReplaceRootVolumeTask; +} +export namespace CreateReplaceRootVolumeTaskResult { /** - *

          The Amazon Resource Name (ARN) of the Outpost on which to create the local - * snapshots.

          - *
            - *
          • - *

            To create snapshots from an instance in a Region, omit this parameter. The - * snapshots are created in the same Region as the instance.

            - *
          • - *
          • - *

            To create snapshots from an instance on an Outpost and store the snapshots - * in the Region, omit this parameter. The snapshots are created in the Region - * for the Outpost.

            - *
          • - *
          • - *

            To create snapshots from an instance on an Outpost and store the snapshots - * on an Outpost, specify the ARN of the destination Outpost. The snapshots must - * be created on the same Outpost as the instance.

            - *
          • - *
          - *

          For more information, see - * Create multi-volume local snapshots from instances on an Outpost in the - * Amazon Elastic Compute Cloud User Guide.

          + * @internal */ - OutpostArn?: string; + export const filterSensitiveLog = (obj: CreateReplaceRootVolumeTaskResult): any => ({ + ...obj, + }); +} +/** + *

          Describes the price for a Reserved Instance.

          + */ +export interface PriceScheduleSpecification { /** - *

          Tags to apply to every snapshot specified by the instance.

          + *

          The currency for transacting the Reserved Instance resale. + * At this time, the only supported currency is USD.

          */ - TagSpecifications?: TagSpecification[]; + CurrencyCode?: CurrencyCodeValues | string; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The fixed price for the term.

          */ - DryRun?: boolean; + Price?: number; /** - *

          Copies the tags from the specified volume to corresponding snapshot.

          + *

          The number of months remaining in the reservation. For example, 2 is the second to the last month before the capacity reservation expires.

          */ - CopyTagsFromSource?: CopyTagsFromSource | string; + Term?: number; } -export namespace CreateSnapshotsRequest { +export namespace PriceScheduleSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSnapshotsRequest): any => ({ + export const filterSensitiveLog = (obj: PriceScheduleSpecification): any => ({ ...obj, }); } /** - *

          Information about a snapshot.

          + *

          Contains the parameters for CreateReservedInstancesListing.

          */ -export interface SnapshotInfo { +export interface CreateReservedInstancesListingRequest { /** - *

          Description specified by the CreateSnapshotRequest that has been applied to all - * snapshots.

          + *

          Unique, case-sensitive identifier you provide to ensure idempotency of your + * listings. This helps avoid duplicate listings. For more information, see + * Ensuring Idempotency.

          */ - Description?: string; + ClientToken: string | undefined; /** - *

          Tags associated with this snapshot.

          + *

          The number of instances that are a part of a Reserved Instance account to be listed in the Reserved Instance Marketplace. This number should be less than or equal to the instance count associated with the Reserved Instance ID specified in this call.

          */ - Tags?: Tag[]; + InstanceCount: number | undefined; /** - *

          Indicates whether the snapshot is encrypted.

          + *

          A list specifying the price of the Standard Reserved Instance for each month remaining in the Reserved Instance term.

          */ - Encrypted?: boolean; + PriceSchedules: PriceScheduleSpecification[] | undefined; /** - *

          Source volume from which this snapshot was created.

          + *

          The ID of the active Standard Reserved Instance.

          */ - VolumeId?: string; + ReservedInstancesId: string | undefined; +} +export namespace CreateReservedInstancesListingRequest { /** - *

          Current state of the snapshot.

          + * @internal */ - State?: SnapshotState | string; + export const filterSensitiveLog = (obj: CreateReservedInstancesListingRequest): any => ({ + ...obj, + }); +} +/** + *

          Contains the output of CreateReservedInstancesListing.

          + */ +export interface CreateReservedInstancesListingResult { /** - *

          Size of the volume from which this snapshot was created.

          + *

          Information about the Standard Reserved Instance listing.

          */ - VolumeSize?: number; + ReservedInstancesListings?: ReservedInstancesListing[]; +} +export namespace CreateReservedInstancesListingResult { /** - *

          Time this snapshot was started. This is the same for all snapshots initiated by the - * same request.

          + * @internal */ - StartTime?: Date; + export const filterSensitiveLog = (obj: CreateReservedInstancesListingResult): any => ({ + ...obj, + }); +} +export interface CreateRestoreImageTaskRequest { /** - *

          Progress this snapshot has made towards completing.

          + *

          The name of the Amazon S3 bucket that contains the stored AMI object.

          */ - Progress?: string; + Bucket: string | undefined; /** - *

          Account id used when creating this snapshot.

          + *

          The name of the stored AMI object in the bucket.

          */ - OwnerId?: string; + ObjectKey: string | undefined; /** - *

          Snapshot id that can be used to describe this snapshot.

          + *

          The name for the restored AMI. The name must be unique for AMIs in the Region for this + * account. If you do not provide a name, the new AMI gets the same name as the original + * AMI.

          */ - SnapshotId?: string; + Name?: string; /** - *

          The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the - * Amazon Elastic Compute Cloud User Guide.

          + *

          The tags to apply to the AMI and snapshots on restoration. You can tag the AMI, the + * snapshots, or both.

          + *
            + *
          • + *

            To tag the AMI, the value for ResourceType must be image.

            + *
          • + *
          • + *

            To + * tag the snapshots, the value for ResourceType must be snapshot. The + * same tag is applied to all of the snapshots that are created.

            + *
          • + *
          */ - OutpostArn?: string; + TagSpecifications?: TagSpecification[]; + + /** + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          + */ + DryRun?: boolean; } -export namespace SnapshotInfo { +export namespace CreateRestoreImageTaskRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotInfo): any => ({ + export const filterSensitiveLog = (obj: CreateRestoreImageTaskRequest): any => ({ ...obj, }); } -export interface CreateSnapshotsResult { +export interface CreateRestoreImageTaskResult { /** - *

          List of snapshots.

          + *

          The AMI ID.

          */ - Snapshots?: SnapshotInfo[]; + ImageId?: string; } -export namespace CreateSnapshotsResult { +export namespace CreateRestoreImageTaskResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSnapshotsResult): any => ({ + export const filterSensitiveLog = (obj: CreateRestoreImageTaskResult): any => ({ ...obj, }); } -/** - *

          Contains the parameters for CreateSpotDatafeedSubscription.

          - */ -export interface CreateSpotDatafeedSubscriptionRequest { +export interface CreateRouteRequest { /** - *

          The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For - * more information about bucket names, see Rules for bucket - * naming in the Amazon S3 Developer Guide.

          + *

          The IPv4 CIDR address block used for the destination match. Routing decisions are based on the most specific match. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

          */ - Bucket: string | undefined; + DestinationCidrBlock?: string; /** - *

          Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

          + *

          The IPv6 CIDR block used for the destination match. Routing decisions are based on the most specific match.

          + */ + DestinationIpv6CidrBlock?: string; + + /** + *

          The ID of a prefix list used for the destination match.

          + */ + DestinationPrefixListId?: string; + + /** + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ DryRun?: boolean; /** - *

          The prefix for the data feed file names.

          + *

          The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.

          */ - Prefix?: string; -} + VpcEndpointId?: string; -export namespace CreateSpotDatafeedSubscriptionRequest { /** - * @internal + *

          [IPv6 traffic only] The ID of an egress-only internet gateway.

          */ - export const filterSensitiveLog = (obj: CreateSpotDatafeedSubscriptionRequest): any => ({ - ...obj, - }); -} + EgressOnlyInternetGatewayId?: string; -/** - *

          Describes a Spot Instance state change.

          - */ -export interface SpotInstanceStateFault { /** - *

          The reason code for the Spot Instance state change.

          + *

          The ID of an internet gateway or virtual private gateway attached to your + * VPC.

          */ - Code?: string; + GatewayId?: string; /** - *

          The message for the Spot Instance state change.

          + *

          The ID of a NAT instance in your VPC. The operation fails if you specify an instance ID unless exactly one network interface is attached.

          */ - Message?: string; -} + InstanceId?: string; -export namespace SpotInstanceStateFault { /** - * @internal + *

          [IPv4 traffic only] The ID of a NAT gateway.

          */ - export const filterSensitiveLog = (obj: SpotInstanceStateFault): any => ({ - ...obj, - }); -} + NatGatewayId?: string; -export type DatafeedSubscriptionState = "Active" | "Inactive"; + /** + *

          The ID of a transit gateway.

          + */ + TransitGatewayId?: string; -/** - *

          Describes the data feed for a Spot Instance.

          - */ -export interface SpotDatafeedSubscription { /** - *

          The name of the Amazon S3 bucket where the Spot Instance data feed is located.

          + *

          The ID of the local gateway.

          */ - Bucket?: string; + LocalGatewayId?: string; /** - *

          The fault codes for the Spot Instance request, if any.

          + *

          The ID of the carrier gateway.

          + *

          You can only use this option when the VPC contains a subnet which is associated with a Wavelength Zone.

          */ - Fault?: SpotInstanceStateFault; + CarrierGatewayId?: string; /** - *

          The Amazon Web Services account ID of the account.

          + *

          The ID of a network interface.

          */ - OwnerId?: string; + NetworkInterfaceId?: string; /** - *

          The prefix for the data feed files.

          + *

          The ID of the route table for the route.

          */ - Prefix?: string; + RouteTableId: string | undefined; /** - *

          The state of the Spot Instance data feed subscription.

          + *

          The ID of a VPC peering connection.

          */ - State?: DatafeedSubscriptionState | string; + VpcPeeringConnectionId?: string; } -export namespace SpotDatafeedSubscription { +export namespace CreateRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotDatafeedSubscription): any => ({ + export const filterSensitiveLog = (obj: CreateRouteRequest): any => ({ ...obj, }); } -/** - *

          Contains the output of CreateSpotDatafeedSubscription.

          - */ -export interface CreateSpotDatafeedSubscriptionResult { +export interface CreateRouteResult { /** - *

          The Spot Instance data feed subscription.

          + *

          Returns true if the request succeeds; otherwise, it returns an error.

          */ - SpotDatafeedSubscription?: SpotDatafeedSubscription; + Return?: boolean; } -export namespace CreateSpotDatafeedSubscriptionResult { +export namespace CreateRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSpotDatafeedSubscriptionResult): any => ({ + export const filterSensitiveLog = (obj: CreateRouteResult): any => ({ ...obj, }); } -/** - *

          The tags to apply to the AMI object that will be stored in the Amazon S3 bucket. For more - * information, see Categorizing your storage using - * tags in the Amazon Simple Storage Service User Guide.

          - */ -export interface S3ObjectTag { +export interface CreateRouteTableRequest { /** - *

          The key of the tag.

          - *

          Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters in - * length. May not begin with aws:.

          + *

          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

          */ - Key?: string; + DryRun?: boolean; /** - *

          The value of the tag.

          - *

          Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters in - * length.

          + *

          The ID of the VPC.

          */ - Value?: string; + VpcId: string | undefined; + + /** + *

          The tags to assign to the route table.

          + */ + TagSpecifications?: TagSpecification[]; } -export namespace S3ObjectTag { +export namespace CreateRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: S3ObjectTag): any => ({ + export const filterSensitiveLog = (obj: CreateRouteTableRequest): any => ({ ...obj, }); } -export interface CreateStoreImageTaskRequest { +/** + *

          Describes an association between a route table and a subnet or gateway.

          + */ +export interface RouteTableAssociation { /** - *

          The ID of the AMI.

          + *

          Indicates whether this is the main route table.

          */ - ImageId: string | undefined; + Main?: boolean; /** - *

          The name of the Amazon S3 bucket in which the AMI object will be stored. The bucket must be in - * the Region in which the request is being made. The AMI object appears in the bucket only after - * the upload task has completed.

          + *

          The ID of the association.

          */ - Bucket: string | undefined; + RouteTableAssociationId?: string; /** - *

          The tags to apply to the AMI object that will be stored in the Amazon S3 bucket.

          + *

          The ID of the route table.

          */ - S3ObjectTags?: S3ObjectTag[]; + RouteTableId?: string; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The ID of the subnet. A subnet ID is not returned for an implicit association.

          */ - DryRun?: boolean; + SubnetId?: string; + + /** + *

          The ID of the internet gateway or virtual private gateway.

          + */ + GatewayId?: string; + + /** + *

          The state of the association.

          + */ + AssociationState?: RouteTableAssociationState; } -export namespace CreateStoreImageTaskRequest { +export namespace RouteTableAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: CreateStoreImageTaskRequest): any => ({ + export const filterSensitiveLog = (obj: RouteTableAssociation): any => ({ ...obj, }); } -export interface CreateStoreImageTaskResult { +/** + *

          Describes a virtual private gateway propagating route.

          + */ +export interface PropagatingVgw { /** - *

          The name of the stored AMI object in the S3 bucket.

          + *

          The ID of the virtual private gateway.

          */ - ObjectKey?: string; + GatewayId?: string; } -export namespace CreateStoreImageTaskResult { +export namespace PropagatingVgw { /** * @internal */ - export const filterSensitiveLog = (obj: CreateStoreImageTaskResult): any => ({ + export const filterSensitiveLog = (obj: PropagatingVgw): any => ({ ...obj, }); } -export interface CreateSubnetRequest { - /** - *

          The tags to assign to the subnet.

          - */ - TagSpecifications?: TagSpecification[]; +export type RouteOrigin = "CreateRoute" | "CreateRouteTable" | "EnableVgwRoutePropagation"; - /** - *

          The Availability Zone or Local Zone for the subnet.

          - *

          Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we - * do not necessarily select a different zone for each subnet.

          - *

          To create a subnet in a Local Zone, set this value to the Local Zone ID, for example - * us-west-2-lax-1a. For information about the Regions that support Local Zones, - * see Available Regions in the Amazon Elastic Compute Cloud User Guide.

          - *

          To create a subnet in an Outpost, set this value to the Availability Zone for the - * Outpost and specify the Outpost ARN.

          - */ - AvailabilityZone?: string; +export type RouteState = "active" | "blackhole"; +/** + *

          Describes a route in a route table.

          + */ +export interface Route { /** - *

          The AZ ID or the Local Zone ID of the subnet.

          + *

          The IPv4 CIDR block used for the destination match.

          */ - AvailabilityZoneId?: string; + DestinationCidrBlock?: string; /** - *

          The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

          + *

          The IPv6 CIDR block used for the destination match.

          */ - CidrBlock: string | undefined; + DestinationIpv6CidrBlock?: string; /** - *

          The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a - * /64 prefix length.

          + *

          The prefix of the Amazon Web Service.

          */ - Ipv6CidrBlock?: string; + DestinationPrefixListId?: string; /** - *

          The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also - * specify the Availability Zone of the Outpost subnet.

          + *

          The ID of the egress-only internet gateway.

          */ - OutpostArn?: string; + EgressOnlyInternetGatewayId?: string; /** - *

          The ID of the VPC.

          + *

          The ID of a gateway attached to your VPC.

          */ - VpcId: string | undefined; + GatewayId?: string; /** - *

          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

          + *

          The ID of a NAT instance in your VPC.

          */ - DryRun?: boolean; -} + InstanceId?: string; -export namespace CreateSubnetRequest { /** - * @internal + *

          The ID of Amazon Web Services account that owns the instance.

          */ - export const filterSensitiveLog = (obj: CreateSubnetRequest): any => ({ - ...obj, - }); -} + InstanceOwnerId?: string; -export interface CreateSubnetResult { /** - *

          Information about the subnet.

          + *

          The ID of a NAT gateway.

          */ - Subnet?: Subnet; -} + NatGatewayId?: string; -export namespace CreateSubnetResult { /** - * @internal + *

          The ID of a transit gateway.

          */ - export const filterSensitiveLog = (obj: CreateSubnetResult): any => ({ - ...obj, - }); -} - -export enum SubnetCidrReservationType { - explicit = "explicit", - prefix = "prefix", -} + TransitGatewayId?: string; -export interface CreateSubnetCidrReservationRequest { /** - *

          The tags to assign to the subnet CIDR reservation.

          + *

          The ID of the local gateway.

          */ - TagSpecifications?: TagSpecification[]; + LocalGatewayId?: string; /** - *

          The ID of the subnet.

          + *

          The ID of the carrier gateway.

          */ - SubnetId: string | undefined; + CarrierGatewayId?: string; /** - *

          The IPv4 or IPV6 CIDR range to reserve.

          + *

          The ID of the network interface.

          */ - Cidr: string | undefined; + NetworkInterfaceId?: string; /** - *

          The type of reservation.

          - *

          The following are valid values:

          - *
            + *

            Describes how the route was created.

            + *
              *
            • - *

              - * prefix: The Amazon EC2 - * Prefix - * Delegation feature assigns the IP addresses to network interfaces that are - * associated with an instance. For information about Prefix - * Delegation, - * see Prefix Delegation - * for Amazon EC2 network interfaces in the - * Amazon Elastic Compute Cloud User Guide.

              + *

              + * CreateRouteTable - The route was automatically created when the route table was created.

              *
            • *
            • - *

              - * explicit: You manually assign the IP addresses to resources that - * reside in your subnet.

              + *

              + * CreateRoute - The route was manually added to the route table.

              + *
            • + *
            • + *

              + * EnableVgwRoutePropagation - The route was propagated by route propagation.

              *
            • *
            */ - ReservationType: SubnetCidrReservationType | string | undefined; + Origin?: RouteOrigin | string; /** - *

            The - * description - * to assign to the subnet CIDR reservation.

            + *

            The state of the route. The blackhole state indicates that the + * route's target isn't available (for example, the specified gateway isn't attached to the + * VPC, or the specified NAT instance has been terminated).

            */ - Description?: string; + State?: RouteState | string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of a VPC peering connection.

            */ - DryRun?: boolean; + VpcPeeringConnectionId?: string; } -export namespace CreateSubnetCidrReservationRequest { +export namespace Route { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSubnetCidrReservationRequest): any => ({ + export const filterSensitiveLog = (obj: Route): any => ({ ...obj, }); } /** - *

            Describes a subnet CIDR reservation.

            + *

            Describes a route table.

            */ -export interface SubnetCidrReservation { +export interface RouteTable { /** - *

            The ID of the subnet CIDR reservation.

            + *

            The associations between the route table and one or more subnets or a gateway.

            */ - SubnetCidrReservationId?: string; + Associations?: RouteTableAssociation[]; /** - *

            The ID of the subnet.

            + *

            Any virtual private gateway (VGW) propagating routes.

            */ - SubnetId?: string; + PropagatingVgws?: PropagatingVgw[]; /** - *

            The CIDR that has been reserved.

            + *

            The ID of the route table.

            */ - Cidr?: string; + RouteTableId?: string; /** - *

            The type of reservation.

            + *

            The routes in the route table.

            */ - ReservationType?: SubnetCidrReservationType | string; + Routes?: Route[]; /** - *

            The ID of the account that owns the subnet CIDR reservation.

            + *

            Any tags assigned to the route table.

            */ - OwnerId?: string; + Tags?: Tag[]; /** - *

            The - * description - * assigned to the subnet CIDR - * reservation.

            + *

            The ID of the VPC.

            */ - Description?: string; + VpcId?: string; /** - *

            The tags assigned to the subnet CIDR reservation.

            + *

            The ID of the Amazon Web Services account that owns the route table.

            */ - Tags?: Tag[]; + OwnerId?: string; } -export namespace SubnetCidrReservation { +export namespace RouteTable { /** * @internal */ - export const filterSensitiveLog = (obj: SubnetCidrReservation): any => ({ + export const filterSensitiveLog = (obj: RouteTable): any => ({ ...obj, }); } -export interface CreateSubnetCidrReservationResult { +export interface CreateRouteTableResult { /** - *

            Information about the created subnet CIDR reservation.

            + *

            Information about the route table.

            */ - SubnetCidrReservation?: SubnetCidrReservation; + RouteTable?: RouteTable; } -export namespace CreateSubnetCidrReservationResult { +export namespace CreateRouteTableResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateSubnetCidrReservationResult): any => ({ + export const filterSensitiveLog = (obj: CreateRouteTableResult): any => ({ ...obj, }); } -export interface CreateTagsRequest { +export interface CreateSecurityGroupRequest { + /** + *

            A description for the security group. This is informational only.

            + *

            Constraints: Up to 255 characters in length

            + *

            Constraints for EC2-Classic: ASCII characters

            + *

            Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

            + */ + Description: string | undefined; + + /** + *

            The name of the security group.

            + *

            Constraints: Up to 255 characters in length. Cannot start with + * sg-.

            + *

            Constraints for EC2-Classic: ASCII characters

            + *

            Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*

            + */ + GroupName: string | undefined; + + /** + *

            [EC2-VPC] The ID of the VPC. Required for EC2-VPC.

            + */ + VpcId?: string; + + /** + *

            The tags to assign to the security group.

            + */ + TagSpecifications?: TagSpecification[]; + /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; +} +export namespace CreateSecurityGroupRequest { /** - *

            The IDs of the resources, separated by spaces.

            - *

            Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

            + * @internal */ - Resources: string[] | undefined; + export const filterSensitiveLog = (obj: CreateSecurityGroupRequest): any => ({ + ...obj, + }); +} +export interface CreateSecurityGroupResult { /** - *

            The tags. The value parameter is required, but if you don't want the tag to have a value, - * specify the parameter with no value, and we set the value to an empty string.

            + *

            The ID of the security group.

            */ - Tags: Tag[] | undefined; + GroupId?: string; + + /** + *

            The tags assigned to the security group.

            + */ + Tags?: Tag[]; } -export namespace CreateTagsRequest { +export namespace CreateSecurityGroupResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTagsRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSecurityGroupResult): any => ({ ...obj, }); } -export interface CreateTrafficMirrorFilterRequest { +export interface CreateSnapshotRequest { /** - *

            The description of the Traffic Mirror filter.

            + *

            A description for the snapshot.

            */ Description?: string; /** - *

            The tags to assign to a Traffic Mirror filter.

            + *

            The Amazon Resource Name (ARN) of the Outpost on which to create a local + * snapshot.

            + *
              + *
            • + *

              To create a snapshot of a volume in a Region, omit this parameter. The snapshot + * is created in the same Region as the volume.

              + *
            • + *
            • + *

              To create a snapshot of a volume on an Outpost and store the snapshot in the + * Region, omit this parameter. The snapshot is created in the Region for the + * Outpost.

              + *
            • + *
            • + *

              To create a snapshot of a volume on an Outpost and store the snapshot on an + * Outpost, specify the ARN of the destination Outpost. The snapshot must be created on + * the same Outpost as the volume.

              + *
            • + *
            + *

            For more information, see Create local snapshots from volumes on an Outpost in the Amazon Elastic Compute Cloud User Guide.

            + */ + OutpostArn?: string; + + /** + *

            The ID of the Amazon EBS volume.

            + */ + VolumeId: string | undefined; + + /** + *

            The tags to apply to the snapshot during creation.

            */ TagSpecifications?: TagSpecification[]; @@ -6029,484 +6485,540 @@ export interface CreateTrafficMirrorFilterRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; - - /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            - */ - ClientToken?: string; } -export namespace CreateTrafficMirrorFilterRequest { +export namespace CreateSnapshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSnapshotRequest): any => ({ ...obj, }); } +export type SnapshotState = "completed" | "error" | "pending"; + /** - *

            Describes the Traffic Mirror port range.

            + *

            Describes a snapshot.

            */ -export interface TrafficMirrorPortRange { +export interface Snapshot { /** - *

            The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

            + *

            The data encryption key identifier for the snapshot. This value is a unique identifier + * that corresponds to the data encryption key that was used to encrypt the original volume or + * snapshot copy. Because data encryption keys are inherited by volumes created from snapshots, + * and vice versa, if snapshots share the same data encryption key identifier, then they belong + * to the same volume/snapshot lineage. This parameter is only returned by DescribeSnapshots.

            */ - FromPort?: number; + DataEncryptionKeyId?: string; /** - *

            The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

            + *

            The description for the snapshot.

            */ - ToPort?: number; -} + Description?: string; -export namespace TrafficMirrorPortRange { /** - * @internal + *

            Indicates whether the snapshot is encrypted.

            */ - export const filterSensitiveLog = (obj: TrafficMirrorPortRange): any => ({ - ...obj, - }); -} - -export type TrafficMirrorRuleAction = "accept" | "reject"; + Encrypted?: boolean; -export type TrafficDirection = "egress" | "ingress"; + /** + *

            The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the + * volume encryption key for the parent volume.

            + */ + KmsKeyId?: string; -/** - *

            Describes the Traffic Mirror rule.

            - */ -export interface TrafficMirrorFilterRule { /** - *

            The ID of the Traffic Mirror rule.

            + *

            The ID of the Amazon Web Services account that owns the EBS snapshot.

            */ - TrafficMirrorFilterRuleId?: string; + OwnerId?: string; /** - *

            The ID of the Traffic Mirror filter that the rule is associated with.

            + *

            The progress of the snapshot, as a percentage.

            */ - TrafficMirrorFilterId?: string; + Progress?: string; /** - *

            The traffic direction assigned to the Traffic Mirror rule.

            + *

            The ID of the snapshot. Each snapshot receives a unique identifier when it is + * created.

            */ - TrafficDirection?: TrafficDirection | string; + SnapshotId?: string; /** - *

            The rule number of the Traffic Mirror rule.

            + *

            The time stamp when the snapshot was initiated.

            */ - RuleNumber?: number; + StartTime?: Date; /** - *

            The action assigned to the Traffic Mirror rule.

            + *

            The snapshot state.

            */ - RuleAction?: TrafficMirrorRuleAction | string; + State?: SnapshotState | string; /** - *

            The protocol assigned to the Traffic Mirror rule.

            + *

            Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy operation fails + * (for example, if the proper Key Management Service (KMS) permissions are not obtained) this field displays error + * state details to help you diagnose why the error occurred. This parameter is only returned by + * DescribeSnapshots.

            */ - Protocol?: number; + StateMessage?: string; /** - *

            The destination port range assigned to the Traffic Mirror rule.

            + *

            The ID of the volume that was used to create the snapshot. Snapshots created by the CopySnapshot action have an arbitrary volume ID that should not be used for any + * purpose.

            */ - DestinationPortRange?: TrafficMirrorPortRange; + VolumeId?: string; /** - *

            The source port range assigned to the Traffic Mirror rule.

            + *

            The size of the volume, in GiB.

            */ - SourcePortRange?: TrafficMirrorPortRange; + VolumeSize?: number; /** - *

            The destination CIDR block assigned to the Traffic Mirror rule.

            + *

            The Amazon Web Services owner alias, from an Amazon-maintained list (amazon). This is not + * the user-configured Amazon Web Services account alias set using the IAM console.

            */ - DestinationCidrBlock?: string; + OwnerAlias?: string; /** - *

            The source CIDR block assigned to the Traffic Mirror rule.

            + *

            The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the + * Amazon Elastic Compute Cloud User Guide.

            */ - SourceCidrBlock?: string; + OutpostArn?: string; /** - *

            The description of the Traffic Mirror rule.

            + *

            Any tags assigned to the snapshot.

            */ - Description?: string; + Tags?: Tag[]; } -export namespace TrafficMirrorFilterRule { +export namespace Snapshot { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficMirrorFilterRule): any => ({ + export const filterSensitiveLog = (obj: Snapshot): any => ({ ...obj, }); } -export type TrafficMirrorNetworkService = "amazon-dns"; +export type CopyTagsFromSource = "volume"; /** - *

            Describes the Traffic Mirror filter.

            - */ -export interface TrafficMirrorFilter { - /** - *

            The ID of the Traffic Mirror filter.

            - */ - TrafficMirrorFilterId?: string; - - /** - *

            Information about the ingress rules that are associated with the Traffic Mirror filter.

            - */ - IngressFilterRules?: TrafficMirrorFilterRule[]; - - /** - *

            Information about the egress rules that are associated with the Traffic Mirror filter.

            - */ - EgressFilterRules?: TrafficMirrorFilterRule[]; - - /** - *

            The network service traffic that is associated with the Traffic Mirror filter.

            - */ - NetworkServices?: (TrafficMirrorNetworkService | string)[]; - + *

            The instance details to specify which volumes should be snapshotted.

            + */ +export interface InstanceSpecification { /** - *

            The description of the Traffic Mirror filter.

            + *

            The instance to specify which volumes should be snapshotted.

            */ - Description?: string; + InstanceId?: string; /** - *

            The tags assigned to the Traffic Mirror filter.

            + *

            Excludes the root volume from being snapshotted.

            */ - Tags?: Tag[]; + ExcludeBootVolume?: boolean; } -export namespace TrafficMirrorFilter { +export namespace InstanceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficMirrorFilter): any => ({ + export const filterSensitiveLog = (obj: InstanceSpecification): any => ({ ...obj, }); } -export interface CreateTrafficMirrorFilterResult { +export interface CreateSnapshotsRequest { /** - *

            Information about the Traffic Mirror filter.

            + *

            A description propagated to every snapshot specified by the instance.

            */ - TrafficMirrorFilter?: TrafficMirrorFilter; + Description?: string; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + *

            The instance to specify which volumes should be included in the snapshots.

            */ - ClientToken?: string; -} + InstanceSpecification: InstanceSpecification | undefined; -export namespace CreateTrafficMirrorFilterResult { /** - * @internal + *

            The Amazon Resource Name (ARN) of the Outpost on which to create the local + * snapshots.

            + *
              + *
            • + *

              To create snapshots from an instance in a Region, omit this parameter. The + * snapshots are created in the same Region as the instance.

              + *
            • + *
            • + *

              To create snapshots from an instance on an Outpost and store the snapshots + * in the Region, omit this parameter. The snapshots are created in the Region + * for the Outpost.

              + *
            • + *
            • + *

              To create snapshots from an instance on an Outpost and store the snapshots + * on an Outpost, specify the ARN of the destination Outpost. The snapshots must + * be created on the same Outpost as the instance.

              + *
            • + *
            + *

            For more information, see + * Create multi-volume local snapshots from instances on an Outpost in the + * Amazon Elastic Compute Cloud User Guide.

            */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterResult): any => ({ - ...obj, - }); -} + OutpostArn?: string; -/** - *

            Information about the Traffic Mirror filter rule port range.

            - */ -export interface TrafficMirrorPortRangeRequest { /** - *

            The first port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

            + *

            Tags to apply to every snapshot specified by the instance.

            */ - FromPort?: number; + TagSpecifications?: TagSpecification[]; /** - *

            The last port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - ToPort?: number; + DryRun?: boolean; + + /** + *

            Copies the tags from the specified volume to corresponding snapshot.

            + */ + CopyTagsFromSource?: CopyTagsFromSource | string; } -export namespace TrafficMirrorPortRangeRequest { +export namespace CreateSnapshotsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficMirrorPortRangeRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSnapshotsRequest): any => ({ ...obj, }); } -export interface CreateTrafficMirrorFilterRuleRequest { +/** + *

            Information about a snapshot.

            + */ +export interface SnapshotInfo { /** - *

            The ID of the filter that this rule is associated with.

            + *

            Description specified by the CreateSnapshotRequest that has been applied to all + * snapshots.

            */ - TrafficMirrorFilterId: string | undefined; + Description?: string; /** - *

            The type of traffic.

            + *

            Tags associated with this snapshot.

            */ - TrafficDirection: TrafficDirection | string | undefined; + Tags?: Tag[]; /** - *

            The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given - * direction. The rules are processed in ascending order by rule number.

            + *

            Indicates whether the snapshot is encrypted.

            */ - RuleNumber: number | undefined; + Encrypted?: boolean; /** - *

            The action to take on the filtered traffic.

            + *

            Source volume from which this snapshot was created.

            */ - RuleAction: TrafficMirrorRuleAction | string | undefined; + VolumeId?: string; /** - *

            The destination port range.

            + *

            Current state of the snapshot.

            */ - DestinationPortRange?: TrafficMirrorPortRangeRequest; + State?: SnapshotState | string; /** - *

            The source port range.

            + *

            Size of the volume from which this snapshot was created.

            */ - SourcePortRange?: TrafficMirrorPortRangeRequest; + VolumeSize?: number; /** - *

            The protocol, for example UDP, to assign to the Traffic Mirror rule.

            - *

            For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

            + *

            Time this snapshot was started. This is the same for all snapshots initiated by the + * same request.

            */ - Protocol?: number; + StartTime?: Date; /** - *

            The destination CIDR block to assign to the Traffic Mirror rule.

            + *

            Progress this snapshot has made towards completing.

            */ - DestinationCidrBlock: string | undefined; + Progress?: string; /** - *

            The source CIDR block to assign to the Traffic Mirror rule.

            + *

            Account id used when creating this snapshot.

            */ - SourceCidrBlock: string | undefined; + OwnerId?: string; /** - *

            The description of the Traffic Mirror rule.

            + *

            Snapshot id that can be used to describe this snapshot.

            */ - Description?: string; + SnapshotId?: string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the + * Amazon Elastic Compute Cloud User Guide.

            */ - DryRun?: boolean; + OutpostArn?: string; +} +export namespace SnapshotInfo { /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: SnapshotInfo): any => ({ + ...obj, + }); } -export namespace CreateTrafficMirrorFilterRuleRequest { +export interface CreateSnapshotsResult { + /** + *

            List of snapshots.

            + */ + Snapshots?: SnapshotInfo[]; +} + +export namespace CreateSnapshotsResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRuleRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSnapshotsResult): any => ({ ...obj, }); } -export interface CreateTrafficMirrorFilterRuleResult { +/** + *

            Contains the parameters for CreateSpotDatafeedSubscription.

            + */ +export interface CreateSpotDatafeedSubscriptionRequest { /** - *

            The Traffic Mirror rule.

            + *

            The name of the Amazon S3 bucket in which to store the Spot Instance data feed. For + * more information about bucket names, see Rules for bucket + * naming in the Amazon S3 Developer Guide.

            */ - TrafficMirrorFilterRule?: TrafficMirrorFilterRule; + Bucket: string | undefined; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + *

            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

            */ - ClientToken?: string; + DryRun?: boolean; + + /** + *

            The prefix for the data feed file names.

            + */ + Prefix?: string; } -export namespace CreateTrafficMirrorFilterRuleResult { +export namespace CreateSpotDatafeedSubscriptionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRuleResult): any => ({ + export const filterSensitiveLog = (obj: CreateSpotDatafeedSubscriptionRequest): any => ({ ...obj, }); } -export interface CreateTrafficMirrorSessionRequest { +/** + *

            Describes a Spot Instance state change.

            + */ +export interface SpotInstanceStateFault { /** - *

            The ID of the source network interface.

            + *

            The reason code for the Spot Instance state change.

            */ - NetworkInterfaceId: string | undefined; + Code?: string; /** - *

            The ID of the Traffic Mirror target.

            + *

            The message for the Spot Instance state change.

            */ - TrafficMirrorTargetId: string | undefined; + Message?: string; +} +export namespace SpotInstanceStateFault { /** - *

            The ID of the Traffic Mirror filter.

            + * @internal */ - TrafficMirrorFilterId: string | undefined; + export const filterSensitiveLog = (obj: SpotInstanceStateFault): any => ({ + ...obj, + }); +} +export type DatafeedSubscriptionState = "Active" | "Inactive"; + +/** + *

            Describes the data feed for a Spot Instance.

            + */ +export interface SpotDatafeedSubscription { /** - *

            The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do - * not specify this parameter when you want to mirror the entire packet. To mirror a subset of - * the packet, set this to the length (in bytes) that you want to mirror. For example, if you - * set this value to 100, then the first 100 bytes that meet the filter criteria are copied to - * the target.

            - *

            If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

            + *

            The name of the Amazon S3 bucket where the Spot Instance data feed is located.

            */ - PacketLength?: number; + Bucket?: string; /** - *

            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

            - *

            Valid values are 1-32766.

            + *

            The fault codes for the Spot Instance request, if any.

            */ - SessionNumber: number | undefined; + Fault?: SpotInstanceStateFault; /** - *

            The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN - * protocol, see RFC 7348. If you do - * not specify a VirtualNetworkId, an account-wide unique id is chosen at - * random.

            + *

            The Amazon Web Services account ID of the account.

            */ - VirtualNetworkId?: number; + OwnerId?: string; /** - *

            The description of the Traffic Mirror session.

            + *

            The prefix for the data feed files.

            */ - Description?: string; + Prefix?: string; /** - *

            The tags to assign to a Traffic Mirror session.

            + *

            The state of the Spot Instance data feed subscription.

            */ - TagSpecifications?: TagSpecification[]; + State?: DatafeedSubscriptionState | string; +} +export namespace SpotDatafeedSubscription { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: SpotDatafeedSubscription): any => ({ + ...obj, + }); +} +/** + *

            Contains the output of CreateSpotDatafeedSubscription.

            + */ +export interface CreateSpotDatafeedSubscriptionResult { /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + *

            The Spot Instance data feed subscription.

            */ - ClientToken?: string; + SpotDatafeedSubscription?: SpotDatafeedSubscription; } -export namespace CreateTrafficMirrorSessionRequest { +export namespace CreateSpotDatafeedSubscriptionResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorSessionRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSpotDatafeedSubscriptionResult): any => ({ ...obj, }); } /** - *

            Describes a Traffic Mirror session.

            + *

            The tags to apply to the AMI object that will be stored in the Amazon S3 bucket. For more + * information, see Categorizing your storage using + * tags in the Amazon Simple Storage Service User Guide.

            */ -export interface TrafficMirrorSession { - /** - *

            The ID for the Traffic Mirror session.

            - */ - TrafficMirrorSessionId?: string; - +export interface S3ObjectTag { /** - *

            The ID of the Traffic Mirror target.

            + *

            The key of the tag.

            + *

            Constraints: Tag keys are case-sensitive and can be up to 128 Unicode characters in + * length. May not begin with aws:.

            */ - TrafficMirrorTargetId?: string; + Key?: string; /** - *

            The ID of the Traffic Mirror filter.

            + *

            The value of the tag.

            + *

            Constraints: Tag values are case-sensitive and can be up to 256 Unicode characters in + * length.

            */ - TrafficMirrorFilterId?: string; + Value?: string; +} +export namespace S3ObjectTag { /** - *

            The ID of the Traffic Mirror session's network interface.

            + * @internal */ - NetworkInterfaceId?: string; + export const filterSensitiveLog = (obj: S3ObjectTag): any => ({ + ...obj, + }); +} +export interface CreateStoreImageTaskRequest { /** - *

            The ID of the account that owns the Traffic Mirror session.

            + *

            The ID of the AMI.

            */ - OwnerId?: string; + ImageId: string | undefined; /** - *

            The number of bytes in each packet to mirror. These are the bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet

            + *

            The name of the Amazon S3 bucket in which the AMI object will be stored. The bucket must be in + * the Region in which the request is being made. The AMI object appears in the bucket only after + * the upload task has completed.

            */ - PacketLength?: number; + Bucket: string | undefined; /** - *

            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

            - *

            Valid values are 1-32766.

            + *

            The tags to apply to the AMI object that will be stored in the Amazon S3 bucket.

            */ - SessionNumber?: number; + S3ObjectTags?: S3ObjectTag[]; /** - *

            The virtual network ID associated with the Traffic Mirror session.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - VirtualNetworkId?: number; + DryRun?: boolean; +} +export namespace CreateStoreImageTaskRequest { /** - *

            The description of the Traffic Mirror session.

            + * @internal */ - Description?: string; + export const filterSensitiveLog = (obj: CreateStoreImageTaskRequest): any => ({ + ...obj, + }); +} +export interface CreateStoreImageTaskResult { /** - *

            The tags assigned to the Traffic Mirror session.

            + *

            The name of the stored AMI object in the S3 bucket.

            */ - Tags?: Tag[]; + ObjectKey?: string; } -export namespace TrafficMirrorSession { +export namespace CreateStoreImageTaskResult { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficMirrorSession): any => ({ + export const filterSensitiveLog = (obj: CreateStoreImageTaskResult): any => ({ ...obj, }); } -export interface CreateTrafficMirrorSessionResult { +export interface CreateSubnetRequest { /** - *

            Information about the Traffic Mirror session.

            + *

            The tags to assign to the subnet.

            */ - TrafficMirrorSession?: TrafficMirrorSession; + TagSpecifications?: TagSpecification[]; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + *

            The Availability Zone or Local Zone for the subnet.

            + *

            Default: Amazon Web Services selects one for you. If you create more than one subnet in your VPC, we + * do not necessarily select a different zone for each subnet.

            + *

            To create a subnet in a Local Zone, set this value to the Local Zone ID, for example + * us-west-2-lax-1a. For information about the Regions that support Local Zones, + * see Available Regions in the Amazon Elastic Compute Cloud User Guide.

            + *

            To create a subnet in an Outpost, set this value to the Availability Zone for the + * Outpost and specify the Outpost ARN.

            */ - ClientToken?: string; -} + AvailabilityZone?: string; -export namespace CreateTrafficMirrorSessionResult { /** - * @internal + *

            The AZ ID or the Local Zone ID of the subnet.

            */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorSessionResult): any => ({ - ...obj, - }); -} + AvailabilityZoneId?: string; -export interface CreateTrafficMirrorTargetRequest { /** - *

            The network interface ID that is associated with the target.

            + *

            The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

            */ - NetworkInterfaceId?: string; + CidrBlock: string | undefined; /** - *

            The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

            + *

            The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a + * /64 prefix length.

            */ - NetworkLoadBalancerArn?: string; + Ipv6CidrBlock?: string; /** - *

            The description of the Traffic Mirror target.

            + *

            The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also + * specify the Availability Zone of the Outpost subnet.

            */ - Description?: string; + OutpostArn?: string; /** - *

            The tags to assign to the Traffic Mirror target.

            + *

            The ID of the VPC.

            */ - TagSpecifications?: TagSpecification[]; + VpcId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -6514,172 +7026,208 @@ export interface CreateTrafficMirrorTargetRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; +} +export namespace CreateSubnetRequest { /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + * @internal */ - ClientToken?: string; + export const filterSensitiveLog = (obj: CreateSubnetRequest): any => ({ + ...obj, + }); } -export namespace CreateTrafficMirrorTargetRequest { +export interface CreateSubnetResult { + /** + *

            Information about the subnet.

            + */ + Subnet?: Subnet; +} + +export namespace CreateSubnetResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorTargetRequest): any => ({ + export const filterSensitiveLog = (obj: CreateSubnetResult): any => ({ ...obj, }); } -export type TrafficMirrorTargetType = "network-interface" | "network-load-balancer"; +export enum SubnetCidrReservationType { + explicit = "explicit", + prefix = "prefix", +} -/** - *

            Describes a Traffic Mirror target.

            - */ -export interface TrafficMirrorTarget { +export interface CreateSubnetCidrReservationRequest { /** - *

            The ID of the Traffic Mirror target.

            + *

            The tags to assign to the subnet CIDR reservation.

            */ - TrafficMirrorTargetId?: string; + TagSpecifications?: TagSpecification[]; /** - *

            The network interface ID that is attached to the target.

            + *

            The ID of the subnet.

            */ - NetworkInterfaceId?: string; + SubnetId: string | undefined; /** - *

            The Amazon Resource Name (ARN) of the Network Load Balancer.

            + *

            The IPv4 or IPV6 CIDR range to reserve.

            */ - NetworkLoadBalancerArn?: string; + Cidr: string | undefined; /** - *

            The type of Traffic Mirror target.

            + *

            The type of reservation.

            + *

            The following are valid values:

            + *
              + *
            • + *

              + * prefix: The Amazon EC2 + * Prefix + * Delegation feature assigns the IP addresses to network interfaces that are + * associated with an instance. For information about Prefix + * Delegation, + * see Prefix Delegation + * for Amazon EC2 network interfaces in the + * Amazon Elastic Compute Cloud User Guide.

              + *
            • + *
            • + *

              + * explicit: You manually assign the IP addresses to resources that + * reside in your subnet.

              + *
            • + *
            */ - Type?: TrafficMirrorTargetType | string; + ReservationType: SubnetCidrReservationType | string | undefined; /** - *

            Information about the Traffic Mirror target.

            + *

            The + * description + * to assign to the subnet CIDR reservation.

            */ Description?: string; /** - *

            The ID of the account that owns the Traffic Mirror target.

            - */ - OwnerId?: string; - - /** - *

            The tags assigned to the Traffic Mirror target.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Tags?: Tag[]; + DryRun?: boolean; } -export namespace TrafficMirrorTarget { +export namespace CreateSubnetCidrReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficMirrorTarget): any => ({ + export const filterSensitiveLog = (obj: CreateSubnetCidrReservationRequest): any => ({ ...obj, }); } -export interface CreateTrafficMirrorTargetResult { +/** + *

            Describes a subnet CIDR reservation.

            + */ +export interface SubnetCidrReservation { /** - *

            Information about the Traffic Mirror target.

            + *

            The ID of the subnet CIDR reservation.

            */ - TrafficMirrorTarget?: TrafficMirrorTarget; + SubnetCidrReservationId?: string; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + *

            The ID of the subnet.

            */ - ClientToken?: string; -} + SubnetId?: string; -export namespace CreateTrafficMirrorTargetResult { /** - * @internal + *

            The CIDR that has been reserved.

            */ - export const filterSensitiveLog = (obj: CreateTrafficMirrorTargetResult): any => ({ - ...obj, - }); -} - -export type AutoAcceptSharedAttachmentsValue = "disable" | "enable"; - -export type DefaultRouteTableAssociationValue = "disable" | "enable"; - -export type DefaultRouteTablePropagationValue = "disable" | "enable"; + Cidr?: string; -export type MulticastSupportValue = "disable" | "enable"; + /** + *

            The type of reservation.

            + */ + ReservationType?: SubnetCidrReservationType | string; -export type VpnEcmpSupportValue = "disable" | "enable"; + /** + *

            The ID of the account that owns the subnet CIDR reservation.

            + */ + OwnerId?: string; -/** - *

            Describes the options for a transit gateway.

            - */ -export interface TransitGatewayRequestOptions { /** - *

            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. - * The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.

            + *

            The + * description + * assigned to the subnet CIDR + * reservation.

            */ - AmazonSideAsn?: number; + Description?: string; /** - *

            Enable or disable automatic acceptance of attachment requests. Disabled by default.

            + *

            The tags assigned to the subnet CIDR reservation.

            */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + Tags?: Tag[]; +} +export namespace SubnetCidrReservation { /** - *

            Enable or disable automatic association with the default association route table. Enabled by default.

            + * @internal */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; + export const filterSensitiveLog = (obj: SubnetCidrReservation): any => ({ + ...obj, + }); +} +export interface CreateSubnetCidrReservationResult { /** - *

            Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

            + *

            Information about the created subnet CIDR reservation.

            */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + SubnetCidrReservation?: SubnetCidrReservation; +} +export namespace CreateSubnetCidrReservationResult { /** - *

            Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

            + * @internal */ - VpnEcmpSupport?: VpnEcmpSupportValue | string; + export const filterSensitiveLog = (obj: CreateSubnetCidrReservationResult): any => ({ + ...obj, + }); +} +export interface CreateTagsRequest { /** - *

            Enable or disable DNS support. Enabled by default.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - DnsSupport?: DnsSupportValue | string; + DryRun?: boolean; /** - *

            Indicates whether multicast is enabled on the transit gateway

            + *

            The IDs of the resources, separated by spaces.

            + *

            Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

            */ - MulticastSupport?: MulticastSupportValue | string; + Resources: string[] | undefined; /** - *

            One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

            + *

            The tags. The value parameter is required, but if you don't want the tag to have a value, + * specify the parameter with no value, and we set the value to an empty string.

            */ - TransitGatewayCidrBlocks?: string[]; + Tags: Tag[] | undefined; } -export namespace TransitGatewayRequestOptions { +export namespace CreateTagsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRequestOptions): any => ({ + export const filterSensitiveLog = (obj: CreateTagsRequest): any => ({ ...obj, }); } -export interface CreateTransitGatewayRequest { +export interface CreateTrafficMirrorFilterRequest { /** - *

            A description of the transit gateway.

            + *

            The description of the Traffic Mirror filter.

            */ Description?: string; /** - *

            The transit gateway options.

            - */ - Options?: TransitGatewayRequestOptions; - - /** - *

            The tags to apply to the transit gateway.

            + *

            The tags to assign to a Traffic Mirror filter.

            */ TagSpecifications?: TagSpecification[]; @@ -6689,345 +7237,353 @@ export interface CreateTransitGatewayRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; + + /** + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + */ + ClientToken?: string; } -export namespace CreateTransitGatewayRequest { +export namespace CreateTrafficMirrorFilterRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRequest): any => ({ ...obj, }); } /** - *

            Describes the options for a transit gateway.

            + *

            Describes the Traffic Mirror port range.

            */ -export interface TransitGatewayOptions { +export interface TrafficMirrorPortRange { /** - *

            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. - * The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

            + *

            The start of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

            */ - AmazonSideAsn?: number; + FromPort?: number; /** - *

            The transit gateway CIDR blocks.

            + *

            The end of the Traffic Mirror port range. This applies to the TCP and UDP protocols.

            */ - TransitGatewayCidrBlocks?: string[]; + ToPort?: number; +} +export namespace TrafficMirrorPortRange { /** - *

            Indicates whether attachment requests are automatically accepted.

            + * @internal */ - AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; + export const filterSensitiveLog = (obj: TrafficMirrorPortRange): any => ({ + ...obj, + }); +} + +export type TrafficMirrorRuleAction = "accept" | "reject"; +export type TrafficDirection = "egress" | "ingress"; + +/** + *

            Describes the Traffic Mirror rule.

            + */ +export interface TrafficMirrorFilterRule { /** - *

            Indicates whether resource attachments are automatically associated with the default association route table.

            + *

            The ID of the Traffic Mirror rule.

            */ - DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; + TrafficMirrorFilterRuleId?: string; /** - *

            The ID of the default association route table.

            + *

            The ID of the Traffic Mirror filter that the rule is associated with.

            */ - AssociationDefaultRouteTableId?: string; + TrafficMirrorFilterId?: string; /** - *

            Indicates whether resource attachments automatically propagate routes to the default propagation route table.

            + *

            The traffic direction assigned to the Traffic Mirror rule.

            */ - DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; + TrafficDirection?: TrafficDirection | string; /** - *

            The ID of the default propagation route table.

            + *

            The rule number of the Traffic Mirror rule.

            */ - PropagationDefaultRouteTableId?: string; + RuleNumber?: number; /** - *

            Indicates whether Equal Cost Multipath Protocol support is enabled.

            + *

            The action assigned to the Traffic Mirror rule.

            */ - VpnEcmpSupport?: VpnEcmpSupportValue | string; + RuleAction?: TrafficMirrorRuleAction | string; /** - *

            Indicates whether DNS support is enabled.

            + *

            The protocol assigned to the Traffic Mirror rule.

            */ - DnsSupport?: DnsSupportValue | string; + Protocol?: number; /** - *

            Indicates whether multicast is enabled on the transit gateway

            + *

            The destination port range assigned to the Traffic Mirror rule.

            */ - MulticastSupport?: MulticastSupportValue | string; + DestinationPortRange?: TrafficMirrorPortRange; + + /** + *

            The source port range assigned to the Traffic Mirror rule.

            + */ + SourcePortRange?: TrafficMirrorPortRange; + + /** + *

            The destination CIDR block assigned to the Traffic Mirror rule.

            + */ + DestinationCidrBlock?: string; + + /** + *

            The source CIDR block assigned to the Traffic Mirror rule.

            + */ + SourceCidrBlock?: string; + + /** + *

            The description of the Traffic Mirror rule.

            + */ + Description?: string; } -export namespace TransitGatewayOptions { +export namespace TrafficMirrorFilterRule { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayOptions): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorFilterRule): any => ({ ...obj, }); } -export type TransitGatewayState = "available" | "deleted" | "deleting" | "modifying" | "pending"; +export type TrafficMirrorNetworkService = "amazon-dns"; /** - *

            Describes a transit gateway.

            + *

            Describes the Traffic Mirror filter.

            */ -export interface TransitGateway { +export interface TrafficMirrorFilter { /** - *

            The ID of the transit gateway.

            + *

            The ID of the Traffic Mirror filter.

            */ - TransitGatewayId?: string; + TrafficMirrorFilterId?: string; /** - *

            The Amazon Resource Name (ARN) of the transit gateway.

            + *

            Information about the ingress rules that are associated with the Traffic Mirror filter.

            */ - TransitGatewayArn?: string; + IngressFilterRules?: TrafficMirrorFilterRule[]; /** - *

            The state of the transit gateway.

            + *

            Information about the egress rules that are associated with the Traffic Mirror filter.

            */ - State?: TransitGatewayState | string; + EgressFilterRules?: TrafficMirrorFilterRule[]; /** - *

            The ID of the Amazon Web Services account that owns the transit gateway.

            + *

            The network service traffic that is associated with the Traffic Mirror filter.

            */ - OwnerId?: string; + NetworkServices?: (TrafficMirrorNetworkService | string)[]; /** - *

            The description of the transit gateway.

            + *

            The description of the Traffic Mirror filter.

            */ Description?: string; /** - *

            The creation time.

            - */ - CreationTime?: Date; - - /** - *

            The transit gateway options.

            - */ - Options?: TransitGatewayOptions; - - /** - *

            The tags for the transit gateway.

            + *

            The tags assigned to the Traffic Mirror filter.

            */ Tags?: Tag[]; } -export namespace TransitGateway { +export namespace TrafficMirrorFilter { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGateway): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorFilter): any => ({ ...obj, }); } -export interface CreateTransitGatewayResult { +export interface CreateTrafficMirrorFilterResult { /** - *

            Information about the transit gateway.

            + *

            Information about the Traffic Mirror filter.

            */ - TransitGateway?: TransitGateway; + TrafficMirrorFilter?: TrafficMirrorFilter; + + /** + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + */ + ClientToken?: string; } -export namespace CreateTransitGatewayResult { +export namespace CreateTrafficMirrorFilterResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayResult): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterResult): any => ({ ...obj, }); } -export type ProtocolValue = "gre"; - /** - *

            The options for a Connect attachment.

            + *

            Information about the Traffic Mirror filter rule port range.

            */ -export interface CreateTransitGatewayConnectRequestOptions { +export interface TrafficMirrorPortRangeRequest { /** - *

            The tunnel protocol.

            + *

            The first port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

            */ - Protocol: ProtocolValue | string | undefined; + FromPort?: number; + + /** + *

            The last port in the Traffic Mirror port range. This applies to the TCP and UDP protocols.

            + */ + ToPort?: number; } -export namespace CreateTransitGatewayConnectRequestOptions { +export namespace TrafficMirrorPortRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectRequestOptions): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorPortRangeRequest): any => ({ ...obj, }); } -export interface CreateTransitGatewayConnectRequest { - /** - *

            The ID of the transit gateway attachment. You can specify a VPC attachment or Amazon Web Services Direct Connect attachment.

            - */ - TransportTransitGatewayAttachmentId: string | undefined; - - /** - *

            The Connect attachment options.

            - */ - Options: CreateTransitGatewayConnectRequestOptions | undefined; - +export interface CreateTrafficMirrorFilterRuleRequest { /** - *

            The tags to apply to the Connect attachment.

            + *

            The ID of the filter that this rule is associated with.

            */ - TagSpecifications?: TagSpecification[]; + TrafficMirrorFilterId: string | undefined; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The type of traffic.

            */ - DryRun?: boolean; -} + TrafficDirection: TrafficDirection | string | undefined; -export namespace CreateTransitGatewayConnectRequest { /** - * @internal + *

            The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given + * direction. The rules are processed in ascending order by rule number.

            */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectRequest): any => ({ - ...obj, - }); -} + RuleNumber: number | undefined; -/** - *

            Describes the Connect attachment options.

            - */ -export interface TransitGatewayConnectOptions { /** - *

            The tunnel protocol.

            + *

            The action to take on the filtered traffic.

            */ - Protocol?: ProtocolValue | string; -} + RuleAction: TrafficMirrorRuleAction | string | undefined; -export namespace TransitGatewayConnectOptions { /** - * @internal + *

            The destination port range.

            */ - export const filterSensitiveLog = (obj: TransitGatewayConnectOptions): any => ({ - ...obj, - }); -} + DestinationPortRange?: TrafficMirrorPortRangeRequest; -/** - *

            Describes a transit gateway Connect attachment.

            - */ -export interface TransitGatewayConnect { /** - *

            The ID of the Connect attachment.

            + *

            The source port range.

            */ - TransitGatewayAttachmentId?: string; + SourcePortRange?: TrafficMirrorPortRangeRequest; /** - *

            The ID of the attachment from which the Connect attachment was created.

            + *

            The protocol, for example UDP, to assign to the Traffic Mirror rule.

            + *

            For information about the protocol value, see Protocol Numbers on the Internet Assigned Numbers Authority (IANA) website.

            */ - TransportTransitGatewayAttachmentId?: string; + Protocol?: number; /** - *

            The ID of the transit gateway.

            + *

            The destination CIDR block to assign to the Traffic Mirror rule.

            */ - TransitGatewayId?: string; + DestinationCidrBlock: string | undefined; /** - *

            The state of the attachment.

            + *

            The source CIDR block to assign to the Traffic Mirror rule.

            */ - State?: TransitGatewayAttachmentState | string; + SourceCidrBlock: string | undefined; /** - *

            The creation time.

            + *

            The description of the Traffic Mirror rule.

            */ - CreationTime?: Date; + Description?: string; /** - *

            The Connect attachment options.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Options?: TransitGatewayConnectOptions; + DryRun?: boolean; /** - *

            The tags for the attachment.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            */ - Tags?: Tag[]; + ClientToken?: string; } -export namespace TransitGatewayConnect { +export namespace CreateTrafficMirrorFilterRuleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayConnect): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRuleRequest): any => ({ ...obj, }); } -export interface CreateTransitGatewayConnectResult { +export interface CreateTrafficMirrorFilterRuleResult { /** - *

            Information about the Connect attachment.

            + *

            The Traffic Mirror rule.

            */ - TransitGatewayConnect?: TransitGatewayConnect; + TrafficMirrorFilterRule?: TrafficMirrorFilterRule; + + /** + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + */ + ClientToken?: string; } -export namespace CreateTransitGatewayConnectResult { +export namespace CreateTrafficMirrorFilterRuleResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectResult): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorFilterRuleResult): any => ({ ...obj, }); } -/** - *

            The BGP options for the Connect attachment.

            - */ -export interface TransitGatewayConnectRequestBgpOptions { +export interface CreateTrafficMirrorSessionRequest { /** - *

            The peer Autonomous System Number (ASN).

            + *

            The ID of the source network interface.

            */ - PeerAsn?: number; -} + NetworkInterfaceId: string | undefined; -export namespace TransitGatewayConnectRequestBgpOptions { /** - * @internal + *

            The ID of the Traffic Mirror target.

            */ - export const filterSensitiveLog = (obj: TransitGatewayConnectRequestBgpOptions): any => ({ - ...obj, - }); -} + TrafficMirrorTargetId: string | undefined; -export interface CreateTransitGatewayConnectPeerRequest { /** - *

            The ID of the Connect attachment.

            + *

            The ID of the Traffic Mirror filter.

            */ - TransitGatewayAttachmentId: string | undefined; + TrafficMirrorFilterId: string | undefined; /** - *

            The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be - * specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns - * the first available IP address from the transit gateway CIDR block.

            + *

            The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do + * not specify this parameter when you want to mirror the entire packet. To mirror a subset of + * the packet, set this to the length (in bytes) that you want to mirror. For example, if you + * set this value to 100, then the first 100 bytes that meet the filter criteria are copied to + * the target.

            + *

            If you do not want to mirror the entire packet, use the PacketLength parameter to specify the number of bytes in each packet to mirror.

            */ - TransitGatewayAddress?: string; + PacketLength?: number; /** - *

            The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

            + *

            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

            + *

            Valid values are 1-32766.

            */ - PeerAddress: string | undefined; + SessionNumber: number | undefined; /** - *

            The BGP options for the Connect peer.

            + *

            The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN + * protocol, see RFC 7348. If you do + * not specify a VirtualNetworkId, an account-wide unique id is chosen at + * random.

            */ - BgpOptions?: TransitGatewayConnectRequestBgpOptions; + VirtualNetworkId?: number; /** - *

            The range of inside IP addresses that are used for BGP peering. You must specify a - * size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address - * from the range must be configured on the appliance as the BGP IP address. You can also - * optionally specify a size /125 IPv6 CIDR block from the fd00::/8 - * range.

            + *

            The description of the Traffic Mirror session.

            */ - InsideCidrBlocks: string[] | undefined; + Description?: string; /** - *

            The tags to apply to the Connect peer.

            + *

            The tags to assign to a Traffic Mirror session.

            */ TagSpecifications?: TagSpecification[]; @@ -7037,351 +7593,301 @@ export interface CreateTransitGatewayConnectPeerRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; + + /** + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            + */ + ClientToken?: string; } -export namespace CreateTransitGatewayConnectPeerRequest { +export namespace CreateTrafficMirrorSessionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorSessionRequest): any => ({ ...obj, }); } -export type BgpStatus = "down" | "up"; - /** - *

            The BGP configuration information.

            + *

            Describes a Traffic Mirror session.

            */ -export interface TransitGatewayAttachmentBgpConfiguration { - /** - *

            The transit gateway Autonomous System Number (ASN).

            - */ - TransitGatewayAsn?: number; - +export interface TrafficMirrorSession { /** - *

            The peer Autonomous System Number (ASN).

            + *

            The ID for the Traffic Mirror session.

            */ - PeerAsn?: number; + TrafficMirrorSessionId?: string; /** - *

            The interior BGP peer IP address for the transit gateway.

            + *

            The ID of the Traffic Mirror target.

            */ - TransitGatewayAddress?: string; + TrafficMirrorTargetId?: string; /** - *

            The interior BGP peer IP address for the appliance.

            + *

            The ID of the Traffic Mirror filter.

            */ - PeerAddress?: string; + TrafficMirrorFilterId?: string; /** - *

            The BGP status.

            + *

            The ID of the Traffic Mirror session's network interface.

            */ - BgpStatus?: BgpStatus | string; -} + NetworkInterfaceId?: string; -export namespace TransitGatewayAttachmentBgpConfiguration { /** - * @internal + *

            The ID of the account that owns the Traffic Mirror session.

            */ - export const filterSensitiveLog = (obj: TransitGatewayAttachmentBgpConfiguration): any => ({ - ...obj, - }); -} + OwnerId?: string; -/** - *

            Describes the Connect peer details.

            - */ -export interface TransitGatewayConnectPeerConfiguration { /** - *

            The Connect peer IP address on the transit gateway side of the tunnel.

            + *

            The number of bytes in each packet to mirror. These are the bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet

            */ - TransitGatewayAddress?: string; + PacketLength?: number; /** - *

            The Connect peer IP address on the appliance side of the tunnel.

            + *

            The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.

            + *

            Valid values are 1-32766.

            */ - PeerAddress?: string; + SessionNumber?: number; /** - *

            The range of interior BGP peer IP addresses.

            + *

            The virtual network ID associated with the Traffic Mirror session.

            */ - InsideCidrBlocks?: string[]; + VirtualNetworkId?: number; /** - *

            The tunnel protocol.

            + *

            The description of the Traffic Mirror session.

            */ - Protocol?: ProtocolValue | string; + Description?: string; /** - *

            The BGP configuration details.

            + *

            The tags assigned to the Traffic Mirror session.

            */ - BgpConfigurations?: TransitGatewayAttachmentBgpConfiguration[]; + Tags?: Tag[]; } -export namespace TransitGatewayConnectPeerConfiguration { +export namespace TrafficMirrorSession { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayConnectPeerConfiguration): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorSession): any => ({ ...obj, }); } -export type TransitGatewayConnectPeerState = "available" | "deleted" | "deleting" | "pending"; +export interface CreateTrafficMirrorSessionResult { + /** + *

            Information about the Traffic Mirror session.

            + */ + TrafficMirrorSession?: TrafficMirrorSession; -/** - *

            Describes a transit gateway Connect peer.

            - */ -export interface TransitGatewayConnectPeer { /** - *

            The ID of the Connect attachment.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            */ - TransitGatewayAttachmentId?: string; + ClientToken?: string; +} +export namespace CreateTrafficMirrorSessionResult { /** - *

            The ID of the Connect peer.

            + * @internal */ - TransitGatewayConnectPeerId?: string; + export const filterSensitiveLog = (obj: CreateTrafficMirrorSessionResult): any => ({ + ...obj, + }); +} +export interface CreateTrafficMirrorTargetRequest { /** - *

            The state of the Connect peer.

            + *

            The network interface ID that is associated with the target.

            */ - State?: TransitGatewayConnectPeerState | string; + NetworkInterfaceId?: string; /** - *

            The creation time.

            + *

            The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the target.

            */ - CreationTime?: Date; + NetworkLoadBalancerArn?: string; /** - *

            The Connect peer details.

            + *

            The description of the Traffic Mirror target.

            */ - ConnectPeerConfiguration?: TransitGatewayConnectPeerConfiguration; + Description?: string; /** - *

            The tags for the Connect peer.

            + *

            The tags to assign to the Traffic Mirror target.

            */ - Tags?: Tag[]; -} + TagSpecifications?: TagSpecification[]; -export namespace TransitGatewayConnectPeer { /** - * @internal + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - export const filterSensitiveLog = (obj: TransitGatewayConnectPeer): any => ({ - ...obj, - }); -} + DryRun?: boolean; -export interface CreateTransitGatewayConnectPeerResult { /** - *

            Information about the Connect peer.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            */ - TransitGatewayConnectPeer?: TransitGatewayConnectPeer; + ClientToken?: string; } -export namespace CreateTransitGatewayConnectPeerResult { +export namespace CreateTrafficMirrorTargetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerResult): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorTargetRequest): any => ({ ...obj, }); } -export type AutoAcceptSharedAssociationsValue = "disable" | "enable"; - -export type Igmpv2SupportValue = "disable" | "enable"; - -export type StaticSourcesSupportValue = "disable" | "enable"; +export type TrafficMirrorTargetType = "network-interface" | "network-load-balancer"; /** - *

            The options for the transit gateway multicast domain.

            + *

            Describes a Traffic Mirror target.

            */ -export interface CreateTransitGatewayMulticastDomainRequestOptions { - /** - *

            Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.

            - */ - Igmpv2Support?: Igmpv2SupportValue | string; - +export interface TrafficMirrorTarget { /** - *

            Specify whether to enable support for statically configuring multicast group sources for a domain.

            + *

            The ID of the Traffic Mirror target.

            */ - StaticSourcesSupport?: StaticSourcesSupportValue | string; + TrafficMirrorTargetId?: string; /** - *

            Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.

            + *

            The network interface ID that is attached to the target.

            */ - AutoAcceptSharedAssociations?: AutoAcceptSharedAssociationsValue | string; -} + NetworkInterfaceId?: string; -export namespace CreateTransitGatewayMulticastDomainRequestOptions { /** - * @internal + *

            The Amazon Resource Name (ARN) of the Network Load Balancer.

            */ - export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainRequestOptions): any => ({ - ...obj, - }); -} + NetworkLoadBalancerArn?: string; -export interface CreateTransitGatewayMulticastDomainRequest { /** - *

            The ID of the transit gateway.

            + *

            The type of Traffic Mirror target.

            */ - TransitGatewayId: string | undefined; + Type?: TrafficMirrorTargetType | string; /** - *

            The options for the transit gateway multicast domain.

            + *

            Information about the Traffic Mirror target.

            */ - Options?: CreateTransitGatewayMulticastDomainRequestOptions; + Description?: string; /** - *

            The tags for the transit gateway multicast domain.

            + *

            The ID of the account that owns the Traffic Mirror target.

            */ - TagSpecifications?: TagSpecification[]; + OwnerId?: string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The tags assigned to the Traffic Mirror target.

            */ - DryRun?: boolean; + Tags?: Tag[]; } -export namespace CreateTransitGatewayMulticastDomainRequest { +export namespace TrafficMirrorTarget { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainRequest): any => ({ + export const filterSensitiveLog = (obj: TrafficMirrorTarget): any => ({ ...obj, }); } -/** - *

            Describes the options for a transit gateway multicast domain.

            - */ -export interface TransitGatewayMulticastDomainOptions { - /** - *

            Indicates whether Internet Group Management Protocol (IGMP) version 2 is turned on for the transit gateway multicast domain.

            - */ - Igmpv2Support?: Igmpv2SupportValue | string; - +export interface CreateTrafficMirrorTargetResult { /** - *

            Indicates whether support for statically configuring transit gateway multicast group sources is turned on.

            + *

            Information about the Traffic Mirror target.

            */ - StaticSourcesSupport?: StaticSourcesSupportValue | string; + TrafficMirrorTarget?: TrafficMirrorTarget; /** - *

            Indicates whether to automatically cross-account subnet associations that are associated with the transit gateway multicast domain.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to ensure idempotency.

            */ - AutoAcceptSharedAssociations?: AutoAcceptSharedAssociationsValue | string; + ClientToken?: string; } -export namespace TransitGatewayMulticastDomainOptions { +export namespace CreateTrafficMirrorTargetResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainOptions): any => ({ + export const filterSensitiveLog = (obj: CreateTrafficMirrorTargetResult): any => ({ ...obj, }); } -export type TransitGatewayMulticastDomainState = "available" | "deleted" | "deleting" | "pending"; +export type AutoAcceptSharedAttachmentsValue = "disable" | "enable"; -/** - *

            Describes the transit gateway multicast domain.

            - */ -export interface TransitGatewayMulticastDomain { - /** - *

            The ID of the transit gateway multicast domain.

            - */ - TransitGatewayMulticastDomainId?: string; +export type DefaultRouteTableAssociationValue = "disable" | "enable"; - /** - *

            The ID of the transit gateway.

            - */ - TransitGatewayId?: string; +export type DefaultRouteTablePropagationValue = "disable" | "enable"; + +export type MulticastSupportValue = "disable" | "enable"; +export type VpnEcmpSupportValue = "disable" | "enable"; + +/** + *

            Describes the options for a transit gateway.

            + */ +export interface TransitGatewayRequestOptions { /** - *

            The Amazon Resource Name (ARN) of the transit gateway multicast domain.

            + *

            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. + * The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs. The default is 64512.

            */ - TransitGatewayMulticastDomainArn?: string; + AmazonSideAsn?: number; /** - *

            The ID of the Amazon Web Services account that owns the transit gateway multicast domain.

            + *

            Enable or disable automatic acceptance of attachment requests. Disabled by default.

            */ - OwnerId?: string; + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; /** - *

            The options for the transit gateway multicast domain.

            + *

            Enable or disable automatic association with the default association route table. Enabled by default.

            */ - Options?: TransitGatewayMulticastDomainOptions; + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; /** - *

            The state of the transit gateway multicast domain.

            + *

            Enable or disable automatic propagation of routes to the default propagation route table. Enabled by default.

            */ - State?: TransitGatewayMulticastDomainState | string; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; /** - *

            The time the transit gateway multicast domain was created.

            + *

            Enable or disable Equal Cost Multipath Protocol support. Enabled by default.

            */ - CreationTime?: Date; + VpnEcmpSupport?: VpnEcmpSupportValue | string; /** - *

            The tags for the transit gateway multicast domain.

            + *

            Enable or disable DNS support. Enabled by default.

            */ - Tags?: Tag[]; -} + DnsSupport?: DnsSupportValue | string; -export namespace TransitGatewayMulticastDomain { /** - * @internal + *

            Indicates whether multicast is enabled on the transit gateway

            */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDomain): any => ({ - ...obj, - }); -} + MulticastSupport?: MulticastSupportValue | string; -export interface CreateTransitGatewayMulticastDomainResult { /** - *

            Information about the transit gateway multicast domain.

            + *

            One or more IPv4 or IPv6 CIDR blocks for the transit gateway. Must be a size /24 CIDR block or larger for IPv4, or a size /64 CIDR block or larger for IPv6.

            */ - TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain; + TransitGatewayCidrBlocks?: string[]; } -export namespace CreateTransitGatewayMulticastDomainResult { +export namespace TransitGatewayRequestOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainResult): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRequestOptions): any => ({ ...obj, }); } -export interface CreateTransitGatewayPeeringAttachmentRequest { - /** - *

            The ID of the transit gateway.

            - */ - TransitGatewayId: string | undefined; - - /** - *

            The ID of the peer transit gateway with which to create the peering attachment.

            - */ - PeerTransitGatewayId: string | undefined; - +export interface CreateTransitGatewayRequest { /** - *

            The ID of the Amazon Web Services account that owns the peer transit gateway.

            + *

            A description of the transit gateway.

            */ - PeerAccountId: string | undefined; + Description?: string; /** - *

            The Region where the peer transit gateway is located.

            + *

            The transit gateway options.

            */ - PeerRegion: string | undefined; + Options?: TransitGatewayRequestOptions; /** - *

            The tags to apply to the transit gateway peering attachment.

            + *

            The tags to apply to the transit gateway.

            */ TagSpecifications?: TagSpecification[]; @@ -7393,181 +7899,188 @@ export interface CreateTransitGatewayPeeringAttachmentRequest { DryRun?: boolean; } -export namespace CreateTransitGatewayPeeringAttachmentRequest { +export namespace CreateTransitGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayRequest): any => ({ ...obj, }); } -export interface CreateTransitGatewayPeeringAttachmentResult { +/** + *

            Describes the options for a transit gateway.

            + */ +export interface TransitGatewayOptions { /** - *

            The transit gateway peering attachment.

            + *

            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. + * The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.

            */ - TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; -} + AmazonSideAsn?: number; -export namespace CreateTransitGatewayPeeringAttachmentResult { /** - * @internal + *

            The transit gateway CIDR blocks.

            */ - export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentResult): any => ({ - ...obj, - }); -} + TransitGatewayCidrBlocks?: string[]; -export interface CreateTransitGatewayPrefixListReferenceRequest { /** - *

            The ID of the transit gateway route table.

            + *

            Indicates whether attachment requests are automatically accepted.

            */ - TransitGatewayRouteTableId: string | undefined; + AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | string; /** - *

            The ID of the prefix list that is used for destination matches.

            + *

            Indicates whether resource attachments are automatically associated with the default association route table.

            */ - PrefixListId: string | undefined; + DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | string; /** - *

            The ID of the attachment to which traffic is routed.

            + *

            The ID of the default association route table.

            */ - TransitGatewayAttachmentId?: string; + AssociationDefaultRouteTableId?: string; /** - *

            Indicates whether to drop traffic that matches this route.

            + *

            Indicates whether resource attachments automatically propagate routes to the default propagation route table.

            */ - Blackhole?: boolean; + DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the default propagation route table.

            */ - DryRun?: boolean; + PropagationDefaultRouteTableId?: string; + + /** + *

            Indicates whether Equal Cost Multipath Protocol support is enabled.

            + */ + VpnEcmpSupport?: VpnEcmpSupportValue | string; + + /** + *

            Indicates whether DNS support is enabled.

            + */ + DnsSupport?: DnsSupportValue | string; + + /** + *

            Indicates whether multicast is enabled on the transit gateway

            + */ + MulticastSupport?: MulticastSupportValue | string; } -export namespace CreateTransitGatewayPrefixListReferenceRequest { +export namespace TransitGatewayOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayOptions): any => ({ ...obj, }); } -export type TransitGatewayPrefixListReferenceState = "available" | "deleting" | "modifying" | "pending"; +export type TransitGatewayState = "available" | "deleted" | "deleting" | "modifying" | "pending"; /** - *

            Describes a transit gateway prefix list attachment.

            + *

            Describes a transit gateway.

            */ -export interface TransitGatewayPrefixListAttachment { - /** - *

            The ID of the attachment.

            - */ - TransitGatewayAttachmentId?: string; - - /** - *

            The resource type. Note that the tgw-peering resource type has been deprecated.

            - */ - ResourceType?: TransitGatewayAttachmentResourceType | string; - +export interface TransitGateway { /** - *

            The ID of the resource.

            + *

            The ID of the transit gateway.

            */ - ResourceId?: string; -} + TransitGatewayId?: string; -export namespace TransitGatewayPrefixListAttachment { /** - * @internal + *

            The Amazon Resource Name (ARN) of the transit gateway.

            */ - export const filterSensitiveLog = (obj: TransitGatewayPrefixListAttachment): any => ({ - ...obj, - }); -} + TransitGatewayArn?: string; -/** - *

            Describes a prefix list reference.

            - */ -export interface TransitGatewayPrefixListReference { /** - *

            The ID of the transit gateway route table.

            + *

            The state of the transit gateway.

            */ - TransitGatewayRouteTableId?: string; + State?: TransitGatewayState | string; /** - *

            The ID of the prefix list.

            + *

            The ID of the Amazon Web Services account that owns the transit gateway.

            */ - PrefixListId?: string; + OwnerId?: string; /** - *

            The ID of the prefix list owner.

            + *

            The description of the transit gateway.

            */ - PrefixListOwnerId?: string; + Description?: string; /** - *

            The state of the prefix list reference.

            + *

            The creation time.

            */ - State?: TransitGatewayPrefixListReferenceState | string; + CreationTime?: Date; /** - *

            Indicates whether traffic that matches this route is dropped.

            + *

            The transit gateway options.

            */ - Blackhole?: boolean; + Options?: TransitGatewayOptions; /** - *

            Information about the transit gateway attachment.

            + *

            The tags for the transit gateway.

            */ - TransitGatewayAttachment?: TransitGatewayPrefixListAttachment; + Tags?: Tag[]; } -export namespace TransitGatewayPrefixListReference { +export namespace TransitGateway { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayPrefixListReference): any => ({ + export const filterSensitiveLog = (obj: TransitGateway): any => ({ ...obj, }); } -export interface CreateTransitGatewayPrefixListReferenceResult { +export interface CreateTransitGatewayResult { /** - *

            Information about the prefix list reference.

            + *

            Information about the transit gateway.

            */ - TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; + TransitGateway?: TransitGateway; } -export namespace CreateTransitGatewayPrefixListReferenceResult { +export namespace CreateTransitGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceResult): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayResult): any => ({ ...obj, }); } -export interface CreateTransitGatewayRouteRequest { +export type ProtocolValue = "gre"; + +/** + *

            The options for a Connect attachment.

            + */ +export interface CreateTransitGatewayConnectRequestOptions { /** - *

            The CIDR range used for destination matches. Routing decisions are based on the - * most specific match.

            + *

            The tunnel protocol.

            */ - DestinationCidrBlock: string | undefined; + Protocol: ProtocolValue | string | undefined; +} +export namespace CreateTransitGatewayConnectRequestOptions { /** - *

            The ID of the transit gateway route table.

            + * @internal */ - TransitGatewayRouteTableId: string | undefined; + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectRequestOptions): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayConnectRequest { /** - *

            The ID of the attachment.

            + *

            The ID of the transit gateway attachment. You can specify a VPC attachment or Amazon Web Services Direct Connect attachment.

            */ - TransitGatewayAttachmentId?: string; + TransportTransitGatewayAttachmentId: string | undefined; /** - *

            Indicates whether to drop traffic that matches this route.

            + *

            The Connect attachment options.

            */ - Blackhole?: boolean; + Options: CreateTransitGatewayConnectRequestOptions | undefined; + + /** + *

            The tags to apply to the Connect attachment.

            + */ + TagSpecifications?: TagSpecification[]; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -7577,593 +8090,508 @@ export interface CreateTransitGatewayRouteRequest { DryRun?: boolean; } -export namespace CreateTransitGatewayRouteRequest { +export namespace CreateTransitGatewayConnectRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectRequest): any => ({ ...obj, }); } -export type TransitGatewayRouteState = "active" | "blackhole" | "deleted" | "deleting" | "pending"; - /** - *

            Describes a route attachment.

            + *

            Describes the Connect attachment options.

            */ -export interface TransitGatewayRouteAttachment { - /** - *

            The ID of the resource.

            - */ - ResourceId?: string; - - /** - *

            The ID of the attachment.

            - */ - TransitGatewayAttachmentId?: string; - +export interface TransitGatewayConnectOptions { /** - *

            The resource type. Note that the tgw-peering resource type has been deprecated.

            + *

            The tunnel protocol.

            */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + Protocol?: ProtocolValue | string; } -export namespace TransitGatewayRouteAttachment { +export namespace TransitGatewayConnectOptions { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRouteAttachment): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayConnectOptions): any => ({ ...obj, }); } -export type TransitGatewayRouteType = "propagated" | "static"; - /** - *

            Describes a route for a transit gateway route table.

            + *

            Describes a transit gateway Connect attachment.

            */ -export interface TransitGatewayRoute { +export interface TransitGatewayConnect { /** - *

            The CIDR block used for destination matches.

            + *

            The ID of the Connect attachment.

            */ - DestinationCidrBlock?: string; + TransitGatewayAttachmentId?: string; /** - *

            The ID of the prefix list used for destination matches.

            + *

            The ID of the attachment from which the Connect attachment was created.

            */ - PrefixListId?: string; + TransportTransitGatewayAttachmentId?: string; /** - *

            The attachments.

            + *

            The ID of the transit gateway.

            */ - TransitGatewayAttachments?: TransitGatewayRouteAttachment[]; + TransitGatewayId?: string; /** - *

            The route type.

            + *

            The state of the attachment.

            */ - Type?: TransitGatewayRouteType | string; + State?: TransitGatewayAttachmentState | string; /** - *

            The state of the route.

            + *

            The creation time.

            */ - State?: TransitGatewayRouteState | string; -} + CreationTime?: Date; -export namespace TransitGatewayRoute { /** - * @internal + *

            The Connect attachment options.

            */ - export const filterSensitiveLog = (obj: TransitGatewayRoute): any => ({ - ...obj, - }); -} + Options?: TransitGatewayConnectOptions; -export interface CreateTransitGatewayRouteResult { /** - *

            Information about the route.

            + *

            The tags for the attachment.

            */ - Route?: TransitGatewayRoute; + Tags?: Tag[]; } -export namespace CreateTransitGatewayRouteResult { +export namespace TransitGatewayConnect { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRouteResult): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayConnect): any => ({ ...obj, }); } -export interface CreateTransitGatewayRouteTableRequest { +export interface CreateTransitGatewayConnectResult { /** - *

            The ID of the transit gateway.

            + *

            Information about the Connect attachment.

            */ - TransitGatewayId: string | undefined; + TransitGatewayConnect?: TransitGatewayConnect; +} +export namespace CreateTransitGatewayConnectResult { /** - *

            The tags to apply to the transit gateway route table.

            + * @internal */ - TagSpecifications?: TagSpecification[]; + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectResult): any => ({ + ...obj, + }); +} +/** + *

            The BGP options for the Connect attachment.

            + */ +export interface TransitGatewayConnectRequestBgpOptions { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The peer Autonomous System Number (ASN).

            */ - DryRun?: boolean; + PeerAsn?: number; } -export namespace CreateTransitGatewayRouteTableRequest { +export namespace TransitGatewayConnectRequestBgpOptions { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayConnectRequestBgpOptions): any => ({ ...obj, }); } -export type TransitGatewayRouteTableState = "available" | "deleted" | "deleting" | "pending"; - -/** - *

            Describes a transit gateway route table.

            - */ -export interface TransitGatewayRouteTable { +export interface CreateTransitGatewayConnectPeerRequest { /** - *

            The ID of the transit gateway route table.

            + *

            The ID of the Connect attachment.

            */ - TransitGatewayRouteTableId?: string; + TransitGatewayAttachmentId: string | undefined; /** - *

            The ID of the transit gateway.

            + *

            The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be + * specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns + * the first available IP address from the transit gateway CIDR block.

            */ - TransitGatewayId?: string; + TransitGatewayAddress?: string; /** - *

            The state of the transit gateway route table.

            + *

            The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.

            */ - State?: TransitGatewayRouteTableState | string; + PeerAddress: string | undefined; /** - *

            Indicates whether this is the default association route table for the transit gateway.

            + *

            The BGP options for the Connect peer.

            */ - DefaultAssociationRouteTable?: boolean; + BgpOptions?: TransitGatewayConnectRequestBgpOptions; /** - *

            Indicates whether this is the default propagation route table for the transit gateway.

            + *

            The range of inside IP addresses that are used for BGP peering. You must specify a + * size /29 IPv4 CIDR block from the 169.254.0.0/16 range. The first address + * from the range must be configured on the appliance as the BGP IP address. You can also + * optionally specify a size /125 IPv6 CIDR block from the fd00::/8 + * range.

            */ - DefaultPropagationRouteTable?: boolean; + InsideCidrBlocks: string[] | undefined; /** - *

            The creation time.

            + *

            The tags to apply to the Connect peer.

            */ - CreationTime?: Date; + TagSpecifications?: TagSpecification[]; /** - *

            Any tags assigned to the route table.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Tags?: Tag[]; + DryRun?: boolean; } -export namespace TransitGatewayRouteTable { +export namespace CreateTransitGatewayConnectPeerRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRouteTable): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerRequest): any => ({ ...obj, }); } -export interface CreateTransitGatewayRouteTableResult { +export type BgpStatus = "down" | "up"; + +/** + *

            The BGP configuration information.

            + */ +export interface TransitGatewayAttachmentBgpConfiguration { + /** + *

            The transit gateway Autonomous System Number (ASN).

            + */ + TransitGatewayAsn?: number; + + /** + *

            The peer Autonomous System Number (ASN).

            + */ + PeerAsn?: number; + + /** + *

            The interior BGP peer IP address for the transit gateway.

            + */ + TransitGatewayAddress?: string; + + /** + *

            The interior BGP peer IP address for the appliance.

            + */ + PeerAddress?: string; + /** - *

            Information about the transit gateway route table.

            + *

            The BGP status.

            */ - TransitGatewayRouteTable?: TransitGatewayRouteTable; + BgpStatus?: BgpStatus | string; } -export namespace CreateTransitGatewayRouteTableResult { +export namespace TransitGatewayAttachmentBgpConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayRouteTableResult): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayAttachmentBgpConfiguration): any => ({ ...obj, }); } /** - *

            Describes the options for a VPC attachment.

            + *

            Describes the Connect peer details.

            */ -export interface CreateTransitGatewayVpcAttachmentRequestOptions { +export interface TransitGatewayConnectPeerConfiguration { /** - *

            Enable or disable DNS support. The default is enable.

            + *

            The Connect peer IP address on the transit gateway side of the tunnel.

            */ - DnsSupport?: DnsSupportValue | string; + TransitGatewayAddress?: string; /** - *

            Enable or disable IPv6 support. The default is disable.

            + *

            The Connect peer IP address on the appliance side of the tunnel.

            */ - Ipv6Support?: Ipv6SupportValue | string; + PeerAddress?: string; /** - *

            Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

            + *

            The range of interior BGP peer IP addresses.

            */ - ApplianceModeSupport?: ApplianceModeSupportValue | string; + InsideCidrBlocks?: string[]; + + /** + *

            The tunnel protocol.

            + */ + Protocol?: ProtocolValue | string; + + /** + *

            The BGP configuration details.

            + */ + BgpConfigurations?: TransitGatewayAttachmentBgpConfiguration[]; } -export namespace CreateTransitGatewayVpcAttachmentRequestOptions { +export namespace TransitGatewayConnectPeerConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentRequestOptions): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayConnectPeerConfiguration): any => ({ ...obj, }); } -export interface CreateTransitGatewayVpcAttachmentRequest { +export type TransitGatewayConnectPeerState = "available" | "deleted" | "deleting" | "pending"; + +/** + *

            Describes a transit gateway Connect peer.

            + */ +export interface TransitGatewayConnectPeer { /** - *

            The ID of the transit gateway.

            + *

            The ID of the Connect attachment.

            */ - TransitGatewayId: string | undefined; + TransitGatewayAttachmentId?: string; /** - *

            The ID of the VPC.

            + *

            The ID of the Connect peer.

            */ - VpcId: string | undefined; + TransitGatewayConnectPeerId?: string; /** - *

            The IDs of one or more subnets. You can specify only one subnet per Availability Zone. - * You must specify at least one subnet, but we recommend that you specify two subnets for better availability. - * The transit gateway uses one IP address from each specified subnet.

            + *

            The state of the Connect peer.

            */ - SubnetIds: string[] | undefined; + State?: TransitGatewayConnectPeerState | string; /** - *

            The VPC attachment options.

            + *

            The creation time.

            */ - Options?: CreateTransitGatewayVpcAttachmentRequestOptions; + CreationTime?: Date; /** - *

            The tags to apply to the VPC attachment.

            + *

            The Connect peer details.

            */ - TagSpecifications?: TagSpecification[]; + ConnectPeerConfiguration?: TransitGatewayConnectPeerConfiguration; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The tags for the Connect peer.

            */ - DryRun?: boolean; + Tags?: Tag[]; } -export namespace CreateTransitGatewayVpcAttachmentRequest { +export namespace TransitGatewayConnectPeer { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayConnectPeer): any => ({ ...obj, }); } -export interface CreateTransitGatewayVpcAttachmentResult { +export interface CreateTransitGatewayConnectPeerResult { /** - *

            Information about the VPC attachment.

            + *

            Information about the Connect peer.

            */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; + TransitGatewayConnectPeer?: TransitGatewayConnectPeer; } -export namespace CreateTransitGatewayVpcAttachmentResult { +export namespace CreateTransitGatewayConnectPeerResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayConnectPeerResult): any => ({ ...obj, }); } -export interface CreateVolumeRequest { - /** - *

            The Availability Zone in which to create the volume.

            - */ - AvailabilityZone: string | undefined; - - /** - *

            Indicates whether the volume should be encrypted. - * The effect of setting the encryption state to true depends on - * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. - * For more information, see Encryption by default - * in the Amazon Elastic Compute Cloud User Guide.

            - *

            Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. - * For more information, see Supported - * instance types.

            - */ - Encrypted?: boolean; - - /** - *

            The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents - * the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline - * performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

            - *

            The following are the supported values for each volume type:

            - *
              - *
            • - *

              - * gp3: 3,000-16,000 IOPS

              - *
            • - *
            • - *

              - * io1: 100-64,000 IOPS

              - *
            • - *
            • - *

              - * io2: 100-64,000 IOPS

              - *
            • - *
            - *

            - * io1 and io2 volumes support up to 64,000 IOPS only on - * Instances built on the Nitro System. Other instance families support performance - * up to 32,000 IOPS.

            - *

            This parameter is required for io1 and io2 volumes. - * The default for gp3 volumes is 3,000 IOPS. - * This parameter is not supported for gp2, st1, sc1, or standard volumes.

            - */ - Iops?: number; +export type AutoAcceptSharedAssociationsValue = "disable" | "enable"; - /** - *

            The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. - * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is - * specified, the encrypted state must be true.

            - *

            You can specify the KMS key using any of the following:

            - *
              - *
            • - *

              Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

              - *
            • - *
            • - *

              Key alias. For example, alias/ExampleAlias.

              - *
            • - *
            • - *

              Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              - *
            • - *
            • - *

              Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

              - *
            • - *
            - *

            Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, - * the action can appear to complete, but eventually fails.

            - */ - KmsKeyId?: string; +export type Igmpv2SupportValue = "disable" | "enable"; - /** - *

            The Amazon Resource Name (ARN) of the Outpost.

            - */ - OutpostArn?: string; +export type StaticSourcesSupportValue = "disable" | "enable"; +/** + *

            The options for the transit gateway multicast domain.

            + */ +export interface CreateTransitGatewayMulticastDomainRequestOptions { /** - *

            The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. - * If you specify a snapshot, the default is the snapshot size. You can specify a volume - * size that is equal to or larger than the snapshot size.

            - *

            The following are the supported volumes sizes for each volume type:

            - *
              - *
            • - *

              - * gp2 and gp3: 1-16,384

              - *
            • - *
            • - *

              - * io1 and io2: 4-16,384

              - *
            • - *
            • - *

              - * st1 and sc1: 125-16,384

              - *
            • - *
            • - *

              - * standard: 1-1,024

              - *
            • - *
            + *

            Specify whether to enable Internet Group Management Protocol (IGMP) version 2 for the transit gateway multicast domain.

            */ - Size?: number; + Igmpv2Support?: Igmpv2SupportValue | string; /** - *

            The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

            + *

            Specify whether to enable support for statically configuring multicast group sources for a domain.

            */ - SnapshotId?: string; + StaticSourcesSupport?: StaticSourcesSupportValue | string; /** - *

            The volume type. This parameter can be one of the following values:

            - *
              - *
            • - *

              General Purpose SSD: gp2 | gp3 - *

              - *
            • - *
            • - *

              Provisioned IOPS SSD: io1 | io2 - *

              - *
            • - *
            • - *

              Throughput Optimized HDD: st1 - *

              - *
            • - *
            • - *

              Cold HDD: sc1 - *

              - *
            • - *
            • - *

              Magnetic: standard - *

              - *
            • - *
            - *

            For more information, see Amazon EBS volume types in the - * Amazon Elastic Compute Cloud User Guide.

            - *

            Default: gp2 - *

            + *

            Indicates whether to automatically accept cross-account subnet associations that are associated with the transit gateway multicast domain.

            */ - VolumeType?: VolumeType | string; + AutoAcceptSharedAssociations?: AutoAcceptSharedAssociationsValue | string; +} +export namespace CreateTransitGatewayMulticastDomainRequestOptions { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainRequestOptions): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayMulticastDomainRequest { /** - *

            The tags to apply to the volume during creation.

            + *

            The ID of the transit gateway.

            */ - TagSpecifications?: TagSpecification[]; + TransitGatewayId: string | undefined; /** - *

            Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the - * volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is - * supported with io1 and io2 volumes only. For more information, - * see - * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

            + *

            The options for the transit gateway multicast domain.

            */ - MultiAttachEnabled?: boolean; + Options?: CreateTransitGatewayMulticastDomainRequestOptions; /** - *

            The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

            - *

            This parameter is valid only for gp3 volumes.

            - *

            Valid Range: Minimum value of 125. Maximum value of 1000.

            + *

            The tags for the transit gateway multicast domain.

            */ - Throughput?: number; + TagSpecifications?: TagSpecification[]; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency - * of the request. For more information, see Ensure - * Idempotency.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - ClientToken?: string; + DryRun?: boolean; } -export namespace CreateVolumeRequest { +export namespace CreateTransitGatewayMulticastDomainRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainRequest): any => ({ ...obj, }); } -export type VolumeState = "available" | "creating" | "deleted" | "deleting" | "error" | "in-use"; - /** - *

            Describes a volume.

            + *

            Describes the options for a transit gateway multicast domain.

            */ -export interface Volume { - /** - *

            Information about the volume attachments.

            - */ - Attachments?: VolumeAttachment[]; - +export interface TransitGatewayMulticastDomainOptions { /** - *

            The Availability Zone for the volume.

            + *

            Indicates whether Internet Group Management Protocol (IGMP) version 2 is turned on for the transit gateway multicast domain.

            */ - AvailabilityZone?: string; + Igmpv2Support?: Igmpv2SupportValue | string; /** - *

            The time stamp when volume creation was initiated.

            + *

            Indicates whether support for statically configuring transit gateway multicast group sources is turned on.

            */ - CreateTime?: Date; + StaticSourcesSupport?: StaticSourcesSupportValue | string; /** - *

            Indicates whether the volume is encrypted.

            + *

            Indicates whether to automatically cross-account subnet associations that are associated with the transit gateway multicast domain.

            */ - Encrypted?: boolean; + AutoAcceptSharedAssociations?: AutoAcceptSharedAssociationsValue | string; +} +export namespace TransitGatewayMulticastDomainOptions { /** - *

            The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the - * volume encryption key for the volume.

            + * @internal */ - KmsKeyId?: string; + export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainOptions): any => ({ + ...obj, + }); +} - /** - *

            The Amazon Resource Name (ARN) of the Outpost.

            - */ - OutpostArn?: string; +export type TransitGatewayMulticastDomainState = "available" | "deleted" | "deleting" | "pending"; +/** + *

            Describes the transit gateway multicast domain.

            + */ +export interface TransitGatewayMulticastDomain { /** - *

            The size of the volume, in GiBs.

            + *

            The ID of the transit gateway multicast domain.

            */ - Size?: number; + TransitGatewayMulticastDomainId?: string; /** - *

            The snapshot from which the volume was created, if applicable.

            + *

            The ID of the transit gateway.

            */ - SnapshotId?: string; + TransitGatewayId?: string; /** - *

            The volume state.

            + *

            The Amazon Resource Name (ARN) of the transit gateway multicast domain.

            */ - State?: VolumeState | string; + TransitGatewayMulticastDomainArn?: string; /** - *

            The ID of the volume.

            + *

            The ID of the Amazon Web Services account that owns the transit gateway multicast domain.

            */ - VolumeId?: string; + OwnerId?: string; /** - *

            The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents - * the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline - * performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

            + *

            The options for the transit gateway multicast domain.

            */ - Iops?: number; + Options?: TransitGatewayMulticastDomainOptions; /** - *

            Any tags assigned to the volume.

            + *

            The state of the transit gateway multicast domain.

            */ - Tags?: Tag[]; + State?: TransitGatewayMulticastDomainState | string; /** - *

            The volume type.

            + *

            The time the transit gateway multicast domain was created.

            */ - VolumeType?: VolumeType | string; + CreationTime?: Date; /** - *

            Indicates whether the volume was created using fast snapshot restore.

            + *

            The tags for the transit gateway multicast domain.

            */ - FastRestored?: boolean; + Tags?: Tag[]; +} +export namespace TransitGatewayMulticastDomain { /** - *

            Indicates whether Amazon EBS Multi-Attach is enabled.

            + * @internal */ - MultiAttachEnabled?: boolean; + export const filterSensitiveLog = (obj: TransitGatewayMulticastDomain): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayMulticastDomainResult { /** - *

            The throughput that the volume supports, in MiB/s.

            + *

            Information about the transit gateway multicast domain.

            */ - Throughput?: number; + TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain; } -export namespace Volume { +export namespace CreateTransitGatewayMulticastDomainResult { /** * @internal */ - export const filterSensitiveLog = (obj: Volume): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayMulticastDomainResult): any => ({ ...obj, }); } -export interface CreateVpcRequest { +export interface CreateTransitGatewayPeeringAttachmentRequest { /** - *

            The IPv4 network range for the VPC, in CIDR notation. For example, - * 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

            + *

            The ID of the transit gateway.

            */ - CidrBlock: string | undefined; + TransitGatewayId: string | undefined; /** - *

            Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. - * You cannot specify the range of IP addresses, or the size of the CIDR block.

            + *

            The ID of the peer transit gateway with which to create the peering attachment.

            */ - AmazonProvidedIpv6CidrBlock?: boolean; + PeerTransitGatewayId: string | undefined; /** - *

            The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

            + *

            The ID of the Amazon Web Services account that owns the peer transit gateway.

            */ - Ipv6Pool?: string; + PeerAccountId: string | undefined; /** - *

            The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

            - *

            To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

            + *

            The Region where the peer transit gateway is located.

            */ - Ipv6CidrBlock?: string; + PeerRegion: string | undefined; + + /** + *

            The tags to apply to the transit gateway peering attachment.

            + */ + TagSpecifications?: TagSpecification[]; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -8171,1396 +8599,1267 @@ export interface CreateVpcRequest { * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; - - /** - *

            The tenancy options for instances launched into the VPC. For default, instances - * are launched with shared tenancy by default. You can launch instances with any tenancy into a - * shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy - * instances by default. You can only launch instances with a tenancy of dedicated - * or host into a dedicated tenancy VPC.

            - *

            - * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

            - *

            Default: default - *

            - */ - InstanceTenancy?: Tenancy | string; - - /** - *

            The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

            - *

            You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

            - */ - Ipv6CidrBlockNetworkBorderGroup?: string; - - /** - *

            The tags to assign to the VPC.

            - */ - TagSpecifications?: TagSpecification[]; } -export namespace CreateVpcRequest { +export namespace CreateTransitGatewayPeeringAttachmentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcRequest): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentRequest): any => ({ ...obj, }); } -export interface CreateVpcResult { +export interface CreateTransitGatewayPeeringAttachmentResult { /** - *

            Information about the VPC.

            + *

            The transit gateway peering attachment.

            */ - Vpc?: Vpc; + TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; } -export namespace CreateVpcResult { +export namespace CreateTransitGatewayPeeringAttachmentResult { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcResult): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayPeeringAttachmentResult): any => ({ ...obj, }); } -export enum VpcEndpointType { - Gateway = "Gateway", - GatewayLoadBalancer = "GatewayLoadBalancer", - Interface = "Interface", -} - -/** - *

            Contains the parameters for CreateVpcEndpoint.

            - */ -export interface CreateVpcEndpointRequest { - /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            - */ - DryRun?: boolean; - +export interface CreateTransitGatewayPrefixListReferenceRequest { /** - *

            The type of endpoint.

            - *

            Default: Gateway

            + *

            The ID of the transit gateway route table.

            */ - VpcEndpointType?: VpcEndpointType | string; + TransitGatewayRouteTableId: string | undefined; /** - *

            The ID of the VPC in which the endpoint will be used.

            + *

            The ID of the prefix list that is used for destination matches.

            */ - VpcId: string | undefined; + PrefixListId: string | undefined; /** - *

            The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service - * provider.

            + *

            The ID of the attachment to which traffic is routed.

            */ - ServiceName: string | undefined; + TransitGatewayAttachmentId?: string; /** - *

            (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the - * service. The policy must be in valid JSON format. If this parameter is not specified, we - * attach a default policy that allows full access to the service.

            + *

            Indicates whether to drop traffic that matches this route.

            */ - PolicyDocument?: string; + Blackhole?: boolean; /** - *

            (Gateway endpoint) One or more route table IDs.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - RouteTableIds?: string[]; + DryRun?: boolean; +} +export namespace CreateTransitGatewayPrefixListReferenceRequest { /** - *

            (Interface and Gateway Load Balancer endpoints) The ID of one or more subnets in which to create an endpoint - * network interface. For a Gateway Load Balancer endpoint, you can specify one subnet only.

            + * @internal */ - SubnetIds?: string[]; + export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceRequest): any => ({ + ...obj, + }); +} - /** - *

            (Interface endpoint) The ID of one or more security groups to associate with the - * endpoint network interface.

            - */ - SecurityGroupIds?: string[]; +export type TransitGatewayPrefixListReferenceState = "available" | "deleting" | "modifying" | "pending"; +/** + *

            Describes a transit gateway prefix list attachment.

            + */ +export interface TransitGatewayPrefixListAttachment { /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to ensure - * idempotency.

            + *

            The ID of the attachment.

            */ - ClientToken?: string; + TransitGatewayAttachmentId?: string; /** - *

            (Interface endpoint) Indicates whether to associate a private hosted zone with the - * specified VPC. The private hosted zone contains a record set for the default public DNS - * name for the service for the Region (for example, - * kinesis.us-east-1.amazonaws.com), which resolves to the private IP - * addresses of the endpoint network interfaces in the VPC. This enables you to make - * requests to the default public DNS name for the service instead of the public DNS names - * that are automatically generated by the VPC endpoint service.

            - *

            To use a private hosted zone, you must set the following VPC attributes to - * true: enableDnsHostnames and - * enableDnsSupport. Use ModifyVpcAttribute to set the VPC - * attributes.

            - *

            Default: true - *

            + *

            The resource type. Note that the tgw-peering resource type has been deprecated.

            */ - PrivateDnsEnabled?: boolean; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

            The tags to associate with the endpoint.

            + *

            The ID of the resource.

            */ - TagSpecifications?: TagSpecification[]; + ResourceId?: string; } -export namespace CreateVpcEndpointRequest { +export namespace TransitGatewayPrefixListAttachment { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayPrefixListAttachment): any => ({ ...obj, }); } /** - *

            Describes a DNS entry.

            + *

            Describes a prefix list reference.

            */ -export interface DnsEntry { +export interface TransitGatewayPrefixListReference { /** - *

            The DNS name.

            + *

            The ID of the transit gateway route table.

            */ - DnsName?: string; + TransitGatewayRouteTableId?: string; /** - *

            The ID of the private hosted zone.

            + *

            The ID of the prefix list.

            */ - HostedZoneId?: string; -} + PrefixListId?: string; -export namespace DnsEntry { /** - * @internal + *

            The ID of the prefix list owner.

            */ - export const filterSensitiveLog = (obj: DnsEntry): any => ({ - ...obj, - }); -} + PrefixListOwnerId?: string; -/** - *

            Describes a security group.

            - */ -export interface SecurityGroupIdentifier { /** - *

            The ID of the security group.

            + *

            The state of the prefix list reference.

            */ - GroupId?: string; + State?: TransitGatewayPrefixListReferenceState | string; /** - *

            The name of the security group.

            + *

            Indicates whether traffic that matches this route is dropped.

            */ - GroupName?: string; + Blackhole?: boolean; + + /** + *

            Information about the transit gateway attachment.

            + */ + TransitGatewayAttachment?: TransitGatewayPrefixListAttachment; } -export namespace SecurityGroupIdentifier { +export namespace TransitGatewayPrefixListReference { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupIdentifier): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayPrefixListReference): any => ({ ...obj, }); } -/** - *

            The last error that occurred for a VPC endpoint.

            - */ -export interface LastError { - /** - *

            The error message for the VPC endpoint error.

            - */ - Message?: string; - +export interface CreateTransitGatewayPrefixListReferenceResult { /** - *

            The error code for the VPC endpoint error.

            + *

            Information about the prefix list reference.

            */ - Code?: string; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; } -export namespace LastError { +export namespace CreateTransitGatewayPrefixListReferenceResult { /** * @internal */ - export const filterSensitiveLog = (obj: LastError): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayPrefixListReferenceResult): any => ({ ...obj, }); } -export enum State { - Available = "Available", - Deleted = "Deleted", - Deleting = "Deleting", - Expired = "Expired", - Failed = "Failed", - Pending = "Pending", - PendingAcceptance = "PendingAcceptance", - Rejected = "Rejected", -} - -/** - *

            Describes a VPC endpoint.

            - */ -export interface VpcEndpoint { +export interface CreateTransitGatewayRouteRequest { /** - *

            The ID of the VPC endpoint.

            + *

            The CIDR range used for destination matches. Routing decisions are based on the + * most specific match.

            */ - VpcEndpointId?: string; + DestinationCidrBlock: string | undefined; /** - *

            The type of endpoint.

            + *

            The ID of the transit gateway route table.

            */ - VpcEndpointType?: VpcEndpointType | string; + TransitGatewayRouteTableId: string | undefined; /** - *

            The ID of the VPC to which the endpoint is associated.

            + *

            The ID of the attachment.

            */ - VpcId?: string; + TransitGatewayAttachmentId?: string; /** - *

            The name of the service to which the endpoint is associated.

            + *

            Indicates whether to drop traffic that matches this route.

            */ - ServiceName?: string; + Blackhole?: boolean; /** - *

            The state of the VPC endpoint.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - State?: State | string; + DryRun?: boolean; +} +export namespace CreateTransitGatewayRouteRequest { /** - *

            The policy document associated with the endpoint, if applicable.

            + * @internal */ - PolicyDocument?: string; + export const filterSensitiveLog = (obj: CreateTransitGatewayRouteRequest): any => ({ + ...obj, + }); +} + +export type TransitGatewayRouteState = "active" | "blackhole" | "deleted" | "deleting" | "pending"; +/** + *

            Describes a route attachment.

            + */ +export interface TransitGatewayRouteAttachment { /** - *

            (Gateway endpoint) One or more route tables associated with the endpoint.

            + *

            The ID of the resource.

            */ - RouteTableIds?: string[]; + ResourceId?: string; /** - *

            (Interface endpoint) One or more subnets in which the endpoint is located.

            + *

            The ID of the attachment.

            */ - SubnetIds?: string[]; + TransitGatewayAttachmentId?: string; /** - *

            (Interface endpoint) Information about the security groups that are associated with - * the network interface.

            + *

            The resource type. Note that the tgw-peering resource type has been deprecated.

            */ - Groups?: SecurityGroupIdentifier[]; + ResourceType?: TransitGatewayAttachmentResourceType | string; +} +export namespace TransitGatewayRouteAttachment { /** - *

            (Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

            + * @internal */ - PrivateDnsEnabled?: boolean; + export const filterSensitiveLog = (obj: TransitGatewayRouteAttachment): any => ({ + ...obj, + }); +} + +export type TransitGatewayRouteType = "propagated" | "static"; +/** + *

            Describes a route for a transit gateway route table.

            + */ +export interface TransitGatewayRoute { /** - *

            Indicates whether the VPC endpoint is being managed by its service.

            + *

            The CIDR block used for destination matches.

            */ - RequesterManaged?: boolean; + DestinationCidrBlock?: string; /** - *

            (Interface endpoint) One or more network interfaces for the endpoint.

            + *

            The ID of the prefix list used for destination matches.

            */ - NetworkInterfaceIds?: string[]; + PrefixListId?: string; /** - *

            (Interface endpoint) The DNS entries for the endpoint.

            + *

            The attachments.

            */ - DnsEntries?: DnsEntry[]; + TransitGatewayAttachments?: TransitGatewayRouteAttachment[]; /** - *

            The date and time that the VPC endpoint was created.

            + *

            The route type.

            */ - CreationTimestamp?: Date; + Type?: TransitGatewayRouteType | string; /** - *

            Any tags assigned to the VPC endpoint.

            + *

            The state of the route.

            */ - Tags?: Tag[]; + State?: TransitGatewayRouteState | string; +} +export namespace TransitGatewayRoute { /** - *

            The ID of the Amazon Web Services account that owns the VPC endpoint.

            + * @internal */ - OwnerId?: string; + export const filterSensitiveLog = (obj: TransitGatewayRoute): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayRouteResult { /** - *

            The last error that occurred for VPC endpoint.

            + *

            Information about the route.

            */ - LastError?: LastError; + Route?: TransitGatewayRoute; } -export namespace VpcEndpoint { +export namespace CreateTransitGatewayRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: VpcEndpoint): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayRouteResult): any => ({ ...obj, }); } -/** - *

            Contains the output of CreateVpcEndpoint.

            - */ -export interface CreateVpcEndpointResult { +export interface CreateTransitGatewayRouteTableRequest { /** - *

            Information about the endpoint.

            + *

            The ID of the transit gateway.

            */ - VpcEndpoint?: VpcEndpoint; + TransitGatewayId: string | undefined; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

            + *

            The tags to apply to the transit gateway route table.

            */ - ClientToken?: string; + TagSpecifications?: TagSpecification[]; + + /** + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            + */ + DryRun?: boolean; } -export namespace CreateVpcEndpointResult { +export namespace CreateTransitGatewayRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointResult): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayRouteTableRequest): any => ({ ...obj, }); } -export interface CreateVpcEndpointConnectionNotificationRequest { +export type TransitGatewayRouteTableState = "available" | "deleted" | "deleting" | "pending"; + +/** + *

            Describes a transit gateway route table.

            + */ +export interface TransitGatewayRouteTable { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the transit gateway route table.

            */ - DryRun?: boolean; + TransitGatewayRouteTableId?: string; /** - *

            The ID of the endpoint service.

            + *

            The ID of the transit gateway.

            */ - ServiceId?: string; + TransitGatewayId?: string; /** - *

            The ID of the endpoint.

            + *

            The state of the transit gateway route table.

            */ - VpcEndpointId?: string; + State?: TransitGatewayRouteTableState | string; /** - *

            The ARN of the SNS topic for the notifications.

            + *

            Indicates whether this is the default association route table for the transit gateway.

            */ - ConnectionNotificationArn: string | undefined; + DefaultAssociationRouteTable?: boolean; /** - *

            One or more endpoint events for which to receive notifications. Valid values are - * Accept, Connect, Delete, and - * Reject.

            + *

            Indicates whether this is the default propagation route table for the transit gateway.

            */ - ConnectionEvents: string[] | undefined; + DefaultPropagationRouteTable?: boolean; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to ensure - * idempotency.

            + *

            The creation time.

            */ - ClientToken?: string; + CreationTime?: Date; + + /** + *

            Any tags assigned to the route table.

            + */ + Tags?: Tag[]; } -export namespace CreateVpcEndpointConnectionNotificationRequest { +export namespace TransitGatewayRouteTable { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointConnectionNotificationRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRouteTable): any => ({ ...obj, }); } -export enum ConnectionNotificationState { - Disabled = "Disabled", - Enabled = "Enabled", +export interface CreateTransitGatewayRouteTableResult { + /** + *

            Information about the transit gateway route table.

            + */ + TransitGatewayRouteTable?: TransitGatewayRouteTable; } -export enum ConnectionNotificationType { - Topic = "Topic", +export namespace CreateTransitGatewayRouteTableResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateTransitGatewayRouteTableResult): any => ({ + ...obj, + }); } /** - *

            Describes a connection notification for a VPC endpoint or VPC endpoint - * service.

            + *

            Describes the options for a VPC attachment.

            */ -export interface ConnectionNotification { +export interface CreateTransitGatewayVpcAttachmentRequestOptions { /** - *

            The ID of the notification.

            + *

            Enable or disable DNS support. The default is enable.

            */ - ConnectionNotificationId?: string; + DnsSupport?: DnsSupportValue | string; /** - *

            The ID of the endpoint service.

            + *

            Enable or disable IPv6 support. The default is disable.

            */ - ServiceId?: string; + Ipv6Support?: Ipv6SupportValue | string; /** - *

            The ID of the VPC endpoint.

            + *

            Enable or disable support for appliance mode. If enabled, a traffic flow between a source and destination uses the same Availability Zone for the VPC attachment for the lifetime of that flow. The default is disable.

            */ - VpcEndpointId?: string; + ApplianceModeSupport?: ApplianceModeSupportValue | string; +} +export namespace CreateTransitGatewayVpcAttachmentRequestOptions { /** - *

            The type of notification.

            + * @internal */ - ConnectionNotificationType?: ConnectionNotificationType | string; + export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentRequestOptions): any => ({ + ...obj, + }); +} +export interface CreateTransitGatewayVpcAttachmentRequest { /** - *

            The ARN of the SNS topic for the notification.

            + *

            The ID of the transit gateway.

            */ - ConnectionNotificationArn?: string; + TransitGatewayId: string | undefined; /** - *

            The events for the notification. Valid values are Accept, - * Connect, Delete, and Reject.

            + *

            The ID of the VPC.

            */ - ConnectionEvents?: string[]; + VpcId: string | undefined; /** - *

            The state of the notification.

            + *

            The IDs of one or more subnets. You can specify only one subnet per Availability Zone. + * You must specify at least one subnet, but we recommend that you specify two subnets for better availability. + * The transit gateway uses one IP address from each specified subnet.

            */ - ConnectionNotificationState?: ConnectionNotificationState | string; -} + SubnetIds: string[] | undefined; -export namespace ConnectionNotification { /** - * @internal + *

            The VPC attachment options.

            */ - export const filterSensitiveLog = (obj: ConnectionNotification): any => ({ - ...obj, - }); -} + Options?: CreateTransitGatewayVpcAttachmentRequestOptions; -export interface CreateVpcEndpointConnectionNotificationResult { /** - *

            Information about the notification.

            + *

            The tags to apply to the VPC attachment.

            */ - ConnectionNotification?: ConnectionNotification; + TagSpecifications?: TagSpecification[]; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - ClientToken?: string; + DryRun?: boolean; } -export namespace CreateVpcEndpointConnectionNotificationResult { +export namespace CreateTransitGatewayVpcAttachmentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointConnectionNotificationResult): any => ({ + export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentRequest): any => ({ ...obj, }); } -export interface CreateVpcEndpointServiceConfigurationRequest { +export interface CreateTransitGatewayVpcAttachmentResult { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            Information about the VPC attachment.

            */ - DryRun?: boolean; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} +export namespace CreateTransitGatewayVpcAttachmentResult { /** - *

            Indicates whether requests from service consumers to create an endpoint to your service must - * be accepted. To accept a request, use AcceptVpcEndpointConnections.

            + * @internal */ - AcceptanceRequired?: boolean; + export const filterSensitiveLog = (obj: CreateTransitGatewayVpcAttachmentResult): any => ({ + ...obj, + }); +} +export interface CreateVolumeRequest { /** - *

            (Interface endpoint configuration) The private DNS name to assign to the VPC endpoint service.

            + *

            The Availability Zone in which to create the volume.

            */ - PrivateDnsName?: string; + AvailabilityZone: string | undefined; /** - *

            The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your - * service.

            + *

            Indicates whether the volume should be encrypted. + * The effect of setting the encryption state to true depends on + * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. + * For more information, see Encryption by default + * in the Amazon Elastic Compute Cloud User Guide.

            + *

            Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. + * For more information, see Supported + * instance types.

            */ - NetworkLoadBalancerArns?: string[]; + Encrypted?: boolean; /** - *

            The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.

            + *

            The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents + * the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline + * performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

            + *

            The following are the supported values for each volume type:

            + *
              + *
            • + *

              + * gp3: 3,000-16,000 IOPS

              + *
            • + *
            • + *

              + * io1: 100-64,000 IOPS

              + *
            • + *
            • + *

              + * io2: 100-64,000 IOPS

              + *
            • + *
            + *

            + * io1 and io2 volumes support up to 64,000 IOPS only on + * Instances built on the Nitro System. Other instance families support performance + * up to 32,000 IOPS.

            + *

            This parameter is required for io1 and io2 volumes. + * The default for gp3 volumes is 3,000 IOPS. + * This parameter is not supported for gp2, st1, sc1, or standard volumes.

            */ - GatewayLoadBalancerArns?: string[]; + Iops?: number; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - * For more information, see How to ensure - * idempotency.

            + *

            The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. + * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is + * specified, the encrypted state must be true.

            + *

            You can specify the KMS key using any of the following:

            + *
              + *
            • + *

              Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

              + *
            • + *
            • + *

              Key alias. For example, alias/ExampleAlias.

              + *
            • + *
            • + *

              Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

              + *
            • + *
            • + *

              Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

              + *
            • + *
            + *

            Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, + * the action can appear to complete, but eventually fails.

            */ - ClientToken?: string; + KmsKeyId?: string; /** - *

            The tags to associate with the service.

            + *

            The Amazon Resource Name (ARN) of the Outpost.

            */ - TagSpecifications?: TagSpecification[]; -} + OutpostArn?: string; -export namespace CreateVpcEndpointServiceConfigurationRequest { /** - * @internal + *

            The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. + * If you specify a snapshot, the default is the snapshot size. You can specify a volume + * size that is equal to or larger than the snapshot size.

            + *

            The following are the supported volumes sizes for each volume type:

            + *
              + *
            • + *

              + * gp2 and gp3: 1-16,384

              + *
            • + *
            • + *

              + * io1 and io2: 4-16,384

              + *
            • + *
            • + *

              + * st1 and sc1: 125-16,384

              + *
            • + *
            • + *

              + * standard: 1-1,024

              + *
            • + *
            */ - export const filterSensitiveLog = (obj: CreateVpcEndpointServiceConfigurationRequest): any => ({ - ...obj, - }); -} - -export enum DnsNameState { - Failed = "failed", - PendingVerification = "pendingVerification", - Verified = "verified", -} + Size?: number; -/** - *

            Information about the private DNS name for the service endpoint. For more information - * about these parameters, see VPC Endpoint Service - * Private DNS Name Verification in the - * Amazon Virtual Private Cloud User Guide.

            - */ -export interface PrivateDnsNameConfiguration { /** - *

            The verification state of the VPC endpoint service.

            - *

            >Consumers - * of the endpoint service can use the private name only when the state is - * verified.

            + *

            The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.

            */ - State?: DnsNameState | string; + SnapshotId?: string; /** - *

            The endpoint service verification type, for example TXT.

            + *

            The volume type. This parameter can be one of the following values:

            + *
              + *
            • + *

              General Purpose SSD: gp2 | gp3 + *

              + *
            • + *
            • + *

              Provisioned IOPS SSD: io1 | io2 + *

              + *
            • + *
            • + *

              Throughput Optimized HDD: st1 + *

              + *
            • + *
            • + *

              Cold HDD: sc1 + *

              + *
            • + *
            • + *

              Magnetic: standard + *

              + *
            • + *
            + *

            For more information, see Amazon EBS volume types in the + * Amazon Elastic Compute Cloud User Guide.

            + *

            Default: gp2 + *

            */ - Type?: string; + VolumeType?: VolumeType | string; /** - *

            The value the service provider adds to the private DNS name domain record before verification.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Value?: string; + DryRun?: boolean; /** - *

            The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

            + *

            The tags to apply to the volume during creation.

            */ - Name?: string; -} + TagSpecifications?: TagSpecification[]; -export namespace PrivateDnsNameConfiguration { /** - * @internal + *

            Indicates whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the + * volume to up to 16 Instances built on the Nitro System in the same Availability Zone. This parameter is + * supported with io1 and io2 volumes only. For more information, + * see + * Amazon EBS Multi-Attach in the Amazon Elastic Compute Cloud User Guide.

            */ - export const filterSensitiveLog = (obj: PrivateDnsNameConfiguration): any => ({ - ...obj, - }); -} - -export enum ServiceState { - Available = "Available", - Deleted = "Deleted", - Deleting = "Deleting", - Failed = "Failed", - Pending = "Pending", -} + MultiAttachEnabled?: boolean; -export enum ServiceType { - Gateway = "Gateway", - GatewayLoadBalancer = "GatewayLoadBalancer", - Interface = "Interface", -} + /** + *

            The throughput to provision for a volume, with a maximum of 1,000 MiB/s.

            + *

            This parameter is valid only for gp3 volumes.

            + *

            Valid Range: Minimum value of 125. Maximum value of 1000.

            + */ + Throughput?: number; -/** - *

            Describes the type of service for a VPC endpoint.

            - */ -export interface ServiceTypeDetail { /** - *

            The type of service.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency + * of the request. For more information, see Ensure + * Idempotency.

            */ - ServiceType?: ServiceType | string; + ClientToken?: string; } -export namespace ServiceTypeDetail { +export namespace CreateVolumeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ServiceTypeDetail): any => ({ + export const filterSensitiveLog = (obj: CreateVolumeRequest): any => ({ ...obj, }); } +export type VolumeState = "available" | "creating" | "deleted" | "deleting" | "error" | "in-use"; + /** - *

            Describes a service configuration for a VPC endpoint service.

            + *

            Describes a volume.

            */ -export interface ServiceConfiguration { +export interface Volume { /** - *

            The type of service.

            + *

            Information about the volume attachments.

            */ - ServiceType?: ServiceTypeDetail[]; + Attachments?: VolumeAttachment[]; /** - *

            The ID of the service.

            + *

            The Availability Zone for the volume.

            */ - ServiceId?: string; + AvailabilityZone?: string; /** - *

            The name of the service.

            + *

            The time stamp when volume creation was initiated.

            */ - ServiceName?: string; + CreateTime?: Date; /** - *

            The service state.

            + *

            Indicates whether the volume is encrypted.

            */ - ServiceState?: ServiceState | string; + Encrypted?: boolean; /** - *

            The Availability Zones in which the service is available.

            + *

            The Amazon Resource Name (ARN) of the Key Management Service (KMS) KMS key that was used to protect the + * volume encryption key for the volume.

            */ - AvailabilityZones?: string[]; + KmsKeyId?: string; /** - *

            Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted.

            + *

            The Amazon Resource Name (ARN) of the Outpost.

            */ - AcceptanceRequired?: boolean; + OutpostArn?: string; /** - *

            Indicates whether the service manages its VPC endpoints. Management of the service VPC - * endpoints using the VPC endpoint API is restricted.

            + *

            The size of the volume, in GiBs.

            */ - ManagesVpcEndpoints?: boolean; + Size?: number; /** - *

            The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

            + *

            The snapshot from which the volume was created, if applicable.

            */ - NetworkLoadBalancerArns?: string[]; + SnapshotId?: string; /** - *

            The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

            + *

            The volume state.

            */ - GatewayLoadBalancerArns?: string[]; + State?: VolumeState | string; /** - *

            The DNS names for the service.

            + *

            The ID of the volume.

            */ - BaseEndpointDnsNames?: string[]; + VolumeId?: string; /** - *

            The private DNS name for the service.

            + *

            The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents + * the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline + * performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

            */ - PrivateDnsName?: string; + Iops?: number; /** - *

            Information about the endpoint service private DNS name configuration.

            + *

            Any tags assigned to the volume.

            */ - PrivateDnsNameConfiguration?: PrivateDnsNameConfiguration; + Tags?: Tag[]; /** - *

            Any tags assigned to the service.

            + *

            The volume type.

            */ - Tags?: Tag[]; -} + VolumeType?: VolumeType | string; -export namespace ServiceConfiguration { /** - * @internal + *

            Indicates whether the volume was created using fast snapshot restore.

            */ - export const filterSensitiveLog = (obj: ServiceConfiguration): any => ({ - ...obj, - }); -} + FastRestored?: boolean; -export interface CreateVpcEndpointServiceConfigurationResult { /** - *

            Information about the service configuration.

            + *

            Indicates whether Amazon EBS Multi-Attach is enabled.

            */ - ServiceConfiguration?: ServiceConfiguration; + MultiAttachEnabled?: boolean; /** - *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request.

            + *

            The throughput that the volume supports, in MiB/s.

            */ - ClientToken?: string; + Throughput?: number; } -export namespace CreateVpcEndpointServiceConfigurationResult { +export namespace Volume { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcEndpointServiceConfigurationResult): any => ({ + export const filterSensitiveLog = (obj: Volume): any => ({ ...obj, }); } -export interface CreateVpcPeeringConnectionRequest { +export interface CreateVpcRequest { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The IPv4 network range for the VPC, in CIDR notation. For example, + * 10.0.0.0/16. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

            */ - DryRun?: boolean; + CidrBlock: string | undefined; /** - *

            The Amazon Web Services account ID of the owner of the accepter VPC.

            - *

            Default: Your Amazon Web Services account ID

            + *

            Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. + * You cannot specify the range of IP addresses, or the size of the CIDR block.

            */ - PeerOwnerId?: string; + AmazonProvidedIpv6CidrBlock?: boolean; /** - *

            The ID of the VPC with which you are creating the VPC peering connection. You must - * specify this parameter in the request.

            + *

            The ID of an IPv6 address pool from which to allocate the IPv6 CIDR block.

            */ - PeerVpcId?: string; + Ipv6Pool?: string; /** - *

            The ID of the requester VPC. You must specify this parameter in the - * request.

            + *

            The IPv6 CIDR block from the IPv6 address pool. You must also specify Ipv6Pool in the request.

            + *

            To let Amazon choose the IPv6 CIDR block for you, omit this parameter.

            */ - VpcId?: string; + Ipv6CidrBlock?: string; /** - *

            The Region code for the accepter VPC, if the accepter VPC is located in a Region - * other than the Region in which you make the request.

            - *

            Default: The Region in which you make the request.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - PeerRegion?: string; + DryRun?: boolean; /** - *

            The tags to assign to the peering connection.

            + *

            The tenancy options for instances launched into the VPC. For default, instances + * are launched with shared tenancy by default. You can launch instances with any tenancy into a + * shared tenancy VPC. For dedicated, instances are launched as dedicated tenancy + * instances by default. You can only launch instances with a tenancy of dedicated + * or host into a dedicated tenancy VPC.

            + *

            + * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

            + *

            Default: default + *

            */ - TagSpecifications?: TagSpecification[]; -} + InstanceTenancy?: Tenancy | string; -export namespace CreateVpcPeeringConnectionRequest { /** - * @internal + *

            The name of the location from which we advertise the IPV6 CIDR block. Use this parameter to limit the address to this location.

            + *

            You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.

            */ - export const filterSensitiveLog = (obj: CreateVpcPeeringConnectionRequest): any => ({ - ...obj, - }); -} + Ipv6CidrBlockNetworkBorderGroup?: string; -export interface CreateVpcPeeringConnectionResult { /** - *

            Information about the VPC peering connection.

            + *

            The tags to assign to the VPC.

            */ - VpcPeeringConnection?: VpcPeeringConnection; + TagSpecifications?: TagSpecification[]; } -export namespace CreateVpcPeeringConnectionResult { +export namespace CreateVpcRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpcPeeringConnectionResult): any => ({ + export const filterSensitiveLog = (obj: CreateVpcRequest): any => ({ ...obj, }); } -export type TunnelInsideIpVersion = "ipv4" | "ipv6"; - -/** - *

            The IKE version that is permitted for the VPN tunnel.

            - */ -export interface IKEVersionsRequestListValue { +export interface CreateVpcResult { /** - *

            The IKE version.

            + *

            Information about the VPC.

            */ - Value?: string; + Vpc?: Vpc; } -export namespace IKEVersionsRequestListValue { +export namespace CreateVpcResult { /** * @internal */ - export const filterSensitiveLog = (obj: IKEVersionsRequestListValue): any => ({ + export const filterSensitiveLog = (obj: CreateVpcResult): any => ({ ...obj, }); } -/** - *

            Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE - * negotiations.

            - */ -export interface Phase1DHGroupNumbersRequestListValue { - /** - *

            The Diffie-Hellmann group number.

            - */ - Value?: number; +export enum VpcEndpointType { + Gateway = "Gateway", + GatewayLoadBalancer = "GatewayLoadBalancer", + Interface = "Interface", } -export namespace Phase1DHGroupNumbersRequestListValue { +/** + *

            Contains the parameters for CreateVpcEndpoint.

            + */ +export interface CreateVpcEndpointRequest { /** - * @internal + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - export const filterSensitiveLog = (obj: Phase1DHGroupNumbersRequestListValue): any => ({ - ...obj, - }); -} + DryRun?: boolean; -/** - *

            Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE - * negotiations.

            - */ -export interface Phase1EncryptionAlgorithmsRequestListValue { /** - *

            The value for the encryption algorithm.

            + *

            The type of endpoint.

            + *

            Default: Gateway

            */ - Value?: string; -} + VpcEndpointType?: VpcEndpointType | string; -export namespace Phase1EncryptionAlgorithmsRequestListValue { /** - * @internal + *

            The ID of the VPC in which the endpoint will be used.

            */ - export const filterSensitiveLog = (obj: Phase1EncryptionAlgorithmsRequestListValue): any => ({ - ...obj, - }); -} + VpcId: string | undefined; -/** - *

            Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE - * negotiations.

            - */ -export interface Phase1IntegrityAlgorithmsRequestListValue { /** - *

            The value for the integrity algorithm.

            + *

            The service name. To get a list of available services, use the DescribeVpcEndpointServices request, or get the name from the service + * provider.

            */ - Value?: string; -} + ServiceName: string | undefined; -export namespace Phase1IntegrityAlgorithmsRequestListValue { /** - * @internal + *

            (Interface and gateway endpoints) A policy to attach to the endpoint that controls access to the + * service. The policy must be in valid JSON format. If this parameter is not specified, we + * attach a default policy that allows full access to the service.

            */ - export const filterSensitiveLog = (obj: Phase1IntegrityAlgorithmsRequestListValue): any => ({ - ...obj, - }); -} + PolicyDocument?: string; -/** - *

            Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE - * negotiations.

            - */ -export interface Phase2DHGroupNumbersRequestListValue { /** - *

            The Diffie-Hellmann group number.

            + *

            (Gateway endpoint) One or more route table IDs.

            */ - Value?: number; -} + RouteTableIds?: string[]; -export namespace Phase2DHGroupNumbersRequestListValue { /** - * @internal + *

            (Interface and Gateway Load Balancer endpoints) The ID of one or more subnets in which to create an endpoint + * network interface. For a Gateway Load Balancer endpoint, you can specify one subnet only.

            */ - export const filterSensitiveLog = (obj: Phase2DHGroupNumbersRequestListValue): any => ({ - ...obj, - }); -} + SubnetIds?: string[]; -/** - *

            Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE - * negotiations.

            - */ -export interface Phase2EncryptionAlgorithmsRequestListValue { /** - *

            The encryption algorithm.

            + *

            (Interface endpoint) The ID of one or more security groups to associate with the + * endpoint network interface.

            */ - Value?: string; -} + SecurityGroupIds?: string[]; -export namespace Phase2EncryptionAlgorithmsRequestListValue { /** - * @internal + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to ensure + * idempotency.

            */ - export const filterSensitiveLog = (obj: Phase2EncryptionAlgorithmsRequestListValue): any => ({ - ...obj, - }); -} + ClientToken?: string; -/** - *

            Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE - * negotiations.

            - */ -export interface Phase2IntegrityAlgorithmsRequestListValue { /** - *

            The integrity algorithm.

            + *

            (Interface endpoint) Indicates whether to associate a private hosted zone with the + * specified VPC. The private hosted zone contains a record set for the default public DNS + * name for the service for the Region (for example, + * kinesis.us-east-1.amazonaws.com), which resolves to the private IP + * addresses of the endpoint network interfaces in the VPC. This enables you to make + * requests to the default public DNS name for the service instead of the public DNS names + * that are automatically generated by the VPC endpoint service.

            + *

            To use a private hosted zone, you must set the following VPC attributes to + * true: enableDnsHostnames and + * enableDnsSupport. Use ModifyVpcAttribute to set the VPC + * attributes.

            + *

            Default: true + *

            */ - Value?: string; -} + PrivateDnsEnabled?: boolean; -export namespace Phase2IntegrityAlgorithmsRequestListValue { /** - * @internal + *

            The tags to associate with the endpoint.

            */ - export const filterSensitiveLog = (obj: Phase2IntegrityAlgorithmsRequestListValue): any => ({ - ...obj, - }); + TagSpecifications?: TagSpecification[]; } -/** - *

            The tunnel options for a single VPN tunnel.

            - */ -export interface VpnTunnelOptionsSpecification { +export namespace CreateVpcEndpointRequest { /** - *

            The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be - * unique across all VPN connections that use the same virtual private gateway.

            - *

            Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The - * following CIDR blocks are reserved and cannot be used:

            - *
              - *
            • - *

              - * 169.254.0.0/30 - *

              - *
            • - *
            • - *

              - * 169.254.1.0/30 - *

              - *
            • - *
            • - *

              - * 169.254.2.0/30 - *

              - *
            • - *
            • - *

              - * 169.254.3.0/30 - *

              - *
            • - *
            • - *

              - * 169.254.4.0/30 - *

              - *
            • - *
            • - *

              - * 169.254.5.0/30 - *

              - *
            • - *
            • - *

              - * 169.254.169.252/30 - *

              - *
            • - *
            + * @internal */ - TunnelInsideCidr?: string; + export const filterSensitiveLog = (obj: CreateVpcEndpointRequest): any => ({ + ...obj, + }); +} +/** + *

            Describes a DNS entry.

            + */ +export interface DnsEntry { /** - *

            The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be - * unique across all VPN connections that use the same transit gateway.

            - *

            Constraints: A size /126 CIDR block from the local fd00::/8 range.

            + *

            The DNS name.

            */ - TunnelInsideIpv6Cidr?: string; + DnsName?: string; /** - *

            The pre-shared key (PSK) to establish initial authentication between the virtual - * private gateway and customer gateway.

            - *

            Constraints: Allowed characters are alphanumeric characters, periods (.), and - * underscores (_). Must be between 8 and 64 characters in length and cannot start with - * zero (0).

            + *

            The ID of the private hosted zone.

            */ - PreSharedKey?: string; + HostedZoneId?: string; +} +export namespace DnsEntry { /** - *

            The lifetime for phase 1 of the IKE negotiation, in seconds.

            - *

            Constraints: A value between 900 and 28,800.

            - *

            Default: 28800 - *

            + * @internal */ - Phase1LifetimeSeconds?: number; + export const filterSensitiveLog = (obj: DnsEntry): any => ({ + ...obj, + }); +} +/** + *

            Describes a security group.

            + */ +export interface SecurityGroupIdentifier { /** - *

            The lifetime for phase 2 of the IKE negotiation, in seconds.

            - *

            Constraints: A value between 900 and 3,600. The value must be less than the value for - * Phase1LifetimeSeconds.

            - *

            Default: 3600 - *

            + *

            The ID of the security group.

            */ - Phase2LifetimeSeconds?: number; + GroupId?: string; /** - *

            The margin time, in seconds, before the phase 2 lifetime expires, during which the - * Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time - * of the rekey is randomly selected based on the value for - * RekeyFuzzPercentage.

            - *

            Constraints: A value between 60 and half of Phase2LifetimeSeconds.

            - *

            Default: 540 - *

            + *

            The name of the security group.

            */ - RekeyMarginTimeSeconds?: number; + GroupName?: string; +} +export namespace SecurityGroupIdentifier { /** - *

            The percentage of the rekey window (determined by RekeyMarginTimeSeconds) - * during which the rekey time is randomly selected.

            - *

            Constraints: A value between 0 and 100.

            - *

            Default: 100 - *

            + * @internal */ - RekeyFuzzPercentage?: number; + export const filterSensitiveLog = (obj: SecurityGroupIdentifier): any => ({ + ...obj, + }); +} +/** + *

            The last error that occurred for a VPC endpoint.

            + */ +export interface LastError { /** - *

            The number of packets in an IKE replay window.

            - *

            Constraints: A value between 64 and 2048.

            - *

            Default: 1024 - *

            + *

            The error message for the VPC endpoint error.

            */ - ReplayWindowSize?: number; + Message?: string; /** - *

            The number of seconds after which a DPD timeout occurs.

            - *

            Constraints: A value between 0 and 30.

            - *

            Default: 30 - *

            + *

            The error code for the VPC endpoint error.

            */ - DPDTimeoutSeconds?: number; + Code?: string; +} +export namespace LastError { /** - *

            The action to take after DPD timeout occurs. Specify restart to restart - * the IKE initiation. Specify clear to end the IKE session.

            - *

            Valid Values: clear | none | restart - *

            - *

            Default: clear - *

            + * @internal */ - DPDTimeoutAction?: string; + export const filterSensitiveLog = (obj: LastError): any => ({ + ...obj, + }); +} + +export enum State { + Available = "Available", + Deleted = "Deleted", + Deleting = "Deleting", + Expired = "Expired", + Failed = "Failed", + Pending = "Pending", + PendingAcceptance = "PendingAcceptance", + Rejected = "Rejected", +} +/** + *

            Describes a VPC endpoint.

            + */ +export interface VpcEndpoint { /** - *

            One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 - * IKE negotiations.

            - *

            Valid values: AES128 | AES256 | AES128-GCM-16 | - * AES256-GCM-16 - *

            + *

            The ID of the VPC endpoint.

            */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; + VpcEndpointId?: string; /** - *

            One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 - * IKE negotiations.

            - *

            Valid values: AES128 | AES256 | AES128-GCM-16 | - * AES256-GCM-16 - *

            + *

            The type of endpoint.

            */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; + VpcEndpointType?: VpcEndpointType | string; /** - *

            One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE - * negotiations.

            - *

            Valid values: SHA1 | SHA2-256 | SHA2-384 | - * SHA2-512 - *

            + *

            The ID of the VPC to which the endpoint is associated.

            */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; + VpcId?: string; /** - *

            One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE - * negotiations.

            - *

            Valid values: SHA1 | SHA2-256 | SHA2-384 | - * SHA2-512 - *

            + *

            The name of the service to which the endpoint is associated.

            */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; + ServiceName?: string; /** - *

            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for - * phase 1 IKE negotiations.

            - *

            Valid values: 2 | 14 | 15 | 16 | - * 17 | 18 | 19 | 20 | - * 21 | 22 | 23 | 24 - *

            + *

            The state of the VPC endpoint.

            */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; + State?: State | string; /** - *

            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for - * phase 2 IKE negotiations.

            - *

            Valid values: 2 | 5 | 14 | 15 | - * 16 | 17 | 18 | 19 | - * 20 | 21 | 22 | 23 | - * 24 - *

            + *

            The policy document associated with the endpoint, if applicable.

            */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; + PolicyDocument?: string; /** - *

            The IKE versions that are permitted for the VPN tunnel.

            - *

            Valid values: ikev1 | ikev2 - *

            + *

            (Gateway endpoint) One or more route tables associated with the endpoint.

            */ - IKEVersions?: IKEVersionsRequestListValue[]; + RouteTableIds?: string[]; /** - *

            The action to take when the establishing the tunnel for the VPN connection. By - * default, your customer gateway device must initiate the IKE negotiation and bring up the - * tunnel. Specify start for Amazon Web Services to initiate the IKE - * negotiation.

            - *

            Valid Values: add | start - *

            - *

            Default: add - *

            + *

            (Interface endpoint) One or more subnets in which the endpoint is located.

            */ - StartupAction?: string; -} + SubnetIds?: string[]; -export namespace VpnTunnelOptionsSpecification { /** - * @internal + *

            (Interface endpoint) Information about the security groups that are associated with + * the network interface.

            */ - export const filterSensitiveLog = (obj: VpnTunnelOptionsSpecification): any => ({ - ...obj, - }); -} + Groups?: SecurityGroupIdentifier[]; -/** - *

            Describes VPN connection options.

            - */ -export interface VpnConnectionOptionsSpecification { /** - *

            Indicate whether to enable acceleration for the VPN connection.

            - *

            Default: false - *

            + *

            (Interface endpoint) Indicates whether the VPC is associated with a private hosted zone.

            */ - EnableAcceleration?: boolean; + PrivateDnsEnabled?: boolean; /** - *

            Indicate whether the VPN connection uses static routes only. If you are creating a VPN - * connection for a device that does not support BGP, you must specify true. - * Use CreateVpnConnectionRoute to create a static route.

            - *

            Default: false - *

            + *

            Indicates whether the VPC endpoint is being managed by its service.

            */ - StaticRoutesOnly?: boolean; + RequesterManaged?: boolean; /** - *

            Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

            - *

            Default: ipv4 - *

            + *

            (Interface endpoint) One or more network interfaces for the endpoint.

            */ - TunnelInsideIpVersion?: TunnelInsideIpVersion | string; + NetworkInterfaceIds?: string[]; /** - *

            The tunnel options for the VPN connection.

            + *

            (Interface endpoint) The DNS entries for the endpoint.

            */ - TunnelOptions?: VpnTunnelOptionsSpecification[]; + DnsEntries?: DnsEntry[]; /** - *

            The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

            - *

            Default: 0.0.0.0/0 - *

            + *

            The date and time that the VPC endpoint was created.

            */ - LocalIpv4NetworkCidr?: string; + CreationTimestamp?: Date; /** - *

            The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

            - *

            Default: 0.0.0.0/0 - *

            + *

            Any tags assigned to the VPC endpoint.

            */ - RemoteIpv4NetworkCidr?: string; + Tags?: Tag[]; /** - *

            The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

            - *

            Default: ::/0 - *

            + *

            The ID of the Amazon Web Services account that owns the VPC endpoint.

            */ - LocalIpv6NetworkCidr?: string; + OwnerId?: string; /** - *

            The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

            - *

            Default: ::/0 - *

            + *

            The last error that occurred for VPC endpoint.

            */ - RemoteIpv6NetworkCidr?: string; + LastError?: LastError; } -export namespace VpnConnectionOptionsSpecification { +export namespace VpcEndpoint { /** * @internal */ - export const filterSensitiveLog = (obj: VpnConnectionOptionsSpecification): any => ({ + export const filterSensitiveLog = (obj: VpcEndpoint): any => ({ ...obj, }); } /** - *

            Contains the parameters for CreateVpnConnection.

            + *

            Contains the output of CreateVpcEndpoint.

            */ -export interface CreateVpnConnectionRequest { +export interface CreateVpcEndpointResult { /** - *

            The ID of the customer gateway.

            + *

            Information about the endpoint.

            */ - CustomerGatewayId: string | undefined; + VpcEndpoint?: VpcEndpoint; /** - *

            The type of VPN connection (ipsec.1).

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

            */ - Type: string | undefined; + ClientToken?: string; +} +export namespace CreateVpcEndpointResult { /** - *

            The ID of the virtual private gateway. If you specify a virtual private gateway, you - * cannot specify a transit gateway.

            + * @internal */ - VpnGatewayId?: string; + export const filterSensitiveLog = (obj: CreateVpcEndpointResult): any => ({ + ...obj, + }); +} +export interface CreateVpcEndpointConnectionNotificationRequest { /** - *

            The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private - * gateway.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - TransitGatewayId?: string; + DryRun?: boolean; /** - *

            Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

            + *

            The ID of the endpoint service.

            */ - DryRun?: boolean; + ServiceId?: string; /** - *

            The options for the VPN connection.

            + *

            The ID of the endpoint.

            */ - Options?: VpnConnectionOptionsSpecification; + VpcEndpointId?: string; /** - *

            The tags to apply to the VPN connection.

            + *

            The ARN of the SNS topic for the notifications.

            */ - TagSpecifications?: TagSpecification[]; -} + ConnectionNotificationArn: string | undefined; -export namespace CreateVpnConnectionRequest { /** - * @internal + *

            One or more endpoint events for which to receive notifications. Valid values are + * Accept, Connect, Delete, and + * Reject.

            */ - export const filterSensitiveLog = (obj: CreateVpnConnectionRequest): any => ({ - ...obj, - }); -} + ConnectionEvents: string[] | undefined; -/** - *

            The internet key exchange (IKE) version permitted for the VPN tunnel.

            - */ -export interface IKEVersionsListValue { /** - *

            The IKE version.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to ensure + * idempotency.

            */ - Value?: string; + ClientToken?: string; } -export namespace IKEVersionsListValue { +export namespace CreateVpcEndpointConnectionNotificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: IKEVersionsListValue): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointConnectionNotificationRequest): any => ({ ...obj, }); } -/** - *

            The Diffie-Hellmann group number for phase 1 IKE negotiations.

            - */ -export interface Phase1DHGroupNumbersListValue { - /** - *

            The Diffie-Hellmann group number.

            - */ - Value?: number; +export enum ConnectionNotificationState { + Disabled = "Disabled", + Enabled = "Enabled", } -export namespace Phase1DHGroupNumbersListValue { - /** - * @internal - */ - export const filterSensitiveLog = (obj: Phase1DHGroupNumbersListValue): any => ({ - ...obj, - }); +export enum ConnectionNotificationType { + Topic = "Topic", } /** - *

            The encryption algorithm for phase 1 IKE negotiations.

            + *

            Describes a connection notification for a VPC endpoint or VPC endpoint + * service.

            */ -export interface Phase1EncryptionAlgorithmsListValue { +export interface ConnectionNotification { /** - *

            The value for the encryption algorithm.

            + *

            The ID of the notification.

            */ - Value?: string; -} + ConnectionNotificationId?: string; -export namespace Phase1EncryptionAlgorithmsListValue { /** - * @internal + *

            The ID of the endpoint service.

            */ - export const filterSensitiveLog = (obj: Phase1EncryptionAlgorithmsListValue): any => ({ - ...obj, - }); -} + ServiceId?: string; -/** - *

            The integrity algorithm for phase 1 IKE negotiations.

            - */ -export interface Phase1IntegrityAlgorithmsListValue { /** - *

            The value for the integrity algorithm.

            + *

            The ID of the VPC endpoint.

            */ - Value?: string; -} + VpcEndpointId?: string; -export namespace Phase1IntegrityAlgorithmsListValue { /** - * @internal + *

            The type of notification.

            */ - export const filterSensitiveLog = (obj: Phase1IntegrityAlgorithmsListValue): any => ({ - ...obj, - }); -} + ConnectionNotificationType?: ConnectionNotificationType | string; -/** - *

            The Diffie-Hellmann group number for phase 2 IKE negotiations.

            - */ -export interface Phase2DHGroupNumbersListValue { /** - *

            The Diffie-Hellmann group number.

            + *

            The ARN of the SNS topic for the notification.

            */ - Value?: number; -} + ConnectionNotificationArn?: string; -export namespace Phase2DHGroupNumbersListValue { /** - * @internal + *

            The events for the notification. Valid values are Accept, + * Connect, Delete, and Reject.

            */ - export const filterSensitiveLog = (obj: Phase2DHGroupNumbersListValue): any => ({ - ...obj, - }); -} + ConnectionEvents?: string[]; -/** - *

            The encryption algorithm for phase 2 IKE negotiations.

            - */ -export interface Phase2EncryptionAlgorithmsListValue { /** - *

            The encryption algorithm.

            + *

            The state of the notification.

            */ - Value?: string; + ConnectionNotificationState?: ConnectionNotificationState | string; } -export namespace Phase2EncryptionAlgorithmsListValue { +export namespace ConnectionNotification { /** * @internal */ - export const filterSensitiveLog = (obj: Phase2EncryptionAlgorithmsListValue): any => ({ + export const filterSensitiveLog = (obj: ConnectionNotification): any => ({ ...obj, }); } -/** - *

            The integrity algorithm for phase 2 IKE negotiations.

            - */ -export interface Phase2IntegrityAlgorithmsListValue { +export interface CreateVpcEndpointConnectionNotificationResult { /** - *

            The integrity algorithm.

            + *

            Information about the notification.

            */ - Value?: string; + ConnectionNotification?: ConnectionNotification; + + /** + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

            + */ + ClientToken?: string; } -export namespace Phase2IntegrityAlgorithmsListValue { +export namespace CreateVpcEndpointConnectionNotificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: Phase2IntegrityAlgorithmsListValue): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointConnectionNotificationResult): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_2.ts b/clients/client-ec2/src/models/models_2.ts index c126b4b7e417..3ad6b698adc9 100644 --- a/clients/client-ec2/src/models/models_2.ts +++ b/clients/client-ec2/src/models/models_2.ts @@ -6,12 +6,7 @@ import { Address, AddressAttribute, AddressAttributeName, - AllocationState, - AllowsMultipleInstanceTypes, AssociationStatus, - AttributeValue, - AutoPlacement, - BlockDeviceMapping, BundleTask, ByoipCidr, CapacityReservation, @@ -24,7 +19,6 @@ import { CurrencyCodeValues, CustomerGateway, DefaultTargetCapacityType, - DestinationFileFormat, DhcpOptions, EgressOnlyInternetGateway, FleetCapacityReservation, @@ -32,46 +26,40 @@ import { FleetCapacityReservationUsageStrategy, FleetExcessCapacityTerminationPolicy, FleetInstanceMatchCriteria, - FleetLaunchTemplateOverrides, FleetLaunchTemplateSpecification, FleetOnDemandAllocationStrategy, FleetReplacementStrategy, FleetType, GatewayType, - HostRecovery, - IamInstanceProfileAssociation, InstanceEventWindowState, - InstanceLifecycle, - LaunchTemplateAndOverridesResponse, - LogDestinationType, - PlatformValues, SpotAllocationStrategy, SpotInstanceInterruptionBehavior, Tag, TagSpecification, - TrafficType, + TargetCapacityUnitType, TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, TransportProtocol, UnsuccessfulItem, VpcAttachment, + VpcPeeringConnection, } from "./models_0"; import { + DestinationFileFormat, DiskImageFormat, ExportTask, + FleetLaunchTemplateOverrides, GroupIdentifier, - IKEVersionsListValue, + InstanceLifecycle, LaunchTemplate, + LaunchTemplateAndOverridesResponse, LocalGatewayRoute, LocalGatewayRouteTableVpcAssociation, + LogDestinationType, ManagedPrefixList, - Phase1DHGroupNumbersListValue, - Phase1EncryptionAlgorithmsListValue, - Phase1IntegrityAlgorithmsListValue, - Phase2DHGroupNumbersListValue, - Phase2EncryptionAlgorithmsListValue, - Phase2IntegrityAlgorithmsListValue, + PlatformValues, SubnetCidrReservation, + TrafficType, TransitGateway, TransitGatewayConnect, TransitGatewayConnectPeer, @@ -79,1310 +67,1427 @@ import { TransitGatewayPrefixListReference, TransitGatewayRoute, TransitGatewayRouteTable, - TunnelInsideIpVersion, } from "./models_1"; -/** - *

            The VPN tunnel options.

            - */ -export interface TunnelOption { +export interface CreateVpcEndpointServiceConfigurationRequest { /** - *

            The external IP address of the VPN tunnel.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - OutsideIpAddress?: string; + DryRun?: boolean; /** - *

            The range of inside IPv4 addresses for the tunnel.

            + *

            Indicates whether requests from service consumers to create an endpoint to your service must + * be accepted. To accept a request, use AcceptVpcEndpointConnections.

            */ - TunnelInsideCidr?: string; + AcceptanceRequired?: boolean; /** - *

            The range of inside IPv6 addresses for the tunnel.

            + *

            (Interface endpoint configuration) The private DNS name to assign to the VPC endpoint service.

            */ - TunnelInsideIpv6Cidr?: string; + PrivateDnsName?: string; /** - *

            The pre-shared key (PSK) to establish initial authentication between the virtual - * private gateway and the customer gateway.

            + *

            The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your + * service.

            */ - PreSharedKey?: string; + NetworkLoadBalancerArns?: string[]; /** - *

            The lifetime for phase 1 of the IKE negotiation, in seconds.

            + *

            The Amazon Resource Names (ARNs) of one or more Gateway Load Balancers.

            */ - Phase1LifetimeSeconds?: number; + GatewayLoadBalancerArns?: string[]; /** - *

            The lifetime for phase 2 of the IKE negotiation, in seconds.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + * For more information, see How to ensure + * idempotency.

            */ - Phase2LifetimeSeconds?: number; + ClientToken?: string; /** - *

            The margin time, in seconds, before the phase 2 lifetime expires, during which the - * Amazon Web Services side of the VPN connection performs an IKE rekey.

            + *

            The tags to associate with the service.

            */ - RekeyMarginTimeSeconds?: number; + TagSpecifications?: TagSpecification[]; +} +export namespace CreateVpcEndpointServiceConfigurationRequest { /** - *

            The percentage of the rekey window determined by RekeyMarginTimeSeconds - * during which the rekey time is randomly selected.

            + * @internal */ - RekeyFuzzPercentage?: number; + export const filterSensitiveLog = (obj: CreateVpcEndpointServiceConfigurationRequest): any => ({ + ...obj, + }); +} +export enum DnsNameState { + Failed = "failed", + PendingVerification = "pendingVerification", + Verified = "verified", +} + +/** + *

            Information about the private DNS name for the service endpoint. For more information + * about these parameters, see VPC Endpoint Service + * Private DNS Name Verification in the + * Amazon Virtual Private Cloud User Guide.

            + */ +export interface PrivateDnsNameConfiguration { /** - *

            The number of packets in an IKE replay window.

            + *

            The verification state of the VPC endpoint service.

            + *

            >Consumers + * of the endpoint service can use the private name only when the state is + * verified.

            */ - ReplayWindowSize?: number; + State?: DnsNameState | string; /** - *

            The number of seconds after which a DPD timeout occurs.

            + *

            The endpoint service verification type, for example TXT.

            */ - DpdTimeoutSeconds?: number; + Type?: string; /** - *

            The action to take after a DPD timeout occurs.

            + *

            The value the service provider adds to the private DNS name domain record before verification.

            */ - DpdTimeoutAction?: string; + Value?: string; /** - *

            The permitted encryption algorithms for the VPN tunnel for phase 1 IKE - * negotiations.

            + *

            The name of the record subdomain the service provider needs to create. The service provider adds the value text to the name.

            */ - Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsListValue[]; + Name?: string; +} +export namespace PrivateDnsNameConfiguration { /** - *

            The permitted encryption algorithms for the VPN tunnel for phase 2 IKE - * negotiations.

            + * @internal */ - Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsListValue[]; + export const filterSensitiveLog = (obj: PrivateDnsNameConfiguration): any => ({ + ...obj, + }); +} + +export enum ServiceState { + Available = "Available", + Deleted = "Deleted", + Deleting = "Deleting", + Failed = "Failed", + Pending = "Pending", +} + +export enum ServiceType { + Gateway = "Gateway", + GatewayLoadBalancer = "GatewayLoadBalancer", + Interface = "Interface", +} +/** + *

            Describes the type of service for a VPC endpoint.

            + */ +export interface ServiceTypeDetail { /** - *

            The permitted integrity algorithms for the VPN tunnel for phase 1 IKE - * negotiations.

            + *

            The type of service.

            */ - Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsListValue[]; + ServiceType?: ServiceType | string; +} +export namespace ServiceTypeDetail { /** - *

            The permitted integrity algorithms for the VPN tunnel for phase 2 IKE - * negotiations.

            + * @internal */ - Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsListValue[]; + export const filterSensitiveLog = (obj: ServiceTypeDetail): any => ({ + ...obj, + }); +} +/** + *

            Describes a service configuration for a VPC endpoint service.

            + */ +export interface ServiceConfiguration { /** - *

            The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE - * negotiations.

            + *

            The type of service.

            */ - Phase1DHGroupNumbers?: Phase1DHGroupNumbersListValue[]; + ServiceType?: ServiceTypeDetail[]; /** - *

            The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE - * negotiations.

            + *

            The ID of the service.

            */ - Phase2DHGroupNumbers?: Phase2DHGroupNumbersListValue[]; + ServiceId?: string; /** - *

            The IKE versions that are permitted for the VPN tunnel.

            + *

            The name of the service.

            */ - IkeVersions?: IKEVersionsListValue[]; + ServiceName?: string; /** - *

            The action to take when the establishing the VPN tunnels for a VPN connection.

            + *

            The service state.

            */ - StartupAction?: string; -} + ServiceState?: ServiceState | string; -export namespace TunnelOption { /** - * @internal + *

            The Availability Zones in which the service is available.

            */ - export const filterSensitiveLog = (obj: TunnelOption): any => ({ - ...obj, - }); -} + AvailabilityZones?: string[]; -/** - *

            Describes VPN connection options.

            - */ -export interface VpnConnectionOptions { /** - *

            Indicates whether acceleration is enabled for the VPN connection.

            + *

            Indicates whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted.

            */ - EnableAcceleration?: boolean; + AcceptanceRequired?: boolean; /** - *

            Indicates whether the VPN connection uses static routes only. Static routes must be - * used for devices that don't support BGP.

            + *

            Indicates whether the service manages its VPC endpoints. Management of the service VPC + * endpoints using the VPC endpoint API is restricted.

            */ - StaticRoutesOnly?: boolean; + ManagesVpcEndpoints?: boolean; /** - *

            The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

            + *

            The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.

            */ - LocalIpv4NetworkCidr?: string; + NetworkLoadBalancerArns?: string[]; /** - *

            The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

            + *

            The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

            */ - RemoteIpv4NetworkCidr?: string; + GatewayLoadBalancerArns?: string[]; /** - *

            The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

            + *

            The DNS names for the service.

            */ - LocalIpv6NetworkCidr?: string; + BaseEndpointDnsNames?: string[]; /** - *

            The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

            + *

            The private DNS name for the service.

            */ - RemoteIpv6NetworkCidr?: string; + PrivateDnsName?: string; /** - *

            Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.

            + *

            Information about the endpoint service private DNS name configuration.

            */ - TunnelInsideIpVersion?: TunnelInsideIpVersion | string; + PrivateDnsNameConfiguration?: PrivateDnsNameConfiguration; /** - *

            Indicates the VPN tunnel options.

            + *

            Any tags assigned to the service.

            */ - TunnelOptions?: TunnelOption[]; + Tags?: Tag[]; } -export namespace VpnConnectionOptions { +export namespace ServiceConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: VpnConnectionOptions): any => ({ + export const filterSensitiveLog = (obj: ServiceConfiguration): any => ({ ...obj, }); } -export type VpnStaticRouteSource = "Static"; - -export type VpnState = "available" | "deleted" | "deleting" | "pending"; - -/** - *

            Describes a static route for a VPN connection.

            - */ -export interface VpnStaticRoute { - /** - *

            The CIDR block associated with the local subnet of the customer data center.

            - */ - DestinationCidrBlock?: string; - +export interface CreateVpcEndpointServiceConfigurationResult { /** - *

            Indicates how the routes were provided.

            + *

            Information about the service configuration.

            */ - Source?: VpnStaticRouteSource | string; + ServiceConfiguration?: ServiceConfiguration; /** - *

            The current state of the static route.

            + *

            Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request.

            */ - State?: VpnState | string; + ClientToken?: string; } -export namespace VpnStaticRoute { +export namespace CreateVpcEndpointServiceConfigurationResult { /** * @internal */ - export const filterSensitiveLog = (obj: VpnStaticRoute): any => ({ + export const filterSensitiveLog = (obj: CreateVpcEndpointServiceConfigurationResult): any => ({ ...obj, }); } -export type TelemetryStatus = "DOWN" | "UP"; - -/** - *

            Describes telemetry for a VPN tunnel.

            - */ -export interface VgwTelemetry { +export interface CreateVpcPeeringConnectionRequest { /** - *

            The number of accepted routes.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - AcceptedRouteCount?: number; + DryRun?: boolean; /** - *

            The date and time of the last change in status.

            + *

            The Amazon Web Services account ID of the owner of the accepter VPC.

            + *

            Default: Your Amazon Web Services account ID

            */ - LastStatusChange?: Date; + PeerOwnerId?: string; /** - *

            The Internet-routable IP address of the virtual private gateway's outside - * interface.

            + *

            The ID of the VPC with which you are creating the VPC peering connection. You must + * specify this parameter in the request.

            */ - OutsideIpAddress?: string; + PeerVpcId?: string; /** - *

            The status of the VPN tunnel.

            + *

            The ID of the requester VPC. You must specify this parameter in the + * request.

            */ - Status?: TelemetryStatus | string; + VpcId?: string; /** - *

            If an error occurs, a description of the error.

            + *

            The Region code for the accepter VPC, if the accepter VPC is located in a Region + * other than the Region in which you make the request.

            + *

            Default: The Region in which you make the request.

            */ - StatusMessage?: string; + PeerRegion?: string; /** - *

            The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.

            + *

            The tags to assign to the peering connection.

            */ - CertificateArn?: string; + TagSpecifications?: TagSpecification[]; } -export namespace VgwTelemetry { +export namespace CreateVpcPeeringConnectionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VgwTelemetry): any => ({ + export const filterSensitiveLog = (obj: CreateVpcPeeringConnectionRequest): any => ({ ...obj, }); } -/** - *

            Describes a VPN connection.

            - */ -export interface VpnConnection { +export interface CreateVpcPeeringConnectionResult { /** - *

            The configuration information for the VPN connection's customer gateway (in the native - * XML format). This element is always present in the CreateVpnConnection - * response; however, it's present in the DescribeVpnConnections response - * only if the VPN connection is in the pending or available - * state.

            + *

            Information about the VPC peering connection.

            */ - CustomerGatewayConfiguration?: string; + VpcPeeringConnection?: VpcPeeringConnection; +} +export namespace CreateVpcPeeringConnectionResult { /** - *

            The ID of the customer gateway at your end of the VPN connection.

            + * @internal */ - CustomerGatewayId?: string; + export const filterSensitiveLog = (obj: CreateVpcPeeringConnectionResult): any => ({ + ...obj, + }); +} - /** - *

            The category of the VPN connection. A value of VPN indicates an Amazon Web Services VPN connection. A value of VPN-Classic indicates an Amazon Web Services Classic VPN connection.

            - */ - Category?: string; +export type TunnelInsideIpVersion = "ipv4" | "ipv6"; +/** + *

            The IKE version that is permitted for the VPN tunnel.

            + */ +export interface IKEVersionsRequestListValue { /** - *

            The current state of the VPN connection.

            + *

            The IKE version.

            */ - State?: VpnState | string; + Value?: string; +} +export namespace IKEVersionsRequestListValue { /** - *

            The type of VPN connection.

            + * @internal */ - Type?: GatewayType | string; + export const filterSensitiveLog = (obj: IKEVersionsRequestListValue): any => ({ + ...obj, + }); +} +/** + *

            Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE + * negotiations.

            + */ +export interface Phase1DHGroupNumbersRequestListValue { /** - *

            The ID of the VPN connection.

            + *

            The Diffie-Hellmann group number.

            */ - VpnConnectionId?: string; + Value?: number; +} +export namespace Phase1DHGroupNumbersRequestListValue { /** - *

            The ID of the virtual private gateway at the Amazon Web Services side of the VPN - * connection.

            + * @internal */ - VpnGatewayId?: string; + export const filterSensitiveLog = (obj: Phase1DHGroupNumbersRequestListValue): any => ({ + ...obj, + }); +} +/** + *

            Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE + * negotiations.

            + */ +export interface Phase1EncryptionAlgorithmsRequestListValue { /** - *

            The ID of the transit gateway associated with the VPN connection.

            + *

            The value for the encryption algorithm.

            */ - TransitGatewayId?: string; + Value?: string; +} +export namespace Phase1EncryptionAlgorithmsRequestListValue { /** - *

            The VPN connection options.

            + * @internal */ - Options?: VpnConnectionOptions; + export const filterSensitiveLog = (obj: Phase1EncryptionAlgorithmsRequestListValue): any => ({ + ...obj, + }); +} +/** + *

            Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE + * negotiations.

            + */ +export interface Phase1IntegrityAlgorithmsRequestListValue { /** - *

            The static routes associated with the VPN connection.

            + *

            The value for the integrity algorithm.

            */ - Routes?: VpnStaticRoute[]; + Value?: string; +} +export namespace Phase1IntegrityAlgorithmsRequestListValue { /** - *

            Any tags assigned to the VPN connection.

            + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: Phase1IntegrityAlgorithmsRequestListValue): any => ({ + ...obj, + }); +} +/** + *

            Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE + * negotiations.

            + */ +export interface Phase2DHGroupNumbersRequestListValue { /** - *

            Information about the VPN tunnel.

            + *

            The Diffie-Hellmann group number.

            */ - VgwTelemetry?: VgwTelemetry[]; + Value?: number; } -export namespace VpnConnection { +export namespace Phase2DHGroupNumbersRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: VpnConnection): any => ({ + export const filterSensitiveLog = (obj: Phase2DHGroupNumbersRequestListValue): any => ({ ...obj, }); } /** - *

            Contains the output of CreateVpnConnection.

            + *

            Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE + * negotiations.

            */ -export interface CreateVpnConnectionResult { +export interface Phase2EncryptionAlgorithmsRequestListValue { /** - *

            Information about the VPN connection.

            + *

            The encryption algorithm.

            */ - VpnConnection?: VpnConnection; + Value?: string; } -export namespace CreateVpnConnectionResult { +export namespace Phase2EncryptionAlgorithmsRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpnConnectionResult): any => ({ + export const filterSensitiveLog = (obj: Phase2EncryptionAlgorithmsRequestListValue): any => ({ ...obj, }); } /** - *

            Contains the parameters for CreateVpnConnectionRoute.

            + *

            Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE + * negotiations.

            */ -export interface CreateVpnConnectionRouteRequest { - /** - *

            The CIDR block associated with the local subnet of the customer network.

            - */ - DestinationCidrBlock: string | undefined; - +export interface Phase2IntegrityAlgorithmsRequestListValue { /** - *

            The ID of the VPN connection.

            + *

            The integrity algorithm.

            */ - VpnConnectionId: string | undefined; + Value?: string; } -export namespace CreateVpnConnectionRouteRequest { +export namespace Phase2IntegrityAlgorithmsRequestListValue { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVpnConnectionRouteRequest): any => ({ + export const filterSensitiveLog = (obj: Phase2IntegrityAlgorithmsRequestListValue): any => ({ ...obj, }); } /** - *

            Contains the parameters for CreateVpnGateway.

            + *

            The tunnel options for a single VPN tunnel.

            */ -export interface CreateVpnGatewayRequest { +export interface VpnTunnelOptionsSpecification { /** - *

            The Availability Zone for the virtual private gateway.

            + *

            The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be + * unique across all VPN connections that use the same virtual private gateway.

            + *

            Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The + * following CIDR blocks are reserved and cannot be used:

            + *
              + *
            • + *

              + * 169.254.0.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.1.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.2.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.3.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.4.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.5.0/30 + *

              + *
            • + *
            • + *

              + * 169.254.169.252/30 + *

              + *
            • + *
            */ - AvailabilityZone?: string; + TunnelInsideCidr?: string; /** - *

            The type of VPN connection this virtual private gateway supports.

            + *

            The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be + * unique across all VPN connections that use the same transit gateway.

            + *

            Constraints: A size /126 CIDR block from the local fd00::/8 range.

            */ - Type: GatewayType | string | undefined; + TunnelInsideIpv6Cidr?: string; /** - *

            The tags to apply to the virtual private gateway.

            + *

            The pre-shared key (PSK) to establish initial authentication between the virtual + * private gateway and customer gateway.

            + *

            Constraints: Allowed characters are alphanumeric characters, periods (.), and + * underscores (_). Must be between 8 and 64 characters in length and cannot start with + * zero (0).

            */ - TagSpecifications?: TagSpecification[]; + PreSharedKey?: string; /** - *

            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If - * you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a - * 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

            - *

            Default: 64512

            + *

            The lifetime for phase 1 of the IKE negotiation, in seconds.

            + *

            Constraints: A value between 900 and 28,800.

            + *

            Default: 28800 + *

            */ - AmazonSideAsn?: number; + Phase1LifetimeSeconds?: number; /** - *

            Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

            + *

            The lifetime for phase 2 of the IKE negotiation, in seconds.

            + *

            Constraints: A value between 900 and 3,600. The value must be less than the value for + * Phase1LifetimeSeconds.

            + *

            Default: 3600 + *

            */ - DryRun?: boolean; -} + Phase2LifetimeSeconds?: number; -export namespace CreateVpnGatewayRequest { /** - * @internal + *

            The margin time, in seconds, before the phase 2 lifetime expires, during which the + * Amazon Web Services side of the VPN connection performs an IKE rekey. The exact time + * of the rekey is randomly selected based on the value for + * RekeyFuzzPercentage.

            + *

            Constraints: A value between 60 and half of Phase2LifetimeSeconds.

            + *

            Default: 540 + *

            */ - export const filterSensitiveLog = (obj: CreateVpnGatewayRequest): any => ({ - ...obj, - }); -} + RekeyMarginTimeSeconds?: number; -/** - *

            Describes a virtual private gateway.

            - */ -export interface VpnGateway { /** - *

            The Availability Zone where the virtual private gateway was created, if applicable. - * This field may be empty or not returned.

            + *

            The percentage of the rekey window (determined by RekeyMarginTimeSeconds) + * during which the rekey time is randomly selected.

            + *

            Constraints: A value between 0 and 100.

            + *

            Default: 100 + *

            */ - AvailabilityZone?: string; + RekeyFuzzPercentage?: number; /** - *

            The current state of the virtual private gateway.

            + *

            The number of packets in an IKE replay window.

            + *

            Constraints: A value between 64 and 2048.

            + *

            Default: 1024 + *

            */ - State?: VpnState | string; + ReplayWindowSize?: number; /** - *

            The type of VPN connection the virtual private gateway supports.

            + *

            The number of seconds after which a DPD timeout occurs.

            + *

            Constraints: A value between 0 and 30.

            + *

            Default: 30 + *

            */ - Type?: GatewayType | string; + DPDTimeoutSeconds?: number; /** - *

            Any VPCs attached to the virtual private gateway.

            + *

            The action to take after DPD timeout occurs. Specify restart to restart + * the IKE initiation. Specify clear to end the IKE session.

            + *

            Valid Values: clear | none | restart + *

            + *

            Default: clear + *

            */ - VpcAttachments?: VpcAttachment[]; + DPDTimeoutAction?: string; /** - *

            The ID of the virtual private gateway.

            + *

            One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 + * IKE negotiations.

            + *

            Valid values: AES128 | AES256 | AES128-GCM-16 | + * AES256-GCM-16 + *

            */ - VpnGatewayId?: string; + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsRequestListValue[]; /** - *

            The private Autonomous System Number (ASN) for the Amazon side of a BGP - * session.

            + *

            One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 + * IKE negotiations.

            + *

            Valid values: AES128 | AES256 | AES128-GCM-16 | + * AES256-GCM-16 + *

            */ - AmazonSideAsn?: number; + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsRequestListValue[]; /** - *

            Any tags assigned to the virtual private gateway.

            + *

            One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE + * negotiations.

            + *

            Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

            */ - Tags?: Tag[]; -} + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsRequestListValue[]; -export namespace VpnGateway { /** - * @internal + *

            One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE + * negotiations.

            + *

            Valid values: SHA1 | SHA2-256 | SHA2-384 | + * SHA2-512 + *

            */ - export const filterSensitiveLog = (obj: VpnGateway): any => ({ - ...obj, - }); -} + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsRequestListValue[]; -/** - *

            Contains the output of CreateVpnGateway.

            - */ -export interface CreateVpnGatewayResult { /** - *

            Information about the virtual private gateway.

            + *

            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for + * phase 1 IKE negotiations.

            + *

            Valid values: 2 | 14 | 15 | 16 | + * 17 | 18 | 19 | 20 | + * 21 | 22 | 23 | 24 + *

            */ - VpnGateway?: VpnGateway; -} + Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[]; -export namespace CreateVpnGatewayResult { /** - * @internal + *

            One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for + * phase 2 IKE negotiations.

            + *

            Valid values: 2 | 5 | 14 | 15 | + * 16 | 17 | 18 | 19 | + * 20 | 21 | 22 | 23 | + * 24 + *

            */ - export const filterSensitiveLog = (obj: CreateVpnGatewayResult): any => ({ - ...obj, - }); -} + Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[]; -export interface DeleteCarrierGatewayRequest { /** - *

            The ID of the carrier gateway.

            + *

            The IKE versions that are permitted for the VPN tunnel.

            + *

            Valid values: ikev1 | ikev2 + *

            */ - CarrierGatewayId: string | undefined; + IKEVersions?: IKEVersionsRequestListValue[]; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The action to take when the establishing the tunnel for the VPN connection. By + * default, your customer gateway device must initiate the IKE negotiation and bring up the + * tunnel. Specify start for Amazon Web Services to initiate the IKE + * negotiation.

            + *

            Valid Values: add | start + *

            + *

            Default: add + *

            */ - DryRun?: boolean; + StartupAction?: string; } -export namespace DeleteCarrierGatewayRequest { +export namespace VpnTunnelOptionsSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteCarrierGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: VpnTunnelOptionsSpecification): any => ({ ...obj, }); } -export interface DeleteCarrierGatewayResult { +/** + *

            Describes VPN connection options.

            + */ +export interface VpnConnectionOptionsSpecification { /** - *

            Information about the carrier gateway.

            + *

            Indicate whether to enable acceleration for the VPN connection.

            + *

            Default: false + *

            */ - CarrierGateway?: CarrierGateway; -} + EnableAcceleration?: boolean; -export namespace DeleteCarrierGatewayResult { /** - * @internal + *

            Indicate whether the VPN connection uses static routes only. If you are creating a VPN + * connection for a device that does not support BGP, you must specify true. + * Use CreateVpnConnectionRoute to create a static route.

            + *

            Default: false + *

            */ - export const filterSensitiveLog = (obj: DeleteCarrierGatewayResult): any => ({ - ...obj, - }); -} + StaticRoutesOnly?: boolean; -export interface DeleteClientVpnEndpointRequest { /** - *

            The ID of the Client VPN to be deleted.

            + *

            Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

            + *

            Default: ipv4 + *

            */ - ClientVpnEndpointId: string | undefined; + TunnelInsideIpVersion?: TunnelInsideIpVersion | string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            + *

            The tunnel options for the VPN connection.

            */ - DryRun?: boolean; -} + TunnelOptions?: VpnTunnelOptionsSpecification[]; -export namespace DeleteClientVpnEndpointRequest { /** - * @internal + *

            The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

            + *

            Default: 0.0.0.0/0 + *

            */ - export const filterSensitiveLog = (obj: DeleteClientVpnEndpointRequest): any => ({ - ...obj, - }); -} + LocalIpv4NetworkCidr?: string; -export interface DeleteClientVpnEndpointResult { /** - *

            The current state of the Client VPN endpoint.

            + *

            The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

            + *

            Default: 0.0.0.0/0 + *

            */ - Status?: ClientVpnEndpointStatus; + RemoteIpv4NetworkCidr?: string; + + /** + *

            The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

            + *

            Default: ::/0 + *

            + */ + LocalIpv6NetworkCidr?: string; + + /** + *

            The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

            + *

            Default: ::/0 + *

            + */ + RemoteIpv6NetworkCidr?: string; } -export namespace DeleteClientVpnEndpointResult { +export namespace VpnConnectionOptionsSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteClientVpnEndpointResult): any => ({ + export const filterSensitiveLog = (obj: VpnConnectionOptionsSpecification): any => ({ ...obj, }); } -export interface DeleteClientVpnRouteRequest { +/** + *

            Contains the parameters for CreateVpnConnection.

            + */ +export interface CreateVpnConnectionRequest { /** - *

            The ID of the Client VPN endpoint from which the route is to be deleted.

            + *

            The ID of the customer gateway.

            */ - ClientVpnEndpointId: string | undefined; + CustomerGatewayId: string | undefined; /** - *

            The ID of the target subnet used by the route.

            + *

            The type of VPN connection (ipsec.1).

            */ - TargetVpcSubnetId?: string; + Type: string | undefined; /** - *

            The IPv4 address range, in CIDR notation, of the route to be deleted.

            + *

            The ID of the virtual private gateway. If you specify a virtual private gateway, you + * cannot specify a transit gateway.

            */ - DestinationCidrBlock: string | undefined; + VpnGatewayId?: string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the transit gateway. If you specify a transit gateway, you cannot specify a virtual private + * gateway.

            + */ + TransitGatewayId?: string; + + /** + *

            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

            */ DryRun?: boolean; + + /** + *

            The options for the VPN connection.

            + */ + Options?: VpnConnectionOptionsSpecification; + + /** + *

            The tags to apply to the VPN connection.

            + */ + TagSpecifications?: TagSpecification[]; } -export namespace DeleteClientVpnRouteRequest { +export namespace CreateVpnConnectionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteClientVpnRouteRequest): any => ({ + export const filterSensitiveLog = (obj: CreateVpnConnectionRequest): any => ({ ...obj, }); } -export interface DeleteClientVpnRouteResult { +/** + *

            The internet key exchange (IKE) version permitted for the VPN tunnel.

            + */ +export interface IKEVersionsListValue { /** - *

            The current state of the route.

            + *

            The IKE version.

            */ - Status?: ClientVpnRouteStatus; + Value?: string; } -export namespace DeleteClientVpnRouteResult { +export namespace IKEVersionsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteClientVpnRouteResult): any => ({ + export const filterSensitiveLog = (obj: IKEVersionsListValue): any => ({ ...obj, }); } /** - *

            Contains the parameters for DeleteCustomerGateway.

            + *

            The Diffie-Hellmann group number for phase 1 IKE negotiations.

            */ -export interface DeleteCustomerGatewayRequest { - /** - *

            The ID of the customer gateway.

            - */ - CustomerGatewayId: string | undefined; - +export interface Phase1DHGroupNumbersListValue { /** - *

            Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

            + *

            The Diffie-Hellmann group number.

            */ - DryRun?: boolean; + Value?: number; } -export namespace DeleteCustomerGatewayRequest { +export namespace Phase1DHGroupNumbersListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteCustomerGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: Phase1DHGroupNumbersListValue): any => ({ ...obj, }); } -export interface DeleteDhcpOptionsRequest { - /** - *

            The ID of the DHCP options set.

            - */ - DhcpOptionsId: string | undefined; - +/** + *

            The encryption algorithm for phase 1 IKE negotiations.

            + */ +export interface Phase1EncryptionAlgorithmsListValue { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The value for the encryption algorithm.

            */ - DryRun?: boolean; + Value?: string; } -export namespace DeleteDhcpOptionsRequest { +export namespace Phase1EncryptionAlgorithmsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteDhcpOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: Phase1EncryptionAlgorithmsListValue): any => ({ ...obj, }); } -export interface DeleteEgressOnlyInternetGatewayRequest { - /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            - */ - DryRun?: boolean; - +/** + *

            The integrity algorithm for phase 1 IKE negotiations.

            + */ +export interface Phase1IntegrityAlgorithmsListValue { /** - *

            The ID of the egress-only internet gateway.

            + *

            The value for the integrity algorithm.

            */ - EgressOnlyInternetGatewayId: string | undefined; + Value?: string; } -export namespace DeleteEgressOnlyInternetGatewayRequest { +export namespace Phase1IntegrityAlgorithmsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteEgressOnlyInternetGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: Phase1IntegrityAlgorithmsListValue): any => ({ ...obj, }); } -export interface DeleteEgressOnlyInternetGatewayResult { +/** + *

            The Diffie-Hellmann group number for phase 2 IKE negotiations.

            + */ +export interface Phase2DHGroupNumbersListValue { /** - *

            Returns true if the request succeeds; otherwise, it returns an error.

            + *

            The Diffie-Hellmann group number.

            */ - ReturnCode?: boolean; + Value?: number; } -export namespace DeleteEgressOnlyInternetGatewayResult { +export namespace Phase2DHGroupNumbersListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteEgressOnlyInternetGatewayResult): any => ({ + export const filterSensitiveLog = (obj: Phase2DHGroupNumbersListValue): any => ({ ...obj, }); } -export interface DeleteFleetsRequest { - /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            - */ - DryRun?: boolean; - - /** - *

            The IDs of the EC2 Fleets.

            - */ - FleetIds: string[] | undefined; - +/** + *

            The encryption algorithm for phase 2 IKE negotiations.

            + */ +export interface Phase2EncryptionAlgorithmsListValue { /** - *

            Indicates whether to terminate the instances when the EC2 Fleet is deleted. The default is to - * terminate the instances.

            - *

            To let the instances continue to run after the EC2 Fleet is deleted, specify - * NoTerminateInstances. Supported only for fleets of type - * maintain and request.

            - *

            For instant fleets, you cannot specify NoTerminateInstances. A - * deleted instant fleet with running instances is not supported.

            + *

            The encryption algorithm.

            */ - TerminateInstances: boolean | undefined; + Value?: string; } -export namespace DeleteFleetsRequest { +export namespace Phase2EncryptionAlgorithmsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFleetsRequest): any => ({ + export const filterSensitiveLog = (obj: Phase2EncryptionAlgorithmsListValue): any => ({ ...obj, }); } -export enum FleetStateCode { - ACTIVE = "active", - DELETED = "deleted", - DELETED_RUNNING = "deleted_running", - DELETED_TERMINATING_INSTANCES = "deleted_terminating", - FAILED = "failed", - MODIFYING = "modifying", - SUBMITTED = "submitted", -} - /** - *

            Describes an EC2 Fleet that was successfully deleted.

            + *

            The integrity algorithm for phase 2 IKE negotiations.

            */ -export interface DeleteFleetSuccessItem { - /** - *

            The current state of the EC2 Fleet.

            - */ - CurrentFleetState?: FleetStateCode | string; - - /** - *

            The previous state of the EC2 Fleet.

            - */ - PreviousFleetState?: FleetStateCode | string; - +export interface Phase2IntegrityAlgorithmsListValue { /** - *

            The ID of the EC2 Fleet.

            + *

            The integrity algorithm.

            */ - FleetId?: string; + Value?: string; } -export namespace DeleteFleetSuccessItem { +export namespace Phase2IntegrityAlgorithmsListValue { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFleetSuccessItem): any => ({ + export const filterSensitiveLog = (obj: Phase2IntegrityAlgorithmsListValue): any => ({ ...obj, }); } -export enum DeleteFleetErrorCode { - FLEET_ID_DOES_NOT_EXIST = "fleetIdDoesNotExist", - FLEET_ID_MALFORMED = "fleetIdMalformed", - FLEET_NOT_IN_DELETABLE_STATE = "fleetNotInDeletableState", - UNEXPECTED_ERROR = "unexpectedError", -} - /** - *

            Describes an EC2 Fleet error.

            + *

            The VPN tunnel options.

            */ -export interface DeleteFleetError { +export interface TunnelOption { /** - *

            The error code.

            + *

            The external IP address of the VPN tunnel.

            */ - Code?: DeleteFleetErrorCode | string; + OutsideIpAddress?: string; /** - *

            The description for the error code.

            + *

            The range of inside IPv4 addresses for the tunnel.

            */ - Message?: string; -} + TunnelInsideCidr?: string; -export namespace DeleteFleetError { /** - * @internal + *

            The range of inside IPv6 addresses for the tunnel.

            */ - export const filterSensitiveLog = (obj: DeleteFleetError): any => ({ - ...obj, - }); -} + TunnelInsideIpv6Cidr?: string; -/** - *

            Describes an EC2 Fleet that was not successfully deleted.

            - */ -export interface DeleteFleetErrorItem { /** - *

            The error.

            + *

            The pre-shared key (PSK) to establish initial authentication between the virtual + * private gateway and the customer gateway.

            */ - Error?: DeleteFleetError; + PreSharedKey?: string; /** - *

            The ID of the EC2 Fleet.

            + *

            The lifetime for phase 1 of the IKE negotiation, in seconds.

            */ - FleetId?: string; -} + Phase1LifetimeSeconds?: number; -export namespace DeleteFleetErrorItem { /** - * @internal + *

            The lifetime for phase 2 of the IKE negotiation, in seconds.

            */ - export const filterSensitiveLog = (obj: DeleteFleetErrorItem): any => ({ - ...obj, - }); -} + Phase2LifetimeSeconds?: number; -export interface DeleteFleetsResult { /** - *

            Information about the EC2 Fleets that are successfully deleted.

            + *

            The margin time, in seconds, before the phase 2 lifetime expires, during which the + * Amazon Web Services side of the VPN connection performs an IKE rekey.

            */ - SuccessfulFleetDeletions?: DeleteFleetSuccessItem[]; + RekeyMarginTimeSeconds?: number; /** - *

            Information about the EC2 Fleets that are not successfully deleted.

            + *

            The percentage of the rekey window determined by RekeyMarginTimeSeconds + * during which the rekey time is randomly selected.

            */ - UnsuccessfulFleetDeletions?: DeleteFleetErrorItem[]; -} + RekeyFuzzPercentage?: number; -export namespace DeleteFleetsResult { /** - * @internal + *

            The number of packets in an IKE replay window.

            */ - export const filterSensitiveLog = (obj: DeleteFleetsResult): any => ({ - ...obj, - }); -} + ReplayWindowSize?: number; -export interface DeleteFlowLogsRequest { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The number of seconds after which a DPD timeout occurs.

            */ - DryRun?: boolean; + DpdTimeoutSeconds?: number; /** - *

            One or more flow log IDs.

            - *

            Constraint: Maximum of 1000 flow log IDs.

            + *

            The action to take after a DPD timeout occurs.

            */ - FlowLogIds: string[] | undefined; -} + DpdTimeoutAction?: string; -export namespace DeleteFlowLogsRequest { /** - * @internal + *

            The permitted encryption algorithms for the VPN tunnel for phase 1 IKE + * negotiations.

            */ - export const filterSensitiveLog = (obj: DeleteFlowLogsRequest): any => ({ - ...obj, - }); -} + Phase1EncryptionAlgorithms?: Phase1EncryptionAlgorithmsListValue[]; -export interface DeleteFlowLogsResult { /** - *

            Information about the flow logs that could not be deleted successfully.

            + *

            The permitted encryption algorithms for the VPN tunnel for phase 2 IKE + * negotiations.

            */ - Unsuccessful?: UnsuccessfulItem[]; -} + Phase2EncryptionAlgorithms?: Phase2EncryptionAlgorithmsListValue[]; -export namespace DeleteFlowLogsResult { /** - * @internal + *

            The permitted integrity algorithms for the VPN tunnel for phase 1 IKE + * negotiations.

            */ - export const filterSensitiveLog = (obj: DeleteFlowLogsResult): any => ({ - ...obj, - }); -} + Phase1IntegrityAlgorithms?: Phase1IntegrityAlgorithmsListValue[]; -export interface DeleteFpgaImageRequest { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The permitted integrity algorithms for the VPN tunnel for phase 2 IKE + * negotiations.

            */ - DryRun?: boolean; + Phase2IntegrityAlgorithms?: Phase2IntegrityAlgorithmsListValue[]; /** - *

            The ID of the AFI.

            + *

            The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE + * negotiations.

            */ - FpgaImageId: string | undefined; -} + Phase1DHGroupNumbers?: Phase1DHGroupNumbersListValue[]; -export namespace DeleteFpgaImageRequest { /** - * @internal + *

            The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE + * negotiations.

            */ - export const filterSensitiveLog = (obj: DeleteFpgaImageRequest): any => ({ - ...obj, - }); -} + Phase2DHGroupNumbers?: Phase2DHGroupNumbersListValue[]; -export interface DeleteFpgaImageResult { /** - *

            Is true if the request succeeds, and an error otherwise.

            + *

            The IKE versions that are permitted for the VPN tunnel.

            */ - Return?: boolean; + IkeVersions?: IKEVersionsListValue[]; + + /** + *

            The action to take when the establishing the VPN tunnels for a VPN connection.

            + */ + StartupAction?: string; } -export namespace DeleteFpgaImageResult { +export namespace TunnelOption { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteFpgaImageResult): any => ({ + export const filterSensitiveLog = (obj: TunnelOption): any => ({ ...obj, }); } -export interface DeleteInstanceEventWindowRequest { +/** + *

            Describes VPN connection options.

            + */ +export interface VpnConnectionOptions { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            Indicates whether acceleration is enabled for the VPN connection.

            */ - DryRun?: boolean; + EnableAcceleration?: boolean; /** - *

            Specify true to force delete the event window. Use the force delete parameter - * if the event window is currently associated with targets.

            + *

            Indicates whether the VPN connection uses static routes only. Static routes must be + * used for devices that don't support BGP.

            */ - ForceDelete?: boolean; + StaticRoutesOnly?: boolean; /** - *

            The ID of the event window.

            + *

            The IPv4 CIDR on the customer gateway (on-premises) side of the VPN connection.

            */ - InstanceEventWindowId: string | undefined; -} + LocalIpv4NetworkCidr?: string; -export namespace DeleteInstanceEventWindowRequest { /** - * @internal + *

            The IPv4 CIDR on the Amazon Web Services side of the VPN connection.

            */ - export const filterSensitiveLog = (obj: DeleteInstanceEventWindowRequest): any => ({ - ...obj, - }); -} + RemoteIpv4NetworkCidr?: string; -/** - *

            The state of the event window.

            - */ -export interface InstanceEventWindowStateChange { /** - *

            The ID of the event window.

            + *

            The IPv6 CIDR on the customer gateway (on-premises) side of the VPN connection.

            */ - InstanceEventWindowId?: string; + LocalIpv6NetworkCidr?: string; /** - *

            The current state of the event window.

            + *

            The IPv6 CIDR on the Amazon Web Services side of the VPN connection.

            */ - State?: InstanceEventWindowState | string; -} + RemoteIpv6NetworkCidr?: string; -export namespace InstanceEventWindowStateChange { /** - * @internal + *

            Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.

            */ - export const filterSensitiveLog = (obj: InstanceEventWindowStateChange): any => ({ - ...obj, - }); -} + TunnelInsideIpVersion?: TunnelInsideIpVersion | string; -export interface DeleteInstanceEventWindowResult { /** - *

            The state of the event window.

            + *

            Indicates the VPN tunnel options.

            */ - InstanceEventWindowState?: InstanceEventWindowStateChange; + TunnelOptions?: TunnelOption[]; } -export namespace DeleteInstanceEventWindowResult { +export namespace VpnConnectionOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteInstanceEventWindowResult): any => ({ + export const filterSensitiveLog = (obj: VpnConnectionOptions): any => ({ ...obj, }); } -export interface DeleteInternetGatewayRequest { +export type VpnStaticRouteSource = "Static"; + +export type VpnState = "available" | "deleted" | "deleting" | "pending"; + +/** + *

            Describes a static route for a VPN connection.

            + */ +export interface VpnStaticRoute { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The CIDR block associated with the local subnet of the customer data center.

            */ - DryRun?: boolean; + DestinationCidrBlock?: string; /** - *

            The ID of the internet gateway.

            + *

            Indicates how the routes were provided.

            */ - InternetGatewayId: string | undefined; + Source?: VpnStaticRouteSource | string; + + /** + *

            The current state of the static route.

            + */ + State?: VpnState | string; } -export namespace DeleteInternetGatewayRequest { +export namespace VpnStaticRoute { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteInternetGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: VpnStaticRoute): any => ({ ...obj, }); } -export interface DeleteKeyPairRequest { - /** - *

            The name of the key pair.

            - */ - KeyName?: string; +export type TelemetryStatus = "DOWN" | "UP"; +/** + *

            Describes telemetry for a VPN tunnel.

            + */ +export interface VgwTelemetry { /** - *

            The ID of the key pair.

            + *

            The number of accepted routes.

            */ - KeyPairId?: string; + AcceptedRouteCount?: number; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The date and time of the last change in status.

            */ - DryRun?: boolean; -} + LastStatusChange?: Date; -export namespace DeleteKeyPairRequest { /** - * @internal + *

            The Internet-routable IP address of the virtual private gateway's outside + * interface.

            */ - export const filterSensitiveLog = (obj: DeleteKeyPairRequest): any => ({ - ...obj, - }); -} + OutsideIpAddress?: string; -export interface DeleteLaunchTemplateRequest { /** - *

            Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

            + *

            The status of the VPN tunnel.

            */ - DryRun?: boolean; + Status?: TelemetryStatus | string; /** - *

            The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

            + *

            If an error occurs, a description of the error.

            */ - LaunchTemplateId?: string; + StatusMessage?: string; /** - *

            The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

            + *

            The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.

            */ - LaunchTemplateName?: string; + CertificateArn?: string; } -export namespace DeleteLaunchTemplateRequest { +export namespace VgwTelemetry { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: VgwTelemetry): any => ({ ...obj, }); } -export interface DeleteLaunchTemplateResult { +/** + *

            Describes a VPN connection.

            + */ +export interface VpnConnection { /** - *

            Information about the launch template.

            + *

            The configuration information for the VPN connection's customer gateway (in the native + * XML format). This element is always present in the CreateVpnConnection + * response; however, it's present in the DescribeVpnConnections response + * only if the VPN connection is in the pending or available + * state.

            */ - LaunchTemplate?: LaunchTemplate; -} + CustomerGatewayConfiguration?: string; -export namespace DeleteLaunchTemplateResult { /** - * @internal + *

            The ID of the customer gateway at your end of the VPN connection.

            */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateResult): any => ({ - ...obj, - }); -} + CustomerGatewayId?: string; -export interface DeleteLaunchTemplateVersionsRequest { /** - *

            Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

            + *

            The category of the VPN connection. A value of VPN indicates an Amazon Web Services VPN connection. A value of VPN-Classic indicates an Amazon Web Services Classic VPN connection.

            */ - DryRun?: boolean; + Category?: string; /** - *

            The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

            + *

            The current state of the VPN connection.

            */ - LaunchTemplateId?: string; + State?: VpnState | string; /** - *

            The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

            + *

            The type of VPN connection.

            */ - LaunchTemplateName?: string; + Type?: GatewayType | string; /** - *

            The version numbers of one or more launch template versions to delete.

            + *

            The ID of the VPN connection.

            */ - Versions: string[] | undefined; -} + VpnConnectionId?: string; -export namespace DeleteLaunchTemplateVersionsRequest { /** - * @internal + *

            The ID of the virtual private gateway at the Amazon Web Services side of the VPN + * connection.

            */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsRequest): any => ({ - ...obj, - }); -} + VpnGatewayId?: string; -/** - *

            Describes a launch template version that was successfully deleted.

            - */ -export interface DeleteLaunchTemplateVersionsResponseSuccessItem { /** - *

            The ID of the launch template.

            + *

            The ID of the transit gateway associated with the VPN connection.

            */ - LaunchTemplateId?: string; + TransitGatewayId?: string; /** - *

            The name of the launch template.

            + *

            The ARN of the core network.

            */ - LaunchTemplateName?: string; + CoreNetworkArn?: string; /** - *

            The version number of the launch template.

            + *

            The ARN of the core network attachment.

            */ - VersionNumber?: number; -} + CoreNetworkAttachmentArn?: string; -export namespace DeleteLaunchTemplateVersionsResponseSuccessItem { /** - * @internal + *

            The current state of the gateway association.

            */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResponseSuccessItem): any => ({ - ...obj, - }); -} + GatewayAssociationState?: string; -export enum LaunchTemplateErrorCode { - LAUNCH_TEMPLATE_ID_DOES_NOT_EXIST = "launchTemplateIdDoesNotExist", - LAUNCH_TEMPLATE_ID_MALFORMED = "launchTemplateIdMalformed", - LAUNCH_TEMPLATE_NAME_DOES_NOT_EXIST = "launchTemplateNameDoesNotExist", - LAUNCH_TEMPLATE_NAME_MALFORMED = "launchTemplateNameMalformed", - LAUNCH_TEMPLATE_VERSION_DOES_NOT_EXIST = "launchTemplateVersionDoesNotExist", - UNEXPECTED_ERROR = "unexpectedError", -} + /** + *

            The VPN connection options.

            + */ + Options?: VpnConnectionOptions; -/** - *

            Describes the error that's returned when you cannot delete a launch template - * version.

            - */ -export interface ResponseError { /** - *

            The error code.

            + *

            The static routes associated with the VPN connection.

            */ - Code?: LaunchTemplateErrorCode | string; + Routes?: VpnStaticRoute[]; /** - *

            The error message, if applicable.

            + *

            Any tags assigned to the VPN connection.

            */ - Message?: string; + Tags?: Tag[]; + + /** + *

            Information about the VPN tunnel.

            + */ + VgwTelemetry?: VgwTelemetry[]; } -export namespace ResponseError { +export namespace VpnConnection { /** * @internal */ - export const filterSensitiveLog = (obj: ResponseError): any => ({ + export const filterSensitiveLog = (obj: VpnConnection): any => ({ ...obj, }); } /** - *

            Describes a launch template version that could not be deleted.

            + *

            Contains the output of CreateVpnConnection.

            */ -export interface DeleteLaunchTemplateVersionsResponseErrorItem { +export interface CreateVpnConnectionResult { /** - *

            The ID of the launch template.

            + *

            Information about the VPN connection.

            */ - LaunchTemplateId?: string; + VpnConnection?: VpnConnection; +} +export namespace CreateVpnConnectionResult { /** - *

            The name of the launch template.

            + * @internal */ - LaunchTemplateName?: string; + export const filterSensitiveLog = (obj: CreateVpnConnectionResult): any => ({ + ...obj, + }); +} +/** + *

            Contains the parameters for CreateVpnConnectionRoute.

            + */ +export interface CreateVpnConnectionRouteRequest { /** - *

            The version number of the launch template.

            + *

            The CIDR block associated with the local subnet of the customer network.

            */ - VersionNumber?: number; + DestinationCidrBlock: string | undefined; /** - *

            Information about the error.

            + *

            The ID of the VPN connection.

            */ - ResponseError?: ResponseError; + VpnConnectionId: string | undefined; } -export namespace DeleteLaunchTemplateVersionsResponseErrorItem { +export namespace CreateVpnConnectionRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResponseErrorItem): any => ({ + export const filterSensitiveLog = (obj: CreateVpnConnectionRouteRequest): any => ({ ...obj, }); } -export interface DeleteLaunchTemplateVersionsResult { +/** + *

            Contains the parameters for CreateVpnGateway.

            + */ +export interface CreateVpnGatewayRequest { /** - *

            Information about the launch template versions that were successfully - * deleted.

            + *

            The Availability Zone for the virtual private gateway.

            */ - SuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseSuccessItem[]; + AvailabilityZone?: string; /** - *

            Information about the launch template versions that could not be deleted.

            + *

            The type of VPN connection this virtual private gateway supports.

            */ - UnsuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseErrorItem[]; + Type: GatewayType | string | undefined; + + /** + *

            The tags to apply to the virtual private gateway.

            + */ + TagSpecifications?: TagSpecification[]; + + /** + *

            A private Autonomous System Number (ASN) for the Amazon side of a BGP session. If + * you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If you're using a + * 32-bit ASN, it must be in the 4200000000 to 4294967294 range.

            + *

            Default: 64512

            + */ + AmazonSideAsn?: number; + + /** + *

            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

            + */ + DryRun?: boolean; } -export namespace DeleteLaunchTemplateVersionsResult { +export namespace CreateVpnGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResult): any => ({ + export const filterSensitiveLog = (obj: CreateVpnGatewayRequest): any => ({ ...obj, }); } -export interface DeleteLocalGatewayRouteRequest { +/** + *

            Describes a virtual private gateway.

            + */ +export interface VpnGateway { /** - *

            The CIDR range for the route. This must match the CIDR for the route exactly.

            + *

            The Availability Zone where the virtual private gateway was created, if applicable. + * This field may be empty or not returned.

            */ - DestinationCidrBlock: string | undefined; + AvailabilityZone?: string; /** - *

            The ID of the local gateway route table.

            + *

            The current state of the virtual private gateway.

            */ - LocalGatewayRouteTableId: string | undefined; + State?: VpnState | string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The type of VPN connection the virtual private gateway supports.

            */ - DryRun?: boolean; + Type?: GatewayType | string; + + /** + *

            Any VPCs attached to the virtual private gateway.

            + */ + VpcAttachments?: VpcAttachment[]; + + /** + *

            The ID of the virtual private gateway.

            + */ + VpnGatewayId?: string; + + /** + *

            The private Autonomous System Number (ASN) for the Amazon side of a BGP + * session.

            + */ + AmazonSideAsn?: number; + + /** + *

            Any tags assigned to the virtual private gateway.

            + */ + Tags?: Tag[]; } -export namespace DeleteLocalGatewayRouteRequest { +export namespace VpnGateway { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: VpnGateway): any => ({ ...obj, }); } -export interface DeleteLocalGatewayRouteResult { +/** + *

            Contains the output of CreateVpnGateway.

            + */ +export interface CreateVpnGatewayResult { /** - *

            Information about the route.

            + *

            Information about the virtual private gateway.

            */ - Route?: LocalGatewayRoute; + VpnGateway?: VpnGateway; } -export namespace DeleteLocalGatewayRouteResult { +export namespace CreateVpnGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteResult): any => ({ + export const filterSensitiveLog = (obj: CreateVpnGatewayResult): any => ({ ...obj, }); } -export interface DeleteLocalGatewayRouteTableVpcAssociationRequest { +export interface DeleteCarrierGatewayRequest { /** - *

            The ID of the association.

            + *

            The ID of the carrier gateway.

            */ - LocalGatewayRouteTableVpcAssociationId: string | undefined; + CarrierGatewayId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -1392,166 +1497,166 @@ export interface DeleteLocalGatewayRouteTableVpcAssociationRequest { DryRun?: boolean; } -export namespace DeleteLocalGatewayRouteTableVpcAssociationRequest { +export namespace DeleteCarrierGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteTableVpcAssociationRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteCarrierGatewayRequest): any => ({ ...obj, }); } -export interface DeleteLocalGatewayRouteTableVpcAssociationResult { +export interface DeleteCarrierGatewayResult { /** - *

            Information about the association.

            + *

            Information about the carrier gateway.

            */ - LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation; + CarrierGateway?: CarrierGateway; } -export namespace DeleteLocalGatewayRouteTableVpcAssociationResult { +export namespace DeleteCarrierGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteTableVpcAssociationResult): any => ({ + export const filterSensitiveLog = (obj: DeleteCarrierGatewayResult): any => ({ ...obj, }); } -export interface DeleteManagedPrefixListRequest { +export interface DeleteClientVpnEndpointRequest { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the Client VPN to be deleted.

            */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** - *

            The ID of the prefix list.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            */ - PrefixListId: string | undefined; + DryRun?: boolean; } -export namespace DeleteManagedPrefixListRequest { +export namespace DeleteClientVpnEndpointRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteManagedPrefixListRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteClientVpnEndpointRequest): any => ({ ...obj, }); } -export interface DeleteManagedPrefixListResult { +export interface DeleteClientVpnEndpointResult { /** - *

            Information about the prefix list.

            + *

            The current state of the Client VPN endpoint.

            */ - PrefixList?: ManagedPrefixList; + Status?: ClientVpnEndpointStatus; } -export namespace DeleteManagedPrefixListResult { +export namespace DeleteClientVpnEndpointResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteManagedPrefixListResult): any => ({ + export const filterSensitiveLog = (obj: DeleteClientVpnEndpointResult): any => ({ ...obj, }); } -export interface DeleteNatGatewayRequest { +export interface DeleteClientVpnRouteRequest { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the Client VPN endpoint from which the route is to be deleted.

            */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** - *

            The ID of the NAT gateway.

            + *

            The ID of the target subnet used by the route.

            */ - NatGatewayId: string | undefined; + TargetVpcSubnetId?: string; + + /** + *

            The IPv4 address range, in CIDR notation, of the route to be deleted.

            + */ + DestinationCidrBlock: string | undefined; + + /** + *

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            + */ + DryRun?: boolean; } -export namespace DeleteNatGatewayRequest { +export namespace DeleteClientVpnRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNatGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteClientVpnRouteRequest): any => ({ ...obj, }); } -export interface DeleteNatGatewayResult { +export interface DeleteClientVpnRouteResult { /** - *

            The ID of the NAT gateway.

            + *

            The current state of the route.

            */ - NatGatewayId?: string; + Status?: ClientVpnRouteStatus; } -export namespace DeleteNatGatewayResult { +export namespace DeleteClientVpnRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNatGatewayResult): any => ({ + export const filterSensitiveLog = (obj: DeleteClientVpnRouteResult): any => ({ ...obj, }); } -export interface DeleteNetworkAclRequest { +/** + *

            Contains the parameters for DeleteCustomerGateway.

            + */ +export interface DeleteCustomerGatewayRequest { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the customer gateway.

            */ - DryRun?: boolean; + CustomerGatewayId: string | undefined; /** - *

            The ID of the network ACL.

            + *

            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

            */ - NetworkAclId: string | undefined; + DryRun?: boolean; } -export namespace DeleteNetworkAclRequest { +export namespace DeleteCustomerGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkAclRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteCustomerGatewayRequest): any => ({ ...obj, }); } -export interface DeleteNetworkAclEntryRequest { +export interface DeleteDhcpOptionsRequest { + /** + *

            The ID of the DHCP options set.

            + */ + DhcpOptionsId: string | undefined; + /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; - - /** - *

            Indicates whether the rule is an egress rule.

            - */ - Egress: boolean | undefined; - - /** - *

            The ID of the network ACL.

            - */ - NetworkAclId: string | undefined; - - /** - *

            The rule number of the entry to delete.

            - */ - RuleNumber: number | undefined; } -export namespace DeleteNetworkAclEntryRequest { +export namespace DeleteDhcpOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkAclEntryRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteDhcpOptionsRequest): any => ({ ...obj, }); } -export interface DeleteNetworkInsightsAnalysisRequest { +export interface DeleteEgressOnlyInternetGatewayRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1560,37 +1665,37 @@ export interface DeleteNetworkInsightsAnalysisRequest { DryRun?: boolean; /** - *

            The ID of the network insights analysis.

            + *

            The ID of the egress-only internet gateway.

            */ - NetworkInsightsAnalysisId: string | undefined; + EgressOnlyInternetGatewayId: string | undefined; } -export namespace DeleteNetworkInsightsAnalysisRequest { +export namespace DeleteEgressOnlyInternetGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInsightsAnalysisRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteEgressOnlyInternetGatewayRequest): any => ({ ...obj, }); } -export interface DeleteNetworkInsightsAnalysisResult { +export interface DeleteEgressOnlyInternetGatewayResult { /** - *

            The ID of the network insights analysis.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - NetworkInsightsAnalysisId?: string; + ReturnCode?: boolean; } -export namespace DeleteNetworkInsightsAnalysisResult { +export namespace DeleteEgressOnlyInternetGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInsightsAnalysisResult): any => ({ + export const filterSensitiveLog = (obj: DeleteEgressOnlyInternetGatewayResult): any => ({ ...obj, }); } -export interface DeleteNetworkInsightsPathRequest { +export interface DeleteFleetsRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1599,292 +1704,295 @@ export interface DeleteNetworkInsightsPathRequest { DryRun?: boolean; /** - *

            The ID of the path.

            + *

            The IDs of the EC2 Fleets.

            */ - NetworkInsightsPathId: string | undefined; -} + FleetIds: string[] | undefined; -export namespace DeleteNetworkInsightsPathRequest { /** - * @internal - */ - export const filterSensitiveLog = (obj: DeleteNetworkInsightsPathRequest): any => ({ - ...obj, - }); -} - -export interface DeleteNetworkInsightsPathResult { - /** - *

            The ID of the path.

            + *

            Indicates whether to terminate the instances when the EC2 Fleet is deleted. The default is to + * terminate the instances.

            + *

            To let the instances continue to run after the EC2 Fleet is deleted, specify + * NoTerminateInstances. Supported only for fleets of type + * maintain and request.

            + *

            For instant fleets, you cannot specify NoTerminateInstances. A + * deleted instant fleet with running instances is not supported.

            */ - NetworkInsightsPathId?: string; + TerminateInstances: boolean | undefined; } -export namespace DeleteNetworkInsightsPathResult { +export namespace DeleteFleetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInsightsPathResult): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetsRequest): any => ({ ...obj, }); } +export enum FleetStateCode { + ACTIVE = "active", + DELETED = "deleted", + DELETED_RUNNING = "deleted_running", + DELETED_TERMINATING_INSTANCES = "deleted_terminating", + FAILED = "failed", + MODIFYING = "modifying", + SUBMITTED = "submitted", +} + /** - *

            Contains the parameters for DeleteNetworkInterface.

            + *

            Describes an EC2 Fleet that was successfully deleted.

            */ -export interface DeleteNetworkInterfaceRequest { +export interface DeleteFleetSuccessItem { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The current state of the EC2 Fleet.

            */ - DryRun?: boolean; + CurrentFleetState?: FleetStateCode | string; /** - *

            The ID of the network interface.

            + *

            The previous state of the EC2 Fleet.

            */ - NetworkInterfaceId: string | undefined; + PreviousFleetState?: FleetStateCode | string; + + /** + *

            The ID of the EC2 Fleet.

            + */ + FleetId?: string; } -export namespace DeleteNetworkInterfaceRequest { +export namespace DeleteFleetSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInterfaceRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetSuccessItem): any => ({ ...obj, }); } +export enum DeleteFleetErrorCode { + FLEET_ID_DOES_NOT_EXIST = "fleetIdDoesNotExist", + FLEET_ID_MALFORMED = "fleetIdMalformed", + FLEET_NOT_IN_DELETABLE_STATE = "fleetNotInDeletableState", + UNEXPECTED_ERROR = "unexpectedError", +} + /** - *

            Contains the parameters for DeleteNetworkInterfacePermission.

            + *

            Describes an EC2 Fleet error.

            */ -export interface DeleteNetworkInterfacePermissionRequest { - /** - *

            The ID of the network interface permission.

            - */ - NetworkInterfacePermissionId: string | undefined; - +export interface DeleteFleetError { /** - *

            Specify true to remove the permission even if the network interface is - * attached to an instance.

            + *

            The error code.

            */ - Force?: boolean; + Code?: DeleteFleetErrorCode | string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The description for the error code.

            */ - DryRun?: boolean; + Message?: string; } -export namespace DeleteNetworkInterfacePermissionRequest { +export namespace DeleteFleetError { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInterfacePermissionRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetError): any => ({ ...obj, }); } /** - *

            Contains the output for DeleteNetworkInterfacePermission.

            + *

            Describes an EC2 Fleet that was not successfully deleted.

            */ -export interface DeleteNetworkInterfacePermissionResult { +export interface DeleteFleetErrorItem { /** - *

            Returns true if the request succeeds, otherwise returns an error.

            + *

            The error.

            */ - Return?: boolean; + Error?: DeleteFleetError; + + /** + *

            The ID of the EC2 Fleet.

            + */ + FleetId?: string; } -export namespace DeleteNetworkInterfacePermissionResult { +export namespace DeleteFleetErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteNetworkInterfacePermissionResult): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetErrorItem): any => ({ ...obj, }); } -export interface DeletePlacementGroupRequest { +export interface DeleteFleetsResult { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            Information about the EC2 Fleets that are successfully deleted.

            */ - DryRun?: boolean; + SuccessfulFleetDeletions?: DeleteFleetSuccessItem[]; /** - *

            The name of the placement group.

            + *

            Information about the EC2 Fleets that are not successfully deleted.

            */ - GroupName: string | undefined; + UnsuccessfulFleetDeletions?: DeleteFleetErrorItem[]; } -export namespace DeletePlacementGroupRequest { +export namespace DeleteFleetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeletePlacementGroupRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFleetsResult): any => ({ ...obj, }); } -export interface DeleteQueuedReservedInstancesRequest { +export interface DeleteFlowLogsRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; /** - *

            The IDs of the Reserved Instances.

            + *

            One or more flow log IDs.

            + *

            Constraint: Maximum of 1000 flow log IDs.

            */ - ReservedInstancesIds: string[] | undefined; + FlowLogIds: string[] | undefined; } -export namespace DeleteQueuedReservedInstancesRequest { +export namespace DeleteFlowLogsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteFlowLogsRequest): any => ({ ...obj, }); } -export enum DeleteQueuedReservedInstancesErrorCode { - RESERVED_INSTANCES_ID_INVALID = "reserved-instances-id-invalid", - RESERVED_INSTANCES_NOT_IN_QUEUED_STATE = "reserved-instances-not-in-queued-state", - UNEXPECTED_ERROR = "unexpected-error", -} - -/** - *

            Describes the error for a Reserved Instance whose queued purchase could not be deleted.

            - */ -export interface DeleteQueuedReservedInstancesError { - /** - *

            The error code.

            - */ - Code?: DeleteQueuedReservedInstancesErrorCode | string; - +export interface DeleteFlowLogsResult { /** - *

            The error message.

            + *

            Information about the flow logs that could not be deleted successfully.

            */ - Message?: string; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace DeleteQueuedReservedInstancesError { +export namespace DeleteFlowLogsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesError): any => ({ + export const filterSensitiveLog = (obj: DeleteFlowLogsResult): any => ({ ...obj, }); } -/** - *

            Describes a Reserved Instance whose queued purchase was not deleted.

            - */ -export interface FailedQueuedPurchaseDeletion { +export interface DeleteFpgaImageRequest { /** - *

            The error.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Error?: DeleteQueuedReservedInstancesError; + DryRun?: boolean; /** - *

            The ID of the Reserved Instance.

            + *

            The ID of the AFI.

            */ - ReservedInstancesId?: string; + FpgaImageId: string | undefined; } -export namespace FailedQueuedPurchaseDeletion { +export namespace DeleteFpgaImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FailedQueuedPurchaseDeletion): any => ({ + export const filterSensitiveLog = (obj: DeleteFpgaImageRequest): any => ({ ...obj, }); } -/** - *

            Describes a Reserved Instance whose queued purchase was successfully deleted.

            - */ -export interface SuccessfulQueuedPurchaseDeletion { +export interface DeleteFpgaImageResult { /** - *

            The ID of the Reserved Instance.

            + *

            Is true if the request succeeds, and an error otherwise.

            */ - ReservedInstancesId?: string; + Return?: boolean; } -export namespace SuccessfulQueuedPurchaseDeletion { +export namespace DeleteFpgaImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: SuccessfulQueuedPurchaseDeletion): any => ({ + export const filterSensitiveLog = (obj: DeleteFpgaImageResult): any => ({ ...obj, }); } -export interface DeleteQueuedReservedInstancesResult { +export interface DeleteInstanceEventWindowRequest { /** - *

            Information about the queued purchases that were successfully deleted.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - SuccessfulQueuedPurchaseDeletions?: SuccessfulQueuedPurchaseDeletion[]; + DryRun?: boolean; /** - *

            Information about the queued purchases that could not be deleted.

            + *

            Specify true to force delete the event window. Use the force delete parameter + * if the event window is currently associated with targets.

            */ - FailedQueuedPurchaseDeletions?: FailedQueuedPurchaseDeletion[]; + ForceDelete?: boolean; + + /** + *

            The ID of the event window.

            + */ + InstanceEventWindowId: string | undefined; } -export namespace DeleteQueuedReservedInstancesResult { +export namespace DeleteInstanceEventWindowRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteInstanceEventWindowRequest): any => ({ ...obj, }); } -export interface DeleteRouteRequest { - /** - *

            The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

            - */ - DestinationCidrBlock?: string; - +/** + *

            The state of the event window.

            + */ +export interface InstanceEventWindowStateChange { /** - *

            The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

            + *

            The ID of the event window.

            */ - DestinationIpv6CidrBlock?: string; + InstanceEventWindowId?: string; /** - *

            The ID of the prefix list for the route.

            + *

            The current state of the event window.

            */ - DestinationPrefixListId?: string; + State?: InstanceEventWindowState | string; +} +export namespace InstanceEventWindowStateChange { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: InstanceEventWindowStateChange): any => ({ + ...obj, + }); +} +export interface DeleteInstanceEventWindowResult { /** - *

            The ID of the route table.

            + *

            The state of the event window.

            */ - RouteTableId: string | undefined; + InstanceEventWindowState?: InstanceEventWindowStateChange; } -export namespace DeleteRouteRequest { +export namespace DeleteInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteRouteRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteInstanceEventWindowResult): any => ({ ...obj, }); } -export interface DeleteRouteTableRequest { +export interface DeleteInternetGatewayRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1893,30 +2001,30 @@ export interface DeleteRouteTableRequest { DryRun?: boolean; /** - *

            The ID of the route table.

            + *

            The ID of the internet gateway.

            */ - RouteTableId: string | undefined; + InternetGatewayId: string | undefined; } -export namespace DeleteRouteTableRequest { +export namespace DeleteInternetGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteInternetGatewayRequest): any => ({ ...obj, }); } -export interface DeleteSecurityGroupRequest { +export interface DeleteKeyPairRequest { /** - *

            The ID of the security group. Required for a nondefault VPC.

            + *

            The name of the key pair.

            */ - GroupId?: string; + KeyName?: string; /** - *

            [EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

            + *

            The ID of the key pair.

            */ - GroupName?: string; + KeyPairId?: string; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -1926,240 +2034,227 @@ export interface DeleteSecurityGroupRequest { DryRun?: boolean; } -export namespace DeleteSecurityGroupRequest { +export namespace DeleteKeyPairRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSecurityGroupRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteKeyPairRequest): any => ({ ...obj, }); } -export interface DeleteSnapshotRequest { - /** - *

            The ID of the EBS snapshot.

            - */ - SnapshotId: string | undefined; - +export interface DeleteLaunchTemplateRequest { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

            */ DryRun?: boolean; -} -export namespace DeleteSnapshotRequest { /** - * @internal + *

            The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

            */ - export const filterSensitiveLog = (obj: DeleteSnapshotRequest): any => ({ - ...obj, - }); -} + LaunchTemplateId?: string; -/** - *

            Contains the parameters for DeleteSpotDatafeedSubscription.

            - */ -export interface DeleteSpotDatafeedSubscriptionRequest { /** - *

            Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

            + *

            The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

            */ - DryRun?: boolean; + LaunchTemplateName?: string; } -export namespace DeleteSpotDatafeedSubscriptionRequest { +export namespace DeleteLaunchTemplateRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSpotDatafeedSubscriptionRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateRequest): any => ({ ...obj, }); } -export interface DeleteSubnetRequest { - /** - *

            The ID of the subnet.

            - */ - SubnetId: string | undefined; - +export interface DeleteLaunchTemplateResult { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            Information about the launch template.

            */ - DryRun?: boolean; + LaunchTemplate?: LaunchTemplate; } -export namespace DeleteSubnetRequest { +export namespace DeleteLaunchTemplateResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSubnetRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateResult): any => ({ ...obj, }); } -export interface DeleteSubnetCidrReservationRequest { +export interface DeleteLaunchTemplateVersionsRequest { /** - *

            The ID of the subnet CIDR reservation.

            + *

            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

            */ - SubnetCidrReservationId: string | undefined; + DryRun?: boolean; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

            */ - DryRun?: boolean; -} + LaunchTemplateId?: string; -export namespace DeleteSubnetCidrReservationRequest { /** - * @internal + *

            The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

            */ - export const filterSensitiveLog = (obj: DeleteSubnetCidrReservationRequest): any => ({ - ...obj, - }); -} + LaunchTemplateName?: string; -export interface DeleteSubnetCidrReservationResult { /** - *

            Information about the deleted subnet CIDR reservation.

            + *

            The version numbers of one or more launch template versions to delete.

            */ - DeletedSubnetCidrReservation?: SubnetCidrReservation; + Versions: string[] | undefined; } -export namespace DeleteSubnetCidrReservationResult { +export namespace DeleteLaunchTemplateVersionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteSubnetCidrReservationResult): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsRequest): any => ({ ...obj, }); } -export interface DeleteTagsRequest { +/** + *

            Describes a launch template version that was successfully deleted.

            + */ +export interface DeleteLaunchTemplateVersionsResponseSuccessItem { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the launch template.

            */ - DryRun?: boolean; + LaunchTemplateId?: string; /** - *

            The IDs of the resources, separated by spaces.

            - *

            Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

            + *

            The name of the launch template.

            */ - Resources: string[] | undefined; + LaunchTemplateName?: string; /** - *

            The tags to delete. Specify a tag key and an optional tag value to delete - * specific tags. If you specify a tag key without a tag value, we delete any tag with this - * key regardless of its value. If you specify a tag key with an empty string as the tag - * value, we delete the tag only if its value is an empty string.

            - *

            If you omit this parameter, we delete all user-defined tags for the specified - * resources. We do not delete Amazon Web Services-generated tags (tags that have the aws: - * prefix).

            + *

            The version number of the launch template.

            */ - Tags?: Tag[]; + VersionNumber?: number; } -export namespace DeleteTagsRequest { +export namespace DeleteLaunchTemplateVersionsResponseSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTagsRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResponseSuccessItem): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorFilterRequest { +export enum LaunchTemplateErrorCode { + LAUNCH_TEMPLATE_ID_DOES_NOT_EXIST = "launchTemplateIdDoesNotExist", + LAUNCH_TEMPLATE_ID_MALFORMED = "launchTemplateIdMalformed", + LAUNCH_TEMPLATE_NAME_DOES_NOT_EXIST = "launchTemplateNameDoesNotExist", + LAUNCH_TEMPLATE_NAME_MALFORMED = "launchTemplateNameMalformed", + LAUNCH_TEMPLATE_VERSION_DOES_NOT_EXIST = "launchTemplateVersionDoesNotExist", + UNEXPECTED_ERROR = "unexpectedError", +} + +/** + *

            Describes the error that's returned when you cannot delete a launch template + * version.

            + */ +export interface ResponseError { /** - *

            The ID of the Traffic Mirror filter.

            + *

            The error code.

            */ - TrafficMirrorFilterId: string | undefined; + Code?: LaunchTemplateErrorCode | string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The error message, if applicable.

            */ - DryRun?: boolean; + Message?: string; } -export namespace DeleteTrafficMirrorFilterRequest { +export namespace ResponseError { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRequest): any => ({ + export const filterSensitiveLog = (obj: ResponseError): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorFilterResult { +/** + *

            Describes a launch template version that could not be deleted.

            + */ +export interface DeleteLaunchTemplateVersionsResponseErrorItem { /** - *

            The ID of the Traffic Mirror filter.

            + *

            The ID of the launch template.

            */ - TrafficMirrorFilterId?: string; -} + LaunchTemplateId?: string; -export namespace DeleteTrafficMirrorFilterResult { /** - * @internal + *

            The name of the launch template.

            */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterResult): any => ({ - ...obj, - }); -} + LaunchTemplateName?: string; -export interface DeleteTrafficMirrorFilterRuleRequest { /** - *

            The ID of the Traffic Mirror rule.

            + *

            The version number of the launch template.

            */ - TrafficMirrorFilterRuleId: string | undefined; + VersionNumber?: number; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            Information about the error.

            */ - DryRun?: boolean; + ResponseError?: ResponseError; } -export namespace DeleteTrafficMirrorFilterRuleRequest { +export namespace DeleteLaunchTemplateVersionsResponseErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRuleRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResponseErrorItem): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorFilterRuleResult { +export interface DeleteLaunchTemplateVersionsResult { /** - *

            The ID of the deleted Traffic Mirror rule.

            + *

            Information about the launch template versions that were successfully + * deleted.

            */ - TrafficMirrorFilterRuleId?: string; + SuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseSuccessItem[]; + + /** + *

            Information about the launch template versions that could not be deleted.

            + */ + UnsuccessfullyDeletedLaunchTemplateVersions?: DeleteLaunchTemplateVersionsResponseErrorItem[]; } -export namespace DeleteTrafficMirrorFilterRuleResult { +export namespace DeleteLaunchTemplateVersionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRuleResult): any => ({ + export const filterSensitiveLog = (obj: DeleteLaunchTemplateVersionsResult): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorSessionRequest { +export interface DeleteLocalGatewayRouteRequest { /** - *

            The ID of the Traffic Mirror session.

            + *

            The CIDR range for the route. This must match the CIDR for the route exactly.

            */ - TrafficMirrorSessionId: string | undefined; + DestinationCidrBlock: string | undefined; + + /** + *

            The ID of the local gateway route table.

            + */ + LocalGatewayRouteTableId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -2169,36 +2264,36 @@ export interface DeleteTrafficMirrorSessionRequest { DryRun?: boolean; } -export namespace DeleteTrafficMirrorSessionRequest { +export namespace DeleteLocalGatewayRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorSessionRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteRequest): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorSessionResult { +export interface DeleteLocalGatewayRouteResult { /** - *

            The ID of the deleted Traffic Mirror session.

            + *

            Information about the route.

            */ - TrafficMirrorSessionId?: string; + Route?: LocalGatewayRoute; } -export namespace DeleteTrafficMirrorSessionResult { +export namespace DeleteLocalGatewayRouteResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorSessionResult): any => ({ + export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteResult): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorTargetRequest { +export interface DeleteLocalGatewayRouteTableVpcAssociationRequest { /** - *

            The ID of the Traffic Mirror target.

            + *

            The ID of the association.

            */ - TrafficMirrorTargetId: string | undefined; + LocalGatewayRouteTableVpcAssociationId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -2208,524 +2303,476 @@ export interface DeleteTrafficMirrorTargetRequest { DryRun?: boolean; } -export namespace DeleteTrafficMirrorTargetRequest { +export namespace DeleteLocalGatewayRouteTableVpcAssociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorTargetRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteTableVpcAssociationRequest): any => ({ ...obj, }); } -export interface DeleteTrafficMirrorTargetResult { +export interface DeleteLocalGatewayRouteTableVpcAssociationResult { /** - *

            The ID of the deleted Traffic Mirror target.

            + *

            Information about the association.

            */ - TrafficMirrorTargetId?: string; + LocalGatewayRouteTableVpcAssociation?: LocalGatewayRouteTableVpcAssociation; } -export namespace DeleteTrafficMirrorTargetResult { +export namespace DeleteLocalGatewayRouteTableVpcAssociationResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTrafficMirrorTargetResult): any => ({ + export const filterSensitiveLog = (obj: DeleteLocalGatewayRouteTableVpcAssociationResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRequest { - /** - *

            The ID of the transit gateway.

            - */ - TransitGatewayId: string | undefined; - +export interface DeleteManagedPrefixListRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; + + /** + *

            The ID of the prefix list.

            + */ + PrefixListId: string | undefined; } -export namespace DeleteTransitGatewayRequest { +export namespace DeleteManagedPrefixListRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteManagedPrefixListRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayResult { +export interface DeleteManagedPrefixListResult { /** - *

            Information about the deleted transit gateway.

            + *

            Information about the prefix list.

            */ - TransitGateway?: TransitGateway; + PrefixList?: ManagedPrefixList; } -export namespace DeleteTransitGatewayResult { +export namespace DeleteManagedPrefixListResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayResult): any => ({ + export const filterSensitiveLog = (obj: DeleteManagedPrefixListResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayConnectRequest { - /** - *

            The ID of the Connect attachment.

            - */ - TransitGatewayAttachmentId: string | undefined; - +export interface DeleteNatGatewayRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; + + /** + *

            The ID of the NAT gateway.

            + */ + NatGatewayId: string | undefined; } -export namespace DeleteTransitGatewayConnectRequest { +export namespace DeleteNatGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNatGatewayRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayConnectResult { +export interface DeleteNatGatewayResult { /** - *

            Information about the deleted Connect attachment.

            + *

            The ID of the NAT gateway.

            */ - TransitGatewayConnect?: TransitGatewayConnect; + NatGatewayId?: string; } -export namespace DeleteTransitGatewayConnectResult { +export namespace DeleteNatGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNatGatewayResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayConnectPeerRequest { - /** - *

            The ID of the Connect peer.

            - */ - TransitGatewayConnectPeerId: string | undefined; - +export interface DeleteNetworkAclRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; -} - -export namespace DeleteTransitGatewayConnectPeerRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectPeerRequest): any => ({ - ...obj, - }); -} -export interface DeleteTransitGatewayConnectPeerResult { /** - *

            Information about the deleted Connect peer.

            + *

            The ID of the network ACL.

            */ - TransitGatewayConnectPeer?: TransitGatewayConnectPeer; + NetworkAclId: string | undefined; } -export namespace DeleteTransitGatewayConnectPeerResult { +export namespace DeleteNetworkAclRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectPeerResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkAclRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayMulticastDomainRequest { - /** - *

            The ID of the transit gateway multicast domain.

            - */ - TransitGatewayMulticastDomainId: string | undefined; - +export interface DeleteNetworkAclEntryRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; -} -export namespace DeleteTransitGatewayMulticastDomainRequest { /** - * @internal + *

            Indicates whether the rule is an egress rule.

            */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayMulticastDomainRequest): any => ({ - ...obj, - }); -} + Egress: boolean | undefined; -export interface DeleteTransitGatewayMulticastDomainResult { /** - *

            Information about the deleted transit gateway multicast domain.

            + *

            The ID of the network ACL.

            */ - TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain; + NetworkAclId: string | undefined; + + /** + *

            The rule number of the entry to delete.

            + */ + RuleNumber: number | undefined; } -export namespace DeleteTransitGatewayMulticastDomainResult { +export namespace DeleteNetworkAclEntryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayMulticastDomainResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkAclEntryRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayPeeringAttachmentRequest { - /** - *

            The ID of the transit gateway peering attachment.

            - */ - TransitGatewayAttachmentId: string | undefined; - +export interface DeleteNetworkInsightsAnalysisRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; + + /** + *

            The ID of the network insights analysis.

            + */ + NetworkInsightsAnalysisId: string | undefined; } -export namespace DeleteTransitGatewayPeeringAttachmentRequest { +export namespace DeleteNetworkInsightsAnalysisRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayPeeringAttachmentRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsAnalysisRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayPeeringAttachmentResult { +export interface DeleteNetworkInsightsAnalysisResult { /** - *

            The transit gateway peering attachment.

            + *

            The ID of the network insights analysis.

            */ - TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; + NetworkInsightsAnalysisId?: string; } -export namespace DeleteTransitGatewayPeeringAttachmentResult { +export namespace DeleteNetworkInsightsAnalysisResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayPeeringAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsAnalysisResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayPrefixListReferenceRequest { - /** - *

            The ID of the route table.

            - */ - TransitGatewayRouteTableId: string | undefined; - - /** - *

            The ID of the prefix list.

            - */ - PrefixListId: string | undefined; - +export interface DeleteNetworkInsightsPathRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; + + /** + *

            The ID of the path.

            + */ + NetworkInsightsPathId: string | undefined; } -export namespace DeleteTransitGatewayPrefixListReferenceRequest { +export namespace DeleteNetworkInsightsPathRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsPathRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayPrefixListReferenceResult { +export interface DeleteNetworkInsightsPathResult { /** - *

            Information about the deleted prefix list reference.

            + *

            The ID of the path.

            */ - TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; + NetworkInsightsPathId?: string; } -export namespace DeleteTransitGatewayPrefixListReferenceResult { +export namespace DeleteNetworkInsightsPathResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInsightsPathResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRouteRequest { - /** - *

            The ID of the transit gateway route table.

            - */ - TransitGatewayRouteTableId: string | undefined; - +/** + *

            Contains the parameters for DeleteNetworkInterface.

            + */ +export interface DeleteNetworkInterfaceRequest { /** - *

            The CIDR range for the route. This must match the CIDR for the route exactly.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - DestinationCidrBlock: string | undefined; + DryRun?: boolean; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The ID of the network interface.

            */ - DryRun?: boolean; + NetworkInterfaceId: string | undefined; } -export namespace DeleteTransitGatewayRouteRequest { +export namespace DeleteNetworkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInterfaceRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRouteResult { - /** - *

            Information about the route.

            - */ - Route?: TransitGatewayRoute; -} - -export namespace DeleteTransitGatewayRouteResult { +/** + *

            Contains the parameters for DeleteNetworkInterfacePermission.

            + */ +export interface DeleteNetworkInterfacePermissionRequest { /** - * @internal + *

            The ID of the network interface permission.

            */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteResult): any => ({ - ...obj, - }); -} + NetworkInterfacePermissionId: string | undefined; -export interface DeleteTransitGatewayRouteTableRequest { /** - *

            The ID of the transit gateway route table.

            + *

            Specify true to remove the permission even if the network interface is + * attached to an instance.

            */ - TransitGatewayRouteTableId: string | undefined; + Force?: boolean; /** *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; } -export namespace DeleteTransitGatewayRouteTableRequest { +export namespace DeleteNetworkInterfacePermissionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInterfacePermissionRequest): any => ({ ...obj, }); } -export interface DeleteTransitGatewayRouteTableResult { +/** + *

            Contains the output for DeleteNetworkInterfacePermission.

            + */ +export interface DeleteNetworkInterfacePermissionResult { /** - *

            Information about the deleted transit gateway route table.

            + *

            Returns true if the request succeeds, otherwise returns an error.

            */ - TransitGatewayRouteTable?: TransitGatewayRouteTable; + Return?: boolean; } -export namespace DeleteTransitGatewayRouteTableResult { +export namespace DeleteNetworkInterfacePermissionResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableResult): any => ({ + export const filterSensitiveLog = (obj: DeleteNetworkInterfacePermissionResult): any => ({ ...obj, }); } -export interface DeleteTransitGatewayVpcAttachmentRequest { - /** - *

            The ID of the attachment.

            - */ - TransitGatewayAttachmentId: string | undefined; - +export interface DeletePlacementGroupRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; -} -export namespace DeleteTransitGatewayVpcAttachmentRequest { /** - * @internal + *

            The name of the placement group.

            */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentRequest): any => ({ - ...obj, - }); -} - -export interface DeleteTransitGatewayVpcAttachmentResult { - /** - *

            Information about the deleted VPC attachment.

            - */ - TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; + GroupName: string | undefined; } -export namespace DeleteTransitGatewayVpcAttachmentResult { +export namespace DeletePlacementGroupRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentResult): any => ({ + export const filterSensitiveLog = (obj: DeletePlacementGroupRequest): any => ({ ...obj, }); } -export interface DeleteVolumeRequest { +export interface DeleteQueuedReservedInstancesRequest { /** - *

            The ID of the volume.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - VolumeId: string | undefined; + DryRun?: boolean; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The IDs of the Reserved Instances.

            */ - DryRun?: boolean; + ReservedInstancesIds: string[] | undefined; } -export namespace DeleteVolumeRequest { +export namespace DeleteQueuedReservedInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesRequest): any => ({ ...obj, }); } -export interface DeleteVpcRequest { +export enum DeleteQueuedReservedInstancesErrorCode { + RESERVED_INSTANCES_ID_INVALID = "reserved-instances-id-invalid", + RESERVED_INSTANCES_NOT_IN_QUEUED_STATE = "reserved-instances-not-in-queued-state", + UNEXPECTED_ERROR = "unexpected-error", +} + +/** + *

            Describes the error for a Reserved Instance whose queued purchase could not be deleted.

            + */ +export interface DeleteQueuedReservedInstancesError { /** - *

            The ID of the VPC.

            + *

            The error code.

            */ - VpcId: string | undefined; + Code?: DeleteQueuedReservedInstancesErrorCode | string; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The error message.

            */ - DryRun?: boolean; + Message?: string; } -export namespace DeleteVpcRequest { +export namespace DeleteQueuedReservedInstancesError { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesError): any => ({ ...obj, }); } -export interface DeleteVpcEndpointConnectionNotificationsRequest { +/** + *

            Describes a Reserved Instance whose queued purchase was not deleted.

            + */ +export interface FailedQueuedPurchaseDeletion { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            The error.

            */ - DryRun?: boolean; + Error?: DeleteQueuedReservedInstancesError; /** - *

            One or more notification IDs.

            + *

            The ID of the Reserved Instance.

            */ - ConnectionNotificationIds: string[] | undefined; + ReservedInstancesId?: string; } -export namespace DeleteVpcEndpointConnectionNotificationsRequest { +export namespace FailedQueuedPurchaseDeletion { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsRequest): any => ({ + export const filterSensitiveLog = (obj: FailedQueuedPurchaseDeletion): any => ({ ...obj, }); } -export interface DeleteVpcEndpointConnectionNotificationsResult { +/** + *

            Describes a Reserved Instance whose queued purchase was successfully deleted.

            + */ +export interface SuccessfulQueuedPurchaseDeletion { /** - *

            Information about the notifications that could not be deleted - * successfully.

            + *

            The ID of the Reserved Instance.

            */ - Unsuccessful?: UnsuccessfulItem[]; + ReservedInstancesId?: string; } -export namespace DeleteVpcEndpointConnectionNotificationsResult { +export namespace SuccessfulQueuedPurchaseDeletion { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsResult): any => ({ + export const filterSensitiveLog = (obj: SuccessfulQueuedPurchaseDeletion): any => ({ ...obj, }); } -/** - *

            Contains the parameters for DeleteVpcEndpoints.

            - */ -export interface DeleteVpcEndpointsRequest { +export interface DeleteQueuedReservedInstancesResult { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + *

            Information about the queued purchases that were successfully deleted.

            */ - DryRun?: boolean; + SuccessfulQueuedPurchaseDeletions?: SuccessfulQueuedPurchaseDeletion[]; /** - *

            One or more VPC endpoint IDs.

            + *

            Information about the queued purchases that could not be deleted.

            */ - VpcEndpointIds: string[] | undefined; + FailedQueuedPurchaseDeletions?: FailedQueuedPurchaseDeletion[]; } -export namespace DeleteVpcEndpointsRequest { +export namespace DeleteQueuedReservedInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointsRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteQueuedReservedInstancesResult): any => ({ ...obj, }); } -/** - *

            Contains the output of DeleteVpcEndpoints.

            - */ -export interface DeleteVpcEndpointsResult { +export interface DeleteRouteRequest { /** - *

            Information about the VPC endpoints that were not successfully deleted.

            + *

            The IPv4 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

            */ - Unsuccessful?: UnsuccessfulItem[]; -} + DestinationCidrBlock?: string; -export namespace DeleteVpcEndpointsResult { /** - * @internal + *

            The IPv6 CIDR range for the route. The value you specify must match the CIDR for the route exactly.

            */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointsResult): any => ({ - ...obj, - }); -} + DestinationIpv6CidrBlock?: string; + + /** + *

            The ID of the prefix list for the route.

            + */ + DestinationPrefixListId?: string; -export interface DeleteVpcEndpointServiceConfigurationsRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2734,38 +2781,21 @@ export interface DeleteVpcEndpointServiceConfigurationsRequest { DryRun?: boolean; /** - *

            The IDs of one or more services.

            - */ - ServiceIds: string[] | undefined; -} - -export namespace DeleteVpcEndpointServiceConfigurationsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsRequest): any => ({ - ...obj, - }); -} - -export interface DeleteVpcEndpointServiceConfigurationsResult { - /** - *

            Information about the service configurations that were not deleted, if - * applicable.

            + *

            The ID of the route table.

            */ - Unsuccessful?: UnsuccessfulItem[]; + RouteTableId: string | undefined; } -export namespace DeleteVpcEndpointServiceConfigurationsResult { +export namespace DeleteRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsResult): any => ({ + export const filterSensitiveLog = (obj: DeleteRouteRequest): any => ({ ...obj, }); } -export interface DeleteVpcPeeringConnectionRequest { +export interface DeleteRouteTableRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2774,96 +2804,75 @@ export interface DeleteVpcPeeringConnectionRequest { DryRun?: boolean; /** - *

            The ID of the VPC peering connection.

            + *

            The ID of the route table.

            */ - VpcPeeringConnectionId: string | undefined; + RouteTableId: string | undefined; } -export namespace DeleteVpcPeeringConnectionRequest { +export namespace DeleteRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteRouteTableRequest): any => ({ ...obj, }); } -export interface DeleteVpcPeeringConnectionResult { - /** - *

            Returns true if the request succeeds; otherwise, it returns an error.

            - */ - Return?: boolean; -} - -export namespace DeleteVpcPeeringConnectionResult { +export interface DeleteSecurityGroupRequest { /** - * @internal + *

            The ID of the security group. Required for a nondefault VPC.

            */ - export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionResult): any => ({ - ...obj, - }); -} + GroupId?: string; -/** - *

            Contains the parameters for DeleteVpnConnection.

            - */ -export interface DeleteVpnConnectionRequest { /** - *

            The ID of the VPN connection.

            + *

            [EC2-Classic, default VPC] The name of the security group. You can specify either the security group name or the security group ID.

            */ - VpnConnectionId: string | undefined; + GroupName?: string; /** - *

            Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; } -export namespace DeleteVpnConnectionRequest { +export namespace DeleteSecurityGroupRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpnConnectionRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteSecurityGroupRequest): any => ({ ...obj, }); } -/** - *

            Contains the parameters for DeleteVpnConnectionRoute.

            - */ -export interface DeleteVpnConnectionRouteRequest { +export interface DeleteSnapshotRequest { /** - *

            The CIDR block associated with the local subnet of the customer network.

            + *

            The ID of the EBS snapshot.

            */ - DestinationCidrBlock: string | undefined; + SnapshotId: string | undefined; /** - *

            The ID of the VPN connection.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - VpnConnectionId: string | undefined; + DryRun?: boolean; } -export namespace DeleteVpnConnectionRouteRequest { +export namespace DeleteSnapshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpnConnectionRouteRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteSnapshotRequest): any => ({ ...obj, }); } /** - *

            Contains the parameters for DeleteVpnGateway.

            + *

            Contains the parameters for DeleteSpotDatafeedSubscription.

            */ -export interface DeleteVpnGatewayRequest { - /** - *

            The ID of the virtual private gateway.

            - */ - VpnGatewayId: string | undefined; - +export interface DeleteSpotDatafeedSubscriptionRequest { /** *

            Checks whether you have the required permissions for the action, without actually * making the request, and provides an error response. If you have the required @@ -2873,21 +2882,20 @@ export interface DeleteVpnGatewayRequest { DryRun?: boolean; } -export namespace DeleteVpnGatewayRequest { +export namespace DeleteSpotDatafeedSubscriptionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteVpnGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteSpotDatafeedSubscriptionRequest): any => ({ ...obj, }); } -export interface DeprovisionByoipCidrRequest { +export interface DeleteSubnetRequest { /** - *

            The address range, in CIDR notation. The prefix must be the same prefix - * that you specified when you provisioned the address range.

            + *

            The ID of the subnet.

            */ - Cidr: string | undefined; + SubnetId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -2897,85 +2905,55 @@ export interface DeprovisionByoipCidrRequest { DryRun?: boolean; } -export namespace DeprovisionByoipCidrRequest { +export namespace DeleteSubnetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeprovisionByoipCidrRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteSubnetRequest): any => ({ ...obj, }); } -export interface DeprovisionByoipCidrResult { +export interface DeleteSubnetCidrReservationRequest { /** - *

            Information about the address range.

            + *

            The ID of the subnet CIDR reservation.

            */ - ByoipCidr?: ByoipCidr; -} - -export namespace DeprovisionByoipCidrResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DeprovisionByoipCidrResult): any => ({ - ...obj, - }); -} - -/** - *

            Contains the parameters for DeregisterImage.

            - */ -export interface DeregisterImageRequest { - /** - *

            The ID of the AMI.

            - */ - ImageId: string | undefined; + SubnetCidrReservationId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; } -export namespace DeregisterImageRequest { +export namespace DeleteSubnetCidrReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterImageRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteSubnetCidrReservationRequest): any => ({ ...obj, }); } -/** - *

            Information about the tag keys to deregister for the current Region. You can either specify - * individual tag keys or deregister all tag keys in the current Region. You must specify either - * IncludeAllTagsOfInstance or InstanceTagKeys in the request

            - */ -export interface DeregisterInstanceTagAttributeRequest { - /** - *

            Indicates whether to deregister all tag keys in the current Region. Specify false - * to deregister all tag keys.

            - */ - IncludeAllTagsOfInstance?: boolean; - +export interface DeleteSubnetCidrReservationResult { /** - *

            Information about the tag keys to deregister.

            + *

            Information about the deleted subnet CIDR reservation.

            */ - InstanceTagKeys?: string[]; + DeletedSubnetCidrReservation?: SubnetCidrReservation; } -export namespace DeregisterInstanceTagAttributeRequest { +export namespace DeleteSubnetCidrReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterInstanceTagAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteSubnetCidrReservationResult): any => ({ ...obj, }); } -export interface DeregisterInstanceEventNotificationAttributesRequest { +export interface DeleteTagsRequest { /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2984,76 +2962,76 @@ export interface DeregisterInstanceEventNotificationAttributesRequest { DryRun?: boolean; /** - *

            Information about the tag keys to deregister.

            + *

            The IDs of the resources, separated by spaces.

            + *

            Constraints: Up to 1000 resource IDs. We recommend breaking up this request into smaller batches.

            */ - InstanceTagAttribute?: DeregisterInstanceTagAttributeRequest; + Resources: string[] | undefined; + + /** + *

            The tags to delete. Specify a tag key and an optional tag value to delete + * specific tags. If you specify a tag key without a tag value, we delete any tag with this + * key regardless of its value. If you specify a tag key with an empty string as the tag + * value, we delete the tag only if its value is an empty string.

            + *

            If you omit this parameter, we delete all user-defined tags for the specified + * resources. We do not delete Amazon Web Services-generated tags (tags that have the aws: + * prefix).

            + */ + Tags?: Tag[]; } -export namespace DeregisterInstanceEventNotificationAttributesRequest { +export namespace DeleteTagsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterInstanceEventNotificationAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTagsRequest): any => ({ ...obj, }); } -/** - *

            Describes the registered tag keys for the current Region.

            - */ -export interface InstanceTagNotificationAttribute { +export interface DeleteTrafficMirrorFilterRequest { /** - *

            The registered tag keys.

            + *

            The ID of the Traffic Mirror filter.

            */ - InstanceTagKeys?: string[]; + TrafficMirrorFilterId: string | undefined; /** - *

            Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. - * true indicates that all tag keys in the current Region are registered.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - IncludeAllTagsOfInstance?: boolean; + DryRun?: boolean; } -export namespace InstanceTagNotificationAttribute { +export namespace DeleteTrafficMirrorFilterRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceTagNotificationAttribute): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRequest): any => ({ ...obj, }); } -export interface DeregisterInstanceEventNotificationAttributesResult { +export interface DeleteTrafficMirrorFilterResult { /** - *

            The resulting set of tag keys.

            + *

            The ID of the Traffic Mirror filter.

            */ - InstanceTagAttribute?: InstanceTagNotificationAttribute; + TrafficMirrorFilterId?: string; } -export namespace DeregisterInstanceEventNotificationAttributesResult { +export namespace DeleteTrafficMirrorFilterResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterInstanceEventNotificationAttributesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterResult): any => ({ ...obj, }); } -export interface DeregisterTransitGatewayMulticastGroupMembersRequest { - /** - *

            The ID of the transit gateway multicast domain.

            - */ - TransitGatewayMulticastDomainId?: string; - - /** - *

            The IP address assigned to the transit gateway multicast group.

            - */ - GroupIpAddress?: string; - +export interface DeleteTrafficMirrorFilterRuleRequest { /** - *

            The IDs of the group members' network interfaces.

            + *

            The ID of the Traffic Mirror rule.

            */ - NetworkInterfaceIds?: string[]; + TrafficMirrorFilterRuleId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -3063,75 +3041,75 @@ export interface DeregisterTransitGatewayMulticastGroupMembersRequest { DryRun?: boolean; } -export namespace DeregisterTransitGatewayMulticastGroupMembersRequest { +export namespace DeleteTrafficMirrorFilterRuleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupMembersRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRuleRequest): any => ({ ...obj, }); } -/** - *

            Describes the deregistered transit gateway multicast group members.

            - */ -export interface TransitGatewayMulticastDeregisteredGroupMembers { - /** - *

            The ID of the transit gateway multicast domain.

            - */ - TransitGatewayMulticastDomainId?: string; - - /** - *

            The network interface IDs of the deregistered members.

            - */ - DeregisteredNetworkInterfaceIds?: string[]; - +export interface DeleteTrafficMirrorFilterRuleResult { /** - *

            The IP address assigned to the transit gateway multicast group.

            + *

            The ID of the deleted Traffic Mirror rule.

            */ - GroupIpAddress?: string; + TrafficMirrorFilterRuleId?: string; } -export namespace TransitGatewayMulticastDeregisteredGroupMembers { +export namespace DeleteTrafficMirrorFilterRuleResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDeregisteredGroupMembers): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorFilterRuleResult): any => ({ ...obj, }); } -export interface DeregisterTransitGatewayMulticastGroupMembersResult { +export interface DeleteTrafficMirrorSessionRequest { /** - *

            Information about the deregistered members.

            + *

            The ID of the Traffic Mirror session.

            */ - DeregisteredMulticastGroupMembers?: TransitGatewayMulticastDeregisteredGroupMembers; + TrafficMirrorSessionId: string | undefined; + + /** + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            + */ + DryRun?: boolean; } -export namespace DeregisterTransitGatewayMulticastGroupMembersResult { +export namespace DeleteTrafficMirrorSessionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupMembersResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorSessionRequest): any => ({ ...obj, }); } -export interface DeregisterTransitGatewayMulticastGroupSourcesRequest { +export interface DeleteTrafficMirrorSessionResult { /** - *

            The ID of the transit gateway multicast domain.

            + *

            The ID of the deleted Traffic Mirror session.

            */ - TransitGatewayMulticastDomainId?: string; + TrafficMirrorSessionId?: string; +} +export namespace DeleteTrafficMirrorSessionResult { /** - *

            The IP address assigned to the transit gateway multicast group.

            + * @internal */ - GroupIpAddress?: string; + export const filterSensitiveLog = (obj: DeleteTrafficMirrorSessionResult): any => ({ + ...obj, + }); +} +export interface DeleteTrafficMirrorTargetRequest { /** - *

            The IDs of the group sources' network interfaces.

            + *

            The ID of the Traffic Mirror target.

            */ - NetworkInterfaceIds?: string[]; + TrafficMirrorTargetId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -3141,189 +3119,153 @@ export interface DeregisterTransitGatewayMulticastGroupSourcesRequest { DryRun?: boolean; } -export namespace DeregisterTransitGatewayMulticastGroupSourcesRequest { +export namespace DeleteTrafficMirrorTargetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupSourcesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTrafficMirrorTargetRequest): any => ({ ...obj, }); } -/** - *

            Describes the deregistered transit gateway multicast group sources.

            - */ -export interface TransitGatewayMulticastDeregisteredGroupSources { +export interface DeleteTrafficMirrorTargetResult { /** - *

            The ID of the transit gateway multicast domain.

            + *

            The ID of the deleted Traffic Mirror target.

            */ - TransitGatewayMulticastDomainId?: string; + TrafficMirrorTargetId?: string; +} +export namespace DeleteTrafficMirrorTargetResult { /** - *

            The network interface IDs of the non-registered members.

            + * @internal */ - DeregisteredNetworkInterfaceIds?: string[]; + export const filterSensitiveLog = (obj: DeleteTrafficMirrorTargetResult): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayRequest { /** - *

            The IP address assigned to the transit gateway multicast group.

            + *

            The ID of the transit gateway.

            */ - GroupIpAddress?: string; + TransitGatewayId: string | undefined; + + /** + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            + */ + DryRun?: boolean; } -export namespace TransitGatewayMulticastDeregisteredGroupSources { +export namespace DeleteTransitGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDeregisteredGroupSources): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayRequest): any => ({ ...obj, }); } -export interface DeregisterTransitGatewayMulticastGroupSourcesResult { +export interface DeleteTransitGatewayResult { /** - *

            Information about the deregistered group sources.

            + *

            Information about the deleted transit gateway.

            */ - DeregisteredMulticastGroupSources?: TransitGatewayMulticastDeregisteredGroupSources; + TransitGateway?: TransitGateway; } -export namespace DeregisterTransitGatewayMulticastGroupSourcesResult { +export namespace DeleteTransitGatewayResult { /** * @internal */ - export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupSourcesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayResult): any => ({ ...obj, }); } -export interface DescribeAccountAttributesRequest { +export interface DeleteTransitGatewayConnectRequest { /** - *

            The account attribute names.

            + *

            The ID of the Connect attachment.

            */ - AttributeNames?: (AccountAttributeName | string)[]; + TransitGatewayAttachmentId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; } -export namespace DescribeAccountAttributesRequest { +export namespace DeleteTransitGatewayConnectRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAccountAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectRequest): any => ({ ...obj, }); } -export interface DescribeAccountAttributesResult { +export interface DeleteTransitGatewayConnectResult { /** - *

            Information about the account attributes.

            + *

            Information about the deleted Connect attachment.

            */ - AccountAttributes?: AccountAttribute[]; + TransitGatewayConnect?: TransitGatewayConnect; } -export namespace DescribeAccountAttributesResult { +export namespace DeleteTransitGatewayConnectResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAccountAttributesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectResult): any => ({ ...obj, }); } -/** - *

            A filter name and value pair that is used to return a more specific list of results from a describe operation. - * Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

            - */ -export interface Filter { +export interface DeleteTransitGatewayConnectPeerRequest { /** - *

            The name of the filter. Filter names are case-sensitive.

            + *

            The ID of the Connect peer.

            */ - Name?: string; + TransitGatewayConnectPeerId: string | undefined; /** - *

            The filter values. Filter values are case-sensitive.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Values?: string[]; + DryRun?: boolean; } -export namespace Filter { +export namespace DeleteTransitGatewayConnectPeerRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Filter): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectPeerRequest): any => ({ ...obj, }); } -export interface DescribeAddressesRequest { +export interface DeleteTransitGatewayConnectPeerResult { /** - *

            One or more filters. Filter names and values are case-sensitive.

            - *
              - *
            • - *

              - * allocation-id - [EC2-VPC] The allocation ID for the address.

              - *
            • - *
            • - *

              - * association-id - [EC2-VPC] The association ID for the address.

              - *
            • - *
            • - *

              - * domain - Indicates whether the address is for use in EC2-Classic (standard) - * or in a VPC (vpc).

              - *
            • - *
            • - *

              - * instance-id - The ID of the instance the address is associated with, if any.

              - *
            • - *
            • - *

              - * network-border-group - A unique set of Availability Zones, Local Zones, - * or Wavelength Zones from where Amazon Web Services advertises IP addresses.

              - *
            • - *
            • - *

              - * network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

              - *
            • - *
            • - *

              - * network-interface-owner-id - The Amazon Web Services account ID of the owner.

              - *
            • - *
            • - *

              - * private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

              - *
            • - *
            • - *

              - * public-ip - The Elastic IP address, or the carrier IP address.

              - *
            • - *
            • - *

              - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

              - *
            • - *
            • - *

              - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

              - *
            • - *
            + *

            Information about the deleted Connect peer.

            */ - Filters?: Filter[]; + TransitGatewayConnectPeer?: TransitGatewayConnectPeer; +} +export namespace DeleteTransitGatewayConnectPeerResult { /** - *

            One or more Elastic IP addresses.

            - *

            Default: Describes all your Elastic IP addresses.

            + * @internal */ - PublicIps?: string[]; + export const filterSensitiveLog = (obj: DeleteTransitGatewayConnectPeerResult): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayMulticastDomainRequest { /** - *

            [EC2-VPC] Information about the allocation IDs.

            + *

            The ID of the transit gateway multicast domain.

            */ - AllocationIds?: string[]; + TransitGatewayMulticastDomainId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -3333,51 +3275,80 @@ export interface DescribeAddressesRequest { DryRun?: boolean; } -export namespace DescribeAddressesRequest { +export namespace DeleteTransitGatewayMulticastDomainRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAddressesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayMulticastDomainRequest): any => ({ ...obj, }); } -export interface DescribeAddressesResult { +export interface DeleteTransitGatewayMulticastDomainResult { /** - *

            Information about the Elastic IP addresses.

            + *

            Information about the deleted transit gateway multicast domain.

            */ - Addresses?: Address[]; + TransitGatewayMulticastDomain?: TransitGatewayMulticastDomain; } -export namespace DescribeAddressesResult { +export namespace DeleteTransitGatewayMulticastDomainResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAddressesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayMulticastDomainResult): any => ({ ...obj, }); } -export interface DescribeAddressesAttributeRequest { +export interface DeleteTransitGatewayPeeringAttachmentRequest { /** - *

            [EC2-VPC] The allocation IDs.

            + *

            The ID of the transit gateway peering attachment.

            */ - AllocationIds?: string[]; + TransitGatewayAttachmentId: string | undefined; /** - *

            The attribute of the IP address.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Attribute?: AddressAttributeName | string; + DryRun?: boolean; +} +export namespace DeleteTransitGatewayPeeringAttachmentRequest { /** - *

            The token for the next page of results.

            + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: DeleteTransitGatewayPeeringAttachmentRequest): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayPeeringAttachmentResult { /** - *

            The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

            + *

            The transit gateway peering attachment.

            */ - MaxResults?: number; + TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment; +} + +export namespace DeleteTransitGatewayPeeringAttachmentResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteTransitGatewayPeeringAttachmentResult): any => ({ + ...obj, + }); +} + +export interface DeleteTransitGatewayPrefixListReferenceRequest { + /** + *

            The ID of the route table.

            + */ + TransitGatewayRouteTableId: string | undefined; + + /** + *

            The ID of the prefix list.

            + */ + PrefixListId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -3387,37 +3358,42 @@ export interface DescribeAddressesAttributeRequest { DryRun?: boolean; } -export namespace DescribeAddressesAttributeRequest { +export namespace DeleteTransitGatewayPrefixListReferenceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAddressesAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceRequest): any => ({ ...obj, }); } -export interface DescribeAddressesAttributeResult { - /** - *

            Information about the IP addresses.

            - */ - Addresses?: AddressAttribute[]; - +export interface DeleteTransitGatewayPrefixListReferenceResult { /** - *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            + *

            Information about the deleted prefix list reference.

            */ - NextToken?: string; + TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference; } -export namespace DescribeAddressesAttributeResult { +export namespace DeleteTransitGatewayPrefixListReferenceResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAddressesAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayPrefixListReferenceResult): any => ({ ...obj, }); } -export interface DescribeAggregateIdFormatRequest { +export interface DeleteTransitGatewayRouteRequest { + /** + *

            The ID of the transit gateway route table.

            + */ + TransitGatewayRouteTableId: string | undefined; + + /** + *

            The CIDR range for the route. This must match the CIDR for the route exactly.

            + */ + DestinationCidrBlock: string | undefined; + /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3426,148 +3402,137 @@ export interface DescribeAggregateIdFormatRequest { DryRun?: boolean; } -export namespace DescribeAggregateIdFormatRequest { +export namespace DeleteTransitGatewayRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAggregateIdFormatRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteRequest): any => ({ ...obj, }); } -/** - *

            Describes the ID format for a resource.

            - */ -export interface IdFormat { +export interface DeleteTransitGatewayRouteResult { /** - *

            The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

            + *

            Information about the route.

            */ - Deadline?: Date; + Route?: TransitGatewayRoute; +} +export namespace DeleteTransitGatewayRouteResult { /** - *

            The type of resource.

            + * @internal */ - Resource?: string; + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteResult): any => ({ + ...obj, + }); +} +export interface DeleteTransitGatewayRouteTableRequest { /** - *

            Indicates whether longer IDs (17-character IDs) are enabled for the resource.

            + *

            The ID of the transit gateway route table.

            */ - UseLongIds?: boolean; + TransitGatewayRouteTableId: string | undefined; + + /** + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            + */ + DryRun?: boolean; } -export namespace IdFormat { +export namespace DeleteTransitGatewayRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: IdFormat): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableRequest): any => ({ ...obj, }); } -export interface DescribeAggregateIdFormatResult { +export interface DeleteTransitGatewayRouteTableResult { /** - *

            Indicates whether all resource types in the Region are configured to use longer IDs. - * This value is only true if all users are configured to use longer IDs for - * all resources types in the Region.

            + *

            Information about the deleted transit gateway route table.

            */ - UseLongIdsAggregated?: boolean; + TransitGatewayRouteTable?: TransitGatewayRouteTable; +} +export namespace DeleteTransitGatewayRouteTableResult { /** - *

            Information about each resource's ID format.

            + * @internal */ - Statuses?: IdFormat[]; + export const filterSensitiveLog = (obj: DeleteTransitGatewayRouteTableResult): any => ({ + ...obj, + }); } -export namespace DescribeAggregateIdFormatResult { +export interface DeleteTransitGatewayVpcAttachmentRequest { + /** + *

            The ID of the attachment.

            + */ + TransitGatewayAttachmentId: string | undefined; + + /** + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            + */ + DryRun?: boolean; +} + +export namespace DeleteTransitGatewayVpcAttachmentRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAggregateIdFormatResult): any => ({ + export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentRequest): any => ({ ...obj, }); } -export interface DescribeAvailabilityZonesRequest { +export interface DeleteTransitGatewayVpcAttachmentResult { /** - *

            The filters.

            - *
              - *
            • - *

              - * group-name - For Availability Zones, use the Region name. For Local - * Zones, use the name of the group associated with the Local Zone (for example, - * us-west-2-lax-1) For Wavelength Zones, use the name of the group associated - * with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

              - *
            • - *
            • - *

              - * message - The Zone message.

              - *
            • - *
            • - *

              - * opt-in-status - The opt-in status (opted-in, and - * not-opted-in | opt-in-not-required).

              - *
            • - *
            • - *

              - * parent-zoneID - The ID of the zone that handles some of the Local Zone - * and Wavelength Zone control plane operations, such as API calls.

              - *
            • - *
            • - *

              - * parent-zoneName - The ID of the zone that handles some of the Local Zone - * and Wavelength Zone control plane operations, such as API calls.

              - *
            • - *
            • - *

              - * region-name - The name of the Region for the Zone (for example, - * us-east-1).

              - *
            • - *
            • - *

              - * state - The state of the Availability Zone, the Local Zone, or the - * Wavelength Zone (available | information | impaired - * | unavailable).

              - *
            • - *
            • - *

              - * zone-id - The ID of the Availability Zone (for example, - * use1-az1), the Local Zone (for example, usw2-lax1-az1), or the - * Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

              - *
            • - *
            • - *

              - * zone-type - The type of zone, for example, local-zone.

              - *
            • - *
            • - *

              - * zone-name - The name of the Availability Zone (for example, - * us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or - * the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

              - *
            • - *
            • - *

              - * zone-type - The type of zone, for example, local-zone.

              - *
            • - *
            + *

            Information about the deleted VPC attachment.

            */ - Filters?: Filter[]; + TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment; +} +export namespace DeleteTransitGatewayVpcAttachmentResult { /** - *

            The names of the Availability Zones, Local Zones, and Wavelength Zones.

            + * @internal */ - ZoneNames?: string[]; + export const filterSensitiveLog = (obj: DeleteTransitGatewayVpcAttachmentResult): any => ({ + ...obj, + }); +} +export interface DeleteVolumeRequest { /** - *

            The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

            + *

            The ID of the volume.

            */ - ZoneIds?: string[]; + VolumeId: string | undefined; /** - *

            Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your - * opt-in status.

            - *

            If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - AllAvailabilityZones?: boolean; + DryRun?: boolean; +} + +export namespace DeleteVolumeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteVolumeRequest): any => ({ + ...obj, + }); +} + +export interface DeleteVpcRequest { + /** + *

            The ID of the VPC.

            + */ + VpcId: string | undefined; /** *

            Checks whether you have the required permissions for the action, without actually making the request, @@ -3577,715 +3542,699 @@ export interface DescribeAvailabilityZonesRequest { DryRun?: boolean; } -export namespace DescribeAvailabilityZonesRequest { +export namespace DeleteVpcRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAvailabilityZonesRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteVpcRequest): any => ({ ...obj, }); } -/** - *

            Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

            - */ -export interface AvailabilityZoneMessage { +export interface DeleteVpcEndpointConnectionNotificationsRequest { /** - *

            The message about the Availability Zone, Local Zone, or Wavelength Zone.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Message?: string; + DryRun?: boolean; + + /** + *

            One or more notification IDs.

            + */ + ConnectionNotificationIds: string[] | undefined; } -export namespace AvailabilityZoneMessage { +export namespace DeleteVpcEndpointConnectionNotificationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AvailabilityZoneMessage): any => ({ + export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsRequest): any => ({ ...obj, }); } -export type AvailabilityZoneOptInStatus = "not-opted-in" | "opt-in-not-required" | "opted-in"; +export interface DeleteVpcEndpointConnectionNotificationsResult { + /** + *

            Information about the notifications that could not be deleted + * successfully.

            + */ + Unsuccessful?: UnsuccessfulItem[]; +} -export type AvailabilityZoneState = "available" | "impaired" | "information" | "unavailable"; +export namespace DeleteVpcEndpointConnectionNotificationsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteVpcEndpointConnectionNotificationsResult): any => ({ + ...obj, + }); +} /** - *

            Describes Availability Zones, Local Zones, and Wavelength Zones.

            + *

            Contains the parameters for DeleteVpcEndpoints.

            */ -export interface AvailabilityZone { +export interface DeleteVpcEndpointsRequest { /** - *

            The state of the Availability Zone, Local Zone, or Wavelength Zone.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - State?: AvailabilityZoneState | string; + DryRun?: boolean; /** - *

            For Availability Zones, this parameter always has the value of - * opt-in-not-required.

            - *

            For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible - * values are opted-in, and not-opted-in.

            + *

            One or more VPC endpoint IDs.

            */ - OptInStatus?: AvailabilityZoneOptInStatus | string; + VpcEndpointIds: string[] | undefined; +} +export namespace DeleteVpcEndpointsRequest { /** - *

            Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

            + * @internal */ - Messages?: AvailabilityZoneMessage[]; + export const filterSensitiveLog = (obj: DeleteVpcEndpointsRequest): any => ({ + ...obj, + }); +} +/** + *

            Contains the output of DeleteVpcEndpoints.

            + */ +export interface DeleteVpcEndpointsResult { /** - *

            The name of the Region.

            + *

            Information about the VPC endpoints that were not successfully deleted.

            */ - RegionName?: string; + Unsuccessful?: UnsuccessfulItem[]; +} +export namespace DeleteVpcEndpointsResult { /** - *

            The name of the Availability Zone, Local Zone, or Wavelength Zone.

            + * @internal */ - ZoneName?: string; + export const filterSensitiveLog = (obj: DeleteVpcEndpointsResult): any => ({ + ...obj, + }); +} +export interface DeleteVpcEndpointServiceConfigurationsRequest { /** - *

            The ID of the Availability Zone, Local Zone, or Wavelength Zone.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - ZoneId?: string; + DryRun?: boolean; /** - *

            For Availability Zones, this parameter has the same value as the Region name.

            - *

            For Local Zones, the name of the associated group, for example - * us-west-2-lax-1.

            - *

            For Wavelength Zones, the name of the associated group, for example - * us-east-1-wl1-bos-wlz-1.

            + *

            The IDs of one or more services.

            */ - GroupName?: string; + ServiceIds: string[] | undefined; +} +export namespace DeleteVpcEndpointServiceConfigurationsRequest { /** - *

            The name of the network border group.

            + * @internal */ - NetworkBorderGroup?: string; + export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsRequest): any => ({ + ...obj, + }); +} +export interface DeleteVpcEndpointServiceConfigurationsResult { /** - *

            The type of zone. The valid values are availability-zone, - * local-zone, and wavelength-zone.

            + *

            Information about the service configurations that were not deleted, if + * applicable.

            */ - ZoneType?: string; + Unsuccessful?: UnsuccessfulItem[]; +} +export namespace DeleteVpcEndpointServiceConfigurationsResult { /** - *

            The name of the zone that handles some of the Local Zone or Wavelength Zone control plane - * operations, such as API calls.

            + * @internal */ - ParentZoneName?: string; + export const filterSensitiveLog = (obj: DeleteVpcEndpointServiceConfigurationsResult): any => ({ + ...obj, + }); +} +export interface DeleteVpcPeeringConnectionRequest { /** - *

            The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane - * operations, such as API calls.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - ParentZoneId?: string; + DryRun?: boolean; + + /** + *

            The ID of the VPC peering connection.

            + */ + VpcPeeringConnectionId: string | undefined; } -export namespace AvailabilityZone { +export namespace DeleteVpcPeeringConnectionRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AvailabilityZone): any => ({ + export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionRequest): any => ({ ...obj, }); } -export interface DescribeAvailabilityZonesResult { +export interface DeleteVpcPeeringConnectionResult { /** - *

            Information about the Availability Zones, Local Zones, and Wavelength Zones.

            + *

            Returns true if the request succeeds; otherwise, it returns an error.

            */ - AvailabilityZones?: AvailabilityZone[]; + Return?: boolean; } -export namespace DescribeAvailabilityZonesResult { +export namespace DeleteVpcPeeringConnectionResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeAvailabilityZonesResult): any => ({ + export const filterSensitiveLog = (obj: DeleteVpcPeeringConnectionResult): any => ({ ...obj, }); } -export interface DescribeBundleTasksRequest { +/** + *

            Contains the parameters for DeleteVpnConnection.

            + */ +export interface DeleteVpnConnectionRequest { /** - *

            The bundle task IDs.

            - *

            Default: Describes all your bundle tasks.

            + *

            The ID of the VPN connection.

            */ - BundleIds?: string[]; + VpnConnectionId: string | undefined; /** - *

            The filters.

            - *
              - *
            • - *

              - * bundle-id - The ID of the bundle task.

              - *
            • - *
            • - *

              - * error-code - If the task failed, the error code returned.

              - *
            • - *
            • - *

              - * error-message - If the task failed, the error message returned.

              - *
            • - *
            • - *

              - * instance-id - The ID of the instance.

              - *
            • - *
            • - *

              - * progress - The level of task completion, as a percentage (for example, 20%).

              - *
            • - *
            • - *

              - * s3-bucket - The Amazon S3 bucket to store the AMI.

              - *
            • - *
            • - *

              - * s3-prefix - The beginning of the AMI name.

              - *
            • - *
            • - *

              - * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

              - *
            • - *
            • - *

              - * state - The state of the task (pending | waiting-for-shutdown | bundling | - * storing | cancelling | complete | failed).

              - *
            • - *
            • - *

              - * update-time - The time of the most recent update for the task.

              - *
            • - *
            + *

            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

            */ - Filters?: Filter[]; + DryRun?: boolean; +} +export namespace DeleteVpnConnectionRequest { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

            + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: DeleteVpnConnectionRequest): any => ({ + ...obj, + }); } -export namespace DescribeBundleTasksRequest { +/** + *

            Contains the parameters for DeleteVpnConnectionRoute.

            + */ +export interface DeleteVpnConnectionRouteRequest { + /** + *

            The CIDR block associated with the local subnet of the customer network.

            + */ + DestinationCidrBlock: string | undefined; + + /** + *

            The ID of the VPN connection.

            + */ + VpnConnectionId: string | undefined; +} + +export namespace DeleteVpnConnectionRouteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeBundleTasksRequest): any => ({ + export const filterSensitiveLog = (obj: DeleteVpnConnectionRouteRequest): any => ({ ...obj, }); } -export interface DescribeBundleTasksResult { +/** + *

            Contains the parameters for DeleteVpnGateway.

            + */ +export interface DeleteVpnGatewayRequest { /** - *

            Information about the bundle tasks.

            + *

            The ID of the virtual private gateway.

            */ - BundleTasks?: BundleTask[]; + VpnGatewayId: string | undefined; + + /** + *

            Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

            + */ + DryRun?: boolean; } -export namespace DescribeBundleTasksResult { +export namespace DeleteVpnGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeBundleTasksResult): any => ({ + export const filterSensitiveLog = (obj: DeleteVpnGatewayRequest): any => ({ ...obj, }); } -export interface DescribeByoipCidrsRequest { +export interface DeprovisionByoipCidrRequest { + /** + *

            The address range, in CIDR notation. The prefix must be the same prefix + * that you specified when you provisioned the address range.

            + */ + Cidr: string | undefined; + /** *

            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

            */ DryRun?: boolean; +} +export namespace DeprovisionByoipCidrRequest { /** - *

            The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

            + * @internal */ - MaxResults: number | undefined; + export const filterSensitiveLog = (obj: DeprovisionByoipCidrRequest): any => ({ + ...obj, + }); +} +export interface DeprovisionByoipCidrResult { /** - *

            The token for the next page of results.

            + *

            Information about the address range.

            */ - NextToken?: string; + ByoipCidr?: ByoipCidr; } -export namespace DescribeByoipCidrsRequest { +export namespace DeprovisionByoipCidrResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeByoipCidrsRequest): any => ({ + export const filterSensitiveLog = (obj: DeprovisionByoipCidrResult): any => ({ ...obj, }); } -export interface DescribeByoipCidrsResult { +/** + *

            Contains the parameters for DeregisterImage.

            + */ +export interface DeregisterImageRequest { /** - *

            Information about your address ranges.

            + *

            The ID of the AMI.

            */ - ByoipCidrs?: ByoipCidr[]; + ImageId: string | undefined; /** - *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - NextToken?: string; + DryRun?: boolean; } -export namespace DescribeByoipCidrsResult { +export namespace DeregisterImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeByoipCidrsResult): any => ({ + export const filterSensitiveLog = (obj: DeregisterImageRequest): any => ({ ...obj, }); } -export interface DescribeCapacityReservationFleetsRequest { +/** + *

            Information about the tag keys to deregister for the current Region. You can either specify + * individual tag keys or deregister all tag keys in the current Region. You must specify either + * IncludeAllTagsOfInstance or InstanceTagKeys in the request

            + */ +export interface DeregisterInstanceTagAttributeRequest { /** - *

            The IDs of the Capacity Reservation Fleets to describe.

            + *

            Indicates whether to deregister all tag keys in the current Region. Specify false + * to deregister all tag keys.

            */ - CapacityReservationFleetIds?: string[]; + IncludeAllTagsOfInstance?: boolean; /** - *

            The token to use to retrieve the next page of results.

            + *

            Information about the tag keys to deregister.

            */ - NextToken?: string; + InstanceTagKeys?: string[]; +} +export namespace DeregisterInstanceTagAttributeRequest { /** - *

            The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

            + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DeregisterInstanceTagAttributeRequest): any => ({ + ...obj, + }); +} +export interface DeregisterInstanceEventNotificationAttributesRequest { /** - *

            One or more filters.

            - *
              - *
            • - *

              - * state - The state of the Fleet (submitted | modifying | active | - * partially_fulfilled | expiring | expired | cancelling | - * cancelled | failed).

              - *
            • - *
            • - *

              - * instance-match-criteria - The instance matching criteria for the Fleet. Only open is supported.

              - *
            • - *
            • - *

              - * tenancy - The tenancy of the Fleet (default | dedicated).

              - *
            • - *
            • - *

              - * allocation-strategy - The allocation strategy used by the Fleet. Only prioritized is supported.

              - *
            • - *
            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - Filters?: Filter[]; + DryRun?: boolean; /** - *

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            + *

            Information about the tag keys to deregister.

            */ - DryRun?: boolean; + InstanceTagAttribute?: DeregisterInstanceTagAttributeRequest; } -export namespace DescribeCapacityReservationFleetsRequest { +export namespace DeregisterInstanceEventNotificationAttributesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCapacityReservationFleetsRequest): any => ({ + export const filterSensitiveLog = (obj: DeregisterInstanceEventNotificationAttributesRequest): any => ({ ...obj, }); } /** - *

            Information about a Capacity Reservation Fleet.

            + *

            Describes the registered tag keys for the current Region.

            */ -export interface CapacityReservationFleet { +export interface InstanceTagNotificationAttribute { /** - *

            The ID of the Capacity Reservation Fleet.

            + *

            The registered tag keys.

            */ - CapacityReservationFleetId?: string; + InstanceTagKeys?: string[]; /** - *

            The ARN of the Capacity Reservation Fleet.

            + *

            Indicates wheter all tag keys in the current Region are registered to appear in scheduled event notifications. + * true indicates that all tag keys in the current Region are registered.

            */ - CapacityReservationFleetArn?: string; + IncludeAllTagsOfInstance?: boolean; +} +export namespace InstanceTagNotificationAttribute { /** - *

            The state of the Capacity Reservation Fleet. Possible states include:

            - *
              - *
            • - *

              - * submitted - The Capacity Reservation Fleet request has been submitted - * and Amazon Elastic Compute Cloud is preparing to create the Capacity Reservations.

              - *
            • - *
            • - *

              - * modifying - The Capacity Reservation Fleet is being modified. The Fleet - * remains in this state until the modification is complete.

              - *
            • - *
            • - *

              - * active - The Capacity Reservation Fleet has fulfilled its total target - * capacity and it is attempting to maintain this capacity. The Fleet remains in this - * state until it is modified or deleted.

              - *
            • - *
            • - *

              - * partially_fulfilled - The Capacity Reservation Fleet has partially - * fulfilled its total target capacity. There is insufficient Amazon EC2 to - * fulfill the total target capacity. The Fleet is attempting to asynchronously fulfill - * its total target capacity.

              - *
            • - *
            • - *

              - * expiring - The Capacity Reservation Fleet has reach its end date and it - * is in the process of expiring. One or more of its Capacity reservations might still - * be active.

              - *
            • - *
            • - *

              - * expired - The Capacity Reservation Fleet has reach its end date. The Fleet - * and its Capacity Reservations are expired. The Fleet can't create new Capacity - * Reservations.

              - *
            • - *
            • - *

              - * cancelling - The Capacity Reservation Fleet is in the process of being - * cancelled. One or more of its Capacity reservations might still be active.

              - *
            • - *
            • - *

              - * cancelled - The Capacity Reservation Fleet has been manually cancelled. - * The Fleet and its Capacity Reservations are cancelled and the Fleet can't create new - * Capacity Reservations.

              - *
            • - *
            • - *

              - * failed - The Capacity Reservation Fleet failed to reserve capacity for - * the specified instance types.

              - *
            • - *
            + * @internal */ - State?: CapacityReservationFleetState | string; + export const filterSensitiveLog = (obj: InstanceTagNotificationAttribute): any => ({ + ...obj, + }); +} +export interface DeregisterInstanceEventNotificationAttributesResult { /** - *

            The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. - * For more information, see Total target capacity - * in the Amazon EC2 User Guide.

            + *

            The resulting set of tag keys.

            */ - TotalTargetCapacity?: number; + InstanceTagAttribute?: InstanceTagNotificationAttribute; +} +export namespace DeregisterInstanceEventNotificationAttributesResult { /** - *

            The capacity units that have been fulfilled.

            + * @internal */ - TotalFulfilledCapacity?: number; + export const filterSensitiveLog = (obj: DeregisterInstanceEventNotificationAttributesResult): any => ({ + ...obj, + }); +} +export interface DeregisterTransitGatewayMulticastGroupMembersRequest { /** - *

            The tenancy of the Capacity Reservation Fleet. Tenancies include:

            - *
              - *
            • - *

              - * default - The Capacity Reservation Fleet is created on hardware that is - * shared with other Amazon Web Services accounts.

              - *
            • - *
            • - *

              - * dedicated - The Capacity Reservation Fleet is created on single-tenant - * hardware that is dedicated to a single Amazon Web Services account.

              - *
            • - *
            + *

            The ID of the transit gateway multicast domain.

            */ - Tenancy?: FleetCapacityReservationTenancy | string; + TransitGatewayMulticastDomainId?: string; /** - *

            The date and time at which the Capacity Reservation Fleet expires.

            + *

            The IP address assigned to the transit gateway multicast group.

            */ - EndDate?: Date; + GroupIpAddress?: string; /** - *

            The date and time at which the Capacity Reservation Fleet was created.

            + *

            The IDs of the group members' network interfaces.

            */ - CreateTime?: Date; + NetworkInterfaceIds?: string[]; /** - *

            Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All - * Capacity Reservations in the Fleet inherit this instance matching criteria.

            - *

            Currently, Capacity Reservation Fleets support open instance matching criteria - * only. This means that instances that have matching attributes (instance type, platform, and - * Availability Zone) run in the Capacity Reservations automatically. Instances do not need to - * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

            + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            */ - InstanceMatchCriteria?: FleetInstanceMatchCriteria | string; + DryRun?: boolean; +} +export namespace DeregisterTransitGatewayMulticastGroupMembersRequest { /** - *

            The strategy used by the Capacity Reservation Fleet to determine which of the specified - * instance types to use. For more information, see For more information, see - * - * Allocation strategy in the Amazon EC2 User Guide.

            + * @internal */ - AllocationStrategy?: string; + export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupMembersRequest): any => ({ + ...obj, + }); +} +/** + *

            Describes the deregistered transit gateway multicast group members.

            + */ +export interface TransitGatewayMulticastDeregisteredGroupMembers { /** - *

            Information about the instance types for which to reserve the capacity.

            + *

            The ID of the transit gateway multicast domain.

            */ - InstanceTypeSpecifications?: FleetCapacityReservation[]; + TransitGatewayMulticastDomainId?: string; /** - *

            The tags assigned to the Capacity Reservation Fleet.

            + *

            The network interface IDs of the deregistered members.

            */ - Tags?: Tag[]; + DeregisteredNetworkInterfaceIds?: string[]; + + /** + *

            The IP address assigned to the transit gateway multicast group.

            + */ + GroupIpAddress?: string; } -export namespace CapacityReservationFleet { +export namespace TransitGatewayMulticastDeregisteredGroupMembers { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationFleet): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayMulticastDeregisteredGroupMembers): any => ({ ...obj, }); } -export interface DescribeCapacityReservationFleetsResult { +export interface DeregisterTransitGatewayMulticastGroupMembersResult { /** - *

            Information about the Capacity Reservation Fleets.

            + *

            Information about the deregistered members.

            */ - CapacityReservationFleets?: CapacityReservationFleet[]; + DeregisteredMulticastGroupMembers?: TransitGatewayMulticastDeregisteredGroupMembers; +} +export namespace DeregisterTransitGatewayMulticastGroupMembersResult { /** - *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupMembersResult): any => ({ + ...obj, + }); } -export namespace DescribeCapacityReservationFleetsResult { +export interface DeregisterTransitGatewayMulticastGroupSourcesRequest { + /** + *

            The ID of the transit gateway multicast domain.

            + */ + TransitGatewayMulticastDomainId?: string; + + /** + *

            The IP address assigned to the transit gateway multicast group.

            + */ + GroupIpAddress?: string; + + /** + *

            The IDs of the group sources' network interfaces.

            + */ + NetworkInterfaceIds?: string[]; + + /** + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            + */ + DryRun?: boolean; +} + +export namespace DeregisterTransitGatewayMulticastGroupSourcesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCapacityReservationFleetsResult): any => ({ + export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupSourcesRequest): any => ({ ...obj, }); } -export interface DescribeCapacityReservationsRequest { +/** + *

            Describes the deregistered transit gateway multicast group sources.

            + */ +export interface TransitGatewayMulticastDeregisteredGroupSources { /** - *

            The ID of the Capacity Reservation.

            + *

            The ID of the transit gateway multicast domain.

            */ - CapacityReservationIds?: string[]; + TransitGatewayMulticastDomainId?: string; /** - *

            The token to use to retrieve the next page of results.

            + *

            The network interface IDs of the non-registered members.

            */ - NextToken?: string; + DeregisteredNetworkInterfaceIds?: string[]; /** - *

            The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

            + *

            The IP address assigned to the transit gateway multicast group.

            */ - MaxResults?: number; + GroupIpAddress?: string; +} +export namespace TransitGatewayMulticastDeregisteredGroupSources { /** - *

            One or more filters.

            - *
              - *
            • - *

              - * instance-type - The type of instance for which the Capacity Reservation reserves capacity.

              - *
            • - *
            • - *

              - * owner-id - The ID of the Amazon Web Services account that owns the Capacity Reservation.

              - *
            • - *
            • - *

              - * availability-zone-id - The Availability Zone ID of the Capacity Reservation.

              - *
            • - *
            • - *

              - * instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

              - *
            • - *
            • - *

              - * availability-zone - The Availability Zone ID of the Capacity Reservation.

              - *
            • - *
            • - *

              - * tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the - * following tenancy settings:

              - *
                - *
              • - *

                - * default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

                - *
              • - *
              • - *

                - * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

                - *
              • - *
              - *
            • - *
            • - *

              - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

              - *
            • - *
            • - *

              - * state - The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

              - *
                - *
              • - *

                - * active- The Capacity Reservation is active and the capacity is available for your use.

                - *
              • - *
              • - *

                - * expired - The Capacity Reservation expired automatically at the date and time specified in your request. - * The reserved capacity is no longer available for your use.

                - *
              • - *
              • - *

                - * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no longer available for your use.

                - *
              • - *
              • - *

                - * pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

                - *
              • - *
              • - *

                - * failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, - * capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

                - *
              • - *
              - *
            • - *
            • - *

              - * start-date - The date and time at which the Capacity Reservation was started.

              - *
            • - *
            • - *

              - * end-date - The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is - * released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

              - *
            • - *
            • - *

              - * end-date-type - Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

              - *
                - *
              • - *

                - * unlimited - The Capacity Reservation remains active until you explicitly cancel it.

                - *
              • - *
              • - *

                - * limited - The Capacity Reservation expires automatically at a specified date and time.

                - *
              • - *
              - *
            • - *
            • - *

              - * instance-match-criteria - Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

              - *
                - *
              • - *

                - * open - The Capacity Reservation accepts all instances that have matching - * attributes (instance type, platform, and Availability Zone). Instances - * that have matching attributes launch into the Capacity Reservation - * automatically without specifying any additional parameters.

                - *
              • - *
              • - *

                - * targeted - The Capacity Reservation only accepts instances that have matching - * attributes (instance type, platform, and Availability Zone), and - * explicitly target the Capacity Reservation. This ensures that only - * permitted instances can use the reserved capacity.

                - *
              • - *
              - *
            • - *
            + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: TransitGatewayMulticastDeregisteredGroupSources): any => ({ + ...obj, + }); +} +export interface DeregisterTransitGatewayMulticastGroupSourcesResult { /** - *

            Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

            + *

            Information about the deregistered group sources.

            + */ + DeregisteredMulticastGroupSources?: TransitGatewayMulticastDeregisteredGroupSources; +} + +export namespace DeregisterTransitGatewayMulticastGroupSourcesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeregisterTransitGatewayMulticastGroupSourcesResult): any => ({ + ...obj, + }); +} + +export interface DescribeAccountAttributesRequest { + /** + *

            The account attribute names.

            + */ + AttributeNames?: (AccountAttributeName | string)[]; + + /** + *

            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

            + */ + DryRun?: boolean; +} + +export namespace DescribeAccountAttributesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeAccountAttributesRequest): any => ({ + ...obj, + }); +} + +export interface DescribeAccountAttributesResult { + /** + *

            Information about the account attributes.

            */ - DryRun?: boolean; + AccountAttributes?: AccountAttribute[]; } -export namespace DescribeCapacityReservationsRequest { +export namespace DescribeAccountAttributesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCapacityReservationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAccountAttributesResult): any => ({ ...obj, }); } -export interface DescribeCapacityReservationsResult { +/** + *

            A filter name and value pair that is used to return a more specific list of results from a describe operation. + * Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

            + */ +export interface Filter { /** - *

            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

            + *

            The name of the filter. Filter names are case-sensitive.

            */ - NextToken?: string; + Name?: string; /** - *

            Information about the Capacity Reservations.

            + *

            The filter values. Filter values are case-sensitive.

            */ - CapacityReservations?: CapacityReservation[]; + Values?: string[]; } -export namespace DescribeCapacityReservationsResult { +export namespace Filter { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCapacityReservationsResult): any => ({ + export const filterSensitiveLog = (obj: Filter): any => ({ ...obj, }); } -export interface DescribeCarrierGatewaysRequest { - /** - *

            One or more carrier gateway IDs.

            - */ - CarrierGatewayIds?: string[]; - +export interface DescribeAddressesRequest { /** - *

            One or more filters.

            - *
              + *

              One or more filters. Filter names and values are case-sensitive.

              + *
                *
              • - *

                - * carrier-gateway-id - The ID of the carrier gateway.

                + *

                + * allocation-id - [EC2-VPC] The allocation ID for the address.

                *
              • *
              • - *

                - * state - The state of the carrier gateway (pending | - * failed | available | deleting | deleted).

                + *

                + * association-id - [EC2-VPC] The association ID for the address.

                *
              • *
              • - *

                - * owner-id - The Amazon Web Services account ID of the owner of the carrier gateway.

                + *

                + * domain - Indicates whether the address is for use in EC2-Classic (standard) + * or in a VPC (vpc).

                *
              • *
              • - *

                + *

                + * instance-id - The ID of the instance the address is associated with, if any.

                + *
              • + *
              • + *

                + * network-border-group - A unique set of Availability Zones, Local Zones, + * or Wavelength Zones from where Amazon Web Services advertises IP addresses.

                + *
              • + *
              • + *

                + * network-interface-id - [EC2-VPC] The ID of the network interface that the address is associated with, if any.

                + *
              • + *
              • + *

                + * network-interface-owner-id - The Amazon Web Services account ID of the owner.

                + *
              • + *
              • + *

                + * private-ip-address - [EC2-VPC] The private IP address associated with the Elastic IP address.

                + *
              • + *
              • + *

                + * public-ip - The Elastic IP address, or the carrier IP address.

                + *
              • + *
              • + *

                * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                *
              • *
              • - *

                + *

                * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                *
              • - *
              • - *

                - * vpc-id - The ID of the VPC associated with the carrier gateway.

                - *
              • *
              */ Filters?: Filter[]; /** - *

              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

              + *

              One or more Elastic IP addresses.

              + *

              Default: Describes all your Elastic IP addresses.

              */ - MaxResults?: number; + PublicIps?: string[]; /** - *

              The token for the next page of results.

              + *

              [EC2-VPC] Information about the allocation IDs.

              */ - NextToken?: string; + AllocationIds?: string[]; /** *

              Checks whether you have the required permissions for the action, without actually making the request, @@ -4295,144 +4244,74 @@ export interface DescribeCarrierGatewaysRequest { DryRun?: boolean; } -export namespace DescribeCarrierGatewaysRequest { +export namespace DescribeAddressesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCarrierGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAddressesRequest): any => ({ ...obj, }); } -export interface DescribeCarrierGatewaysResult { - /** - *

              Information about the carrier gateway.

              - */ - CarrierGateways?: CarrierGateway[]; - +export interface DescribeAddressesResult { /** - *

              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

              + *

              Information about the Elastic IP addresses.

              */ - NextToken?: string; + Addresses?: Address[]; } -export namespace DescribeCarrierGatewaysResult { +export namespace DescribeAddressesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCarrierGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: DescribeAddressesResult): any => ({ ...obj, }); } -export interface DescribeClassicLinkInstancesRequest { - /** - *

              One or more filters.

              - *
                - *
              • - *

                - * group-id - The ID of a VPC security group that's associated with the instance.

                - *
              • - *
              • - *

                - * instance-id - The ID of the instance.

                - *
              • - *
              • - *

                - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                - *
              • - *
              • - *

                - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                - *
              • - *
              • - * - *

                - * vpc-id - The ID of the VPC to which the instance is - * linked.

                - * - *

                - * vpc-id - The ID of the VPC that the instance is linked to.

                - * - *
              • - *
              - */ - Filters?: Filter[]; - - /** - *

              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

              - */ - DryRun?: boolean; - +export interface DescribeAddressesAttributeRequest { /** - *

              One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

              + *

              [EC2-VPC] The allocation IDs.

              */ - InstanceIds?: string[]; + AllocationIds?: string[]; /** - *

              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

              - *

              Constraint: If the value is greater than 1000, we return only 1000 items.

              + *

              The attribute of the IP address.

              */ - MaxResults?: number; + Attribute?: AddressAttributeName | string; /** *

              The token for the next page of results.

              */ NextToken?: string; -} - -export namespace DescribeClassicLinkInstancesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeClassicLinkInstancesRequest): any => ({ - ...obj, - }); -} - -/** - *

              Describes a linked EC2-Classic instance.

              - */ -export interface ClassicLinkInstance { - /** - *

              A list of security groups.

              - */ - Groups?: GroupIdentifier[]; /** - *

              The ID of the instance.

              - */ - InstanceId?: string; - - /** - *

              Any tags assigned to the instance.

              + *

              The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

              */ - Tags?: Tag[]; + MaxResults?: number; /** - *

              The ID of the VPC.

              + *

              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

              */ - VpcId?: string; + DryRun?: boolean; } -export namespace ClassicLinkInstance { +export namespace DescribeAddressesAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ClassicLinkInstance): any => ({ + export const filterSensitiveLog = (obj: DescribeAddressesAttributeRequest): any => ({ ...obj, }); } -export interface DescribeClassicLinkInstancesResult { +export interface DescribeAddressesAttributeResult { /** - *

              Information about one or more linked EC2-Classic instances.

              + *

              Information about the IP addresses.

              */ - Instances?: ClassicLinkInstance[]; + Addresses?: AddressAttribute[]; /** *

              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

              @@ -4440,695 +4319,907 @@ export interface DescribeClassicLinkInstancesResult { NextToken?: string; } -export namespace DescribeClassicLinkInstancesResult { +export namespace DescribeAddressesAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClassicLinkInstancesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeAddressesAttributeResult): any => ({ ...obj, }); } -export interface DescribeClientVpnAuthorizationRulesRequest { - /** - *

              The ID of the Client VPN endpoint.

              - */ - ClientVpnEndpointId: string | undefined; - +export interface DescribeAggregateIdFormatRequest { /** - *

              Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

              + *

              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

              */ DryRun?: boolean; - - /** - *

              The token to retrieve the next page of results.

              - */ - NextToken?: string; - - /** - *

              One or more filters. Filter names and values are case-sensitive.

              - *
                - *
              • - *

                - * description - The description of the authorization rule.

                - *
              • - *
              • - *

                - * destination-cidr - The CIDR of the network to which the authorization rule - * applies.

                - *
              • - *
              • - *

                - * group-id - The ID of the Active Directory group to which the authorization rule grants access.

                - *
              • - *
              - */ - Filters?: Filter[]; - - /** - *

              The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

              - */ - MaxResults?: number; } -export namespace DescribeClientVpnAuthorizationRulesRequest { +export namespace DescribeAggregateIdFormatRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnAuthorizationRulesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAggregateIdFormatRequest): any => ({ ...obj, }); } /** - *

              Information about an authorization rule.

              + *

              Describes the ID format for a resource.

              */ -export interface AuthorizationRule { - /** - *

              The ID of the Client VPN endpoint with which the authorization rule is associated.

              - */ - ClientVpnEndpointId?: string; - - /** - *

              A brief description of the authorization rule.

              - */ - Description?: string; - - /** - *

              The ID of the Active Directory group to which the authorization rule grants access.

              - */ - GroupId?: string; - +export interface IdFormat { /** - *

              Indicates whether the authorization rule grants access to all clients.

              + *

              The date in UTC at which you are permanently switched over to using longer IDs. If a deadline is not yet available for this resource type, this field is not returned.

              */ - AccessAll?: boolean; + Deadline?: Date; /** - *

              The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

              + *

              The type of resource.

              */ - DestinationCidr?: string; + Resource?: string; /** - *

              The current state of the authorization rule.

              + *

              Indicates whether longer IDs (17-character IDs) are enabled for the resource.

              */ - Status?: ClientVpnAuthorizationRuleStatus; + UseLongIds?: boolean; } -export namespace AuthorizationRule { +export namespace IdFormat { /** * @internal */ - export const filterSensitiveLog = (obj: AuthorizationRule): any => ({ + export const filterSensitiveLog = (obj: IdFormat): any => ({ ...obj, }); } -export interface DescribeClientVpnAuthorizationRulesResult { +export interface DescribeAggregateIdFormatResult { /** - *

              Information about the authorization rules.

              + *

              Indicates whether all resource types in the Region are configured to use longer IDs. + * This value is only true if all users are configured to use longer IDs for + * all resources types in the Region.

              */ - AuthorizationRules?: AuthorizationRule[]; + UseLongIdsAggregated?: boolean; /** - *

              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

              + *

              Information about each resource's ID format.

              */ - NextToken?: string; + Statuses?: IdFormat[]; } -export namespace DescribeClientVpnAuthorizationRulesResult { +export namespace DescribeAggregateIdFormatResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnAuthorizationRulesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeAggregateIdFormatResult): any => ({ ...obj, }); } -export interface DescribeClientVpnConnectionsRequest { - /** - *

              The ID of the Client VPN endpoint.

              - */ - ClientVpnEndpointId: string | undefined; - +export interface DescribeAvailabilityZonesRequest { /** - *

              One or more filters. Filter names and values are case-sensitive.

              - *
                + *

                The filters.

                + *
                  *
                • *

                  - * connection-id - The ID of the connection.

                  + * group-name - For Availability Zones, use the Region name. For Local + * Zones, use the name of the group associated with the Local Zone (for example, + * us-west-2-lax-1) For Wavelength Zones, use the name of the group associated + * with the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

                  *
                • *
                • *

                  - * username - For Active Directory client authentication, the user name of the - * client who established the client connection.

                  + * message - The Zone message.

                  + *
                • + *
                • + *

                  + * opt-in-status - The opt-in status (opted-in, and + * not-opted-in | opt-in-not-required).

                  + *
                • + *
                • + *

                  + * parent-zoneID - The ID of the zone that handles some of the Local Zone + * and Wavelength Zone control plane operations, such as API calls.

                  + *
                • + *
                • + *

                  + * parent-zoneName - The ID of the zone that handles some of the Local Zone + * and Wavelength Zone control plane operations, such as API calls.

                  + *
                • + *
                • + *

                  + * region-name - The name of the Region for the Zone (for example, + * us-east-1).

                  + *
                • + *
                • + *

                  + * state - The state of the Availability Zone, the Local Zone, or the + * Wavelength Zone (available | information | impaired + * | unavailable).

                  + *
                • + *
                • + *

                  + * zone-id - The ID of the Availability Zone (for example, + * use1-az1), the Local Zone (for example, usw2-lax1-az1), or the + * Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

                  + *
                • + *
                • + *

                  + * zone-type - The type of zone, for example, local-zone.

                  + *
                • + *
                • + *

                  + * zone-name - The name of the Availability Zone (for example, + * us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or + * the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1).

                  + *
                • + *
                • + *

                  + * zone-type - The type of zone, for example, local-zone.

                  *
                • *
                */ Filters?: Filter[]; /** - *

                The token to retrieve the next page of results.

                + *

                The names of the Availability Zones, Local Zones, and Wavelength Zones.

                */ - NextToken?: string; + ZoneNames?: string[]; /** - *

                The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                + *

                The IDs of the Availability Zones, Local Zones, and Wavelength Zones.

                */ - MaxResults?: number; + ZoneIds?: string[]; /** - *

                Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                + *

                Include all Availability Zones, Local Zones, and Wavelength Zones regardless of your + * opt-in status.

                + *

                If you do not use this parameter, the results include only the zones for the Regions where you have chosen the option to opt in.

                + */ + AllAvailabilityZones?: boolean; + + /** + *

                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                */ DryRun?: boolean; } -export namespace DescribeClientVpnConnectionsRequest { +export namespace DescribeAvailabilityZonesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeAvailabilityZonesRequest): any => ({ ...obj, }); } -export type ClientVpnConnectionStatusCode = "active" | "failed-to-terminate" | "terminated" | "terminating"; - /** - *

                Describes the status of a client connection.

                + *

                Describes a message about an Availability Zone, Local Zone, or Wavelength Zone.

                */ -export interface ClientVpnConnectionStatus { - /** - *

                The state of the client connection.

                - */ - Code?: ClientVpnConnectionStatusCode | string; - +export interface AvailabilityZoneMessage { /** - *

                A message about the status of the client connection, if applicable.

                + *

                The message about the Availability Zone, Local Zone, or Wavelength Zone.

                */ Message?: string; } -export namespace ClientVpnConnectionStatus { +export namespace AvailabilityZoneMessage { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnConnectionStatus): any => ({ + export const filterSensitiveLog = (obj: AvailabilityZoneMessage): any => ({ ...obj, }); } -/** - *

                Describes a client connection.

                - */ -export interface ClientVpnConnection { - /** - *

                The ID of the Client VPN endpoint to which the client is connected.

                - */ - ClientVpnEndpointId?: string; - - /** - *

                The current date and time.

                - */ - Timestamp?: string; - - /** - *

                The ID of the client connection.

                - */ - ConnectionId?: string; - - /** - *

                The username of the client who established the client connection. This information is only provided - * if Active Directory client authentication is used.

                - */ - Username?: string; - - /** - *

                The date and time the client connection was established.

                - */ - ConnectionEstablishedTime?: string; +export type AvailabilityZoneOptInStatus = "not-opted-in" | "opt-in-not-required" | "opted-in"; - /** - *

                The number of bytes sent by the client.

                - */ - IngressBytes?: string; +export type AvailabilityZoneState = "available" | "impaired" | "information" | "unavailable"; +/** + *

                Describes Availability Zones, Local Zones, and Wavelength Zones.

                + */ +export interface AvailabilityZone { /** - *

                The number of bytes received by the client.

                + *

                The state of the Availability Zone, Local Zone, or Wavelength Zone.

                */ - EgressBytes?: string; + State?: AvailabilityZoneState | string; /** - *

                The number of packets sent by the client.

                + *

                For Availability Zones, this parameter always has the value of + * opt-in-not-required.

                + *

                For Local Zones and Wavelength Zones, this parameter is the opt-in status. The possible + * values are opted-in, and not-opted-in.

                */ - IngressPackets?: string; + OptInStatus?: AvailabilityZoneOptInStatus | string; /** - *

                The number of packets received by the client.

                + *

                Any messages about the Availability Zone, Local Zone, or Wavelength Zone.

                */ - EgressPackets?: string; + Messages?: AvailabilityZoneMessage[]; /** - *

                The IP address of the client.

                + *

                The name of the Region.

                */ - ClientIp?: string; + RegionName?: string; /** - *

                The common name associated with the client. This is either the name of the client certificate, - * or the Active Directory user name.

                + *

                The name of the Availability Zone, Local Zone, or Wavelength Zone.

                */ - CommonName?: string; + ZoneName?: string; /** - *

                The current state of the client connection.

                + *

                The ID of the Availability Zone, Local Zone, or Wavelength Zone.

                */ - Status?: ClientVpnConnectionStatus; + ZoneId?: string; /** - *

                The date and time the client connection was terminated.

                + *

                For Availability Zones, this parameter has the same value as the Region name.

                + *

                For Local Zones, the name of the associated group, for example + * us-west-2-lax-1.

                + *

                For Wavelength Zones, the name of the associated group, for example + * us-east-1-wl1-bos-wlz-1.

                */ - ConnectionEndTime?: string; + GroupName?: string; /** - *

                The statuses returned by the client connect handler for posture compliance, if applicable.

                + *

                The name of the network border group.

                */ - PostureComplianceStatuses?: string[]; -} + NetworkBorderGroup?: string; -export namespace ClientVpnConnection { /** - * @internal + *

                The type of zone. The valid values are availability-zone, + * local-zone, and wavelength-zone.

                */ - export const filterSensitiveLog = (obj: ClientVpnConnection): any => ({ - ...obj, - }); -} + ZoneType?: string; -export interface DescribeClientVpnConnectionsResult { /** - *

                Information about the active and terminated client connections.

                + *

                The name of the zone that handles some of the Local Zone or Wavelength Zone control plane + * operations, such as API calls.

                */ - Connections?: ClientVpnConnection[]; + ParentZoneName?: string; /** - *

                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                + *

                The ID of the zone that handles some of the Local Zone or Wavelength Zone control plane + * operations, such as API calls.

                */ - NextToken?: string; + ParentZoneId?: string; } -export namespace DescribeClientVpnConnectionsResult { +export namespace AvailabilityZone { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnConnectionsResult): any => ({ + export const filterSensitiveLog = (obj: AvailabilityZone): any => ({ ...obj, }); } -export interface DescribeClientVpnEndpointsRequest { +export interface DescribeAvailabilityZonesResult { /** - *

                The ID of the Client VPN endpoint.

                + *

                Information about the Availability Zones, Local Zones, and Wavelength Zones.

                */ - ClientVpnEndpointIds?: string[]; + AvailabilityZones?: AvailabilityZone[]; +} +export namespace DescribeAvailabilityZonesResult { /** - *

                The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DescribeAvailabilityZonesResult): any => ({ + ...obj, + }); +} +export interface DescribeBundleTasksRequest { /** - *

                The token to retrieve the next page of results.

                + *

                The bundle task IDs.

                + *

                Default: Describes all your bundle tasks.

                */ - NextToken?: string; + BundleIds?: string[]; /** - *

                One or more filters. Filter names and values are case-sensitive.

                - *
                  + *

                  The filters.

                  + *
                    *
                  • *

                    - * endpoint-id - The ID of the Client VPN endpoint.

                    + * bundle-id - The ID of the bundle task.

                    *
                  • *
                  • *

                    - * transport-protocol - The transport protocol (tcp | - * udp).

                    + * error-code - If the task failed, the error code returned.

                    + *
                  • + *
                  • + *

                    + * error-message - If the task failed, the error message returned.

                    + *
                  • + *
                  • + *

                    + * instance-id - The ID of the instance.

                    + *
                  • + *
                  • + *

                    + * progress - The level of task completion, as a percentage (for example, 20%).

                    + *
                  • + *
                  • + *

                    + * s3-bucket - The Amazon S3 bucket to store the AMI.

                    + *
                  • + *
                  • + *

                    + * s3-prefix - The beginning of the AMI name.

                    + *
                  • + *
                  • + *

                    + * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).

                    + *
                  • + *
                  • + *

                    + * state - The state of the task (pending | waiting-for-shutdown | bundling | + * storing | cancelling | complete | failed).

                    + *
                  • + *
                  • + *

                    + * update-time - The time of the most recent update for the task.

                    *
                  • *
                  */ Filters?: Filter[]; /** - *

                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                  + *

                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                  */ DryRun?: boolean; } -export namespace DescribeClientVpnEndpointsRequest { +export namespace DescribeBundleTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnEndpointsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeBundleTasksRequest): any => ({ ...obj, }); } -export type AssociatedNetworkType = "vpc"; - -/** - *

                  Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

                  - */ -export interface AssociatedTargetNetwork { - /** - *

                  The ID of the subnet.

                  - */ - NetworkId?: string; - +export interface DescribeBundleTasksResult { /** - *

                  The target network type.

                  + *

                  Information about the bundle tasks.

                  */ - NetworkType?: AssociatedNetworkType | string; + BundleTasks?: BundleTask[]; } -export namespace AssociatedTargetNetwork { +export namespace DescribeBundleTasksResult { /** * @internal */ - export const filterSensitiveLog = (obj: AssociatedTargetNetwork): any => ({ + export const filterSensitiveLog = (obj: DescribeBundleTasksResult): any => ({ ...obj, }); } -/** - *

                  Describes an Active Directory.

                  - */ -export interface DirectoryServiceAuthentication { +export interface DescribeByoipCidrsRequest { /** - *

                  The ID of the Active Directory used for authentication.

                  + *

                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                  */ - DirectoryId?: string; + DryRun?: boolean; + + /** + *

                  The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                  + */ + MaxResults: number | undefined; + + /** + *

                  The token for the next page of results.

                  + */ + NextToken?: string; } -export namespace DirectoryServiceAuthentication { +export namespace DescribeByoipCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DirectoryServiceAuthentication): any => ({ + export const filterSensitiveLog = (obj: DescribeByoipCidrsRequest): any => ({ ...obj, }); } -/** - *

                  Describes the IAM SAML identity providers used for federated authentication.

                  - */ -export interface FederatedAuthentication { +export interface DescribeByoipCidrsResult { /** - *

                  The Amazon Resource Name (ARN) of the IAM SAML identity provider.

                  + *

                  Information about your address ranges.

                  */ - SamlProviderArn?: string; + ByoipCidrs?: ByoipCidr[]; /** - *

                  The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

                  + *

                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                  */ - SelfServiceSamlProviderArn?: string; + NextToken?: string; } -export namespace FederatedAuthentication { +export namespace DescribeByoipCidrsResult { /** * @internal */ - export const filterSensitiveLog = (obj: FederatedAuthentication): any => ({ + export const filterSensitiveLog = (obj: DescribeByoipCidrsResult): any => ({ ...obj, }); } -/** - *

                  Information about the client certificate used for authentication.

                  - */ -export interface CertificateAuthentication { +export interface DescribeCapacityReservationFleetsRequest { /** - *

                  The ARN of the client certificate.

                  + *

                  The IDs of the Capacity Reservation Fleets to describe.

                  */ - ClientRootCertificateChain?: string; + CapacityReservationFleetIds?: string[]; + + /** + *

                  The token to use to retrieve the next page of results.

                  + */ + NextToken?: string; + + /** + *

                  The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                  + */ + MaxResults?: number; + + /** + *

                  One or more filters.

                  + *
                    + *
                  • + *

                    + * state - The state of the Fleet (submitted | modifying | active | + * partially_fulfilled | expiring | expired | cancelling | + * cancelled | failed).

                    + *
                  • + *
                  • + *

                    + * instance-match-criteria - The instance matching criteria for the Fleet. Only open is supported.

                    + *
                  • + *
                  • + *

                    + * tenancy - The tenancy of the Fleet (default | dedicated).

                    + *
                  • + *
                  • + *

                    + * allocation-strategy - The allocation strategy used by the Fleet. Only prioritized is supported.

                    + *
                  • + *
                  + */ + Filters?: Filter[]; + + /** + *

                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                  + */ + DryRun?: boolean; } -export namespace CertificateAuthentication { +export namespace DescribeCapacityReservationFleetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CertificateAuthentication): any => ({ + export const filterSensitiveLog = (obj: DescribeCapacityReservationFleetsRequest): any => ({ ...obj, }); } /** - *

                  Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication - * in the Client VPN Administrator Guide.

                  + *

                  Information about a Capacity Reservation Fleet.

                  */ -export interface ClientVpnAuthentication { +export interface CapacityReservationFleet { /** - *

                  The authentication type used.

                  + *

                  The ID of the Capacity Reservation Fleet.

                  */ - Type?: ClientVpnAuthenticationType | string; + CapacityReservationFleetId?: string; /** - *

                  Information about the Active Directory, if applicable.

                  + *

                  The ARN of the Capacity Reservation Fleet.

                  + */ + CapacityReservationFleetArn?: string; + + /** + *

                  The state of the Capacity Reservation Fleet. Possible states include:

                  + *
                    + *
                  • + *

                    + * submitted - The Capacity Reservation Fleet request has been submitted + * and Amazon Elastic Compute Cloud is preparing to create the Capacity Reservations.

                    + *
                  • + *
                  • + *

                    + * modifying - The Capacity Reservation Fleet is being modified. The Fleet + * remains in this state until the modification is complete.

                    + *
                  • + *
                  • + *

                    + * active - The Capacity Reservation Fleet has fulfilled its total target + * capacity and it is attempting to maintain this capacity. The Fleet remains in this + * state until it is modified or deleted.

                    + *
                  • + *
                  • + *

                    + * partially_fulfilled - The Capacity Reservation Fleet has partially + * fulfilled its total target capacity. There is insufficient Amazon EC2 to + * fulfill the total target capacity. The Fleet is attempting to asynchronously fulfill + * its total target capacity.

                    + *
                  • + *
                  • + *

                    + * expiring - The Capacity Reservation Fleet has reach its end date and it + * is in the process of expiring. One or more of its Capacity reservations might still + * be active.

                    + *
                  • + *
                  • + *

                    + * expired - The Capacity Reservation Fleet has reach its end date. The Fleet + * and its Capacity Reservations are expired. The Fleet can't create new Capacity + * Reservations.

                    + *
                  • + *
                  • + *

                    + * cancelling - The Capacity Reservation Fleet is in the process of being + * cancelled. One or more of its Capacity reservations might still be active.

                    + *
                  • + *
                  • + *

                    + * cancelled - The Capacity Reservation Fleet has been manually cancelled. + * The Fleet and its Capacity Reservations are cancelled and the Fleet can't create new + * Capacity Reservations.

                    + *
                  • + *
                  • + *

                    + * failed - The Capacity Reservation Fleet failed to reserve capacity for + * the specified instance types.

                    + *
                  • + *
                  */ - ActiveDirectory?: DirectoryServiceAuthentication; + State?: CapacityReservationFleetState | string; /** - *

                  Information about the authentication certificates, if applicable.

                  + *

                  The total number of capacity units for which the Capacity Reservation Fleet reserves capacity. + * For more information, see Total target capacity + * in the Amazon EC2 User Guide.

                  */ - MutualAuthentication?: CertificateAuthentication; + TotalTargetCapacity?: number; /** - *

                  Information about the IAM SAML identity provider, if applicable.

                  + *

                  The capacity units that have been fulfilled.

                  */ - FederatedAuthentication?: FederatedAuthentication; -} + TotalFulfilledCapacity?: number; -export namespace ClientVpnAuthentication { /** - * @internal + *

                  The tenancy of the Capacity Reservation Fleet. Tenancies include:

                  + *
                    + *
                  • + *

                    + * default - The Capacity Reservation Fleet is created on hardware that is + * shared with other Amazon Web Services accounts.

                    + *
                  • + *
                  • + *

                    + * dedicated - The Capacity Reservation Fleet is created on single-tenant + * hardware that is dedicated to a single Amazon Web Services account.

                    + *
                  • + *
                  */ - export const filterSensitiveLog = (obj: ClientVpnAuthentication): any => ({ - ...obj, - }); -} - -export type ClientVpnEndpointAttributeStatusCode = "applied" | "applying"; + Tenancy?: FleetCapacityReservationTenancy | string; -/** - *

                  Describes the status of the Client VPN endpoint attribute.

                  - */ -export interface ClientVpnEndpointAttributeStatus { /** - *

                  The status code.

                  + *

                  The date and time at which the Capacity Reservation Fleet expires.

                  */ - Code?: ClientVpnEndpointAttributeStatusCode | string; + EndDate?: Date; /** - *

                  The status message.

                  + *

                  The date and time at which the Capacity Reservation Fleet was created.

                  */ - Message?: string; -} + CreateTime?: Date; -export namespace ClientVpnEndpointAttributeStatus { /** - * @internal + *

                  Indicates the type of instance launches that the Capacity Reservation Fleet accepts. All + * Capacity Reservations in the Fleet inherit this instance matching criteria.

                  + *

                  Currently, Capacity Reservation Fleets support open instance matching criteria + * only. This means that instances that have matching attributes (instance type, platform, and + * Availability Zone) run in the Capacity Reservations automatically. Instances do not need to + * explicitly target a Capacity Reservation Fleet to use its reserved capacity.

                  */ - export const filterSensitiveLog = (obj: ClientVpnEndpointAttributeStatus): any => ({ - ...obj, - }); -} + InstanceMatchCriteria?: FleetInstanceMatchCriteria | string; -/** - *

                  The options for managing connection authorization for new client connections.

                  - */ -export interface ClientConnectResponseOptions { /** - *

                  Indicates whether client connect options are enabled.

                  + *

                  The strategy used by the Capacity Reservation Fleet to determine which of the specified + * instance types to use. For more information, see For more information, see + * + * Allocation strategy in the Amazon EC2 User Guide.

                  */ - Enabled?: boolean; + AllocationStrategy?: string; /** - *

                  The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

                  + *

                  Information about the instance types for which to reserve the capacity.

                  */ - LambdaFunctionArn?: string; + InstanceTypeSpecifications?: FleetCapacityReservation[]; /** - *

                  The status of any updates to the client connect options.

                  + *

                  The tags assigned to the Capacity Reservation Fleet.

                  */ - Status?: ClientVpnEndpointAttributeStatus; + Tags?: Tag[]; } -export namespace ClientConnectResponseOptions { +export namespace CapacityReservationFleet { /** * @internal */ - export const filterSensitiveLog = (obj: ClientConnectResponseOptions): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationFleet): any => ({ ...obj, }); } -/** - *

                  Information about the client connection logging options for a Client VPN endpoint.

                  - */ -export interface ConnectionLogResponseOptions { - /** - *

                  Indicates whether client connection logging is enabled for the Client VPN endpoint.

                  - */ - Enabled?: boolean; - +export interface DescribeCapacityReservationFleetsResult { /** - *

                  The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

                  + *

                  Information about the Capacity Reservation Fleets.

                  */ - CloudwatchLogGroup?: string; + CapacityReservationFleets?: CapacityReservationFleet[]; /** - *

                  The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

                  + *

                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                  */ - CloudwatchLogStream?: string; + NextToken?: string; } -export namespace ConnectionLogResponseOptions { +export namespace DescribeCapacityReservationFleetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ConnectionLogResponseOptions): any => ({ + export const filterSensitiveLog = (obj: DescribeCapacityReservationFleetsResult): any => ({ ...obj, }); } -export type VpnProtocol = "openvpn"; - -/** - *

                  Describes a Client VPN endpoint.

                  - */ -export interface ClientVpnEndpoint { - /** - *

                  The ID of the Client VPN endpoint.

                  - */ - ClientVpnEndpointId?: string; - - /** - *

                  A brief description of the endpoint.

                  - */ - Description?: string; - - /** - *

                  The current state of the Client VPN endpoint.

                  - */ - Status?: ClientVpnEndpointStatus; - - /** - *

                  The date and time the Client VPN endpoint was created.

                  - */ - CreationTime?: string; - - /** - *

                  The date and time the Client VPN endpoint was deleted, if applicable.

                  - */ - DeletionTime?: string; - - /** - *

                  The DNS name to be used by clients when connecting to the Client VPN endpoint.

                  - */ - DnsName?: string; - - /** - *

                  The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

                  - */ - ClientCidrBlock?: string; - +export interface DescribeCapacityReservationsRequest { /** - *

                  Information about the DNS servers to be used for DNS resolution.

                  + *

                  The ID of the Capacity Reservation.

                  */ - DnsServers?: string[]; + CapacityReservationIds?: string[]; /** - *

                  Indicates whether split-tunnel is enabled in the Client VPN endpoint.

                  - *

                  For information about split-tunnel VPN endpoints, see Split-Tunnel Client VPN endpoint - * in the Client VPN Administrator Guide.

                  + *

                  The token to use to retrieve the next page of results.

                  */ - SplitTunnel?: boolean; + NextToken?: string; /** - *

                  The protocol used by the VPN session.

                  + *

                  The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                  */ - VpnProtocol?: VpnProtocol | string; + MaxResults?: number; /** - *

                  The transport protocol used by the Client VPN endpoint.

                  + *

                  One or more filters.

                  + *
                    + *
                  • + *

                    + * instance-type - The type of instance for which the Capacity Reservation reserves capacity.

                    + *
                  • + *
                  • + *

                    + * owner-id - The ID of the Amazon Web Services account that owns the Capacity Reservation.

                    + *
                  • + *
                  • + *

                    + * availability-zone-id - The Availability Zone ID of the Capacity Reservation.

                    + *
                  • + *
                  • + *

                    + * instance-platform - The type of operating system for which the Capacity Reservation reserves capacity.

                    + *
                  • + *
                  • + *

                    + * availability-zone - The Availability Zone ID of the Capacity Reservation.

                    + *
                  • + *
                  • + *

                    + * tenancy - Indicates the tenancy of the Capacity Reservation. A Capacity Reservation can have one of the + * following tenancy settings:

                    + *
                      + *
                    • + *

                      + * default - The Capacity Reservation is created on hardware that is shared with other Amazon Web Services accounts.

                      + *
                    • + *
                    • + *

                      + * dedicated - The Capacity Reservation is created on single-tenant hardware that is dedicated to a single Amazon Web Services account.

                      + *
                    • + *
                    + *
                  • + *
                  • + *

                    + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost on which the Capacity Reservation was created.

                    + *
                  • + *
                  • + *

                    + * state - The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

                    + *
                      + *
                    • + *

                      + * active- The Capacity Reservation is active and the capacity is available for your use.

                      + *
                    • + *
                    • + *

                      + * expired - The Capacity Reservation expired automatically at the date and time specified in your request. + * The reserved capacity is no longer available for your use.

                      + *
                    • + *
                    • + *

                      + * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no longer available for your use.

                      + *
                    • + *
                    • + *

                      + * pending - The Capacity Reservation request was successful but the capacity provisioning is still pending.

                      + *
                    • + *
                    • + *

                      + * failed - The Capacity Reservation request has failed. A request might fail due to invalid request parameters, + * capacity constraints, or instance limit constraints. Failed requests are retained for 60 minutes.

                      + *
                    • + *
                    + *
                  • + *
                  • + *

                    + * start-date - The date and time at which the Capacity Reservation was started.

                    + *
                  • + *
                  • + *

                    + * end-date - The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is + * released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time.

                    + *
                  • + *
                  • + *

                    + * end-date-type - Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types:

                    + *
                      + *
                    • + *

                      + * unlimited - The Capacity Reservation remains active until you explicitly cancel it.

                      + *
                    • + *
                    • + *

                      + * limited - The Capacity Reservation expires automatically at a specified date and time.

                      + *
                    • + *
                    + *
                  • + *
                  • + *

                    + * instance-match-criteria - Indicates the type of instance launches that the Capacity Reservation accepts. The options include:

                    + *
                      + *
                    • + *

                      + * open - The Capacity Reservation accepts all instances that have matching + * attributes (instance type, platform, and Availability Zone). Instances + * that have matching attributes launch into the Capacity Reservation + * automatically without specifying any additional parameters.

                      + *
                    • + *
                    • + *

                      + * targeted - The Capacity Reservation only accepts instances that have matching + * attributes (instance type, platform, and Availability Zone), and + * explicitly target the Capacity Reservation. This ensures that only + * permitted instances can use the reserved capacity.

                      + *
                    • + *
                    + *
                  • + *
                  */ - TransportProtocol?: TransportProtocol | string; + Filters?: Filter[]; /** - *

                  The port number for the Client VPN endpoint.

                  + *

                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                  */ - VpnPort?: number; + DryRun?: boolean; +} +export namespace DescribeCapacityReservationsRequest { /** - * @deprecated - * - *

                  Information about the associated target networks. A target network is a subnet in a VPC.

                  + * @internal */ - AssociatedTargetNetworks?: AssociatedTargetNetwork[]; + export const filterSensitiveLog = (obj: DescribeCapacityReservationsRequest): any => ({ + ...obj, + }); +} +export interface DescribeCapacityReservationsResult { /** - *

                  The ARN of the server certificate.

                  + *

                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                  */ - ServerCertificateArn?: string; + NextToken?: string; /** - *

                  Information about the authentication method used by the Client VPN endpoint.

                  + *

                  Information about the Capacity Reservations.

                  */ - AuthenticationOptions?: ClientVpnAuthentication[]; + CapacityReservations?: CapacityReservation[]; +} +export namespace DescribeCapacityReservationsResult { /** - *

                  Information about the client connection logging options for the Client VPN endpoint.

                  + * @internal */ - ConnectionLogOptions?: ConnectionLogResponseOptions; + export const filterSensitiveLog = (obj: DescribeCapacityReservationsResult): any => ({ + ...obj, + }); +} +export interface DescribeCarrierGatewaysRequest { /** - *

                  Any tags assigned to the Client VPN endpoint.

                  + *

                  One or more carrier gateway IDs.

                  */ - Tags?: Tag[]; + CarrierGatewayIds?: string[]; /** - *

                  The IDs of the security groups for the target network.

                  + *

                  One or more filters.

                  + *
                    + *
                  • + *

                    + * carrier-gateway-id - The ID of the carrier gateway.

                    + *
                  • + *
                  • + *

                    + * state - The state of the carrier gateway (pending | + * failed | available | deleting | deleted).

                    + *
                  • + *
                  • + *

                    + * owner-id - The Amazon Web Services account ID of the owner of the carrier gateway.

                    + *
                  • + *
                  • + *

                    + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                    + *
                  • + *
                  • + *

                    + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                    + *
                  • + *
                  • + *

                    + * vpc-id - The ID of the VPC associated with the carrier gateway.

                    + *
                  • + *
                  */ - SecurityGroupIds?: string[]; + Filters?: Filter[]; /** - *

                  The ID of the VPC.

                  + *

                  The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                  */ - VpcId?: string; + MaxResults?: number; /** - *

                  The URL of the self-service portal.

                  + *

                  The token for the next page of results.

                  */ - SelfServicePortalUrl?: string; + NextToken?: string; /** - *

                  The options for managing connection authorization for new client connections.

                  + *

                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                  */ - ClientConnectOptions?: ClientConnectResponseOptions; + DryRun?: boolean; } -export namespace ClientVpnEndpoint { +export namespace DescribeCarrierGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnEndpoint): any => ({ + export const filterSensitiveLog = (obj: DescribeCarrierGatewaysRequest): any => ({ ...obj, }); } -export interface DescribeClientVpnEndpointsResult { +export interface DescribeCarrierGatewaysResult { /** - *

                  Information about the Client VPN endpoints.

                  + *

                  Information about the carrier gateway.

                  */ - ClientVpnEndpoints?: ClientVpnEndpoint[]; + CarrierGateways?: CarrierGateway[]; /** *

                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                  @@ -5136,122 +5227,123 @@ export interface DescribeClientVpnEndpointsResult { NextToken?: string; } -export namespace DescribeClientVpnEndpointsResult { +export namespace DescribeCarrierGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnEndpointsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeCarrierGatewaysResult): any => ({ ...obj, }); } -export interface DescribeClientVpnRoutesRequest { - /** - *

                  The ID of the Client VPN endpoint.

                  - */ - ClientVpnEndpointId: string | undefined; - +export interface DescribeClassicLinkInstancesRequest { /** - *

                  One or more filters. Filter names and values are case-sensitive.

                  - *
                    + *

                    One or more filters.

                    + *
                      *
                    • - *

                      - * destination-cidr - The CIDR of the route destination.

                      - *
                    • + *

                      + * group-id - The ID of a VPC security group that's associated with the instance.

                      + * *
                    • - *

                      - * origin - How the route was associated with the Client VPN endpoint (associate | add-route).

                      - *
                    • + *

                      + * instance-id - The ID of the instance.

                      + * *
                    • - *

                      - * target-subnet - The ID of the subnet through which traffic is routed.

                      - *
                    • + *

                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                      + * + *
                    • + *

                      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                      + *
                    • + *
                    • + * + *

                      + * vpc-id - The ID of the VPC to which the instance is + * linked.

                      + * + *

                      + * vpc-id - The ID of the VPC that the instance is linked to.

                      + * + *
                    • *
                    */ Filters?: Filter[]; /** - *

                    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                    + *

                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                    */ - MaxResults?: number; + DryRun?: boolean; /** - *

                    The token to retrieve the next page of results.

                    + *

                    One or more instance IDs. Must be instances linked to a VPC through ClassicLink.

                    */ - NextToken?: string; + InstanceIds?: string[]; /** - *

                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                    + *

                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                    + *

                    Constraint: If the value is greater than 1000, we return only 1000 items.

                    */ - DryRun?: boolean; + MaxResults?: number; + + /** + *

                    The token for the next page of results.

                    + */ + NextToken?: string; } -export namespace DescribeClientVpnRoutesRequest { +export namespace DescribeClassicLinkInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnRoutesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeClassicLinkInstancesRequest): any => ({ ...obj, }); } /** - *

                    Information about a Client VPN endpoint route.

                    + *

                    Describes a linked EC2-Classic instance.

                    */ -export interface ClientVpnRoute { - /** - *

                    The ID of the Client VPN endpoint with which the route is associated.

                    - */ - ClientVpnEndpointId?: string; - - /** - *

                    The IPv4 address range, in CIDR notation, of the route destination.

                    - */ - DestinationCidr?: string; - - /** - *

                    The ID of the subnet through which traffic is routed.

                    - */ - TargetSubnet?: string; - +export interface ClassicLinkInstance { /** - *

                    The route type.

                    + *

                    A list of security groups.

                    */ - Type?: string; + Groups?: GroupIdentifier[]; /** - *

                    Indicates how the route was associated with the Client VPN endpoint. - * associate indicates that the route was automatically added when the target network - * was associated with the Client VPN endpoint. add-route indicates that the route - * was manually added using the CreateClientVpnRoute action.

                    + *

                    The ID of the instance.

                    */ - Origin?: string; + InstanceId?: string; /** - *

                    The current state of the route.

                    + *

                    Any tags assigned to the instance.

                    */ - Status?: ClientVpnRouteStatus; + Tags?: Tag[]; /** - *

                    A brief description of the route.

                    + *

                    The ID of the VPC.

                    */ - Description?: string; + VpcId?: string; } -export namespace ClientVpnRoute { +export namespace ClassicLinkInstance { /** * @internal */ - export const filterSensitiveLog = (obj: ClientVpnRoute): any => ({ + export const filterSensitiveLog = (obj: ClassicLinkInstance): any => ({ ...obj, }); } -export interface DescribeClientVpnRoutesResult { +export interface DescribeClassicLinkInstancesResult { /** - *

                    Information about the Client VPN endpoint routes.

                    + *

                    Information about one or more linked EC2-Classic instances.

                    */ - Routes?: ClientVpnRoute[]; + Instances?: ClassicLinkInstance[]; /** *

                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                    @@ -5259,30 +5351,25 @@ export interface DescribeClientVpnRoutesResult { NextToken?: string; } -export namespace DescribeClientVpnRoutesResult { +export namespace DescribeClassicLinkInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnRoutesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeClassicLinkInstancesResult): any => ({ ...obj, }); } -export interface DescribeClientVpnTargetNetworksRequest { +export interface DescribeClientVpnAuthorizationRulesRequest { /** *

                    The ID of the Client VPN endpoint.

                    */ - ClientVpnEndpointId: string | undefined; - - /** - *

                    The IDs of the target network associations.

                    - */ - AssociationIds?: string[]; + ClientVpnEndpointId: string | undefined; /** - *

                    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                    + *

                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                    */ - MaxResults?: number; + DryRun?: boolean; /** *

                    The token to retrieve the next page of results.

                    @@ -5294,84 +5381,85 @@ export interface DescribeClientVpnTargetNetworksRequest { *
                      *
                    • *

                      - * association-id - The ID of the association.

                      + * description - The description of the authorization rule.

                      *
                    • *
                    • *

                      - * target-network-id - The ID of the subnet specified as the target network.

                      + * destination-cidr - The CIDR of the network to which the authorization rule + * applies.

                      *
                    • *
                    • *

                      - * vpc-id - The ID of the VPC in which the target network is located.

                      + * group-id - The ID of the Active Directory group to which the authorization rule grants access.

                      *
                    • *
                    */ Filters?: Filter[]; /** - *

                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                    + *

                    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                    */ - DryRun?: boolean; + MaxResults?: number; } -export namespace DescribeClientVpnTargetNetworksRequest { +export namespace DescribeClientVpnAuthorizationRulesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnTargetNetworksRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnAuthorizationRulesRequest): any => ({ ...obj, }); } /** - *

                    Describes a target network associated with a Client VPN endpoint.

                    + *

                    Information about an authorization rule.

                    */ -export interface TargetNetwork { +export interface AuthorizationRule { /** - *

                    The ID of the association.

                    + *

                    The ID of the Client VPN endpoint with which the authorization rule is associated.

                    */ - AssociationId?: string; + ClientVpnEndpointId?: string; /** - *

                    The ID of the VPC in which the target network (subnet) is located.

                    + *

                    A brief description of the authorization rule.

                    */ - VpcId?: string; + Description?: string; /** - *

                    The ID of the subnet specified as the target network.

                    + *

                    The ID of the Active Directory group to which the authorization rule grants access.

                    */ - TargetNetworkId?: string; + GroupId?: string; /** - *

                    The ID of the Client VPN endpoint with which the target network is associated.

                    + *

                    Indicates whether the authorization rule grants access to all clients.

                    */ - ClientVpnEndpointId?: string; + AccessAll?: boolean; /** - *

                    The current state of the target network association.

                    + *

                    The IPv4 address range, in CIDR notation, of the network to which the authorization rule applies.

                    */ - Status?: AssociationStatus; + DestinationCidr?: string; /** - *

                    The IDs of the security groups applied to the target network association.

                    + *

                    The current state of the authorization rule.

                    */ - SecurityGroups?: string[]; + Status?: ClientVpnAuthorizationRuleStatus; } -export namespace TargetNetwork { +export namespace AuthorizationRule { /** * @internal */ - export const filterSensitiveLog = (obj: TargetNetwork): any => ({ + export const filterSensitiveLog = (obj: AuthorizationRule): any => ({ ...obj, }); } -export interface DescribeClientVpnTargetNetworksResult { +export interface DescribeClientVpnAuthorizationRulesResult { /** - *

                    Information about the associated target networks.

                    + *

                    Information about the authorization rules.

                    */ - ClientVpnTargetNetworks?: TargetNetwork[]; + AuthorizationRules?: AuthorizationRule[]; /** *

                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                    @@ -5379,1144 +5467,822 @@ export interface DescribeClientVpnTargetNetworksResult { NextToken?: string; } -export namespace DescribeClientVpnTargetNetworksResult { +export namespace DescribeClientVpnAuthorizationRulesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeClientVpnTargetNetworksResult): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnAuthorizationRulesResult): any => ({ ...obj, }); } -export interface DescribeCoipPoolsRequest { +export interface DescribeClientVpnConnectionsRequest { /** - *

                    The IDs of the address pools.

                    + *

                    The ID of the Client VPN endpoint.

                    */ - PoolIds?: string[]; + ClientVpnEndpointId: string | undefined; /** - *

                    The filters. The following are the possible values:

                    - *
                      + *

                      One or more filters. Filter names and values are case-sensitive.

                      + *
                        *
                      • *

                        - * coip-pool.pool-id - *

                        + * connection-id - The ID of the connection.

                        *
                      • - *
                      - *
                        *
                      • *

                        - * coip-pool.local-gateway-route-table-id - *

                        + * username - For Active Directory client authentication, the user name of the + * client who established the client connection.

                        *
                      • *
                      */ Filters?: Filter[]; /** - *

                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                      + *

                      The token to retrieve the next page of results.

                      */ - MaxResults?: number; + NextToken?: string; /** - *

                      The token for the next page of results.

                      + *

                      The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                      */ - NextToken?: string; + MaxResults?: number; /** - *

                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                      + *

                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                      */ DryRun?: boolean; } -export namespace DescribeCoipPoolsRequest { +export namespace DescribeClientVpnConnectionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCoipPoolsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnConnectionsRequest): any => ({ ...obj, }); } +export type ClientVpnConnectionStatusCode = "active" | "failed-to-terminate" | "terminated" | "terminating"; + /** - *

                      Describes a customer-owned address pool.

                      + *

                      Describes the status of a client connection.

                      */ -export interface CoipPool { - /** - *

                      The ID of the address pool.

                      - */ - PoolId?: string; - - /** - *

                      The address ranges of the address pool.

                      - */ - PoolCidrs?: string[]; - - /** - *

                      The ID of the local gateway route table.

                      - */ - LocalGatewayRouteTableId?: string; - - /** - *

                      The tags.

                      - */ - Tags?: Tag[]; - - /** - *

                      The ARN of the address pool.

                      - */ - PoolArn?: string; -} - -export namespace CoipPool { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CoipPool): any => ({ - ...obj, - }); -} - -export interface DescribeCoipPoolsResult { - /** - *

                      Information about the address pools.

                      - */ - CoipPools?: CoipPool[]; - - /** - *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      - */ - NextToken?: string; -} - -export namespace DescribeCoipPoolsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeCoipPoolsResult): any => ({ - ...obj, - }); -} - -export interface DescribeConversionTasksRequest { +export interface ClientVpnConnectionStatus { /** - *

                      The conversion task IDs.

                      + *

                      The state of the client connection.

                      */ - ConversionTaskIds?: string[]; + Code?: ClientVpnConnectionStatusCode | string; /** - *

                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                      + *

                      A message about the status of the client connection, if applicable.

                      */ - DryRun?: boolean; + Message?: string; } -export namespace DescribeConversionTasksRequest { +export namespace ClientVpnConnectionStatus { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeConversionTasksRequest): any => ({ + export const filterSensitiveLog = (obj: ClientVpnConnectionStatus): any => ({ ...obj, }); } /** - *

                      Describes a disk image.

                      + *

                      Describes a client connection.

                      */ -export interface DiskImageDescription { - /** - *

                      The checksum computed for the disk image.

                      - */ - Checksum?: string; - +export interface ClientVpnConnection { /** - *

                      The disk image format.

                      + *

                      The ID of the Client VPN endpoint to which the client is connected.

                      */ - Format?: DiskImageFormat | string; + ClientVpnEndpointId?: string; /** - *

                      A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for - * an Amazon S3 object, read the "Query String Request Authentication Alternative" section of the Authenticating REST Requests topic in - * the Amazon Simple Storage Service Developer Guide.

                      - *

                      For information about the import manifest referenced by this API action, see VM Import Manifest.

                      + *

                      The current date and time.

                      */ - ImportManifestUrl?: string; + Timestamp?: string; /** - *

                      The size of the disk image, in GiB.

                      + *

                      The ID of the client connection.

                      */ - Size?: number; -} + ConnectionId?: string; -export namespace DiskImageDescription { /** - * @internal + *

                      The username of the client who established the client connection. This information is only provided + * if Active Directory client authentication is used.

                      */ - export const filterSensitiveLog = (obj: DiskImageDescription): any => ({ - ...obj, - }); -} + Username?: string; -/** - *

                      Describes a disk image volume.

                      - */ -export interface DiskImageVolumeDescription { /** - *

                      The volume identifier.

                      + *

                      The date and time the client connection was established.

                      */ - Id?: string; + ConnectionEstablishedTime?: string; /** - *

                      The size of the volume, in GiB.

                      + *

                      The number of bytes sent by the client.

                      */ - Size?: number; -} + IngressBytes?: string; -export namespace DiskImageVolumeDescription { /** - * @internal + *

                      The number of bytes received by the client.

                      */ - export const filterSensitiveLog = (obj: DiskImageVolumeDescription): any => ({ - ...obj, - }); -} + EgressBytes?: string; -/** - *

                      Describes an import volume task.

                      - */ -export interface ImportInstanceVolumeDetailItem { /** - *

                      The Availability Zone where the resulting instance will reside.

                      + *

                      The number of packets sent by the client.

                      */ - AvailabilityZone?: string; + IngressPackets?: string; /** - *

                      The number of bytes converted so far.

                      + *

                      The number of packets received by the client.

                      */ - BytesConverted?: number; + EgressPackets?: string; /** - *

                      A description of the task.

                      + *

                      The IP address of the client.

                      */ - Description?: string; + ClientIp?: string; /** - *

                      The image.

                      + *

                      The common name associated with the client. This is either the name of the client certificate, + * or the Active Directory user name.

                      */ - Image?: DiskImageDescription; + CommonName?: string; /** - *

                      The status of the import of this particular disk image.

                      + *

                      The current state of the client connection.

                      */ - Status?: string; + Status?: ClientVpnConnectionStatus; /** - *

                      The status information or errors related to the disk image.

                      + *

                      The date and time the client connection was terminated.

                      */ - StatusMessage?: string; + ConnectionEndTime?: string; /** - *

                      The volume.

                      + *

                      The statuses returned by the client connect handler for posture compliance, if applicable.

                      */ - Volume?: DiskImageVolumeDescription; + PostureComplianceStatuses?: string[]; } -export namespace ImportInstanceVolumeDetailItem { +export namespace ClientVpnConnection { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceVolumeDetailItem): any => ({ + export const filterSensitiveLog = (obj: ClientVpnConnection): any => ({ ...obj, }); } -/** - *

                      Describes an import instance task.

                      - */ -export interface ImportInstanceTaskDetails { - /** - *

                      A description of the task.

                      - */ - Description?: string; - - /** - *

                      The ID of the instance.

                      - */ - InstanceId?: string; - +export interface DescribeClientVpnConnectionsResult { /** - *

                      The instance operating system.

                      + *

                      Information about the active and terminated client connections.

                      */ - Platform?: PlatformValues | string; + Connections?: ClientVpnConnection[]; /** - *

                      The volumes.

                      + *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      */ - Volumes?: ImportInstanceVolumeDetailItem[]; + NextToken?: string; } -export namespace ImportInstanceTaskDetails { +export namespace DescribeClientVpnConnectionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceTaskDetails): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnConnectionsResult): any => ({ ...obj, }); } -/** - *

                      Describes an import volume task.

                      - */ -export interface ImportVolumeTaskDetails { +export interface DescribeClientVpnEndpointsRequest { /** - *

                      The Availability Zone where the resulting volume will reside.

                      + *

                      The ID of the Client VPN endpoint.

                      */ - AvailabilityZone?: string; + ClientVpnEndpointIds?: string[]; /** - *

                      The number of bytes converted so far.

                      + *

                      The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                      */ - BytesConverted?: number; + MaxResults?: number; /** - *

                      The description you provided when starting the import volume task.

                      + *

                      The token to retrieve the next page of results.

                      */ - Description?: string; + NextToken?: string; /** - *

                      The image.

                      + *

                      One or more filters. Filter names and values are case-sensitive.

                      + *
                        + *
                      • + *

                        + * endpoint-id - The ID of the Client VPN endpoint.

                        + *
                      • + *
                      • + *

                        + * transport-protocol - The transport protocol (tcp | + * udp).

                        + *
                      • + *
                      */ - Image?: DiskImageDescription; + Filters?: Filter[]; /** - *

                      The volume.

                      + *

                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                      */ - Volume?: DiskImageVolumeDescription; + DryRun?: boolean; } -export namespace ImportVolumeTaskDetails { +export namespace DescribeClientVpnEndpointsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportVolumeTaskDetails): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnEndpointsRequest): any => ({ ...obj, }); } -export type ConversionTaskState = "active" | "cancelled" | "cancelling" | "completed"; +export type AssociatedNetworkType = "vpc"; /** - *

                      Describes a conversion task.

                      + *

                      Describes a target network that is associated with a Client VPN endpoint. A target network is a subnet in a VPC.

                      */ -export interface ConversionTask { - /** - *

                      The ID of the conversion task.

                      - */ - ConversionTaskId?: string; - - /** - *

                      The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel - * the task.

                      - */ - ExpirationTime?: string; - - /** - *

                      If the task is for importing an instance, this contains information about the import instance task.

                      - */ - ImportInstance?: ImportInstanceTaskDetails; - - /** - *

                      If the task is for importing a volume, this contains information about the import volume task.

                      - */ - ImportVolume?: ImportVolumeTaskDetails; - - /** - *

                      The state of the conversion task.

                      - */ - State?: ConversionTaskState | string; - +export interface AssociatedTargetNetwork { /** - *

                      The status message related to the conversion task.

                      + *

                      The ID of the subnet.

                      */ - StatusMessage?: string; + NetworkId?: string; /** - *

                      Any tags assigned to the task.

                      + *

                      The target network type.

                      */ - Tags?: Tag[]; + NetworkType?: AssociatedNetworkType | string; } -export namespace ConversionTask { +export namespace AssociatedTargetNetwork { /** * @internal */ - export const filterSensitiveLog = (obj: ConversionTask): any => ({ + export const filterSensitiveLog = (obj: AssociatedTargetNetwork): any => ({ ...obj, }); } -export interface DescribeConversionTasksResult { +/** + *

                      Describes an Active Directory.

                      + */ +export interface DirectoryServiceAuthentication { /** - *

                      Information about the conversion tasks.

                      + *

                      The ID of the Active Directory used for authentication.

                      */ - ConversionTasks?: ConversionTask[]; + DirectoryId?: string; } -export namespace DescribeConversionTasksResult { +export namespace DirectoryServiceAuthentication { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeConversionTasksResult): any => ({ + export const filterSensitiveLog = (obj: DirectoryServiceAuthentication): any => ({ ...obj, }); } /** - *

                      Contains the parameters for DescribeCustomerGateways.

                      + *

                      Describes the IAM SAML identity providers used for federated authentication.

                      */ -export interface DescribeCustomerGatewaysRequest { - /** - *

                      One or more customer gateway IDs.

                      - *

                      Default: Describes all your customer gateways.

                      - */ - CustomerGatewayIds?: string[]; - +export interface FederatedAuthentication { /** - *

                      One or more filters.

                      - *
                        - *
                      • - *

                        - * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) - * Autonomous System Number (ASN).

                        - *
                      • - *
                      • - *

                        - * customer-gateway-id - The ID of the customer gateway.

                        - *
                      • - *
                      • - *

                        - * ip-address - The IP address of the customer gateway's - * Internet-routable external interface.

                        - *
                      • - *
                      • - *

                        - * state - The state of the customer gateway (pending | - * available | deleting | - * deleted).

                        - *
                      • - *
                      • - *

                        - * type - The type of customer gateway. Currently, the only - * supported type is ipsec.1.

                        - *
                      • - *
                      • - *

                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                        - *
                      • - *
                      • - *

                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                        - *
                      • - *
                      + *

                      The Amazon Resource Name (ARN) of the IAM SAML identity provider.

                      */ - Filters?: Filter[]; + SamlProviderArn?: string; /** - *

                      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                      + *

                      The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.

                      */ - DryRun?: boolean; + SelfServiceSamlProviderArn?: string; } -export namespace DescribeCustomerGatewaysRequest { +export namespace FederatedAuthentication { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCustomerGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: FederatedAuthentication): any => ({ ...obj, }); } /** - *

                      Contains the output of DescribeCustomerGateways.

                      + *

                      Information about the client certificate used for authentication.

                      */ -export interface DescribeCustomerGatewaysResult { +export interface CertificateAuthentication { /** - *

                      Information about one or more customer gateways.

                      + *

                      The ARN of the client certificate.

                      */ - CustomerGateways?: CustomerGateway[]; + ClientRootCertificateChain?: string; } -export namespace DescribeCustomerGatewaysResult { +export namespace CertificateAuthentication { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeCustomerGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: CertificateAuthentication): any => ({ ...obj, }); } -export interface DescribeDhcpOptionsRequest { - /** - *

                      The IDs of one or more DHCP options sets.

                      - *

                      Default: Describes all your DHCP options sets.

                      - */ - DhcpOptionsIds?: string[]; - +/** + *

                      Describes the authentication methods used by a Client VPN endpoint. For more information, see Authentication + * in the Client VPN Administrator Guide.

                      + */ +export interface ClientVpnAuthentication { /** - *

                      One or more filters.

                      - *
                        - *
                      • - *

                        - * dhcp-options-id - The ID of a DHCP options set.

                        - *
                      • - *
                      • - *

                        - * key - The key for one of the options (for example, domain-name).

                        - *
                      • - *
                      • - *

                        - * value - The value for one of the options.

                        - *
                      • - *
                      • - *

                        - * owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

                        - *
                      • - *
                      • - *

                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                        - *
                      • - *
                      • - *

                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                        - *
                      • - *
                      + *

                      The authentication type used.

                      */ - Filters?: Filter[]; + Type?: ClientVpnAuthenticationType | string; /** - *

                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                      + *

                      Information about the Active Directory, if applicable.

                      */ - DryRun?: boolean; + ActiveDirectory?: DirectoryServiceAuthentication; /** - *

                      The token for the next page of results.

                      + *

                      Information about the authentication certificates, if applicable.

                      */ - NextToken?: string; + MutualAuthentication?: CertificateAuthentication; /** - *

                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                      + *

                      Information about the IAM SAML identity provider, if applicable.

                      */ - MaxResults?: number; + FederatedAuthentication?: FederatedAuthentication; } -export namespace DescribeDhcpOptionsRequest { +export namespace ClientVpnAuthentication { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDhcpOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ClientVpnAuthentication): any => ({ ...obj, }); } -export interface DescribeDhcpOptionsResult { +export type ClientVpnEndpointAttributeStatusCode = "applied" | "applying"; + +/** + *

                      Describes the status of the Client VPN endpoint attribute.

                      + */ +export interface ClientVpnEndpointAttributeStatus { /** - *

                      Information about one or more DHCP options sets.

                      + *

                      The status code.

                      */ - DhcpOptions?: DhcpOptions[]; + Code?: ClientVpnEndpointAttributeStatusCode | string; /** - *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      + *

                      The status message.

                      */ - NextToken?: string; + Message?: string; } -export namespace DescribeDhcpOptionsResult { +export namespace ClientVpnEndpointAttributeStatus { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDhcpOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ClientVpnEndpointAttributeStatus): any => ({ ...obj, }); } -export interface DescribeEgressOnlyInternetGatewaysRequest { - /** - *

                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                      - */ - DryRun?: boolean; - - /** - *

                      One or more egress-only internet gateway IDs.

                      - */ - EgressOnlyInternetGatewayIds?: string[]; - +/** + *

                      The options for managing connection authorization for new client connections.

                      + */ +export interface ClientConnectResponseOptions { /** - *

                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                      + *

                      Indicates whether client connect options are enabled.

                      */ - MaxResults?: number; + Enabled?: boolean; /** - *

                      The token for the next page of results.

                      + *

                      The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.

                      */ - NextToken?: string; + LambdaFunctionArn?: string; /** - *

                      One or more filters.

                      - *
                        - *
                      • - *

                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                        - *
                      • - *
                      • - *

                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                        - *
                      • - *
                      + *

                      The status of any updates to the client connect options.

                      */ - Filters?: Filter[]; + Status?: ClientVpnEndpointAttributeStatus; } -export namespace DescribeEgressOnlyInternetGatewaysRequest { +export namespace ClientConnectResponseOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEgressOnlyInternetGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: ClientConnectResponseOptions): any => ({ ...obj, }); } -export interface DescribeEgressOnlyInternetGatewaysResult { +/** + *

                      Information about the client connection logging options for a Client VPN endpoint.

                      + */ +export interface ConnectionLogResponseOptions { /** - *

                      Information about the egress-only internet gateways.

                      + *

                      Indicates whether client connection logging is enabled for the Client VPN endpoint.

                      */ - EgressOnlyInternetGateways?: EgressOnlyInternetGateway[]; + Enabled?: boolean; /** - *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      + *

                      The name of the Amazon CloudWatch Logs log group to which connection logging data is published.

                      */ - NextToken?: string; + CloudwatchLogGroup?: string; + + /** + *

                      The name of the Amazon CloudWatch Logs log stream to which connection logging data is published.

                      + */ + CloudwatchLogStream?: string; } -export namespace DescribeEgressOnlyInternetGatewaysResult { +export namespace ConnectionLogResponseOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeEgressOnlyInternetGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: ConnectionLogResponseOptions): any => ({ ...obj, }); } -export interface DescribeElasticGpusRequest { +export type VpnProtocol = "openvpn"; + +/** + *

                      Describes a Client VPN endpoint.

                      + */ +export interface ClientVpnEndpoint { /** - *

                      The Elastic Graphics accelerator IDs.

                      + *

                      The ID of the Client VPN endpoint.

                      */ - ElasticGpuIds?: string[]; + ClientVpnEndpointId?: string; /** - *

                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                      + *

                      A brief description of the endpoint.

                      */ - DryRun?: boolean; + Description?: string; /** - *

                      The filters.

                      - *
                        - *
                      • - *

                        - * availability-zone - The Availability Zone in which the - * Elastic Graphics accelerator resides.

                        - *
                      • - *
                      • - *

                        - * elastic-gpu-health - The status of the Elastic Graphics accelerator - * (OK | IMPAIRED).

                        - *
                      • - *
                      • - *

                        - * elastic-gpu-state - The state of the Elastic Graphics accelerator - * (ATTACHED).

                        - *
                      • - *
                      • - *

                        - * elastic-gpu-type - The type of Elastic Graphics accelerator; for example, - * eg1.medium.

                        - *
                      • - *
                      • - *

                        - * instance-id - The ID of the instance to which the - * Elastic Graphics accelerator is associated.

                        - *
                      • - *
                      + *

                      The current state of the Client VPN endpoint.

                      */ - Filters?: Filter[]; + Status?: ClientVpnEndpointStatus; /** - *

                      The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 5 and 1000.

                      + *

                      The date and time the Client VPN endpoint was created.

                      */ - MaxResults?: number; + CreationTime?: string; /** - *

                      The token to request the next page of results.

                      + *

                      The date and time the Client VPN endpoint was deleted, if applicable.

                      */ - NextToken?: string; -} + DeletionTime?: string; -export namespace DescribeElasticGpusRequest { /** - * @internal + *

                      The DNS name to be used by clients when connecting to the Client VPN endpoint.

                      */ - export const filterSensitiveLog = (obj: DescribeElasticGpusRequest): any => ({ - ...obj, - }); -} + DnsName?: string; -export enum ElasticGpuStatus { - Impaired = "IMPAIRED", - Ok = "OK", -} + /** + *

                      The IPv4 address range, in CIDR notation, from which client IP addresses are assigned.

                      + */ + ClientCidrBlock?: string; -/** - *

                      Describes the status of an Elastic Graphics accelerator.

                      - */ -export interface ElasticGpuHealth { /** - *

                      The health status.

                      + *

                      Information about the DNS servers to be used for DNS resolution.

                      */ - Status?: ElasticGpuStatus | string; -} + DnsServers?: string[]; -export namespace ElasticGpuHealth { /** - * @internal + *

                      Indicates whether split-tunnel is enabled in the Client VPN endpoint.

                      + *

                      For information about split-tunnel VPN endpoints, see Split-Tunnel Client VPN endpoint + * in the Client VPN Administrator Guide.

                      */ - export const filterSensitiveLog = (obj: ElasticGpuHealth): any => ({ - ...obj, - }); -} + SplitTunnel?: boolean; -export enum ElasticGpuState { - Attached = "ATTACHED", -} + /** + *

                      The protocol used by the VPN session.

                      + */ + VpnProtocol?: VpnProtocol | string; -/** - *

                      Describes an Elastic Graphics accelerator.

                      - */ -export interface ElasticGpus { /** - *

                      The ID of the Elastic Graphics accelerator.

                      + *

                      The transport protocol used by the Client VPN endpoint.

                      */ - ElasticGpuId?: string; + TransportProtocol?: TransportProtocol | string; /** - *

                      The Availability Zone in the which the Elastic Graphics accelerator resides.

                      + *

                      The port number for the Client VPN endpoint.

                      */ - AvailabilityZone?: string; + VpnPort?: number; /** - *

                      The type of Elastic Graphics accelerator.

                      + * @deprecated + * + *

                      Information about the associated target networks. A target network is a subnet in a VPC.

                      */ - ElasticGpuType?: string; + AssociatedTargetNetworks?: AssociatedTargetNetwork[]; /** - *

                      The status of the Elastic Graphics accelerator.

                      + *

                      The ARN of the server certificate.

                      */ - ElasticGpuHealth?: ElasticGpuHealth; + ServerCertificateArn?: string; /** - *

                      The state of the Elastic Graphics accelerator.

                      + *

                      Information about the authentication method used by the Client VPN endpoint.

                      */ - ElasticGpuState?: ElasticGpuState | string; + AuthenticationOptions?: ClientVpnAuthentication[]; /** - *

                      The ID of the instance to which the Elastic Graphics accelerator is attached.

                      + *

                      Information about the client connection logging options for the Client VPN endpoint.

                      */ - InstanceId?: string; + ConnectionLogOptions?: ConnectionLogResponseOptions; /** - *

                      The tags assigned to the Elastic Graphics accelerator.

                      + *

                      Any tags assigned to the Client VPN endpoint.

                      */ Tags?: Tag[]; -} -export namespace ElasticGpus { /** - * @internal + *

                      The IDs of the security groups for the target network.

                      */ - export const filterSensitiveLog = (obj: ElasticGpus): any => ({ - ...obj, - }); -} + SecurityGroupIds?: string[]; -export interface DescribeElasticGpusResult { /** - *

                      Information about the Elastic Graphics accelerators.

                      + *

                      The ID of the VPC.

                      */ - ElasticGpuSet?: ElasticGpus[]; + VpcId?: string; /** - *

                      The total number of items to return. If the total number of items available is more - * than the value specified in max-items then a Next-Token will be provided in the output - * that you can use to resume pagination.

                      + *

                      The URL of the self-service portal.

                      */ - MaxResults?: number; + SelfServicePortalUrl?: string; /** - *

                      The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                      + *

                      The options for managing connection authorization for new client connections.

                      */ - NextToken?: string; + ClientConnectOptions?: ClientConnectResponseOptions; } -export namespace DescribeElasticGpusResult { +export namespace ClientVpnEndpoint { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeElasticGpusResult): any => ({ + export const filterSensitiveLog = (obj: ClientVpnEndpoint): any => ({ ...obj, }); } -export interface DescribeExportImageTasksRequest { +export interface DescribeClientVpnEndpointsResult { /** - *

                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                      + *

                      Information about the Client VPN endpoints.

                      */ - DryRun?: boolean; + ClientVpnEndpoints?: ClientVpnEndpoint[]; /** - *

                      Filter tasks using the task-state filter and one of the following values: active, - * completed, deleting, or deleted.

                      + *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      */ - Filters?: Filter[]; + NextToken?: string; +} +export namespace DescribeClientVpnEndpointsResult { /** - *

                      The IDs of the export image tasks.

                      + * @internal */ - ExportImageTaskIds?: string[]; + export const filterSensitiveLog = (obj: DescribeClientVpnEndpointsResult): any => ({ + ...obj, + }); +} +export interface DescribeClientVpnRoutesRequest { /** - *

                      The maximum number of results to return in a single call.

                      + *

                      The ID of the Client VPN endpoint.

                      */ - MaxResults?: number; + ClientVpnEndpointId: string | undefined; /** - *

                      A token that indicates the next page of results.

                      + *

                      One or more filters. Filter names and values are case-sensitive.

                      + *
                        + *
                      • + *

                        + * destination-cidr - The CIDR of the route destination.

                        + *
                      • + *
                      • + *

                        + * origin - How the route was associated with the Client VPN endpoint (associate | add-route).

                        + *
                      • + *
                      • + *

                        + * target-subnet - The ID of the subnet through which traffic is routed.

                        + *
                      • + *
                      */ - NextToken?: string; -} + Filters?: Filter[]; -export namespace DescribeExportImageTasksRequest { /** - * @internal + *

                      The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                      */ - export const filterSensitiveLog = (obj: DescribeExportImageTasksRequest): any => ({ - ...obj, - }); -} + MaxResults?: number; -/** - *

                      Describes the destination for an export image task.

                      - */ -export interface ExportTaskS3Location { /** - *

                      The destination Amazon S3 bucket.

                      + *

                      The token to retrieve the next page of results.

                      */ - S3Bucket?: string; + NextToken?: string; /** - *

                      The prefix (logical hierarchy) in the bucket.

                      + *

                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                      */ - S3Prefix?: string; + DryRun?: boolean; } -export namespace ExportTaskS3Location { +export namespace DescribeClientVpnRoutesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTaskS3Location): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnRoutesRequest): any => ({ ...obj, }); } /** - *

                      Describes an export image task.

                      + *

                      Information about a Client VPN endpoint route.

                      */ -export interface ExportImageTask { - /** - *

                      A description of the image being exported.

                      - */ - Description?: string; - +export interface ClientVpnRoute { /** - *

                      The ID of the export image task.

                      + *

                      The ID of the Client VPN endpoint with which the route is associated.

                      */ - ExportImageTaskId?: string; + ClientVpnEndpointId?: string; /** - *

                      The ID of the image.

                      + *

                      The IPv4 address range, in CIDR notation, of the route destination.

                      */ - ImageId?: string; + DestinationCidr?: string; /** - *

                      The percent complete of the export image task.

                      + *

                      The ID of the subnet through which traffic is routed.

                      */ - Progress?: string; + TargetSubnet?: string; /** - *

                      Information about the destination Amazon S3 bucket.

                      + *

                      The route type.

                      */ - S3ExportLocation?: ExportTaskS3Location; + Type?: string; /** - *

                      The status of the export image task. The possible values are active, completed, - * deleting, and deleted.

                      + *

                      Indicates how the route was associated with the Client VPN endpoint. + * associate indicates that the route was automatically added when the target network + * was associated with the Client VPN endpoint. add-route indicates that the route + * was manually added using the CreateClientVpnRoute action.

                      */ - Status?: string; + Origin?: string; /** - *

                      The status message for the export image task.

                      + *

                      The current state of the route.

                      */ - StatusMessage?: string; + Status?: ClientVpnRouteStatus; /** - *

                      Any tags assigned to the export image task.

                      + *

                      A brief description of the route.

                      */ - Tags?: Tag[]; + Description?: string; } -export namespace ExportImageTask { +export namespace ClientVpnRoute { /** * @internal */ - export const filterSensitiveLog = (obj: ExportImageTask): any => ({ + export const filterSensitiveLog = (obj: ClientVpnRoute): any => ({ ...obj, }); } -export interface DescribeExportImageTasksResult { +export interface DescribeClientVpnRoutesResult { /** - *

                      Information about the export image tasks.

                      + *

                      Information about the Client VPN endpoint routes.

                      */ - ExportImageTasks?: ExportImageTask[]; + Routes?: ClientVpnRoute[]; /** - *

                      The token to use to get the next page of results. This value is null when there are no more results - * to return.

                      + *

                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                      */ NextToken?: string; } -export namespace DescribeExportImageTasksResult { +export namespace DescribeClientVpnRoutesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeExportImageTasksResult): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnRoutesResult): any => ({ ...obj, }); } -export interface DescribeExportTasksRequest { - /** - *

                      The export task IDs.

                      - */ - ExportTaskIds?: string[]; - +export interface DescribeClientVpnTargetNetworksRequest { /** - *

                      the filters for the export tasks.

                      + *

                      The ID of the Client VPN endpoint.

                      */ - Filters?: Filter[]; -} + ClientVpnEndpointId: string | undefined; -export namespace DescribeExportTasksRequest { /** - * @internal + *

                      The IDs of the target network associations.

                      */ - export const filterSensitiveLog = (obj: DescribeExportTasksRequest): any => ({ - ...obj, - }); -} + AssociationIds?: string[]; -export interface DescribeExportTasksResult { /** - *

                      Information about the export tasks.

                      + *

                      The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the nextToken value.

                      */ - ExportTasks?: ExportTask[]; -} + MaxResults?: number; -export namespace DescribeExportTasksResult { /** - * @internal + *

                      The token to retrieve the next page of results.

                      */ - export const filterSensitiveLog = (obj: DescribeExportTasksResult): any => ({ - ...obj, - }); -} + NextToken?: string; -export interface DescribeFastSnapshotRestoresRequest { /** - *

                      The filters. The possible values are:

                      - *
                        - *
                      • - *

                        - * availability-zone: The Availability Zone of the snapshot.

                        - *
                      • + *

                        One or more filters. Filter names and values are case-sensitive.

                        + *
                          *
                        • *

                          - * owner-id: The ID of the Amazon Web Services account that enabled fast snapshot restore on the snapshot.

                          + * association-id - The ID of the association.

                          *
                        • *
                        • *

                          - * snapshot-id: The ID of the snapshot.

                          + * target-network-id - The ID of the subnet specified as the target network.

                          *
                        • *
                        • *

                          - * state: The state of fast snapshot restores for the snapshot - * (enabling | - * optimizing | - * enabled | - * disabling | - * disabled).

                          + * vpc-id - The ID of the VPC in which the target network is located.

                          *
                        • *
                        */ Filters?: Filter[]; /** - *

                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                        - */ - MaxResults?: number; - - /** - *

                        The token for the next page of results.

                        - */ - NextToken?: string; - - /** - *

                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                        + *

                        Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                        */ DryRun?: boolean; } -export namespace DescribeFastSnapshotRestoresRequest { +export namespace DescribeClientVpnTargetNetworksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoresRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnTargetNetworksRequest): any => ({ ...obj, }); } -export type FastSnapshotRestoreStateCode = "disabled" | "disabling" | "enabled" | "enabling" | "optimizing"; - /** - *

                        Describes fast snapshot restores for a snapshot.

                        + *

                        Describes a target network associated with a Client VPN endpoint.

                        */ -export interface DescribeFastSnapshotRestoreSuccessItem { - /** - *

                        The ID of the snapshot.

                        - */ - SnapshotId?: string; - - /** - *

                        The Availability Zone.

                        - */ - AvailabilityZone?: string; - - /** - *

                        The state of fast snapshot restores.

                        - */ - State?: FastSnapshotRestoreStateCode | string; - - /** - *

                        The reason for the state transition. The possible values are as follows:

                        - *
                          - *
                        • - *

                          - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

                          - *
                        • - *
                        • - *

                          - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

                          - *
                        • - *
                        - */ - StateTransitionReason?: string; - - /** - *

                        The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                        - */ - OwnerId?: string; - +export interface TargetNetwork { /** - *

                        The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                        + *

                        The ID of the association.

                        */ - OwnerAlias?: string; + AssociationId?: string; /** - *

                        The time at which fast snapshot restores entered the enabling state.

                        + *

                        The ID of the VPC in which the target network (subnet) is located.

                        */ - EnablingTime?: Date; + VpcId?: string; /** - *

                        The time at which fast snapshot restores entered the optimizing state.

                        + *

                        The ID of the subnet specified as the target network.

                        */ - OptimizingTime?: Date; + TargetNetworkId?: string; /** - *

                        The time at which fast snapshot restores entered the enabled state.

                        + *

                        The ID of the Client VPN endpoint with which the target network is associated.

                        */ - EnabledTime?: Date; + ClientVpnEndpointId?: string; /** - *

                        The time at which fast snapshot restores entered the disabling state.

                        + *

                        The current state of the target network association.

                        */ - DisablingTime?: Date; + Status?: AssociationStatus; /** - *

                        The time at which fast snapshot restores entered the disabled state.

                        + *

                        The IDs of the security groups applied to the target network association.

                        */ - DisabledTime?: Date; + SecurityGroups?: string[]; } -export namespace DescribeFastSnapshotRestoreSuccessItem { +export namespace TargetNetwork { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoreSuccessItem): any => ({ + export const filterSensitiveLog = (obj: TargetNetwork): any => ({ ...obj, }); } -export interface DescribeFastSnapshotRestoresResult { +export interface DescribeClientVpnTargetNetworksResult { /** - *

                        Information about the state of fast snapshot restores.

                        + *

                        Information about the associated target networks.

                        */ - FastSnapshotRestores?: DescribeFastSnapshotRestoreSuccessItem[]; + ClientVpnTargetNetworks?: TargetNetwork[]; /** *

                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                        @@ -6524,1358 +6290,1517 @@ export interface DescribeFastSnapshotRestoresResult { NextToken?: string; } -export namespace DescribeFastSnapshotRestoresResult { +export namespace DescribeClientVpnTargetNetworksResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoresResult): any => ({ + export const filterSensitiveLog = (obj: DescribeClientVpnTargetNetworksResult): any => ({ ...obj, }); } -export enum FleetEventType { - FLEET_CHANGE = "fleet-change", - INSTANCE_CHANGE = "instance-change", - SERVICE_ERROR = "service-error", -} +export interface DescribeCoipPoolsRequest { + /** + *

                        The IDs of the address pools.

                        + */ + PoolIds?: string[]; + + /** + *

                        The filters. The following are the possible values:

                        + *
                          + *
                        • + *

                          + * coip-pool.pool-id + *

                          + *
                        • + *
                        + *
                          + *
                        • + *

                          + * coip-pool.local-gateway-route-table-id + *

                          + *
                        • + *
                        + */ + Filters?: Filter[]; + + /** + *

                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                        + */ + MaxResults?: number; + + /** + *

                        The token for the next page of results.

                        + */ + NextToken?: string; -export interface DescribeFleetHistoryRequest { /** *

                        Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                        */ DryRun?: boolean; +} +export namespace DescribeCoipPoolsRequest { /** - *

                        The type of events to describe. By default, all events are described.

                        + * @internal */ - EventType?: FleetEventType | string; + export const filterSensitiveLog = (obj: DescribeCoipPoolsRequest): any => ({ + ...obj, + }); +} +/** + *

                        Describes a customer-owned address pool.

                        + */ +export interface CoipPool { /** - *

                        The maximum number of results to return in a single call. Specify a value between 1 and - * 1000. The default value is 1000. To retrieve the remaining results, make another call with - * the returned NextToken value.

                        + *

                        The ID of the address pool.

                        */ - MaxResults?: number; + PoolId?: string; /** - *

                        The token for the next set of results.

                        + *

                        The address ranges of the address pool.

                        */ - NextToken?: string; + PoolCidrs?: string[]; /** - *

                        The ID of the EC2 Fleet.

                        + *

                        The ID of the local gateway route table.

                        */ - FleetId: string | undefined; + LocalGatewayRouteTableId?: string; /** - *

                        The start date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                        + *

                        The tags.

                        */ - StartTime: Date | undefined; + Tags?: Tag[]; + + /** + *

                        The ARN of the address pool.

                        + */ + PoolArn?: string; } -export namespace DescribeFleetHistoryRequest { +export namespace CoipPool { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetHistoryRequest): any => ({ + export const filterSensitiveLog = (obj: CoipPool): any => ({ ...obj, }); } -/** - *

                        Describes an EC2 Fleet or Spot Fleet event.

                        - */ -export interface EventInformation { +export interface DescribeCoipPoolsResult { /** - *

                        The description of the event.

                        + *

                        Information about the address pools.

                        */ - EventDescription?: string; - - /** - *

                        The event.

                        - * - *

                        - * error events:

                        - *
                          - *
                        • - *

                          - * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required - * permissions either to launch or terminate an instance.

                          - *
                        • - *
                        • - *

                          - * allLaunchSpecsTemporarilyBlacklisted - None of the configurations - * are valid, and several attempts to launch instances have failed. For more - * information, see the description of the event.

                          - *
                        • - *
                        • - *

                          - * spotInstanceCountLimitExceeded - You've reached the limit on the - * number of Spot Instances that you can launch.

                          - *
                        • - *
                        • - *

                          - * spotFleetRequestConfigurationInvalid - The configuration is not - * valid. For more information, see the description of the event.

                          - *
                        • - *
                        - * - *

                        - * fleetRequestChange events:

                        - *
                          - *
                        • - *

                          - * active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is - * attempting to maintain the target number of running instances.

                          - *
                        • - *
                        • - *

                          - * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has no running - * instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are - * terminated.

                          - *
                        • - *
                        • - *

                          - * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled and does - * not launch additional instances. Its existing instances continue to run until - * they are interrupted or terminated. The request remains in this state until all - * instances are interrupted or terminated.

                          - *
                        • - *
                        • - *

                          - * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled and - * its instances are terminating. The request remains in this state until all - * instances are terminated.

                          - *
                        • - *
                        • - *

                          - * expired - The EC2 Fleet or Spot Fleet request has expired. If the request was - * created with TerminateInstancesWithExpiration set, a subsequent - * terminated event indicates that the instances are - * terminated.

                          - *
                        • - *
                        • - *

                          - * modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified. - * The request remains in this state until the modification is fully - * processed.

                          - *
                        • - *
                        • - *

                          - * modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

                          - *
                        • - *
                        • - *

                          - * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 - * is preparing to launch the target number of instances.

                          - *
                        • - *
                        • - *

                          - * progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

                          - *
                        • - *
                        - * - *

                        - * instanceChange events:

                        - *
                          - *
                        • - *

                          - * launched - A new instance was launched.

                          - *
                        • - *
                        • - *

                          - * terminated - An instance was terminated by the user.

                          - *
                        • - *
                        • - *

                          - * termination_notified - An instance termination notification was - * sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target - * capacity of the fleet was modified down, for example, from a target capacity of - * 4 to a target capacity of 3.

                          - *
                        • - *
                        - * - *

                        - * Information events:

                        - *
                          - *
                        • - *

                          - * fleetProgressHalted - The price in every launch specification is - * not valid because it is below the Spot price (all the launch specifications have - * produced launchSpecUnusable events). A launch specification might - * become valid if the Spot price changes.

                          - *
                        • - *
                        • - *

                          - * launchSpecTemporarilyBlacklisted - The configuration is not valid - * and several attempts to launch instances have failed. For more information, see - * the description of the event.

                          - *
                        • - *
                        • - *

                          - * launchSpecUnusable - The price in a launch specification is not - * valid because it is below the Spot price.

                          - *
                        • - *
                        • - *

                          - * registerWithLoadBalancersFailed - An attempt to register - * instances with load balancers failed. For more information, see the description - * of the event.

                          - *
                        • - *
                        + CoipPools?: CoipPool[]; + + /** + *

                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                        */ - EventSubType?: string; + NextToken?: string; +} +export namespace DescribeCoipPoolsResult { /** - *

                        The ID of the instance. This information is available only for - * instanceChange events.

                        + * @internal */ - InstanceId?: string; + export const filterSensitiveLog = (obj: DescribeCoipPoolsResult): any => ({ + ...obj, + }); } -export namespace EventInformation { +export interface DescribeConversionTasksRequest { + /** + *

                        The conversion task IDs.

                        + */ + ConversionTaskIds?: string[]; + + /** + *

                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                        + */ + DryRun?: boolean; +} + +export namespace DescribeConversionTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EventInformation): any => ({ + export const filterSensitiveLog = (obj: DescribeConversionTasksRequest): any => ({ ...obj, }); } /** - *

                        Describes an event in the history of an EC2 Fleet.

                        + *

                        Describes a disk image.

                        */ -export interface HistoryRecordEntry { +export interface DiskImageDescription { /** - *

                        Information about the event.

                        + *

                        The checksum computed for the disk image.

                        */ - EventInformation?: EventInformation; + Checksum?: string; /** - *

                        The event type.

                        + *

                        The disk image format.

                        */ - EventType?: FleetEventType | string; + Format?: DiskImageFormat | string; /** - *

                        The date and time of the event, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                        + *

                        A presigned URL for the import manifest stored in Amazon S3. For information about creating a presigned URL for + * an Amazon S3 object, read the "Query String Request Authentication Alternative" section of the Authenticating REST Requests topic in + * the Amazon Simple Storage Service Developer Guide.

                        + *

                        For information about the import manifest referenced by this API action, see VM Import Manifest.

                        */ - Timestamp?: Date; + ImportManifestUrl?: string; + + /** + *

                        The size of the disk image, in GiB.

                        + */ + Size?: number; } -export namespace HistoryRecordEntry { +export namespace DiskImageDescription { /** * @internal */ - export const filterSensitiveLog = (obj: HistoryRecordEntry): any => ({ + export const filterSensitiveLog = (obj: DiskImageDescription): any => ({ ...obj, }); } -export interface DescribeFleetHistoryResult { +/** + *

                        Describes a disk image volume.

                        + */ +export interface DiskImageVolumeDescription { /** - *

                        Information about the events in the history of the EC2 Fleet.

                        + *

                        The volume identifier.

                        */ - HistoryRecords?: HistoryRecordEntry[]; + Id?: string; /** - *

                        The last date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * All records up to this time were retrieved.

                        - *

                        If nextToken indicates that there are more results, this value is not - * present.

                        + *

                        The size of the volume, in GiB.

                        */ - LastEvaluatedTime?: Date; + Size?: number; +} +export namespace DiskImageVolumeDescription { /** - *

                        The token for the next set of results.

                        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: DiskImageVolumeDescription): any => ({ + ...obj, + }); +} +/** + *

                        Describes an import volume task.

                        + */ +export interface ImportInstanceVolumeDetailItem { /** - *

                        The ID of the EC Fleet.

                        + *

                        The Availability Zone where the resulting instance will reside.

                        */ - FleetId?: string; + AvailabilityZone?: string; /** - *

                        The start date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                        + *

                        The number of bytes converted so far.

                        */ - StartTime?: Date; + BytesConverted?: number; + + /** + *

                        A description of the task.

                        + */ + Description?: string; + + /** + *

                        The image.

                        + */ + Image?: DiskImageDescription; + + /** + *

                        The status of the import of this particular disk image.

                        + */ + Status?: string; + + /** + *

                        The status information or errors related to the disk image.

                        + */ + StatusMessage?: string; + + /** + *

                        The volume.

                        + */ + Volume?: DiskImageVolumeDescription; } -export namespace DescribeFleetHistoryResult { +export namespace ImportInstanceVolumeDetailItem { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetHistoryResult): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceVolumeDetailItem): any => ({ ...obj, }); } -export interface DescribeFleetInstancesRequest { - /** - *

                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                        - */ - DryRun?: boolean; - +/** + *

                        Describes an import instance task.

                        + */ +export interface ImportInstanceTaskDetails { /** - *

                        The maximum number of results to return in a single call. Specify a value between 1 and - * 1000. The default value is 1000. To retrieve the remaining results, make another call with - * the returned NextToken value.

                        + *

                        A description of the task.

                        */ - MaxResults?: number; + Description?: string; /** - *

                        The token for the next set of results.

                        + *

                        The ID of the instance.

                        */ - NextToken?: string; + InstanceId?: string; /** - *

                        The ID of the EC2 Fleet.

                        + *

                        The instance operating system.

                        */ - FleetId: string | undefined; + Platform?: PlatformValues | string; /** - *

                        The filters.

                        - *
                          - *
                        • - *

                          - * instance-type - The instance type.

                          - *
                        • - *
                        + *

                        The volumes.

                        */ - Filters?: Filter[]; + Volumes?: ImportInstanceVolumeDetailItem[]; } -export namespace DescribeFleetInstancesRequest { +export namespace ImportInstanceTaskDetails { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceTaskDetails): any => ({ ...obj, }); } -export interface DescribeFleetInstancesResult { +/** + *

                        Describes an import volume task.

                        + */ +export interface ImportVolumeTaskDetails { /** - *

                        The running instances. This list is refreshed periodically and might be out of - * date.

                        + *

                        The Availability Zone where the resulting volume will reside.

                        */ - ActiveInstances?: ActiveInstance[]; + AvailabilityZone?: string; /** - *

                        The token for the next set of results.

                        + *

                        The number of bytes converted so far.

                        */ - NextToken?: string; + BytesConverted?: number; /** - *

                        The ID of the EC2 Fleet.

                        + *

                        The description you provided when starting the import volume task.

                        */ - FleetId?: string; + Description?: string; + + /** + *

                        The image.

                        + */ + Image?: DiskImageDescription; + + /** + *

                        The volume.

                        + */ + Volume?: DiskImageVolumeDescription; } -export namespace DescribeFleetInstancesResult { +export namespace ImportVolumeTaskDetails { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetInstancesResult): any => ({ + export const filterSensitiveLog = (obj: ImportVolumeTaskDetails): any => ({ ...obj, }); } -export interface DescribeFleetsRequest { +export type ConversionTaskState = "active" | "cancelled" | "cancelling" | "completed"; + +/** + *

                        Describes a conversion task.

                        + */ +export interface ConversionTask { /** - *

                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                        + *

                        The ID of the conversion task.

                        */ - DryRun?: boolean; + ConversionTaskId?: string; + + /** + *

                        The time when the task expires. If the upload isn't complete before the expiration time, we automatically cancel + * the task.

                        + */ + ExpirationTime?: string; + + /** + *

                        If the task is for importing an instance, this contains information about the import instance task.

                        + */ + ImportInstance?: ImportInstanceTaskDetails; + + /** + *

                        If the task is for importing a volume, this contains information about the import volume task.

                        + */ + ImportVolume?: ImportVolumeTaskDetails; + + /** + *

                        The state of the conversion task.

                        + */ + State?: ConversionTaskState | string; + + /** + *

                        The status message related to the conversion task.

                        + */ + StatusMessage?: string; /** - *

                        The maximum number of results to return in a single call. Specify a value between 1 and - * 1000. The default value is 1000. To retrieve the remaining results, make another call with - * the returned NextToken value.

                        + *

                        Any tags assigned to the task.

                        + */ + Tags?: Tag[]; +} + +export namespace ConversionTask { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ConversionTask): any => ({ + ...obj, + }); +} + +export interface DescribeConversionTasksResult { + /** + *

                        Information about the conversion tasks.

                        */ - MaxResults?: number; + ConversionTasks?: ConversionTask[]; +} +export namespace DescribeConversionTasksResult { /** - *

                        The token for the next set of results.

                        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: DescribeConversionTasksResult): any => ({ + ...obj, + }); +} +/** + *

                        Contains the parameters for DescribeCustomerGateways.

                        + */ +export interface DescribeCustomerGatewaysRequest { /** - *

                        The ID of the EC2 Fleets.

                        + *

                        One or more customer gateway IDs.

                        + *

                        Default: Describes all your customer gateways.

                        */ - FleetIds?: string[]; + CustomerGatewayIds?: string[]; /** - *

                        The filters.

                        - *
                          + *

                          One or more filters.

                          + *
                            *
                          • - *

                            - * activity-status - The progress of the EC2 Fleet ( error | - * pending-fulfillment | pending-termination | - * fulfilled).

                            + *

                            + * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) + * Autonomous System Number (ASN).

                            *
                          • *
                          • - *

                            - * excess-capacity-termination-policy - Indicates whether to terminate - * running instances if the target capacity is decreased below the current EC2 Fleet size - * (true | false).

                            + *

                            + * customer-gateway-id - The ID of the customer gateway.

                            *
                          • *
                          • - *

                            - * fleet-state - The state of the EC2 Fleet (submitted | - * active | deleted | failed | - * deleted-running | deleted-terminating | - * modifying).

                            + *

                            + * ip-address - The IP address of the customer gateway's + * Internet-routable external interface.

                            + *
                          • + *
                          • + *

                            + * state - The state of the customer gateway (pending | + * available | deleting | + * deleted).

                            + *
                          • + *
                          • + *

                            + * type - The type of customer gateway. Currently, the only + * supported type is ipsec.1.

                            *
                          • *
                          • *

                            - * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace - * unhealthy instances (true | false).

                            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                            *
                          • *
                          • *

                            - * type - The type of request (instant | - * request | maintain).

                            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                            *
                          • *
                          */ Filters?: Filter[]; + + /** + *

                          Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                          + */ + DryRun?: boolean; } -export namespace DescribeFleetsRequest { +export namespace DescribeCustomerGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeCustomerGatewaysRequest): any => ({ ...obj, }); } -export enum FleetActivityStatus { - ERROR = "error", - FULFILLED = "fulfilled", - PENDING_FULFILLMENT = "pending_fulfillment", - PENDING_TERMINATION = "pending_termination", -} - /** - *

                          Describes the instances that could not be launched by the fleet.

                          + *

                          Contains the output of DescribeCustomerGateways.

                          */ -export interface DescribeFleetError { - /** - *

                          The launch templates and overrides that were used for launching the instances. The - * values that you specify in the Overrides replace the values in the launch template.

                          - */ - LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; - - /** - *

                          Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

                          - */ - Lifecycle?: InstanceLifecycle | string; - - /** - *

                          The error code that indicates why the instance could not be launched. For more - * information about error codes, see Error Codes.

                          - */ - ErrorCode?: string; - +export interface DescribeCustomerGatewaysResult { /** - *

                          The error message that describes why the instance could not be launched. For more - * information about error messages, see Error Codes.

                          + *

                          Information about one or more customer gateways.

                          */ - ErrorMessage?: string; + CustomerGateways?: CustomerGateway[]; } -export namespace DescribeFleetError { +export namespace DescribeCustomerGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetError): any => ({ + export const filterSensitiveLog = (obj: DescribeCustomerGatewaysResult): any => ({ ...obj, }); } -/** - *

                          Describes the instances that were launched by the fleet.

                          - */ -export interface DescribeFleetsInstances { +export interface DescribeDhcpOptionsRequest { /** - *

                          The launch templates and overrides that were used for launching the instances. The - * values that you specify in the Overrides replace the values in the launch template.

                          + *

                          The IDs of one or more DHCP options sets.

                          + *

                          Default: Describes all your DHCP options sets.

                          */ - LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; + DhcpOptionsIds?: string[]; /** - *

                          Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

                          + *

                          One or more filters.

                          + *
                            + *
                          • + *

                            + * dhcp-options-id - The ID of a DHCP options set.

                            + *
                          • + *
                          • + *

                            + * key - The key for one of the options (for example, domain-name).

                            + *
                          • + *
                          • + *

                            + * value - The value for one of the options.

                            + *
                          • + *
                          • + *

                            + * owner-id - The ID of the Amazon Web Services account that owns the DHCP options set.

                            + *
                          • + *
                          • + *

                            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                            + *
                          • + *
                          • + *

                            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                            + *
                          • + *
                          */ - Lifecycle?: InstanceLifecycle | string; + Filters?: Filter[]; /** - *

                          The IDs of the instances.

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - InstanceIds?: string[]; + DryRun?: boolean; /** - *

                          The instance type.

                          + *

                          The token for the next page of results.

                          */ - InstanceType?: _InstanceType | string; + NextToken?: string; /** - *

                          The value is Windows for Windows instances. Otherwise, the value is - * blank.

                          + *

                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                          */ - Platform?: PlatformValues | string; + MaxResults?: number; } -export namespace DescribeFleetsInstances { +export namespace DescribeDhcpOptionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetsInstances): any => ({ + export const filterSensitiveLog = (obj: DescribeDhcpOptionsRequest): any => ({ ...obj, }); } -/** - *

                          Describes a launch template and overrides.

                          - */ -export interface FleetLaunchTemplateConfig { +export interface DescribeDhcpOptionsResult { /** - *

                          The launch template.

                          + *

                          Information about one or more DHCP options sets.

                          */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + DhcpOptions?: DhcpOptions[]; /** - *

                          Any parameters that you specify override the same parameters in the launch - * template.

                          + *

                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                          */ - Overrides?: FleetLaunchTemplateOverrides[]; + NextToken?: string; } -export namespace FleetLaunchTemplateConfig { +export namespace DescribeDhcpOptionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: FleetLaunchTemplateConfig): any => ({ + export const filterSensitiveLog = (obj: DescribeDhcpOptionsResult): any => ({ ...obj, }); } -/** - *

                          Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand - * capacity.

                          - * - *

                          This strategy can only be used if the EC2 Fleet is of type - * instant.

                          - *
                          - *

                          For more information about Capacity Reservations, see On-Demand Capacity - * Reservations in the Amazon EC2 User Guide. For examples of using - * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example - * configurations in the Amazon EC2 User Guide.

                          - */ -export interface CapacityReservationOptions { +export interface DescribeEgressOnlyInternetGatewaysRequest { /** - *

                          Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

                          - *

                          If you specify use-capacity-reservations-first, the fleet uses unused - * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If - * multiple instance pools have unused Capacity Reservations, the On-Demand allocation - * strategy (lowest-price or prioritized) is applied. If the number - * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining - * On-Demand target capacity is launched according to the On-Demand allocation strategy - * (lowest-price or prioritized).

                          - *

                          If you do not specify a value, the fleet fulfils the On-Demand capacity according to the - * chosen On-Demand allocation strategy.

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - UsageStrategy?: FleetCapacityReservationUsageStrategy | string; + DryRun?: boolean; + + /** + *

                          One or more egress-only internet gateway IDs.

                          + */ + EgressOnlyInternetGatewayIds?: string[]; + + /** + *

                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                          + */ + MaxResults?: number; + + /** + *

                          The token for the next page of results.

                          + */ + NextToken?: string; + + /** + *

                          One or more filters.

                          + *
                            + *
                          • + *

                            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                            + *
                          • + *
                          • + *

                            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                            + *
                          • + *
                          + */ + Filters?: Filter[]; } -export namespace CapacityReservationOptions { +export namespace DescribeEgressOnlyInternetGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationOptions): any => ({ + export const filterSensitiveLog = (obj: DescribeEgressOnlyInternetGatewaysRequest): any => ({ ...obj, }); } -/** - *

                          Describes the configuration of On-Demand Instances in an EC2 Fleet.

                          - */ -export interface OnDemandOptions { +export interface DescribeEgressOnlyInternetGatewaysResult { /** - *

                          The order of the launch template overrides to use in fulfilling On-Demand capacity. If - * you specify lowest-price, EC2 Fleet uses price to determine the order, launching - * the lowest price first. If you specify prioritized, EC2 Fleet uses the priority - * that you assigned to each launch template override, launching the highest priority first. - * If you do not specify a value, EC2 Fleet defaults to lowest-price.

                          + *

                          Information about the egress-only internet gateways.

                          */ - AllocationStrategy?: FleetOnDemandAllocationStrategy | string; + EgressOnlyInternetGateways?: EgressOnlyInternetGateway[]; /** - *

                          The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. - * Supported only for fleets of type instant.

                          + *

                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                          */ - CapacityReservationOptions?: CapacityReservationOptions; + NextToken?: string; +} +export namespace DescribeEgressOnlyInternetGatewaysResult { /** - *

                          Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. - * Supported only for fleets of type instant.

                          + * @internal */ - SingleInstanceType?: boolean; + export const filterSensitiveLog = (obj: DescribeEgressOnlyInternetGatewaysResult): any => ({ + ...obj, + }); +} +export interface DescribeElasticGpusRequest { /** - *

                          Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported - * only for fleets of type instant.

                          + *

                          The Elastic Graphics accelerator IDs.

                          */ - SingleAvailabilityZone?: boolean; + ElasticGpuIds?: string[]; /** - *

                          The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - MinTargetCapacity?: number; + DryRun?: boolean; /** - *

                          The maximum amount per hour for On-Demand Instances that you're willing to pay.

                          + *

                          The filters.

                          + *
                            + *
                          • + *

                            + * availability-zone - The Availability Zone in which the + * Elastic Graphics accelerator resides.

                            + *
                          • + *
                          • + *

                            + * elastic-gpu-health - The status of the Elastic Graphics accelerator + * (OK | IMPAIRED).

                            + *
                          • + *
                          • + *

                            + * elastic-gpu-state - The state of the Elastic Graphics accelerator + * (ATTACHED).

                            + *
                          • + *
                          • + *

                            + * elastic-gpu-type - The type of Elastic Graphics accelerator; for example, + * eg1.medium.

                            + *
                          • + *
                          • + *

                            + * instance-id - The ID of the instance to which the + * Elastic Graphics accelerator is associated.

                            + *
                          • + *
                          */ - MaxTotalPrice?: string; -} + Filters?: Filter[]; -export namespace OnDemandOptions { /** - * @internal + *

                          The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 5 and 1000.

                          */ - export const filterSensitiveLog = (obj: OnDemandOptions): any => ({ - ...obj, - }); -} + MaxResults?: number; -/** - *

                          The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an - * elevated risk of being interrupted.

                          - */ -export interface FleetSpotCapacityRebalance { /** - *

                          To allow EC2 Fleet to launch a replacement Spot Instance when an instance rebalance - * notification is emitted for an existing Spot Instance in the fleet, specify - * launch. Only available for fleets of type maintain.

                          - * - *

                          When a replacement instance is launched, the instance marked for rebalance is not - * automatically terminated. You can terminate it, or you can leave it running. You are charged for both instances while they are running.

                          - *
                          + *

                          The token to request the next page of results.

                          */ - ReplacementStrategy?: FleetReplacementStrategy | string; + NextToken?: string; } -export namespace FleetSpotCapacityRebalance { +export namespace DescribeElasticGpusRequest { /** * @internal */ - export const filterSensitiveLog = (obj: FleetSpotCapacityRebalance): any => ({ + export const filterSensitiveLog = (obj: DescribeElasticGpusRequest): any => ({ ...obj, }); } +export enum ElasticGpuStatus { + Impaired = "IMPAIRED", + Ok = "OK", +} + /** - *

                          The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

                          + *

                          Describes the status of an Elastic Graphics accelerator.

                          */ -export interface FleetSpotMaintenanceStrategies { +export interface ElasticGpuHealth { /** - *

                          The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an - * elevated risk of being interrupted.

                          + *

                          The health status.

                          */ - CapacityRebalance?: FleetSpotCapacityRebalance; + Status?: ElasticGpuStatus | string; } -export namespace FleetSpotMaintenanceStrategies { +export namespace ElasticGpuHealth { /** * @internal */ - export const filterSensitiveLog = (obj: FleetSpotMaintenanceStrategies): any => ({ + export const filterSensitiveLog = (obj: ElasticGpuHealth): any => ({ ...obj, }); } +export enum ElasticGpuState { + Attached = "ATTACHED", +} + /** - *

                          Describes the configuration of Spot Instances in an EC2 Fleet.

                          + *

                          Describes an Elastic Graphics accelerator.

                          */ -export interface SpotOptions { +export interface ElasticGpus { /** - *

                          Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by - * the EC2 Fleet.

                          - *

                          If the allocation strategy is lowest-price, EC2 Fleet launches instances from - * the Spot Instance pools with the lowest price. This is the default allocation strategy.

                          - *

                          If the allocation strategy is diversified, EC2 Fleet launches instances from all - * of the Spot Instance pools that you specify.

                          - *

                          If the allocation strategy is capacity-optimized (recommended), EC2 Fleet - * launches instances from Spot Instance pools with optimal capacity for the number of instances that - * are launching. To give certain instance types a higher chance of launching first, use - * capacity-optimized-prioritized. Set a priority for each instance type by - * using the Priority parameter for LaunchTemplateOverrides. You can - * assign the same priority to different LaunchTemplateOverrides. EC2 implements - * the priorities on a best-effort basis, but optimizes for capacity first. - * capacity-optimized-prioritized is supported only if your fleet uses a - * launch template. Note that if the On-Demand AllocationStrategy is set to - * prioritized, the same priority is applied when fulfilling On-Demand - * capacity.

                          + *

                          The ID of the Elastic Graphics accelerator.

                          */ - AllocationStrategy?: SpotAllocationStrategy | string; + ElasticGpuId?: string; /** - *

                          The strategies for managing your workloads on your Spot Instances that will be - * interrupted. Currently only the capacity rebalance strategy is available.

                          + *

                          The Availability Zone in the which the Elastic Graphics accelerator resides.

                          */ - MaintenanceStrategies?: FleetSpotMaintenanceStrategies; + AvailabilityZone?: string; /** - *

                          The behavior when a Spot Instance is interrupted. The default is terminate.

                          + *

                          The type of Elastic Graphics accelerator.

                          */ - InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; + ElasticGpuType?: string; /** - *

                          The number of Spot pools across which to allocate your target Spot capacity. Valid only - * when AllocationStrategy is set to - * lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates - * your target Spot capacity across the number of Spot pools that you specify.

                          - *

                          Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a - * best effort basis. If a pool runs out of Spot capacity before fulfilling your target - * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest - * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than - * the number of pools that you specified. Similarly, if most of the pools have no Spot - * capacity, you might receive your full target capacity from fewer than the number of pools - * that you specified.

                          + *

                          The status of the Elastic Graphics accelerator.

                          */ - InstancePoolsToUseCount?: number; + ElasticGpuHealth?: ElasticGpuHealth; /** - *

                          Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. - * Supported only for fleets of type instant.

                          + *

                          The state of the Elastic Graphics accelerator.

                          */ - SingleInstanceType?: boolean; + ElasticGpuState?: ElasticGpuState | string; /** - *

                          Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported - * only for fleets of type instant.

                          + *

                          The ID of the instance to which the Elastic Graphics accelerator is attached.

                          */ - SingleAvailabilityZone?: boolean; + InstanceId?: string; /** - *

                          The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is - * not reached, the fleet launches no instances.

                          + *

                          The tags assigned to the Elastic Graphics accelerator.

                          */ - MinTargetCapacity?: number; + Tags?: Tag[]; +} +export namespace ElasticGpus { /** - *

                          The maximum amount per hour for Spot Instances that you're willing to pay.

                          + * @internal */ - MaxTotalPrice?: string; + export const filterSensitiveLog = (obj: ElasticGpus): any => ({ + ...obj, + }); } -export namespace SpotOptions { +export interface DescribeElasticGpusResult { + /** + *

                          Information about the Elastic Graphics accelerators.

                          + */ + ElasticGpuSet?: ElasticGpus[]; + + /** + *

                          The total number of items to return. If the total number of items available is more + * than the value specified in max-items then a Next-Token will be provided in the output + * that you can use to resume pagination.

                          + */ + MaxResults?: number; + + /** + *

                          The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                          + */ + NextToken?: string; +} + +export namespace DescribeElasticGpusResult { /** * @internal */ - export const filterSensitiveLog = (obj: SpotOptions): any => ({ + export const filterSensitiveLog = (obj: DescribeElasticGpusResult): any => ({ ...obj, }); } -/** - *

                          The number of units to request. You can choose to set the target capacity in terms of - * instances or a performance characteristic that is important to your application workload, - * such as vCPUs, memory, or I/O. If the request type is maintain, you can - * specify a target capacity of 0 and add capacity later.

                          - *

                          You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance - * MaxTotalPrice, or both to ensure that your fleet cost does not exceed your - * budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet - * will launch instances until it reaches the maximum amount that you're willing to pay. When - * the maximum amount you're willing to pay is reached, the fleet stops launching instances - * even if it hasn’t met the target capacity. The MaxTotalPrice parameters are - * located in OnDemandOptions - * and SpotOptions.

                          - */ -export interface TargetCapacitySpecification { +export interface DescribeExportImageTasksRequest { /** - *

                          The number of units to request, filled using - * DefaultTargetCapacityType.

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - TotalTargetCapacity?: number; + DryRun?: boolean; /** - *

                          The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

                          + *

                          Filter tasks using the task-state filter and one of the following values: active, + * completed, deleting, or deleted.

                          */ - OnDemandTargetCapacity?: number; + Filters?: Filter[]; + + /** + *

                          The IDs of the export image tasks.

                          + */ + ExportImageTaskIds?: string[]; /** - *

                          The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

                          + *

                          The maximum number of results to return in a single call.

                          */ - SpotTargetCapacity?: number; + MaxResults?: number; /** - *

                          The default TotalTargetCapacity, which is either Spot or - * On-Demand.

                          + *

                          A token that indicates the next page of results.

                          */ - DefaultTargetCapacityType?: DefaultTargetCapacityType | string; + NextToken?: string; } -export namespace TargetCapacitySpecification { +export namespace DescribeExportImageTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TargetCapacitySpecification): any => ({ + export const filterSensitiveLog = (obj: DescribeExportImageTasksRequest): any => ({ ...obj, }); } /** - *

                          Describes an EC2 Fleet.

                          + *

                          Describes the destination for an export image task.

                          */ -export interface FleetData { +export interface ExportTaskS3Location { /** - *

                          The progress of the EC2 Fleet. If there is an error, the status is error. After - * all requests are placed, the status is pending_fulfillment. If the size of the - * EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled. - * If the size of the EC2 Fleet is decreased, the status is pending_termination while - * instances are terminating.

                          + *

                          The destination Amazon S3 bucket.

                          */ - ActivityStatus?: FleetActivityStatus | string; + S3Bucket?: string; /** - *

                          The creation date and time of the EC2 Fleet.

                          + *

                          The prefix (logical hierarchy) in the bucket.

                          */ - CreateTime?: Date; + S3Prefix?: string; +} +export namespace ExportTaskS3Location { /** - *

                          The ID of the EC2 Fleet.

                          + * @internal */ - FleetId?: string; + export const filterSensitiveLog = (obj: ExportTaskS3Location): any => ({ + ...obj, + }); +} +/** + *

                          Describes an export image task.

                          + */ +export interface ExportImageTask { /** - *

                          The state of the EC2 Fleet.

                          + *

                          A description of the image being exported.

                          */ - FleetState?: FleetStateCode | string; + Description?: string; /** - *

                          Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

                          - *

                          Constraints: Maximum 64 ASCII characters

                          + *

                          The ID of the export image task.

                          */ - ClientToken?: string; + ExportImageTaskId?: string; /** - *

                          Indicates whether running instances should be terminated if the target capacity of the - * EC2 Fleet is decreased below the current size of the EC2 Fleet.

                          + *

                          The ID of the image.

                          */ - ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; + ImageId?: string; /** - *

                          The number of units fulfilled by this request compared to the set target - * capacity.

                          + *

                          The percent complete of the export image task.

                          */ - FulfilledCapacity?: number; + Progress?: string; /** - *

                          The number of units fulfilled by this request compared to the set target On-Demand - * capacity.

                          + *

                          Information about the destination Amazon S3 bucket.

                          */ - FulfilledOnDemandCapacity?: number; + S3ExportLocation?: ExportTaskS3Location; /** - *

                          The launch template and overrides.

                          + *

                          The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

                          */ - LaunchTemplateConfigs?: FleetLaunchTemplateConfig[]; + Status?: string; /** - *

                          The number of units to request. You can choose to set the target capacity in terms of - * instances or a performance characteristic that is important to your application workload, - * such as vCPUs, memory, or I/O. If the request type is maintain, you can - * specify a target capacity of 0 and add capacity later.

                          + *

                          The status message for the export image task.

                          */ - TargetCapacitySpecification?: TargetCapacitySpecification; + StatusMessage?: string; /** - *

                          Indicates whether running instances should be terminated when the EC2 Fleet expires.

                          + *

                          Any tags assigned to the export image task.

                          */ - TerminateInstancesWithExpiration?: boolean; + Tags?: Tag[]; +} +export namespace ExportImageTask { /** - *

                          The type of request. Indicates whether the EC2 Fleet only requests the target - * capacity, or also attempts to maintain it. If you request a certain target - * capacity, EC2 Fleet only places the required requests; it does not attempt to replenish - * instances if capacity is diminished, and it does not submit requests in alternative - * capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet - * places the required requests to meet this target capacity. It also automatically - * replenishes any interrupted Spot Instances. Default: maintain.

                          + * @internal */ - Type?: FleetType | string; + export const filterSensitiveLog = (obj: ExportImageTask): any => ({ + ...obj, + }); +} +export interface DescribeExportImageTasksResult { /** - *

                          The start date and time of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * The default is to start fulfilling the request immediately.

                          + *

                          Information about the export image tasks.

                          */ - ValidFrom?: Date; + ExportImageTasks?: ExportImageTask[]; /** - *

                          The end date and time of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * At this point, no new instance requests are placed or able to fulfill the request. The - * default end date is 7 days from the current date.

                          + *

                          The token to use to get the next page of results. This value is null when there are no more results + * to return.

                          */ - ValidUntil?: Date; + NextToken?: string; +} +export namespace DescribeExportImageTasksResult { /** - *

                          Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for - * fleets of type maintain. For more information, see EC2 Fleet - * health checks in the Amazon EC2 User Guide.

                          + * @internal */ - ReplaceUnhealthyInstances?: boolean; + export const filterSensitiveLog = (obj: DescribeExportImageTasksResult): any => ({ + ...obj, + }); +} +export interface DescribeExportTasksRequest { /** - *

                          The configuration of Spot Instances in an EC2 Fleet.

                          + *

                          The export task IDs.

                          */ - SpotOptions?: SpotOptions; + ExportTaskIds?: string[]; /** - *

                          The allocation strategy of On-Demand Instances in an EC2 Fleet.

                          + *

                          the filters for the export tasks.

                          */ - OnDemandOptions?: OnDemandOptions; + Filters?: Filter[]; +} +export namespace DescribeExportTasksRequest { /** - *

                          The tags for an EC2 Fleet resource.

                          + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: DescribeExportTasksRequest): any => ({ + ...obj, + }); +} +export interface DescribeExportTasksResult { /** - *

                          Information about the instances that could not be launched by the fleet. Valid only when - * Type is set to instant.

                          + *

                          Information about the export tasks.

                          */ - Errors?: DescribeFleetError[]; + ExportTasks?: ExportTask[]; +} +export namespace DescribeExportTasksResult { /** - *

                          Information about the instances that were launched by the fleet. Valid only when - * Type is set to instant.

                          + * @internal */ - Instances?: DescribeFleetsInstances[]; + export const filterSensitiveLog = (obj: DescribeExportTasksResult): any => ({ + ...obj, + }); +} +export interface DescribeFastSnapshotRestoresRequest { /** - *

                          Reserved.

                          + *

                          The filters. The possible values are:

                          + *
                            + *
                          • + *

                            + * availability-zone: The Availability Zone of the snapshot.

                            + *
                          • + *
                          • + *

                            + * owner-id: The ID of the Amazon Web Services account that enabled fast snapshot restore on the snapshot.

                            + *
                          • + *
                          • + *

                            + * snapshot-id: The ID of the snapshot.

                            + *
                          • + *
                          • + *

                            + * state: The state of fast snapshot restores for the snapshot + * (enabling | + * optimizing | + * enabled | + * disabling | + * disabled).

                            + *
                          • + *
                          */ - Context?: string; -} + Filters?: Filter[]; -export namespace FleetData { /** - * @internal + *

                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                          */ - export const filterSensitiveLog = (obj: FleetData): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface DescribeFleetsResult { /** - *

                          The token for the next set of results.

                          + *

                          The token for the next page of results.

                          */ NextToken?: string; /** - *

                          Information about the EC2 Fleets.

                          + *

                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                          */ - Fleets?: FleetData[]; + DryRun?: boolean; } -export namespace DescribeFleetsResult { +export namespace DescribeFastSnapshotRestoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFleetsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoresRequest): any => ({ ...obj, }); } -export interface DescribeFlowLogsRequest { +export type FastSnapshotRestoreStateCode = "disabled" | "disabling" | "enabled" | "enabling" | "optimizing"; + +/** + *

                          Describes fast snapshot restores for a snapshot.

                          + */ +export interface DescribeFastSnapshotRestoreSuccessItem { /** - *

                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                          + *

                          The ID of the snapshot.

                          */ - DryRun?: boolean; + SnapshotId?: string; /** - *

                          One or more filters.

                          - *
                            - *
                          • - *

                            - * deliver-log-status - The status of the logs delivery (SUCCESS | - * FAILED).

                            - *
                          • - *
                          • - *

                            - * log-destination-type - The type of destination to which the flow - * log publishes data. Possible destination types include - * cloud-watch-logs and s3.

                            - *
                          • - *
                          • - *

                            - * flow-log-id - The ID of the flow log.

                            - *
                          • - *
                          • - *

                            - * log-group-name - The name of the log group.

                            - *
                          • - *
                          • - *

                            - * resource-id - The ID of the VPC, subnet, or network interface.

                            - *
                          • - *
                          • - *

                            - * traffic-type - The type of traffic (ACCEPT | - * REJECT | ALL).

                            - *
                          • + *

                            The Availability Zone.

                            + */ + AvailabilityZone?: string; + + /** + *

                            The state of fast snapshot restores.

                            + */ + State?: FastSnapshotRestoreStateCode | string; + + /** + *

                            The reason for the state transition. The possible values are as follows:

                            + *
                              *
                            • *

                              - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                              + * Client.UserInitiated - The state successfully transitioned to enabling or + * disabling.

                              *
                            • *
                            • *

                              - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                              + * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned + * to optimizing, enabled, or disabled.

                              *
                            • *
                            */ - Filter?: Filter[]; + StateTransitionReason?: string; /** - *

                            One or more flow log IDs.

                            - *

                            Constraint: Maximum of 1000 flow log IDs.

                            + *

                            The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                            */ - FlowLogIds?: string[]; + OwnerId?: string; /** - *

                            The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                            + *

                            The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                            */ - MaxResults?: number; + OwnerAlias?: string; /** - *

                            The token for the next page of results.

                            + *

                            The time at which fast snapshot restores entered the enabling state.

                            */ - NextToken?: string; -} + EnablingTime?: Date; -export namespace DescribeFlowLogsRequest { /** - * @internal + *

                            The time at which fast snapshot restores entered the optimizing state.

                            */ - export const filterSensitiveLog = (obj: DescribeFlowLogsRequest): any => ({ - ...obj, - }); -} + OptimizingTime?: Date; -/** - *

                            Describes the destination options for a flow log.

                            - */ -export interface DestinationOptionsResponse { /** - *

                            The format for the flow log.

                            + *

                            The time at which fast snapshot restores entered the enabled state.

                            */ - FileFormat?: DestinationFileFormat | string; + EnabledTime?: Date; /** - *

                            Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

                            + *

                            The time at which fast snapshot restores entered the disabling state.

                            */ - HiveCompatiblePartitions?: boolean; + DisablingTime?: Date; /** - *

                            Indicates whether to partition the flow log per hour.

                            + *

                            The time at which fast snapshot restores entered the disabled state.

                            */ - PerHourPartition?: boolean; + DisabledTime?: Date; } -export namespace DestinationOptionsResponse { +export namespace DescribeFastSnapshotRestoreSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: DestinationOptionsResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoreSuccessItem): any => ({ ...obj, }); } -/** - *

                            Describes a flow log.

                            - */ -export interface FlowLog { +export interface DescribeFastSnapshotRestoresResult { /** - *

                            The date and time the flow log was created.

                            + *

                            Information about the state of fast snapshot restores.

                            */ - CreationTime?: Date; + FastSnapshotRestores?: DescribeFastSnapshotRestoreSuccessItem[]; /** - *

                            Information about the error that occurred. Rate limited indicates that - * CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've - * reached the limit on the number of log groups that you can create. Access - * error indicates that the IAM role associated with the flow log does not have - * sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an - * internal error.

                            + *

                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                            */ - DeliverLogsErrorMessage?: string; + NextToken?: string; +} +export namespace DescribeFastSnapshotRestoresResult { /** - *

                            The ARN of the IAM role that posts logs to CloudWatch Logs.

                            + * @internal */ - DeliverLogsPermissionArn?: string; + export const filterSensitiveLog = (obj: DescribeFastSnapshotRestoresResult): any => ({ + ...obj, + }); +} + +export enum FleetEventType { + FLEET_CHANGE = "fleet-change", + INSTANCE_CHANGE = "instance-change", + SERVICE_ERROR = "service-error", +} +export interface DescribeFleetHistoryRequest { /** - *

                            The status of the logs delivery (SUCCESS | FAILED).

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - DeliverLogsStatus?: string; + DryRun?: boolean; /** - *

                            The flow log ID.

                            + *

                            The type of events to describe. By default, all events are described.

                            */ - FlowLogId?: string; + EventType?: FleetEventType | string; /** - *

                            The status of the flow log (ACTIVE).

                            + *

                            The maximum number of results to return in a single call. Specify a value between 1 and + * 1000. The default value is 1000. To retrieve the remaining results, make another call with + * the returned NextToken value.

                            */ - FlowLogStatus?: string; + MaxResults?: number; /** - *

                            The name of the flow log group.

                            + *

                            The token for the next set of results.

                            */ - LogGroupName?: string; + NextToken?: string; /** - *

                            The ID of the resource on which the flow log was created.

                            + *

                            The ID of the EC2 Fleet.

                            */ - ResourceId?: string; + FleetId: string | undefined; /** - *

                            The type of traffic captured for the flow log.

                            + *

                            The start date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                            */ - TrafficType?: TrafficType | string; + StartTime: Date | undefined; +} +export namespace DescribeFleetHistoryRequest { /** - *

                            The type of destination to which the flow log data is published. Flow log data can be - * published to CloudWatch Logs or Amazon S3.

                            + * @internal + */ + export const filterSensitiveLog = (obj: DescribeFleetHistoryRequest): any => ({ + ...obj, + }); +} + +/** + *

                            Describes an EC2 Fleet or Spot Fleet event.

                            + */ +export interface EventInformation { + /** + *

                            The description of the event.

                            + */ + EventDescription?: string; + + /** + *

                            The event.

                            + * + *

                            + * error events:

                            + *
                              + *
                            • + *

                              + * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet does not have the required + * permissions either to launch or terminate an instance.

                              + *
                            • + *
                            • + *

                              + * allLaunchSpecsTemporarilyBlacklisted - None of the configurations + * are valid, and several attempts to launch instances have failed. For more + * information, see the description of the event.

                              + *
                            • + *
                            • + *

                              + * spotInstanceCountLimitExceeded - You've reached the limit on the + * number of Spot Instances that you can launch.

                              + *
                            • + *
                            • + *

                              + * spotFleetRequestConfigurationInvalid - The configuration is not + * valid. For more information, see the description of the event.

                              + *
                            • + *
                            + * + *

                            + * fleetRequestChange events:

                            + *
                              + *
                            • + *

                              + * active - The EC2 Fleet or Spot Fleet request has been validated and Amazon EC2 is + * attempting to maintain the target number of running instances.

                              + *
                            • + *
                            • + *

                              + * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has no running + * instances. The EC2 Fleet or Spot Fleet will be deleted two days after its instances are + * terminated.

                              + *
                            • + *
                            • + *

                              + * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled and does + * not launch additional instances. Its existing instances continue to run until + * they are interrupted or terminated. The request remains in this state until all + * instances are interrupted or terminated.

                              + *
                            • + *
                            • + *

                              + * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled and + * its instances are terminating. The request remains in this state until all + * instances are terminated.

                              + *
                            • + *
                            • + *

                              + * expired - The EC2 Fleet or Spot Fleet request has expired. If the request was + * created with TerminateInstancesWithExpiration set, a subsequent + * terminated event indicates that the instances are + * terminated.

                              + *
                            • + *
                            • + *

                              + * modify_in_progress - The EC2 Fleet or Spot Fleet request is being modified. + * The request remains in this state until the modification is fully + * processed.

                              + *
                            • + *
                            • + *

                              + * modify_succeeded - The EC2 Fleet or Spot Fleet request was modified.

                              + *
                            • + *
                            • + *

                              + * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and Amazon EC2 + * is preparing to launch the target number of instances.

                              + *
                            • + *
                            • + *

                              + * progress - The EC2 Fleet or Spot Fleet request is in the process of being fulfilled.

                              + *
                            • + *
                            + * + *

                            + * instanceChange events:

                            + *
                              + *
                            • + *

                              + * launched - A new instance was launched.

                              + *
                            • + *
                            • + *

                              + * terminated - An instance was terminated by the user.

                              + *
                            • + *
                            • + *

                              + * termination_notified - An instance termination notification was + * sent when a Spot Instance was terminated by Amazon EC2 during scale-down, when the target + * capacity of the fleet was modified down, for example, from a target capacity of + * 4 to a target capacity of 3.

                              + *
                            • + *
                            + * + *

                            + * Information events:

                            + *
                              + *
                            • + *

                              + * fleetProgressHalted - The price in every launch specification is + * not valid because it is below the Spot price (all the launch specifications have + * produced launchSpecUnusable events). A launch specification might + * become valid if the Spot price changes.

                              + *
                            • + *
                            • + *

                              + * launchSpecTemporarilyBlacklisted - The configuration is not valid + * and several attempts to launch instances have failed. For more information, see + * the description of the event.

                              + *
                            • + *
                            • + *

                              + * launchSpecUnusable - The price in a launch specification is not + * valid because it is below the Spot price.

                              + *
                            • + *
                            • + *

                              + * registerWithLoadBalancersFailed - An attempt to register + * instances with load balancers failed. For more information, see the description + * of the event.

                              + *
                            • + *
                            */ - LogDestinationType?: LogDestinationType | string; + EventSubType?: string; /** - *

                            The destination to which the flow log data is published. Flow log data can be - * published to an CloudWatch Logs log group or an Amazon S3 bucket. If the flow log publishes to CloudWatch Logs, - * this element indicates the Amazon Resource Name (ARN) of the CloudWatch Logs log group to which - * the data is published. If the flow log publishes to Amazon S3, this element indicates the ARN - * of the Amazon S3 bucket to which the data is published.

                            + *

                            The ID of the instance. This information is available only for + * instanceChange events.

                            */ - LogDestination?: string; + InstanceId?: string; +} +export namespace EventInformation { /** - *

                            The format of the flow log record.

                            + * @internal */ - LogFormat?: string; + export const filterSensitiveLog = (obj: EventInformation): any => ({ + ...obj, + }); +} +/** + *

                            Describes an event in the history of an EC2 Fleet.

                            + */ +export interface HistoryRecordEntry { /** - *

                            The tags for the flow log.

                            + *

                            Information about the event.

                            */ - Tags?: Tag[]; + EventInformation?: EventInformation; /** - *

                            The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

                            - *

                            When a network interface is attached to a Nitro-based - * instance, the aggregation interval is always 60 seconds (1 minute) or less, - * regardless of the specified value.

                            - *

                            Valid Values: 60 | 600 - *

                            + *

                            The event type.

                            */ - MaxAggregationInterval?: number; + EventType?: FleetEventType | string; /** - *

                            The destination options.

                            + *

                            The date and time of the event, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                            */ - DestinationOptions?: DestinationOptionsResponse; + Timestamp?: Date; } -export namespace FlowLog { +export namespace HistoryRecordEntry { /** * @internal */ - export const filterSensitiveLog = (obj: FlowLog): any => ({ + export const filterSensitiveLog = (obj: HistoryRecordEntry): any => ({ ...obj, }); } -export interface DescribeFlowLogsResult { - /** - *

                            Information about the flow logs.

                            - */ - FlowLogs?: FlowLog[]; - +export interface DescribeFleetHistoryResult { /** - *

                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                            + *

                            Information about the events in the history of the EC2 Fleet.

                            */ - NextToken?: string; -} + HistoryRecords?: HistoryRecordEntry[]; -export namespace DescribeFlowLogsResult { /** - * @internal + *

                            The last date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * All records up to this time were retrieved.

                            + *

                            If nextToken indicates that there are more results, this value is not + * present.

                            */ - export const filterSensitiveLog = (obj: DescribeFlowLogsResult): any => ({ - ...obj, - }); -} - -export type FpgaImageAttributeName = "description" | "loadPermission" | "name" | "productCodes"; + LastEvaluatedTime?: Date; -export interface DescribeFpgaImageAttributeRequest { /** - *

                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                            + *

                            The token for the next set of results.

                            */ - DryRun?: boolean; + NextToken?: string; /** - *

                            The ID of the AFI.

                            + *

                            The ID of the EC Fleet.

                            */ - FpgaImageId: string | undefined; + FleetId?: string; /** - *

                            The AFI attribute.

                            + *

                            The start date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                            */ - Attribute: FpgaImageAttributeName | string | undefined; + StartTime?: Date; } -export namespace DescribeFpgaImageAttributeRequest { +export namespace DescribeFleetHistoryResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFpgaImageAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetHistoryResult): any => ({ ...obj, }); } -export type PermissionGroup = "all"; - -/** - *

                            Describes a load permission.

                            - */ -export interface LoadPermission { +export interface DescribeFleetInstancesRequest { /** - *

                            The Amazon Web Services account ID.

                            + *

                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                            */ - UserId?: string; + DryRun?: boolean; /** - *

                            The name of the group.

                            + *

                            The maximum number of results to return in a single call. Specify a value between 1 and + * 1000. The default value is 1000. To retrieve the remaining results, make another call with + * the returned NextToken value.

                            */ - Group?: PermissionGroup | string; -} + MaxResults?: number; -export namespace LoadPermission { /** - * @internal + *

                            The token for the next set of results.

                            */ - export const filterSensitiveLog = (obj: LoadPermission): any => ({ - ...obj, - }); -} - -export type ProductCodeValues = "devpay" | "marketplace"; + NextToken?: string; -/** - *

                            Describes a product code.

                            - */ -export interface ProductCode { /** - *

                            The product code.

                            + *

                            The ID of the EC2 Fleet.

                            */ - ProductCodeId?: string; + FleetId: string | undefined; /** - *

                            The type of product code.

                            + *

                            The filters.

                            + *
                              + *
                            • + *

                              + * instance-type - The instance type.

                              + *
                            • + *
                            */ - ProductCodeType?: ProductCodeValues | string; + Filters?: Filter[]; } -export namespace ProductCode { +export namespace DescribeFleetInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ProductCode): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetInstancesRequest): any => ({ ...obj, }); } -/** - *

                            Describes an Amazon FPGA image (AFI) attribute.

                            - */ -export interface FpgaImageAttribute { - /** - *

                            The ID of the AFI.

                            - */ - FpgaImageId?: string; - - /** - *

                            The name of the AFI.

                            - */ - Name?: string; - - /** - *

                            The description of the AFI.

                            - */ - Description?: string; - - /** - *

                            The load permissions.

                            - */ - LoadPermissions?: LoadPermission[]; - +export interface DescribeFleetInstancesResult { /** - *

                            The product codes.

                            + *

                            The running instances. This list is refreshed periodically and might be out of + * date.

                            */ - ProductCodes?: ProductCode[]; -} + ActiveInstances?: ActiveInstance[]; -export namespace FpgaImageAttribute { /** - * @internal + *

                            The token for the next set of results.

                            */ - export const filterSensitiveLog = (obj: FpgaImageAttribute): any => ({ - ...obj, - }); -} + NextToken?: string; -export interface DescribeFpgaImageAttributeResult { /** - *

                            Information about the attribute.

                            + *

                            The ID of the EC2 Fleet.

                            */ - FpgaImageAttribute?: FpgaImageAttribute; + FleetId?: string; } -export namespace DescribeFpgaImageAttributeResult { +export namespace DescribeFleetInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFpgaImageAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetInstancesResult): any => ({ ...obj, }); } -export interface DescribeFpgaImagesRequest { +export interface DescribeFleetsRequest { /** *

                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -7884,1748 +7809,1681 @@ export interface DescribeFpgaImagesRequest { DryRun?: boolean; /** - *

                            The AFI IDs.

                            + *

                            The maximum number of results to return in a single call. Specify a value between 1 and + * 1000. The default value is 1000. To retrieve the remaining results, make another call with + * the returned NextToken value.

                            */ - FpgaImageIds?: string[]; + MaxResults?: number; /** - *

                            Filters the AFI by owner. Specify an Amazon Web Services account ID, self - * (owner is the sender of the request), or an Amazon Web Services owner alias (valid values are - * amazon | aws-marketplace).

                            + *

                            The token for the next set of results.

                            */ - Owners?: string[]; + NextToken?: string; /** - *

                            The filters.

                            - *
                              - *
                            • - *

                              - * create-time - The creation time of the AFI.

                              - *
                            • - *
                            • - *

                              - * fpga-image-id - The FPGA image identifier (AFI ID).

                              - *
                            • - *
                            • - *

                              - * fpga-image-global-id - The global FPGA image identifier (AGFI ID).

                              - *
                            • - *
                            • - *

                              - * name - The name of the AFI.

                              - *
                            • - *
                            • - *

                              - * owner-id - The Amazon Web Services account ID of the AFI owner.

                              - *
                            • - *
                            • - *

                              - * product-code - The product code.

                              - *
                            • + *

                              The ID of the EC2 Fleets.

                              + */ + FleetIds?: string[]; + + /** + *

                              The filters.

                              + *
                                *
                              • *

                                - * shell-version - The version of the Amazon Web Services Shell that was used to create the bitstream.

                                + * activity-status - The progress of the EC2 Fleet ( error | + * pending-fulfillment | pending-termination | + * fulfilled).

                                *
                              • *
                              • *

                                - * state - The state of the AFI (pending | failed | available | unavailable).

                                + * excess-capacity-termination-policy - Indicates whether to terminate + * running instances if the target capacity is decreased below the current EC2 Fleet size + * (true | false).

                                *
                              • *
                              • *

                                - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                + * fleet-state - The state of the EC2 Fleet (submitted | + * active | deleted | failed | + * deleted-running | deleted-terminating | + * modifying).

                                *
                              • *
                              • *

                                - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                + * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace + * unhealthy instances (true | false).

                                *
                              • *
                              • *

                                - * update-time - The time of the most recent update.

                                + * type - The type of request (instant | + * request | maintain).

                                *
                              • *
                              */ Filters?: Filter[]; - - /** - *

                              The token to retrieve the next page of results.

                              - */ - NextToken?: string; - - /** - *

                              The maximum number of results to return in a single call.

                              - */ - MaxResults?: number; } -export namespace DescribeFpgaImagesRequest { +export namespace DescribeFleetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeFpgaImagesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetsRequest): any => ({ ...obj, }); } +export enum FleetActivityStatus { + ERROR = "error", + FULFILLED = "fulfilled", + PENDING_FULFILLMENT = "pending_fulfillment", + PENDING_TERMINATION = "pending_termination", +} + /** - *

                              Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

                              + *

                              Describes the instances that could not be launched by the fleet.

                              */ -export interface PciId { +export interface DescribeFleetError { /** - *

                              The ID of the device.

                              + *

                              The launch templates and overrides that were used for launching the instances. The + * values that you specify in the Overrides replace the values in the launch template.

                              */ - DeviceId?: string; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

                              The ID of the vendor.

                              + *

                              Indicates if the instance that could not be launched was a Spot Instance or On-Demand Instance.

                              */ - VendorId?: string; + Lifecycle?: InstanceLifecycle | string; /** - *

                              The ID of the subsystem.

                              + *

                              The error code that indicates why the instance could not be launched. For more + * information about error codes, see Error Codes.

                              */ - SubsystemId?: string; + ErrorCode?: string; /** - *

                              The ID of the vendor for the subsystem.

                              + *

                              The error message that describes why the instance could not be launched. For more + * information about error messages, see Error Codes.

                              */ - SubsystemVendorId?: string; + ErrorMessage?: string; } -export namespace PciId { +export namespace DescribeFleetError { /** * @internal */ - export const filterSensitiveLog = (obj: PciId): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetError): any => ({ ...obj, }); } -export type FpgaImageStateCode = "available" | "failed" | "pending" | "unavailable"; - /** - *

                              Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

                              + *

                              Describes the instances that were launched by the fleet.

                              */ -export interface FpgaImageState { +export interface DescribeFleetsInstances { /** - *

                              The state. The following are the possible values:

                              - *
                                - *
                              • - *

                                - * pending - AFI bitstream generation is in progress.

                                - *
                              • - *
                              • - *

                                - * available - The AFI is available for use.

                                - *
                              • - *
                              • - *

                                - * failed - AFI bitstream generation failed.

                                - *
                              • - *
                              • - *

                                - * unavailable - The AFI is no longer available for use.

                                - *
                              • - *
                              + *

                              The launch templates and overrides that were used for launching the instances. The + * values that you specify in the Overrides replace the values in the launch template.

                              */ - Code?: FpgaImageStateCode | string; + LaunchTemplateAndOverrides?: LaunchTemplateAndOverridesResponse; /** - *

                              If the state is failed, this is the error message.

                              + *

                              Indicates if the instance that was launched is a Spot Instance or On-Demand Instance.

                              */ - Message?: string; + Lifecycle?: InstanceLifecycle | string; + + /** + *

                              The IDs of the instances.

                              + */ + InstanceIds?: string[]; + + /** + *

                              The instance type.

                              + */ + InstanceType?: _InstanceType | string; + + /** + *

                              The value is Windows for Windows instances. Otherwise, the value is + * blank.

                              + */ + Platform?: PlatformValues | string; } -export namespace FpgaImageState { +export namespace DescribeFleetsInstances { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaImageState): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetsInstances): any => ({ ...obj, }); } /** - *

                              Describes an Amazon FPGA image (AFI).

                              + *

                              Describes a launch template and overrides.

                              */ -export interface FpgaImage { +export interface FleetLaunchTemplateConfig { /** - *

                              The FPGA image identifier (AFI ID).

                              + *

                              The launch template.

                              */ - FpgaImageId?: string; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; /** - *

                              The global FPGA image identifier (AGFI ID).

                              + *

                              Any parameters that you specify override the same parameters in the launch + * template.

                              */ - FpgaImageGlobalId?: string; + Overrides?: FleetLaunchTemplateOverrides[]; +} +export namespace FleetLaunchTemplateConfig { /** - *

                              The name of the AFI.

                              + * @internal */ - Name?: string; + export const filterSensitiveLog = (obj: FleetLaunchTemplateConfig): any => ({ + ...obj, + }); +} +/** + *

                              Describes the strategy for using unused Capacity Reservations for fulfilling On-Demand + * capacity.

                              + * + *

                              This strategy can only be used if the EC2 Fleet is of type + * instant.

                              + *
                              + *

                              For more information about Capacity Reservations, see On-Demand Capacity + * Reservations in the Amazon EC2 User Guide. For examples of using + * Capacity Reservations in an EC2 Fleet, see EC2 Fleet example + * configurations in the Amazon EC2 User Guide.

                              + */ +export interface CapacityReservationOptions { /** - *

                              The description of the AFI.

                              + *

                              Indicates whether to use unused Capacity Reservations for fulfilling On-Demand capacity.

                              + *

                              If you specify use-capacity-reservations-first, the fleet uses unused + * Capacity Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. If + * multiple instance pools have unused Capacity Reservations, the On-Demand allocation + * strategy (lowest-price or prioritized) is applied. If the number + * of unused Capacity Reservations is less than the On-Demand target capacity, the remaining + * On-Demand target capacity is launched according to the On-Demand allocation strategy + * (lowest-price or prioritized).

                              + *

                              If you do not specify a value, the fleet fulfils the On-Demand capacity according to the + * chosen On-Demand allocation strategy.

                              */ - Description?: string; + UsageStrategy?: FleetCapacityReservationUsageStrategy | string; +} +export namespace CapacityReservationOptions { /** - *

                              The version of the Amazon Web Services Shell that was used to create the bitstream.

                              + * @internal */ - ShellVersion?: string; + export const filterSensitiveLog = (obj: CapacityReservationOptions): any => ({ + ...obj, + }); +} +/** + *

                              Describes the configuration of On-Demand Instances in an EC2 Fleet.

                              + */ +export interface OnDemandOptions { /** - *

                              Information about the PCI bus.

                              + *

                              The order of the launch template overrides to use in fulfilling On-Demand capacity. If + * you specify lowest-price, EC2 Fleet uses price to determine the order, launching + * the lowest price first. If you specify prioritized, EC2 Fleet uses the priority + * that you assigned to each launch template override, launching the highest priority first. + * If you do not specify a value, EC2 Fleet defaults to lowest-price.

                              */ - PciId?: PciId; + AllocationStrategy?: FleetOnDemandAllocationStrategy | string; /** - *

                              Information about the state of the AFI.

                              + *

                              The strategy for using unused Capacity Reservations for fulfilling On-Demand capacity. + * Supported only for fleets of type instant.

                              */ - State?: FpgaImageState; + CapacityReservationOptions?: CapacityReservationOptions; /** - *

                              The date and time the AFI was created.

                              + *

                              Indicates that the fleet uses a single instance type to launch all On-Demand Instances in the fleet. + * Supported only for fleets of type instant.

                              */ - CreateTime?: Date; + SingleInstanceType?: boolean; /** - *

                              The time of the most recent update to the AFI.

                              + *

                              Indicates that the fleet launches all On-Demand Instances into a single Availability Zone. Supported + * only for fleets of type instant.

                              */ - UpdateTime?: Date; + SingleAvailabilityZone?: boolean; /** - *

                              The ID of the Amazon Web Services account that owns the AFI.

                              + *

                              The minimum target capacity for On-Demand Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

                              */ - OwnerId?: string; + MinTargetCapacity?: number; /** - *

                              The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

                              + *

                              The maximum amount per hour for On-Demand Instances that you're willing to pay.

                              */ - OwnerAlias?: string; + MaxTotalPrice?: string; +} +export namespace OnDemandOptions { /** - *

                              The product codes for the AFI.

                              + * @internal */ - ProductCodes?: ProductCode[]; + export const filterSensitiveLog = (obj: OnDemandOptions): any => ({ + ...obj, + }); +} +/** + *

                              The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an + * elevated risk of being interrupted.

                              + */ +export interface FleetSpotCapacityRebalance { /** - *

                              Any tags assigned to the AFI.

                              + *

                              To allow EC2 Fleet to launch a replacement Spot Instance when an instance rebalance + * notification is emitted for an existing Spot Instance in the fleet, specify + * launch. Only available for fleets of type maintain.

                              + * + *

                              When a replacement instance is launched, the instance marked for rebalance is not + * automatically terminated. You can terminate it, or you can leave it running. You are charged for both instances while they are running.

                              + *
                              */ - Tags?: Tag[]; + ReplacementStrategy?: FleetReplacementStrategy | string; +} +export namespace FleetSpotCapacityRebalance { /** - *

                              Indicates whether the AFI is public.

                              + * @internal */ - Public?: boolean; + export const filterSensitiveLog = (obj: FleetSpotCapacityRebalance): any => ({ + ...obj, + }); +} +/** + *

                              The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

                              + */ +export interface FleetSpotMaintenanceStrategies { /** - *

                              Indicates whether data retention support is enabled for the AFI.

                              + *

                              The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an + * elevated risk of being interrupted.

                              */ - DataRetentionSupport?: boolean; + CapacityRebalance?: FleetSpotCapacityRebalance; } -export namespace FpgaImage { +export namespace FleetSpotMaintenanceStrategies { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaImage): any => ({ + export const filterSensitiveLog = (obj: FleetSpotMaintenanceStrategies): any => ({ ...obj, }); } -export interface DescribeFpgaImagesResult { - /** - *

                              Information about the FPGA images.

                              - */ - FpgaImages?: FpgaImage[]; - +/** + *

                              Describes the configuration of Spot Instances in an EC2 Fleet.

                              + */ +export interface SpotOptions { /** - *

                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                              + *

                              Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by + * the EC2 Fleet.

                              + *

                              If the allocation strategy is lowest-price, EC2 Fleet launches instances from + * the Spot Instance pools with the lowest price. This is the default allocation strategy.

                              + *

                              If the allocation strategy is diversified, EC2 Fleet launches instances from all + * of the Spot Instance pools that you specify.

                              + *

                              If the allocation strategy is capacity-optimized (recommended), EC2 Fleet + * launches instances from Spot Instance pools with optimal capacity for the number of instances that + * are launching. To give certain instance types a higher chance of launching first, use + * capacity-optimized-prioritized. Set a priority for each instance type by + * using the Priority parameter for LaunchTemplateOverrides. You can + * assign the same priority to different LaunchTemplateOverrides. EC2 implements + * the priorities on a best-effort basis, but optimizes for capacity first. + * capacity-optimized-prioritized is supported only if your fleet uses a + * launch template. Note that if the On-Demand AllocationStrategy is set to + * prioritized, the same priority is applied when fulfilling On-Demand + * capacity.

                              */ - NextToken?: string; -} + AllocationStrategy?: SpotAllocationStrategy | string; -export namespace DescribeFpgaImagesResult { /** - * @internal + *

                              The strategies for managing your workloads on your Spot Instances that will be + * interrupted. Currently only the capacity rebalance strategy is available.

                              */ - export const filterSensitiveLog = (obj: DescribeFpgaImagesResult): any => ({ - ...obj, - }); -} + MaintenanceStrategies?: FleetSpotMaintenanceStrategies; -export interface DescribeHostReservationOfferingsRequest { /** - *

                              The filters.

                              - *
                                - *
                              • - *

                                - * instance-family - The instance family of the offering (for example, - * m4).

                                - *
                              • - *
                              • - *

                                - * payment-option - The payment option (NoUpfront | - * PartialUpfront | AllUpfront).

                                - *
                              • - *
                              + *

                              The behavior when a Spot Instance is interrupted. The default is terminate.

                              */ - Filter?: Filter[]; + InstanceInterruptionBehavior?: SpotInstanceInterruptionBehavior | string; /** - *

                              This is the maximum duration of the reservation to purchase, specified in seconds. - * Reservations are available in one-year and three-year terms. The number of seconds - * specified must be the number of seconds in a year (365x24x60x60) times one of the - * supported durations (1 or 3). For example, specify 94608000 for three years.

                              + *

                              The number of Spot pools across which to allocate your target Spot capacity. Valid only + * when AllocationStrategy is set to + * lowest-price. EC2 Fleet selects the cheapest Spot pools and evenly allocates + * your target Spot capacity across the number of Spot pools that you specify.

                              + *

                              Note that EC2 Fleet attempts to draw Spot Instances from the number of pools that you specify on a + * best effort basis. If a pool runs out of Spot capacity before fulfilling your target + * capacity, EC2 Fleet will continue to fulfill your request by drawing from the next cheapest + * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than + * the number of pools that you specified. Similarly, if most of the pools have no Spot + * capacity, you might receive your full target capacity from fewer than the number of pools + * that you specified.

                              */ - MaxDuration?: number; + InstancePoolsToUseCount?: number; /** - *

                              The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                              + *

                              Indicates that the fleet uses a single instance type to launch all Spot Instances in the fleet. + * Supported only for fleets of type instant.

                              */ - MaxResults?: number; + SingleInstanceType?: boolean; /** - *

                              This is the minimum duration of the reservation you'd like to purchase, specified - * in seconds. Reservations are available in one-year and three-year terms. The number of - * seconds specified must be the number of seconds in a year (365x24x60x60) times one of - * the supported durations (1 or 3). For example, specify 31536000 for one year.

                              + *

                              Indicates that the fleet launches all Spot Instances into a single Availability Zone. Supported + * only for fleets of type instant.

                              */ - MinDuration?: number; + SingleAvailabilityZone?: boolean; /** - *

                              The token to use to retrieve the next page of results.

                              + *

                              The minimum target capacity for Spot Instances in the fleet. If the minimum target capacity is + * not reached, the fleet launches no instances.

                              */ - NextToken?: string; + MinTargetCapacity?: number; /** - *

                              The ID of the reservation offering.

                              + *

                              The maximum amount per hour for Spot Instances that you're willing to pay.

                              */ - OfferingId?: string; + MaxTotalPrice?: string; } -export namespace DescribeHostReservationOfferingsRequest { +export namespace SpotOptions { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostReservationOfferingsRequest): any => ({ + export const filterSensitiveLog = (obj: SpotOptions): any => ({ ...obj, }); } -export enum PaymentOption { - ALL_UPFRONT = "AllUpfront", - NO_UPFRONT = "NoUpfront", - PARTIAL_UPFRONT = "PartialUpfront", -} - /** - *

                              Details about the Dedicated Host Reservation offering.

                              + *

                              The number of units to request. You can choose to set the target capacity in terms of + * instances or a performance characteristic that is important to your application workload, + * such as vCPUs, memory, or I/O. If the request type is maintain, you can + * specify a target capacity of 0 and add capacity later.

                              + *

                              You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance + * MaxTotalPrice, or both to ensure that your fleet cost does not exceed your + * budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, EC2 Fleet + * will launch instances until it reaches the maximum amount that you're willing to pay. When + * the maximum amount you're willing to pay is reached, the fleet stops launching instances + * even if it hasn’t met the target capacity. The MaxTotalPrice parameters are + * located in OnDemandOptions + * and SpotOptions.

                              */ -export interface HostOffering { - /** - *

                              The currency of the offering.

                              - */ - CurrencyCode?: CurrencyCodeValues | string; - - /** - *

                              The duration of the offering (in seconds).

                              - */ - Duration?: number; - +export interface TargetCapacitySpecification { /** - *

                              The hourly price of the offering.

                              + *

                              The number of units to request, filled using + * DefaultTargetCapacityType.

                              */ - HourlyPrice?: string; + TotalTargetCapacity?: number; /** - *

                              The instance family of the offering.

                              + *

                              The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

                              */ - InstanceFamily?: string; + OnDemandTargetCapacity?: number; /** - *

                              The ID of the offering.

                              + *

                              The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

                              */ - OfferingId?: string; + SpotTargetCapacity?: number; /** - *

                              The available payment option.

                              + *

                              The default TotalTargetCapacity, which is either Spot or + * On-Demand.

                              */ - PaymentOption?: PaymentOption | string; + DefaultTargetCapacityType?: DefaultTargetCapacityType | string; /** - *

                              The upfront price of the offering. Does not apply to No Upfront - * offerings.

                              + *

                              The unit for the target capacity.

                              + *

                              Default: units (translates to number of instances)

                              */ - UpfrontPrice?: string; + TargetCapacityUnitType?: TargetCapacityUnitType | string; } -export namespace HostOffering { +export namespace TargetCapacitySpecification { /** * @internal */ - export const filterSensitiveLog = (obj: HostOffering): any => ({ + export const filterSensitiveLog = (obj: TargetCapacitySpecification): any => ({ ...obj, }); } -export interface DescribeHostReservationOfferingsResult { - /** - *

                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                              - */ - NextToken?: string; - +/** + *

                              Describes an EC2 Fleet.

                              + */ +export interface FleetData { /** - *

                              Information about the offerings.

                              + *

                              The progress of the EC2 Fleet. If there is an error, the status is error. After + * all requests are placed, the status is pending_fulfillment. If the size of the + * EC2 Fleet is equal to or greater than its target capacity, the status is fulfilled. + * If the size of the EC2 Fleet is decreased, the status is pending_termination while + * instances are terminating.

                              */ - OfferingSet?: HostOffering[]; -} + ActivityStatus?: FleetActivityStatus | string; -export namespace DescribeHostReservationOfferingsResult { /** - * @internal + *

                              The creation date and time of the EC2 Fleet.

                              */ - export const filterSensitiveLog = (obj: DescribeHostReservationOfferingsResult): any => ({ - ...obj, - }); -} + CreateTime?: Date; -export interface DescribeHostReservationsRequest { /** - *

                              The filters.

                              - *
                                - *
                              • - *

                                - * instance-family - The instance family (for example, - * m4).

                                - *
                              • - *
                              • - *

                                - * payment-option - The payment option (NoUpfront | - * PartialUpfront | AllUpfront).

                                - *
                              • - *
                              • - *

                                - * state - The state of the reservation (payment-pending - * | payment-failed | active | - * retired).

                                - *
                              • - *
                              • - *

                                - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                - *
                              • - *
                              • - *

                                - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                - *
                              • - *
                              + *

                              The ID of the EC2 Fleet.

                              */ - Filter?: Filter[]; + FleetId?: string; /** - *

                              The host reservation IDs.

                              + *

                              The state of the EC2 Fleet.

                              */ - HostReservationIdSet?: string[]; + FleetState?: FleetStateCode | string; /** - *

                              The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                              + *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

                              + *

                              Constraints: Maximum 64 ASCII characters

                              */ - MaxResults?: number; + ClientToken?: string; /** - *

                              The token to use to retrieve the next page of results.

                              + *

                              Indicates whether running instances should be terminated if the target capacity of the + * EC2 Fleet is decreased below the current size of the EC2 Fleet.

                              */ - NextToken?: string; -} + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; -export namespace DescribeHostReservationsRequest { /** - * @internal + *

                              The number of units fulfilled by this request compared to the set target + * capacity.

                              */ - export const filterSensitiveLog = (obj: DescribeHostReservationsRequest): any => ({ - ...obj, - }); -} - -export enum ReservationState { - ACTIVE = "active", - PAYMENT_FAILED = "payment-failed", - PAYMENT_PENDING = "payment-pending", - RETIRED = "retired", -} + FulfilledCapacity?: number; -/** - *

                              Details about the Dedicated Host Reservation and associated Dedicated - * Hosts.

                              - */ -export interface HostReservation { /** - *

                              The number of Dedicated Hosts the reservation is associated with.

                              + *

                              The number of units fulfilled by this request compared to the set target On-Demand + * capacity.

                              */ - Count?: number; + FulfilledOnDemandCapacity?: number; /** - *

                              The currency in which the upfrontPrice and hourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

                              + *

                              The launch template and overrides.

                              */ - CurrencyCode?: CurrencyCodeValues | string; + LaunchTemplateConfigs?: FleetLaunchTemplateConfig[]; /** - *

                              The length of the reservation's term, specified in seconds. Can be 31536000 - * (1 year) | 94608000 (3 years).

                              + *

                              The number of units to request. You can choose to set the target capacity in terms of + * instances or a performance characteristic that is important to your application workload, + * such as vCPUs, memory, or I/O. If the request type is maintain, you can + * specify a target capacity of 0 and add capacity later.

                              */ - Duration?: number; + TargetCapacitySpecification?: TargetCapacitySpecification; /** - *

                              The date and time that the reservation ends.

                              + *

                              Indicates whether running instances should be terminated when the EC2 Fleet expires.

                              */ - End?: Date; + TerminateInstancesWithExpiration?: boolean; /** - *

                              The IDs of the Dedicated Hosts associated with the reservation.

                              + *

                              The type of request. Indicates whether the EC2 Fleet only requests the target + * capacity, or also attempts to maintain it. If you request a certain target + * capacity, EC2 Fleet only places the required requests; it does not attempt to replenish + * instances if capacity is diminished, and it does not submit requests in alternative + * capacity pools if capacity is unavailable. To maintain a certain target capacity, EC2 Fleet + * places the required requests to meet this target capacity. It also automatically + * replenishes any interrupted Spot Instances. Default: maintain.

                              */ - HostIdSet?: string[]; + Type?: FleetType | string; /** - *

                              The ID of the reservation that specifies the associated Dedicated Hosts.

                              + *

                              The start date and time of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * The default is to start fulfilling the request immediately.

                              */ - HostReservationId?: string; + ValidFrom?: Date; /** - *

                              The hourly price of the reservation.

                              + *

                              The end date and time of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * At this point, no new instance requests are placed or able to fulfill the request. The + * default end date is 7 days from the current date.

                              */ - HourlyPrice?: string; + ValidUntil?: Date; /** - *

                              The instance family of the Dedicated Host Reservation. The instance family on the - * Dedicated Host must be the same in order for it to benefit from the - * reservation.

                              + *

                              Indicates whether EC2 Fleet should replace unhealthy Spot Instances. Supported only for + * fleets of type maintain. For more information, see EC2 Fleet + * health checks in the Amazon EC2 User Guide.

                              */ - InstanceFamily?: string; + ReplaceUnhealthyInstances?: boolean; /** - *

                              The ID of the reservation. This remains the same regardless of which Dedicated - * Hosts are associated with it.

                              + *

                              The configuration of Spot Instances in an EC2 Fleet.

                              */ - OfferingId?: string; + SpotOptions?: SpotOptions; /** - *

                              The payment option selected for this reservation.

                              + *

                              The allocation strategy of On-Demand Instances in an EC2 Fleet.

                              */ - PaymentOption?: PaymentOption | string; + OnDemandOptions?: OnDemandOptions; /** - *

                              The date and time that the reservation started.

                              + *

                              The tags for an EC2 Fleet resource.

                              */ - Start?: Date; + Tags?: Tag[]; /** - *

                              The state of the reservation.

                              + *

                              Information about the instances that could not be launched by the fleet. Valid only when + * Type is set to instant.

                              */ - State?: ReservationState | string; + Errors?: DescribeFleetError[]; /** - *

                              The upfront price of the reservation.

                              + *

                              Information about the instances that were launched by the fleet. Valid only when + * Type is set to instant.

                              */ - UpfrontPrice?: string; + Instances?: DescribeFleetsInstances[]; /** - *

                              Any tags assigned to the Dedicated Host Reservation.

                              + *

                              Reserved.

                              */ - Tags?: Tag[]; + Context?: string; } -export namespace HostReservation { +export namespace FleetData { /** * @internal */ - export const filterSensitiveLog = (obj: HostReservation): any => ({ + export const filterSensitiveLog = (obj: FleetData): any => ({ ...obj, }); } -export interface DescribeHostReservationsResult { +export interface DescribeFleetsResult { /** - *

                              Details about the reservation's configuration.

                              + *

                              The token for the next set of results.

                              */ - HostReservationSet?: HostReservation[]; + NextToken?: string; /** - *

                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                              + *

                              Information about the EC2 Fleets.

                              */ - NextToken?: string; + Fleets?: FleetData[]; } -export namespace DescribeHostReservationsResult { +export namespace DescribeFleetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostReservationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeFleetsResult): any => ({ ...obj, }); } -export interface DescribeHostsRequest { +export interface DescribeFlowLogsRequest { /** - *

                              The filters.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              + */ + DryRun?: boolean; + + /** + *

                              One or more filters.

                              *
                                *
                              • *

                                - * auto-placement - Whether auto-placement is enabled or disabled - * (on | off).

                                + * deliver-log-status - The status of the logs delivery (SUCCESS | + * FAILED).

                                *
                              • *
                              • *

                                - * availability-zone - The Availability Zone of the - * host.

                                + * log-destination-type - The type of destination to which the flow + * log publishes data. Possible destination types include + * cloud-watch-logs and s3.

                                *
                              • *
                              • *

                                - * client-token - The idempotency token that you provided when you - * allocated the host.

                                + * flow-log-id - The ID of the flow log.

                                *
                              • *
                              • *

                                - * host-reservation-id - The ID of the reservation assigned to - * this host.

                                + * log-group-name - The name of the log group.

                                *
                              • *
                              • *

                                - * instance-type - The instance type size that the Dedicated Host - * is configured to support.

                                + * resource-id - The ID of the VPC, subnet, or network interface.

                                *
                              • *
                              • *

                                - * state - The allocation state of the Dedicated Host - * (available | under-assessment | - * permanent-failure | released | - * released-permanent-failure).

                                + * traffic-type - The type of traffic (ACCEPT | + * REJECT | ALL).

                                *
                              • *
                              • - *

                                + *

                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                + *
                              • + *
                              • + *

                                * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                - *
                              • + * *
                              */ Filter?: Filter[]; /** - *

                              The IDs of the Dedicated Hosts. The IDs are used for targeted instance - * launches.

                              + *

                              One or more flow log IDs.

                              + *

                              Constraint: Maximum of 1000 flow log IDs.

                              */ - HostIds?: string[]; + FlowLogIds?: string[]; /** - *

                              The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                              - *

                              You cannot specify this parameter and the host IDs parameter in the same request.

                              + *

                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                              */ MaxResults?: number; /** - *

                              The token to use to retrieve the next page of results.

                              + *

                              The token for the next page of results.

                              */ NextToken?: string; } -export namespace DescribeHostsRequest { +export namespace DescribeFlowLogsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeFlowLogsRequest): any => ({ ...obj, }); } /** - *

                              Information about the number of instances that can be launched onto the Dedicated - * Host.

                              + *

                              Describes the destination options for a flow log.

                              */ -export interface InstanceCapacity { +export interface DestinationOptionsResponse { /** - *

                              The number of instances that can be launched onto the Dedicated Host based on the - * host's available capacity.

                              + *

                              The format for the flow log.

                              */ - AvailableCapacity?: number; + FileFormat?: DestinationFileFormat | string; /** - *

                              The instance type supported by the Dedicated Host.

                              + *

                              Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3.

                              */ - InstanceType?: string; + HiveCompatiblePartitions?: boolean; /** - *

                              The total number of instances that can be launched onto the Dedicated Host if there - * are no instances running on it.

                              + *

                              Indicates whether to partition the flow log per hour.

                              */ - TotalCapacity?: number; + PerHourPartition?: boolean; } -export namespace InstanceCapacity { +export namespace DestinationOptionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceCapacity): any => ({ + export const filterSensitiveLog = (obj: DestinationOptionsResponse): any => ({ ...obj, }); } /** - *

                              The capacity information for instances that can be launched onto the Dedicated Host.

                              + *

                              Describes a flow log.

                              */ -export interface AvailableCapacity { +export interface FlowLog { + /** + *

                              The date and time the flow log was created.

                              + */ + CreationTime?: Date; + /** - *

                              The number of instances that can be launched onto the Dedicated Host depending on - * the host's available capacity. For Dedicated Hosts that support multiple instance types, - * this parameter represents the number of instances for each instance size that is - * supported on the host.

                              + *

                              Information about the error that occurred. Rate limited indicates that + * CloudWatch Logs throttling has been applied for one or more network interfaces, or that you've + * reached the limit on the number of log groups that you can create. Access + * error indicates that the IAM role associated with the flow log does not have + * sufficient permissions to publish to CloudWatch Logs. Unknown error indicates an + * internal error.

                              */ - AvailableInstanceCapacity?: InstanceCapacity[]; + DeliverLogsErrorMessage?: string; /** - *

                              The number of vCPUs available for launching instances onto the Dedicated Host.

                              + *

                              The ARN of the IAM role that posts logs to CloudWatch Logs.

                              */ - AvailableVCpus?: number; -} + DeliverLogsPermissionArn?: string; -export namespace AvailableCapacity { /** - * @internal + *

                              The status of the logs delivery (SUCCESS | FAILED).

                              */ - export const filterSensitiveLog = (obj: AvailableCapacity): any => ({ - ...obj, - }); -} + DeliverLogsStatus?: string; -/** - *

                              Describes the properties of a Dedicated Host.

                              - */ -export interface HostProperties { /** - *

                              The number of cores on the Dedicated Host.

                              + *

                              The flow log ID.

                              */ - Cores?: number; + FlowLogId?: string; /** - *

                              The instance type supported by the Dedicated Host. For example, m5.large. - * If the host supports multiple instance types, no instanceType - * is returned.

                              + *

                              The status of the flow log (ACTIVE).

                              */ - InstanceType?: string; + FlowLogStatus?: string; /** - *

                              The instance family supported by the Dedicated Host. For example, m5.

                              + *

                              The name of the flow log group.

                              */ - InstanceFamily?: string; + LogGroupName?: string; + + /** + *

                              The ID of the resource on which the flow log was created.

                              + */ + ResourceId?: string; + + /** + *

                              The type of traffic captured for the flow log.

                              + */ + TrafficType?: TrafficType | string; + + /** + *

                              The type of destination to which the flow log data is published. Flow log data can be + * published to CloudWatch Logs or Amazon S3.

                              + */ + LogDestinationType?: LogDestinationType | string; + + /** + *

                              The destination to which the flow log data is published. Flow log data can be + * published to an CloudWatch Logs log group or an Amazon S3 bucket. If the flow log publishes to CloudWatch Logs, + * this element indicates the Amazon Resource Name (ARN) of the CloudWatch Logs log group to which + * the data is published. If the flow log publishes to Amazon S3, this element indicates the ARN + * of the Amazon S3 bucket to which the data is published.

                              + */ + LogDestination?: string; + + /** + *

                              The format of the flow log record.

                              + */ + LogFormat?: string; + + /** + *

                              The tags for the flow log.

                              + */ + Tags?: Tag[]; /** - *

                              The number of sockets on the Dedicated Host.

                              + *

                              The maximum interval of time, in seconds, during which a flow of packets is captured and aggregated into a flow log record.

                              + *

                              When a network interface is attached to a Nitro-based + * instance, the aggregation interval is always 60 seconds (1 minute) or less, + * regardless of the specified value.

                              + *

                              Valid Values: 60 | 600 + *

                              */ - Sockets?: number; + MaxAggregationInterval?: number; /** - *

                              The total number of vCPUs on the Dedicated Host.

                              + *

                              The destination options.

                              */ - TotalVCpus?: number; + DestinationOptions?: DestinationOptionsResponse; } -export namespace HostProperties { +export namespace FlowLog { /** * @internal */ - export const filterSensitiveLog = (obj: HostProperties): any => ({ + export const filterSensitiveLog = (obj: FlowLog): any => ({ ...obj, }); } -/** - *

                              Describes an instance running on a Dedicated Host.

                              - */ -export interface HostInstance { - /** - *

                              The ID of instance that is running on the Dedicated Host.

                              - */ - InstanceId?: string; - +export interface DescribeFlowLogsResult { /** - *

                              The instance type (for example, m3.medium) of the running instance.

                              + *

                              Information about the flow logs.

                              */ - InstanceType?: string; + FlowLogs?: FlowLog[]; /** - *

                              The ID of the Amazon Web Services account that owns the instance.

                              + *

                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                              */ - OwnerId?: string; + NextToken?: string; } -export namespace HostInstance { +export namespace DescribeFlowLogsResult { /** * @internal */ - export const filterSensitiveLog = (obj: HostInstance): any => ({ + export const filterSensitiveLog = (obj: DescribeFlowLogsResult): any => ({ ...obj, }); } -/** - *

                              Describes the properties of the Dedicated Host.

                              - */ -export interface Host { - /** - *

                              Whether auto-placement is on or off.

                              - */ - AutoPlacement?: AutoPlacement | string; +export type FpgaImageAttributeName = "description" | "loadPermission" | "name" | "productCodes"; +export interface DescribeFpgaImageAttributeRequest { /** - *

                              The Availability Zone of the Dedicated Host.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - AvailabilityZone?: string; + DryRun?: boolean; /** - *

                              Information about the instances running on the Dedicated Host.

                              + *

                              The ID of the AFI.

                              */ - AvailableCapacity?: AvailableCapacity; + FpgaImageId: string | undefined; /** - *

                              Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                              + *

                              The AFI attribute.

                              */ - ClientToken?: string; + Attribute: FpgaImageAttributeName | string | undefined; +} +export namespace DescribeFpgaImageAttributeRequest { /** - *

                              The ID of the Dedicated Host.

                              + * @internal */ - HostId?: string; + export const filterSensitiveLog = (obj: DescribeFpgaImageAttributeRequest): any => ({ + ...obj, + }); +} - /** - *

                              The hardware specifications of the Dedicated Host.

                              - */ - HostProperties?: HostProperties; +export type PermissionGroup = "all"; +/** + *

                              Describes a load permission.

                              + */ +export interface LoadPermission { /** - *

                              The reservation ID of the Dedicated Host. This returns a null response - * if the Dedicated Host doesn't have an associated reservation.

                              + *

                              The Amazon Web Services account ID.

                              */ - HostReservationId?: string; + UserId?: string; /** - *

                              The IDs and instance type that are currently running on the Dedicated - * Host.

                              + *

                              The name of the group.

                              */ - Instances?: HostInstance[]; + Group?: PermissionGroup | string; +} +export namespace LoadPermission { /** - *

                              The Dedicated Host's state.

                              + * @internal */ - State?: AllocationState | string; + export const filterSensitiveLog = (obj: LoadPermission): any => ({ + ...obj, + }); +} +export type ProductCodeValues = "devpay" | "marketplace"; + +/** + *

                              Describes a product code.

                              + */ +export interface ProductCode { /** - *

                              The time that the Dedicated Host was allocated.

                              + *

                              The product code.

                              */ - AllocationTime?: Date; + ProductCodeId?: string; /** - *

                              The time that the Dedicated Host was released.

                              + *

                              The type of product code.

                              */ - ReleaseTime?: Date; + ProductCodeType?: ProductCodeValues | string; +} +export namespace ProductCode { /** - *

                              Any tags assigned to the Dedicated Host.

                              + * @internal */ - Tags?: Tag[]; + export const filterSensitiveLog = (obj: ProductCode): any => ({ + ...obj, + }); +} +/** + *

                              Describes an Amazon FPGA image (AFI) attribute.

                              + */ +export interface FpgaImageAttribute { /** - *

                              Indicates whether host recovery is enabled or disabled for the Dedicated Host.

                              + *

                              The ID of the AFI.

                              */ - HostRecovery?: HostRecovery | string; + FpgaImageId?: string; /** - *

                              Indicates whether the Dedicated Host supports multiple instance types of the same instance family. - * If the value is on, the Dedicated Host supports multiple instance types in the instance family. - * If the value is off, the Dedicated Host supports a single instance type only.

                              + *

                              The name of the AFI.

                              */ - AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | string; + Name?: string; /** - *

                              The ID of the Amazon Web Services account that owns the Dedicated Host.

                              + *

                              The description of the AFI.

                              */ - OwnerId?: string; + Description?: string; /** - *

                              The ID of the Availability Zone in which the Dedicated Host is allocated.

                              + *

                              The load permissions.

                              */ - AvailabilityZoneId?: string; + LoadPermissions?: LoadPermission[]; /** - *

                              Indicates whether the Dedicated Host is in a host resource group. If - * memberOfServiceLinkedResourceGroup is - * true, the host is in a host resource group; otherwise, it is not.

                              + *

                              The product codes.

                              */ - MemberOfServiceLinkedResourceGroup?: boolean; + ProductCodes?: ProductCode[]; } -export namespace Host { +export namespace FpgaImageAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: Host): any => ({ + export const filterSensitiveLog = (obj: FpgaImageAttribute): any => ({ ...obj, }); } -export interface DescribeHostsResult { - /** - *

                              Information about the Dedicated Hosts.

                              - */ - Hosts?: Host[]; - +export interface DescribeFpgaImageAttributeResult { /** - *

                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                              + *

                              Information about the attribute.

                              */ - NextToken?: string; + FpgaImageAttribute?: FpgaImageAttribute; } -export namespace DescribeHostsResult { +export namespace DescribeFpgaImageAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeHostsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeFpgaImageAttributeResult): any => ({ ...obj, }); } -export interface DescribeIamInstanceProfileAssociationsRequest { +export interface DescribeFpgaImagesRequest { /** - *

                              The IAM instance profile associations.

                              + *

                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                              */ - AssociationIds?: string[]; + DryRun?: boolean; + + /** + *

                              The AFI IDs.

                              + */ + FpgaImageIds?: string[]; + + /** + *

                              Filters the AFI by owner. Specify an Amazon Web Services account ID, self + * (owner is the sender of the request), or an Amazon Web Services owner alias (valid values are + * amazon | aws-marketplace).

                              + */ + Owners?: string[]; /** *

                              The filters.

                              - *
                                + *
                                  *
                                • *

                                  - * instance-id - The ID of the instance.

                                  + * create-time - The creation time of the AFI.

                                  + *
                                • + *
                                • + *

                                  + * fpga-image-id - The FPGA image identifier (AFI ID).

                                  + *
                                • + *
                                • + *

                                  + * fpga-image-global-id - The global FPGA image identifier (AGFI ID).

                                  + *
                                • + *
                                • + *

                                  + * name - The name of the AFI.

                                  + *
                                • + *
                                • + *

                                  + * owner-id - The Amazon Web Services account ID of the AFI owner.

                                  + *
                                • + *
                                • + *

                                  + * product-code - The product code.

                                  + *
                                • + *
                                • + *

                                  + * shell-version - The version of the Amazon Web Services Shell that was used to create the bitstream.

                                  + *
                                • + *
                                • + *

                                  + * state - The state of the AFI (pending | failed | available | unavailable).

                                  + *
                                • + *
                                • + *

                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                  *
                                • *
                                • *

                                  - * state - The state of the association (associating | - * associated | disassociating).

                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                  + *
                                • + *
                                • + *

                                  + * update-time - The time of the most recent update.

                                  *
                                • *
                                */ Filters?: Filter[]; /** - *

                                The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value.

                                - */ - MaxResults?: number; - - /** - *

                                The token to request the next page of results.

                                + *

                                The token to retrieve the next page of results.

                                */ NextToken?: string; -} - -export namespace DescribeIamInstanceProfileAssociationsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeIamInstanceProfileAssociationsRequest): any => ({ - ...obj, - }); -} -export interface DescribeIamInstanceProfileAssociationsResult { /** - *

                                Information about the IAM instance profile associations.

                                - */ - IamInstanceProfileAssociations?: IamInstanceProfileAssociation[]; - - /** - *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                + *

                                The maximum number of results to return in a single call.

                                */ - NextToken?: string; + MaxResults?: number; } -export namespace DescribeIamInstanceProfileAssociationsResult { +export namespace DescribeFpgaImagesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeIamInstanceProfileAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeFpgaImagesRequest): any => ({ ...obj, }); } -export interface DescribeIdentityIdFormatRequest { +/** + *

                                Describes the data that identifies an Amazon FPGA image (AFI) on the PCI bus.

                                + */ +export interface PciId { /** - *

                                The ARN of the principal, which can be an IAM role, IAM user, or the root user.

                                + *

                                The ID of the device.

                                */ - PrincipalArn: string | undefined; + DeviceId?: string; /** - *

                                The type of resource: bundle | - * conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | instance | internet-gateway | - * network-acl | network-acl-association | - * network-interface | network-interface-attachment | - * prefix-list | reservation | route-table | - * route-table-association | security-group | - * snapshot | subnet | - * subnet-cidr-block-association | volume | vpc - * | vpc-cidr-block-association | vpc-endpoint | - * vpc-peering-connection | vpn-connection | vpn-gateway - *

                                + *

                                The ID of the vendor.

                                */ - Resource?: string; -} + VendorId?: string; -export namespace DescribeIdentityIdFormatRequest { /** - * @internal + *

                                The ID of the subsystem.

                                */ - export const filterSensitiveLog = (obj: DescribeIdentityIdFormatRequest): any => ({ - ...obj, - }); -} + SubsystemId?: string; -export interface DescribeIdentityIdFormatResult { /** - *

                                Information about the ID format for the resources.

                                + *

                                The ID of the vendor for the subsystem.

                                */ - Statuses?: IdFormat[]; + SubsystemVendorId?: string; } -export namespace DescribeIdentityIdFormatResult { +export namespace PciId { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeIdentityIdFormatResult): any => ({ + export const filterSensitiveLog = (obj: PciId): any => ({ ...obj, }); } -export interface DescribeIdFormatRequest { - /** - *

                                The type of resource: bundle | - * conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | instance | internet-gateway | - * network-acl | network-acl-association | - * network-interface | network-interface-attachment | - * prefix-list | reservation | route-table | - * route-table-association | security-group | - * snapshot | subnet | - * subnet-cidr-block-association | volume | vpc - * | vpc-cidr-block-association | vpc-endpoint | - * vpc-peering-connection | vpn-connection | vpn-gateway - *

                                - */ - Resource?: string; -} +export type FpgaImageStateCode = "available" | "failed" | "pending" | "unavailable"; -export namespace DescribeIdFormatRequest { +/** + *

                                Describes the state of the bitstream generation process for an Amazon FPGA image (AFI).

                                + */ +export interface FpgaImageState { /** - * @internal + *

                                The state. The following are the possible values:

                                + *
                                  + *
                                • + *

                                  + * pending - AFI bitstream generation is in progress.

                                  + *
                                • + *
                                • + *

                                  + * available - The AFI is available for use.

                                  + *
                                • + *
                                • + *

                                  + * failed - AFI bitstream generation failed.

                                  + *
                                • + *
                                • + *

                                  + * unavailable - The AFI is no longer available for use.

                                  + *
                                • + *
                                */ - export const filterSensitiveLog = (obj: DescribeIdFormatRequest): any => ({ - ...obj, - }); -} + Code?: FpgaImageStateCode | string; -export interface DescribeIdFormatResult { /** - *

                                Information about the ID format for the resource.

                                + *

                                If the state is failed, this is the error message.

                                */ - Statuses?: IdFormat[]; + Message?: string; } -export namespace DescribeIdFormatResult { +export namespace FpgaImageState { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeIdFormatResult): any => ({ + export const filterSensitiveLog = (obj: FpgaImageState): any => ({ ...obj, }); } -export type ImageAttributeName = - | "blockDeviceMapping" - | "bootMode" - | "description" - | "kernel" - | "launchPermission" - | "productCodes" - | "ramdisk" - | "sriovNetSupport"; - /** - *

                                Contains the parameters for DescribeImageAttribute.

                                + *

                                Describes an Amazon FPGA image (AFI).

                                */ -export interface DescribeImageAttributeRequest { - /** - *

                                The AMI attribute.

                                - *

                                - * Note: The blockDeviceMapping attribute is deprecated. - * Using this attribute returns the Client.AuthFailure error. To get information about - * the block device mappings for an AMI, use the DescribeImages action.

                                - */ - Attribute: ImageAttributeName | string | undefined; - +export interface FpgaImage { /** - *

                                The ID of the AMI.

                                + *

                                The FPGA image identifier (AFI ID).

                                */ - ImageId: string | undefined; + FpgaImageId?: string; /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                + *

                                The global FPGA image identifier (AGFI ID).

                                */ - DryRun?: boolean; -} + FpgaImageGlobalId?: string; -export namespace DescribeImageAttributeRequest { /** - * @internal + *

                                The name of the AFI.

                                */ - export const filterSensitiveLog = (obj: DescribeImageAttributeRequest): any => ({ - ...obj, - }); -} + Name?: string; -/** - *

                                Describes a launch permission.

                                - */ -export interface LaunchPermission { /** - *

                                The name of the group.

                                + *

                                The description of the AFI.

                                */ - Group?: PermissionGroup | string; + Description?: string; /** - *

                                The Amazon Web Services account ID.

                                - *

                                Constraints: Up to 10 000 account IDs can be specified in a single request.

                                + *

                                The version of the Amazon Web Services Shell that was used to create the bitstream.

                                */ - UserId?: string; -} + ShellVersion?: string; -export namespace LaunchPermission { /** - * @internal + *

                                Information about the PCI bus.

                                */ - export const filterSensitiveLog = (obj: LaunchPermission): any => ({ - ...obj, - }); -} + PciId?: PciId; -/** - *

                                Describes an image attribute.

                                - */ -export interface ImageAttribute { /** - *

                                The block device mapping entries.

                                + *

                                Information about the state of the AFI.

                                */ - BlockDeviceMappings?: BlockDeviceMapping[]; + State?: FpgaImageState; /** - *

                                The ID of the AMI.

                                + *

                                The date and time the AFI was created.

                                */ - ImageId?: string; + CreateTime?: Date; /** - *

                                The launch permissions.

                                + *

                                The time of the most recent update to the AFI.

                                */ - LaunchPermissions?: LaunchPermission[]; + UpdateTime?: Date; /** - *

                                The product codes.

                                + *

                                The ID of the Amazon Web Services account that owns the AFI.

                                */ - ProductCodes?: ProductCode[]; + OwnerId?: string; /** - *

                                A description for the AMI.

                                + *

                                The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.

                                */ - Description?: AttributeValue; + OwnerAlias?: string; /** - *

                                The kernel ID.

                                + *

                                The product codes for the AFI.

                                */ - KernelId?: AttributeValue; + ProductCodes?: ProductCode[]; /** - *

                                The RAM disk ID.

                                + *

                                Any tags assigned to the AFI.

                                */ - RamdiskId?: AttributeValue; + Tags?: Tag[]; /** - *

                                Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                                + *

                                Indicates whether the AFI is public.

                                */ - SriovNetSupport?: AttributeValue; + Public?: boolean; /** - *

                                Describes a value for a resource attribute that is a String.

                                + *

                                Indicates whether data retention support is enabled for the AFI.

                                */ - BootMode?: AttributeValue; + DataRetentionSupport?: boolean; } -export namespace ImageAttribute { +export namespace FpgaImage { /** * @internal */ - export const filterSensitiveLog = (obj: ImageAttribute): any => ({ + export const filterSensitiveLog = (obj: FpgaImage): any => ({ ...obj, }); } -export interface DescribeImagesRequest { - /** - *

                                Scopes the images by users with explicit launch permissions. - * Specify an Amazon Web Services account ID, self (the sender of the request), - * or all (public AMIs).

                                - */ - ExecutableUsers?: string[]; - - /** - *

                                The filters.

                                - *
                                  - *
                                • - *

                                  - * architecture - The image architecture (i386 | - * x86_64 | arm64).

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.delete-on-termination - A Boolean value that indicates - * whether the Amazon EBS volume is deleted on instance termination.

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.device-name - The device name specified in the block device mapping (for - * example, /dev/sdh or xvdh).

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS - * volume.

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.volume-type - The volume type of the Amazon EBS volume - * (io1 | io2 | gp2 | gp3 | sc1 - * | st1 | standard).

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

                                  - *
                                • - *
                                • - *

                                  - * description - The description of the image (provided during image - * creation).

                                  - *
                                • - *
                                • - *

                                  - * ena-support - A Boolean that indicates whether enhanced networking - * with ENA is enabled.

                                  - *
                                • - *
                                • - *

                                  - * hypervisor - The hypervisor type (ovm | - * xen).

                                  - *
                                • - *
                                • - *

                                  - * image-id - The ID of the image.

                                  - *
                                • - *
                                • - *

                                  - * image-type - The image type (machine | kernel | - * ramdisk).

                                  - *
                                • - *
                                • - *

                                  - * is-public - A Boolean that indicates whether the image is public.

                                  - *
                                • - *
                                • - *

                                  - * kernel-id - The kernel ID.

                                  - *
                                • - *
                                • - *

                                  - * manifest-location - The location of the image manifest.

                                  - *
                                • - *
                                • - *

                                  - * name - The name of the AMI (provided during image creation).

                                  - *
                                • - *
                                • - *

                                  - * owner-alias - The owner alias (amazon | aws-marketplace). - * The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be - * set using the IAM console. We recommend that you use the Owner - * request parameter instead of this filter.

                                  - *
                                • - *
                                • - *

                                  - * owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the - * Owner request parameter instead of this filter.

                                  - *
                                • - *
                                • - *

                                  - * platform - The platform. To only list Windows-based AMIs, use - * windows.

                                  - *
                                • - *
                                • - *

                                  - * product-code - The product code.

                                  - *
                                • - *
                                • - *

                                  - * product-code.type - The type of the product code (marketplace).

                                  - *
                                • - *
                                • - *

                                  - * ramdisk-id - The RAM disk ID.

                                  - *
                                • - *
                                • - *

                                  - * root-device-name - The device name of the root device volume (for example, /dev/sda1).

                                  - *
                                • - *
                                • - *

                                  - * root-device-type - The type of the root device volume (ebs | - * instance-store).

                                  - *
                                • - *
                                • - *

                                  - * state - The state of the image (available | pending - * | failed).

                                  - *
                                • - *
                                • - *

                                  - * state-reason-code - The reason code for the state change.

                                  - *
                                • - *
                                • - *

                                  - * state-reason-message - The message for the state change.

                                  - *
                                • - *
                                • - *

                                  - * sriov-net-support - A value of simple indicates - * that enhanced networking with the Intel 82599 VF interface is enabled.

                                  - *
                                • - *
                                • - *

                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                  - *
                                • - *
                                • - *

                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                  - *
                                • - *
                                • - *

                                  - * virtualization-type - The virtualization type (paravirtual | - * hvm).

                                  - *
                                • - *
                                - */ - Filters?: Filter[]; - - /** - *

                                The image IDs.

                                - *

                                Default: Describes all images available to you.

                                - */ - ImageIds?: string[]; - - /** - *

                                Scopes the results to images with the specified owners. You can specify a combination of - * Amazon Web Services account IDs, self, amazon, and aws-marketplace. - * If you omit this parameter, the results include all images for which you have launch permissions, - * regardless of ownership.

                                - */ - Owners?: string[]; - +export interface DescribeFpgaImagesResult { /** - *

                                If true, all deprecated AMIs are included in the response. If - * false, no deprecated AMIs are included in the response. If no value is - * specified, the default value is false.

                                - * - *

                                If you are the AMI owner, all deprecated AMIs appear in the response regardless of the value (true or false) that you set for this parameter.

                                - *
                                + *

                                Information about the FPGA images.

                                */ - IncludeDeprecated?: boolean; + FpgaImages?: FpgaImage[]; /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ - DryRun?: boolean; + NextToken?: string; } -export namespace DescribeImagesRequest { +export namespace DescribeFpgaImagesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImagesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeFpgaImagesResult): any => ({ ...obj, }); } -export type ArchitectureValues = "arm64" | "i386" | "x86_64" | "x86_64_mac"; - -export type BootModeValues = "legacy-bios" | "uefi"; - -export type HypervisorType = "ovm" | "xen"; - -export type ImageTypeValues = "kernel" | "machine" | "ramdisk"; - -export type DeviceType = "ebs" | "instance-store"; - -export type ImageState = "available" | "deregistered" | "error" | "failed" | "invalid" | "pending" | "transient"; - -/** - *

                                Describes a state change.

                                - */ -export interface StateReason { - /** - *

                                The reason code for the state change.

                                - */ - Code?: string; - +export interface DescribeHostReservationOfferingsRequest { /** - *

                                The message for the state change.

                                + *

                                The filters.

                                *
                                  *
                                • *

                                  - * Server.InsufficientInstanceCapacity: There was insufficient - * capacity available to satisfy the launch request.

                                  - *
                                • - *
                                • - *

                                  - * Server.InternalError: An internal error caused the instance to - * terminate during launch.

                                  - *
                                • - *
                                • - *

                                  - * Server.ScheduledStop: The instance was stopped due to a scheduled - * retirement.

                                  - *
                                • - *
                                • - *

                                  - * Server.SpotInstanceShutdown: The instance was stopped because the - * number of Spot requests with a maximum price equal to or higher than the Spot - * price exceeded available capacity or because of an increase in the Spot - * price.

                                  - *
                                • - *
                                • - *

                                  - * Server.SpotInstanceTermination: The instance was terminated - * because the number of Spot requests with a maximum price equal to or higher than - * the Spot price exceeded available capacity or because of an increase in the Spot - * price.

                                  - *
                                • - *
                                • - *

                                  - * Client.InstanceInitiatedShutdown: The instance was shut down - * using the shutdown -h command from the instance.

                                  - *
                                • - *
                                • - *

                                  - * Client.InstanceTerminated: The instance was terminated or - * rebooted during AMI creation.

                                  - *
                                • - *
                                • - *

                                  - * Client.InternalError: A client error caused the instance to - * terminate during launch.

                                  - *
                                • - *
                                • - *

                                  - * Client.InvalidSnapshot.NotFound: The specified snapshot was not - * found.

                                  - *
                                • - *
                                • - *

                                  - * Client.UserInitiatedHibernate: Hibernation was initiated on the - * instance.

                                  - *
                                • - *
                                • - *

                                  - * Client.UserInitiatedShutdown: The instance was shut down using - * the Amazon EC2 API.

                                  + * instance-family - The instance family of the offering (for example, + * m4).

                                  *
                                • *
                                • *

                                  - * Client.VolumeLimitExceeded: The limit on the number of EBS - * volumes or total storage was exceeded. Decrease usage or request an increase in - * your account limits.

                                  + * payment-option - The payment option (NoUpfront | + * PartialUpfront | AllUpfront).

                                  *
                                • *
                                */ - Message?: string; + Filter?: Filter[]; + + /** + *

                                This is the maximum duration of the reservation to purchase, specified in seconds. + * Reservations are available in one-year and three-year terms. The number of seconds + * specified must be the number of seconds in a year (365x24x60x60) times one of the + * supported durations (1 or 3). For example, specify 94608000 for three years.

                                + */ + MaxDuration?: number; + + /** + *

                                The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                + */ + MaxResults?: number; + + /** + *

                                This is the minimum duration of the reservation you'd like to purchase, specified + * in seconds. Reservations are available in one-year and three-year terms. The number of + * seconds specified must be the number of seconds in a year (365x24x60x60) times one of + * the supported durations (1 or 3). For example, specify 31536000 for one year.

                                + */ + MinDuration?: number; + + /** + *

                                The token to use to retrieve the next page of results.

                                + */ + NextToken?: string; + + /** + *

                                The ID of the reservation offering.

                                + */ + OfferingId?: string; } -export namespace StateReason { +export namespace DescribeHostReservationOfferingsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: StateReason): any => ({ + export const filterSensitiveLog = (obj: DescribeHostReservationOfferingsRequest): any => ({ ...obj, }); } -export type VirtualizationType = "hvm" | "paravirtual"; +export enum PaymentOption { + ALL_UPFRONT = "AllUpfront", + NO_UPFRONT = "NoUpfront", + PARTIAL_UPFRONT = "PartialUpfront", +} /** - *

                                Describes an image.

                                + *

                                Details about the Dedicated Host Reservation offering.

                                */ -export interface Image { +export interface HostOffering { /** - *

                                The architecture of the image.

                                + *

                                The currency of the offering.

                                */ - Architecture?: ArchitectureValues | string; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                The date and time the image was created.

                                + *

                                The duration of the offering (in seconds).

                                */ - CreationDate?: string; + Duration?: number; /** - *

                                The ID of the AMI.

                                + *

                                The hourly price of the offering.

                                */ - ImageId?: string; + HourlyPrice?: string; /** - *

                                The location of the AMI.

                                + *

                                The instance family of the offering.

                                */ - ImageLocation?: string; + InstanceFamily?: string; /** - *

                                The type of image.

                                + *

                                The ID of the offering.

                                */ - ImageType?: ImageTypeValues | string; + OfferingId?: string; /** - *

                                Indicates whether the image has public launch permissions. The value is true if - * this image has public launch permissions or false - * if it has only implicit and explicit launch permissions.

                                + *

                                The available payment option.

                                */ - Public?: boolean; + PaymentOption?: PaymentOption | string; /** - *

                                The kernel associated with the image, if any. Only applicable for machine images.

                                + *

                                The upfront price of the offering. Does not apply to No Upfront + * offerings.

                                */ - KernelId?: string; + UpfrontPrice?: string; +} +export namespace HostOffering { /** - *

                                The ID of the Amazon Web Services account that owns the image.

                                + * @internal */ - OwnerId?: string; + export const filterSensitiveLog = (obj: HostOffering): any => ({ + ...obj, + }); +} +export interface DescribeHostReservationOfferingsResult { /** - *

                                This value is set to windows for Windows AMIs; otherwise, it is blank.

                                + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ - Platform?: PlatformValues | string; + NextToken?: string; /** - *

                                The platform details associated with the billing code of the AMI. For more information, - * see Understanding - * AMI billing in the Amazon Elastic Compute Cloud User Guide.

                                + *

                                Information about the offerings.

                                + */ + OfferingSet?: HostOffering[]; +} + +export namespace DescribeHostReservationOfferingsResult { + /** + * @internal */ - PlatformDetails?: string; + export const filterSensitiveLog = (obj: DescribeHostReservationOfferingsResult): any => ({ + ...obj, + }); +} +export interface DescribeHostReservationsRequest { /** - *

                                The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. - * usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price - * List API. You can view these fields on the Instances or - * AMIs pages in the Amazon EC2 console, or in the responses that are - * returned by the DescribeImages - * command in the Amazon EC2 API, or the describe-images - * command in the CLI.

                                + *

                                The filters.

                                + *
                                  + *
                                • + *

                                  + * instance-family - The instance family (for example, + * m4).

                                  + *
                                • + *
                                • + *

                                  + * payment-option - The payment option (NoUpfront | + * PartialUpfront | AllUpfront).

                                  + *
                                • + *
                                • + *

                                  + * state - The state of the reservation (payment-pending + * | payment-failed | active | + * retired).

                                  + *
                                • + *
                                • + *

                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                  + *
                                • + *
                                • + *

                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                  + *
                                • + *
                                */ - UsageOperation?: string; + Filter?: Filter[]; /** - *

                                Any product codes associated with the AMI.

                                + *

                                The host reservation IDs.

                                */ - ProductCodes?: ProductCode[]; + HostReservationIdSet?: string[]; /** - *

                                The RAM disk associated with the image, if any. Only applicable for machine images.

                                + *

                                The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                */ - RamdiskId?: string; + MaxResults?: number; /** - *

                                The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

                                + *

                                The token to use to retrieve the next page of results.

                                */ - State?: ImageState | string; + NextToken?: string; +} +export namespace DescribeHostReservationsRequest { /** - *

                                Any block device mapping entries.

                                + * @internal */ - BlockDeviceMappings?: BlockDeviceMapping[]; + export const filterSensitiveLog = (obj: DescribeHostReservationsRequest): any => ({ + ...obj, + }); +} +export enum ReservationState { + ACTIVE = "active", + PAYMENT_FAILED = "payment-failed", + PAYMENT_PENDING = "payment-pending", + RETIRED = "retired", +} + +/** + *

                                Details about the Dedicated Host Reservation and associated Dedicated + * Hosts.

                                + */ +export interface HostReservation { /** - *

                                The description of the AMI that was provided during image creation.

                                + *

                                The number of Dedicated Hosts the reservation is associated with.

                                */ - Description?: string; + Count?: number; + + /** + *

                                The currency in which the upfrontPrice and hourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

                                + */ + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                Specifies whether enhanced networking with ENA is enabled.

                                + *

                                The length of the reservation's term, specified in seconds. Can be 31536000 + * (1 year) | 94608000 (3 years).

                                */ - EnaSupport?: boolean; + Duration?: number; /** - *

                                The hypervisor type of the image.

                                + *

                                The date and time that the reservation ends.

                                */ - Hypervisor?: HypervisorType | string; + End?: Date; /** - *

                                The Amazon Web Services account alias (for example, amazon, self) or - * the Amazon Web Services account ID of the AMI owner.

                                + *

                                The IDs of the Dedicated Hosts associated with the reservation.

                                */ - ImageOwnerAlias?: string; + HostIdSet?: string[]; /** - *

                                The name of the AMI that was provided during image creation.

                                + *

                                The ID of the reservation that specifies the associated Dedicated Hosts.

                                */ - Name?: string; + HostReservationId?: string; /** - *

                                The device name of the root device volume (for example, /dev/sda1).

                                + *

                                The hourly price of the reservation.

                                */ - RootDeviceName?: string; + HourlyPrice?: string; /** - *

                                The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

                                + *

                                The instance family of the Dedicated Host Reservation. The instance family on the + * Dedicated Host must be the same in order for it to benefit from the + * reservation.

                                */ - RootDeviceType?: DeviceType | string; + InstanceFamily?: string; /** - *

                                Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                                + *

                                The ID of the reservation. This remains the same regardless of which Dedicated + * Hosts are associated with it.

                                */ - SriovNetSupport?: string; + OfferingId?: string; /** - *

                                The reason for the state change.

                                + *

                                The payment option selected for this reservation.

                                */ - StateReason?: StateReason; + PaymentOption?: PaymentOption | string; /** - *

                                Any tags assigned to the image.

                                + *

                                The date and time that the reservation started.

                                */ - Tags?: Tag[]; + Start?: Date; /** - *

                                The type of virtualization of the AMI.

                                + *

                                The state of the reservation.

                                */ - VirtualizationType?: VirtualizationType | string; + State?: ReservationState | string; /** - *

                                The boot mode of the image. For more information, see Boot modes in the - * Amazon Elastic Compute Cloud User Guide.

                                + *

                                The upfront price of the reservation.

                                */ - BootMode?: BootModeValues | string; + UpfrontPrice?: string; /** - *

                                The date and time to deprecate the AMI, in UTC, in the following format: - * YYYY-MM-DDTHH:MM:SSZ. - * If you specified a value for seconds, Amazon EC2 rounds the seconds to the - * nearest minute.

                                + *

                                Any tags assigned to the Dedicated Host Reservation.

                                */ - DeprecationTime?: string; + Tags?: Tag[]; } -export namespace Image { +export namespace HostReservation { /** * @internal */ - export const filterSensitiveLog = (obj: Image): any => ({ + export const filterSensitiveLog = (obj: HostReservation): any => ({ ...obj, }); } -export interface DescribeImagesResult { +export interface DescribeHostReservationsResult { + /** + *

                                Details about the reservation's configuration.

                                + */ + HostReservationSet?: HostReservation[]; + /** - *

                                Information about the images.

                                + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ - Images?: Image[]; + NextToken?: string; } -export namespace DescribeImagesResult { +export namespace DescribeHostReservationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImagesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeHostReservationsResult): any => ({ ...obj, }); } -export interface DescribeImportImageTasksRequest { - /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                - */ - DryRun?: boolean; - +export interface DescribeHostsRequest { /** - *

                                Filter tasks using the task-state filter and one of the following values: active, - * completed, deleting, or deleted.

                                + *

                                The filters.

                                + *
                                  + *
                                • + *

                                  + * auto-placement - Whether auto-placement is enabled or disabled + * (on | off).

                                  + *
                                • + *
                                • + *

                                  + * availability-zone - The Availability Zone of the + * host.

                                  + *
                                • + *
                                • + *

                                  + * client-token - The idempotency token that you provided when you + * allocated the host.

                                  + *
                                • + *
                                • + *

                                  + * host-reservation-id - The ID of the reservation assigned to + * this host.

                                  + *
                                • + *
                                • + *

                                  + * instance-type - The instance type size that the Dedicated Host + * is configured to support.

                                  + *
                                • + *
                                • + *

                                  + * state - The allocation state of the Dedicated Host + * (available | under-assessment | + * permanent-failure | released | + * released-permanent-failure).

                                  + *
                                • + *
                                • + *

                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                  + *
                                • + *
                                */ - Filters?: Filter[]; + Filter?: Filter[]; /** - *

                                The IDs of the import image tasks.

                                + *

                                The IDs of the Dedicated Hosts. The IDs are used for targeted instance + * launches.

                                */ - ImportTaskIds?: string[]; + HostIds?: string[]; /** - *

                                The maximum number of results to return in a single call.

                                + *

                                The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                + *

                                You cannot specify this parameter and the host IDs parameter in the same request.

                                */ MaxResults?: number; /** - *

                                A token that indicates the next page of results.

                                + *

                                The token to use to retrieve the next page of results.

                                */ NextToken?: string; } -export namespace DescribeImportImageTasksRequest { +export namespace DescribeHostsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImportImageTasksRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeHostsRequest): any => ({ ...obj, }); } /** - *

                                The response information for license configurations.

                                + *

                                Information about the number of instances that can be launched onto the Dedicated + * Host.

                                */ -export interface ImportImageLicenseConfigurationResponse { +export interface InstanceCapacity { /** - *

                                The ARN of a license configuration.

                                + *

                                The number of instances that can be launched onto the Dedicated Host based on the + * host's available capacity.

                                + */ + AvailableCapacity?: number; + + /** + *

                                The instance type supported by the Dedicated Host.

                                + */ + InstanceType?: string; + + /** + *

                                The total number of instances that can be launched onto the Dedicated Host if there + * are no instances running on it.

                                */ - LicenseConfigurationArn?: string; + TotalCapacity?: number; } -export namespace ImportImageLicenseConfigurationResponse { +export namespace InstanceCapacity { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationResponse): any => ({ + export const filterSensitiveLog = (obj: InstanceCapacity): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_3.ts b/clients/client-ec2/src/models/models_3.ts index 4bc429c50972..42799994a9fe 100644 --- a/clients/client-ec2/src/models/models_3.ts +++ b/clients/client-ec2/src/models/models_3.ts @@ -2,41 +2,42 @@ import { _InstanceType, ActiveInstance, ActivityStatus, + AllocationState, AllocationStrategy, + AllowsMultipleInstanceTypes, AlternatePathHint, AttachmentStatus, AttributeValue, + AutoPlacement, BatchState, - BlockDeviceMapping, CurrencyCodeValues, FleetLaunchTemplateSpecification, FleetType, + HostRecovery, IamInstanceProfile, + IamInstanceProfileAssociation, IamInstanceProfileSpecification, InstanceEventWindow, IpPermission, Placement, - PlatformValues, ReservedInstancesListing, ResourceType, SecurityGroupRule, Subnet, Tag, TagSpecification, + TargetCapacityUnitType, Tenancy, - TransitGatewayAssociationState, - TransitGatewayAttachmentResourceType, - TransitGatewayAttachmentState, - TransitGatewayPeeringAttachment, - TransitGatewayVpcAttachment, UserIdGroupPair, } from "./models_0"; import { + BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTargetResponse, GroupIdentifier, InstanceInterruptionBehavior, InstanceIpv6Address, + InstanceRequirements, InternetGateway, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, @@ -53,6 +54,7 @@ import { NetworkInterfacePermission, NetworkInterfaceStatus, PlacementGroup, + PlatformValues, PortRange, PrivateIpAddressSpecification, ReplaceRootVolumeTask, @@ -61,4065 +63,3522 @@ import { SpotDatafeedSubscription, SpotInstanceStateFault, SpotInstanceType, - TrafficMirrorFilter, - TrafficMirrorSession, - TrafficMirrorTarget, - TransitGateway, - TransitGatewayConnect, - TransitGatewayConnectPeer, - TransitGatewayMulticastDomain, - TransitGatewayRouteTable, } from "./models_1"; import { - ArchitectureValues, - BootModeValues, - DeviceType, EventInformation, Filter, - HypervisorType, IdFormat, - ImportImageLicenseConfigurationResponse, + InstanceCapacity, InstanceTagNotificationAttribute, PermissionGroup, ProductCode, - StateReason, - VirtualizationType, } from "./models_2"; /** - *

                                Describes the Amazon S3 bucket for the disk image.

                                + *

                                The capacity information for instances that can be launched onto the Dedicated Host.

                                */ -export interface UserBucketDetails { +export interface AvailableCapacity { /** - *

                                The Amazon S3 bucket from which the disk image was created.

                                + *

                                The number of instances that can be launched onto the Dedicated Host depending on + * the host's available capacity. For Dedicated Hosts that support multiple instance types, + * this parameter represents the number of instances for each instance size that is + * supported on the host.

                                */ - S3Bucket?: string; + AvailableInstanceCapacity?: InstanceCapacity[]; /** - *

                                The file name of the disk image.

                                + *

                                The number of vCPUs available for launching instances onto the Dedicated Host.

                                */ - S3Key?: string; + AvailableVCpus?: number; } -export namespace UserBucketDetails { +export namespace AvailableCapacity { /** * @internal */ - export const filterSensitiveLog = (obj: UserBucketDetails): any => ({ + export const filterSensitiveLog = (obj: AvailableCapacity): any => ({ ...obj, }); } /** - *

                                Describes the snapshot created from the imported disk.

                                + *

                                Describes the properties of a Dedicated Host.

                                */ -export interface SnapshotDetail { - /** - *

                                A description for the snapshot.

                                - */ - Description?: string; - +export interface HostProperties { /** - *

                                The block device mapping for the snapshot.

                                + *

                                The number of cores on the Dedicated Host.

                                */ - DeviceName?: string; + Cores?: number; /** - *

                                The size of the disk in the snapshot, in GiB.

                                + *

                                The instance type supported by the Dedicated Host. For example, m5.large. + * If the host supports multiple instance types, no instanceType + * is returned.

                                */ - DiskImageSize?: number; + InstanceType?: string; /** - *

                                The format of the disk image from which the snapshot is created.

                                + *

                                The instance family supported by the Dedicated Host. For example, m5.

                                */ - Format?: string; + InstanceFamily?: string; /** - *

                                The percentage of progress for the task.

                                + *

                                The number of sockets on the Dedicated Host.

                                */ - Progress?: string; + Sockets?: number; /** - *

                                The snapshot ID of the disk being imported.

                                + *

                                The total number of vCPUs on the Dedicated Host.

                                */ - SnapshotId?: string; + TotalVCpus?: number; +} +export namespace HostProperties { /** - *

                                A brief status of the snapshot creation.

                                + * @internal */ - Status?: string; + export const filterSensitiveLog = (obj: HostProperties): any => ({ + ...obj, + }); +} +/** + *

                                Describes an instance running on a Dedicated Host.

                                + */ +export interface HostInstance { /** - *

                                A detailed status message for the snapshot creation.

                                + *

                                The ID of instance that is running on the Dedicated Host.

                                */ - StatusMessage?: string; + InstanceId?: string; /** - *

                                The URL used to access the disk image.

                                + *

                                The instance type (for example, m3.medium) of the running instance.

                                */ - Url?: string; + InstanceType?: string; /** - *

                                The Amazon S3 bucket for the disk image.

                                + *

                                The ID of the Amazon Web Services account that owns the instance.

                                */ - UserBucket?: UserBucketDetails; + OwnerId?: string; } -export namespace SnapshotDetail { +export namespace HostInstance { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotDetail): any => ({ + export const filterSensitiveLog = (obj: HostInstance): any => ({ ...obj, }); } /** - *

                                Describes an import image task.

                                + *

                                Describes the properties of the Dedicated Host.

                                */ -export interface ImportImageTask { +export interface Host { /** - *

                                The architecture of the virtual machine.

                                - *

                                Valid values: i386 | x86_64 | arm64 - *

                                + *

                                Whether auto-placement is on or off.

                                */ - Architecture?: string; + AutoPlacement?: AutoPlacement | string; /** - *

                                A description of the import task.

                                + *

                                The Availability Zone of the Dedicated Host.

                                */ - Description?: string; + AvailabilityZone?: string; /** - *

                                Indicates whether the image is encrypted.

                                + *

                                Information about the instances running on the Dedicated Host.

                                */ - Encrypted?: boolean; + AvailableCapacity?: AvailableCapacity; /** - *

                                The target hypervisor for the import task.

                                - *

                                Valid values: xen - *

                                + *

                                Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.

                                */ - Hypervisor?: string; + ClientToken?: string; /** - *

                                The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

                                + *

                                The ID of the Dedicated Host.

                                */ - ImageId?: string; + HostId?: string; /** - *

                                The ID of the import image task.

                                + *

                                The hardware specifications of the Dedicated Host.

                                */ - ImportTaskId?: string; + HostProperties?: HostProperties; /** - *

                                The identifier for the KMS key that was used to create the encrypted image.

                                + *

                                The reservation ID of the Dedicated Host. This returns a null response + * if the Dedicated Host doesn't have an associated reservation.

                                */ - KmsKeyId?: string; + HostReservationId?: string; /** - *

                                The license type of the virtual machine.

                                + *

                                The IDs and instance type that are currently running on the Dedicated + * Host.

                                */ - LicenseType?: string; + Instances?: HostInstance[]; /** - *

                                The description string for the import image task.

                                + *

                                The Dedicated Host's state.

                                */ - Platform?: string; + State?: AllocationState | string; /** - *

                                The percentage of progress of the import image task.

                                + *

                                The time that the Dedicated Host was allocated.

                                */ - Progress?: string; + AllocationTime?: Date; /** - *

                                Information about the snapshots.

                                + *

                                The time that the Dedicated Host was released.

                                */ - SnapshotDetails?: SnapshotDetail[]; + ReleaseTime?: Date; /** - *

                                A brief status for the import image task.

                                + *

                                Any tags assigned to the Dedicated Host.

                                */ - Status?: string; + Tags?: Tag[]; /** - *

                                A descriptive status message for the import image task.

                                + *

                                Indicates whether host recovery is enabled or disabled for the Dedicated Host.

                                */ - StatusMessage?: string; + HostRecovery?: HostRecovery | string; /** - *

                                The tags for the import image task.

                                + *

                                Indicates whether the Dedicated Host supports multiple instance types of the same instance family. + * If the value is on, the Dedicated Host supports multiple instance types in the instance family. + * If the value is off, the Dedicated Host supports a single instance type only.

                                */ - Tags?: Tag[]; + AllowsMultipleInstanceTypes?: AllowsMultipleInstanceTypes | string; /** - *

                                The ARNs of the license configurations that are associated with the import image task.

                                + *

                                The ID of the Amazon Web Services account that owns the Dedicated Host.

                                */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + OwnerId?: string; /** - *

                                The usage operation value.

                                + *

                                The ID of the Availability Zone in which the Dedicated Host is allocated.

                                */ - UsageOperation?: string; + AvailabilityZoneId?: string; /** - *

                                The boot mode of the virtual machine.

                                + *

                                Indicates whether the Dedicated Host is in a host resource group. If + * memberOfServiceLinkedResourceGroup is + * true, the host is in a host resource group; otherwise, it is not.

                                */ - BootMode?: BootModeValues | string; + MemberOfServiceLinkedResourceGroup?: boolean; } -export namespace ImportImageTask { +export namespace Host { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageTask): any => ({ + export const filterSensitiveLog = (obj: Host): any => ({ ...obj, }); } -export interface DescribeImportImageTasksResult { +export interface DescribeHostsResult { /** - *

                                A list of zero or more import image tasks that are currently active or were completed or canceled in the - * previous 7 days.

                                + *

                                Information about the Dedicated Hosts.

                                */ - ImportImageTasks?: ImportImageTask[]; + Hosts?: Host[]; /** - *

                                The token to use to get the next page of results. This value is null when there are no more results - * to return.

                                + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ NextToken?: string; } -export namespace DescribeImportImageTasksResult { +export namespace DescribeHostsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImportImageTasksResult): any => ({ + export const filterSensitiveLog = (obj: DescribeHostsResult): any => ({ ...obj, }); } -export interface DescribeImportSnapshotTasksRequest { +export interface DescribeIamInstanceProfileAssociationsRequest { /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                + *

                                The IAM instance profile associations.

                                */ - DryRun?: boolean; + AssociationIds?: string[]; /** *

                                The filters.

                                + *
                                  + *
                                • + *

                                  + * instance-id - The ID of the instance.

                                  + *
                                • + *
                                • + *

                                  + * state - The state of the association (associating | + * associated | disassociating).

                                  + *
                                • + *
                                */ Filters?: Filter[]; /** - *

                                A list of import snapshot task IDs.

                                - */ - ImportTaskIds?: 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 maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

                                */ MaxResults?: number; /** - *

                                A token that indicates the next page of results.

                                + *

                                The token to request the next page of results.

                                */ NextToken?: string; } -export namespace DescribeImportSnapshotTasksRequest { +export namespace DescribeIamInstanceProfileAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImportSnapshotTasksRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeIamInstanceProfileAssociationsRequest): any => ({ ...obj, }); } -/** - *

                                Details about the import snapshot task.

                                - */ -export interface SnapshotTaskDetail { +export interface DescribeIamInstanceProfileAssociationsResult { /** - *

                                The description of the snapshot.

                                + *

                                Information about the IAM instance profile associations.

                                */ - Description?: string; + IamInstanceProfileAssociations?: IamInstanceProfileAssociation[]; /** - *

                                The size of the disk in the snapshot, in GiB.

                                + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ - DiskImageSize?: number; + NextToken?: string; +} +export namespace DescribeIamInstanceProfileAssociationsResult { /** - *

                                Indicates whether the snapshot is encrypted.

                                + * @internal */ - Encrypted?: boolean; + export const filterSensitiveLog = (obj: DescribeIamInstanceProfileAssociationsResult): any => ({ + ...obj, + }); +} +export interface DescribeIdentityIdFormatRequest { /** - *

                                The format of the disk image from which the snapshot is created.

                                + *

                                The ARN of the principal, which can be an IAM role, IAM user, or the root user.

                                */ - Format?: string; + PrincipalArn: string | undefined; /** - *

                                The identifier for the KMS key that was used to create the encrypted snapshot.

                                + *

                                The type of resource: bundle | + * conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | instance | internet-gateway | + * network-acl | network-acl-association | + * network-interface | network-interface-attachment | + * prefix-list | reservation | route-table | + * route-table-association | security-group | + * snapshot | subnet | + * subnet-cidr-block-association | volume | vpc + * | vpc-cidr-block-association | vpc-endpoint | + * vpc-peering-connection | vpn-connection | vpn-gateway + *

                                */ - KmsKeyId?: string; + Resource?: string; +} +export namespace DescribeIdentityIdFormatRequest { /** - *

                                The percentage of completion for the import snapshot task.

                                + * @internal */ - Progress?: string; + export const filterSensitiveLog = (obj: DescribeIdentityIdFormatRequest): any => ({ + ...obj, + }); +} +export interface DescribeIdentityIdFormatResult { /** - *

                                The snapshot ID of the disk being imported.

                                + *

                                Information about the ID format for the resources.

                                */ - SnapshotId?: string; + Statuses?: IdFormat[]; +} +export namespace DescribeIdentityIdFormatResult { /** - *

                                A brief status for the import snapshot task.

                                + * @internal */ - Status?: string; + export const filterSensitiveLog = (obj: DescribeIdentityIdFormatResult): any => ({ + ...obj, + }); +} +export interface DescribeIdFormatRequest { /** - *

                                A detailed status message for the import snapshot task.

                                + *

                                The type of resource: bundle | + * conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | instance | internet-gateway | + * network-acl | network-acl-association | + * network-interface | network-interface-attachment | + * prefix-list | reservation | route-table | + * route-table-association | security-group | + * snapshot | subnet | + * subnet-cidr-block-association | volume | vpc + * | vpc-cidr-block-association | vpc-endpoint | + * vpc-peering-connection | vpn-connection | vpn-gateway + *

                                */ - StatusMessage?: string; + Resource?: string; +} +export namespace DescribeIdFormatRequest { /** - *

                                The URL of the disk image from which the snapshot is created.

                                + * @internal */ - Url?: string; + export const filterSensitiveLog = (obj: DescribeIdFormatRequest): any => ({ + ...obj, + }); +} +export interface DescribeIdFormatResult { /** - *

                                The Amazon S3 bucket for the disk image.

                                + *

                                Information about the ID format for the resource.

                                */ - UserBucket?: UserBucketDetails; + Statuses?: IdFormat[]; } -export namespace SnapshotTaskDetail { +export namespace DescribeIdFormatResult { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotTaskDetail): any => ({ + export const filterSensitiveLog = (obj: DescribeIdFormatResult): any => ({ ...obj, }); } +export type ImageAttributeName = + | "blockDeviceMapping" + | "bootMode" + | "description" + | "kernel" + | "launchPermission" + | "productCodes" + | "ramdisk" + | "sriovNetSupport"; + /** - *

                                Describes an import snapshot task.

                                + *

                                Contains the parameters for DescribeImageAttribute.

                                */ -export interface ImportSnapshotTask { - /** - *

                                A description of the import snapshot task.

                                - */ - Description?: string; - +export interface DescribeImageAttributeRequest { /** - *

                                The ID of the import snapshot task.

                                + *

                                The AMI attribute.

                                + *

                                + * Note: The blockDeviceMapping attribute is deprecated. + * Using this attribute returns the Client.AuthFailure error. To get information about + * the block device mappings for an AMI, use the DescribeImages action.

                                */ - ImportTaskId?: string; + Attribute: ImageAttributeName | string | undefined; /** - *

                                Describes an import snapshot task.

                                + *

                                The ID of the AMI.

                                */ - SnapshotTaskDetail?: SnapshotTaskDetail; + ImageId: string | undefined; /** - *

                                The tags for the import snapshot task.

                                + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                */ - Tags?: Tag[]; + DryRun?: boolean; } -export namespace ImportSnapshotTask { +export namespace DescribeImageAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportSnapshotTask): any => ({ + export const filterSensitiveLog = (obj: DescribeImageAttributeRequest): any => ({ ...obj, }); } -export interface DescribeImportSnapshotTasksResult { +/** + *

                                Describes a launch permission.

                                + */ +export interface LaunchPermission { /** - *

                                A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the - * previous 7 days.

                                + *

                                The name of the group.

                                */ - ImportSnapshotTasks?: ImportSnapshotTask[]; + Group?: PermissionGroup | string; /** - *

                                The token to use to get the next page of results. This value is null when there are no more results - * to return.

                                + *

                                The Amazon Web Services account ID.

                                + *

                                Constraints: Up to 10 000 account IDs can be specified in a single request.

                                */ - NextToken?: string; + UserId?: string; } -export namespace DescribeImportSnapshotTasksResult { +export namespace LaunchPermission { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeImportSnapshotTasksResult): any => ({ + export const filterSensitiveLog = (obj: LaunchPermission): any => ({ ...obj, }); } -export type InstanceAttributeName = - | "blockDeviceMapping" - | "disableApiTermination" - | "ebsOptimized" - | "enaSupport" - | "enclaveOptions" - | "groupSet" - | "instanceInitiatedShutdownBehavior" - | "instanceType" - | "kernel" - | "productCodes" - | "ramdisk" - | "rootDeviceName" - | "sourceDestCheck" - | "sriovNetSupport" - | "userData"; - -export interface DescribeInstanceAttributeRequest { +/** + *

                                Describes an image attribute.

                                + */ +export interface ImageAttribute { /** - *

                                The instance attribute.

                                - *

                                Note: The enaSupport attribute is not supported at this time.

                                + *

                                The block device mapping entries.

                                */ - Attribute: InstanceAttributeName | string | undefined; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                + *

                                The ID of the AMI.

                                */ - DryRun?: boolean; + ImageId?: string; /** - *

                                The ID of the instance.

                                + *

                                The launch permissions.

                                */ - InstanceId: string | undefined; -} + LaunchPermissions?: LaunchPermission[]; -export namespace DescribeInstanceAttributeRequest { /** - * @internal + *

                                The product codes.

                                */ - export const filterSensitiveLog = (obj: DescribeInstanceAttributeRequest): any => ({ - ...obj, - }); -} + ProductCodes?: ProductCode[]; -/** - *

                                Describes a parameter used to set up an EBS volume in a block device mapping.

                                - */ -export interface EbsInstanceBlockDevice { /** - *

                                The time stamp when the attachment initiated.

                                + *

                                A description for the AMI.

                                */ - AttachTime?: Date; + Description?: AttributeValue; /** - *

                                Indicates whether the volume is deleted on instance termination.

                                + *

                                The kernel ID.

                                */ - DeleteOnTermination?: boolean; + KernelId?: AttributeValue; /** - *

                                The attachment state.

                                + *

                                The RAM disk ID.

                                */ - Status?: AttachmentStatus | string; + RamdiskId?: AttributeValue; /** - *

                                The ID of the EBS volume.

                                + *

                                Indicates whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                                */ - VolumeId?: string; + SriovNetSupport?: AttributeValue; + + /** + *

                                Describes a value for a resource attribute that is a String.

                                + */ + BootMode?: AttributeValue; } -export namespace EbsInstanceBlockDevice { +export namespace ImageAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: EbsInstanceBlockDevice): any => ({ + export const filterSensitiveLog = (obj: ImageAttribute): any => ({ ...obj, }); } -/** - *

                                Describes a block device mapping.

                                - */ -export interface InstanceBlockDeviceMapping { +export interface DescribeImagesRequest { /** - *

                                The device name (for example, /dev/sdh or xvdh).

                                + *

                                Scopes the images by users with explicit launch permissions. + * Specify an Amazon Web Services account ID, self (the sender of the request), + * or all (public AMIs).

                                */ - DeviceName?: string; + ExecutableUsers?: string[]; /** - *

                                Parameters used to automatically set up EBS volumes when the instance is - * launched.

                                + *

                                The filters.

                                + *
                                  + *
                                • + *

                                  + * architecture - The image architecture (i386 | + * x86_64 | arm64).

                                  + *
                                • + *
                                • + *

                                  + * block-device-mapping.delete-on-termination - A Boolean value that indicates + * whether the Amazon EBS volume is deleted on instance termination.

                                  + *
                                • + *
                                • + *

                                  + * block-device-mapping.device-name - The device name specified in the block device mapping (for + * example, /dev/sdh or xvdh).

                                  + *
                                • + *
                                • + *

                                  + * block-device-mapping.snapshot-id - The ID of the snapshot used for the Amazon EBS + * volume.

                                  + *
                                • + *
                                • + *

                                  + * block-device-mapping.volume-size - The volume size of the Amazon EBS volume, in GiB.

                                  + *
                                • + *
                                • + *

                                  + * block-device-mapping.volume-type - The volume type of the Amazon EBS volume + * (io1 | io2 | gp2 | gp3 | sc1 + * | st1 | standard).

                                  + *
                                • + *
                                • + *

                                  + * block-device-mapping.encrypted - A Boolean that indicates whether the Amazon EBS volume is encrypted.

                                  + *
                                • + *
                                • + *

                                  + * description - The description of the image (provided during image + * creation).

                                  + *
                                • + *
                                • + *

                                  + * ena-support - A Boolean that indicates whether enhanced networking + * with ENA is enabled.

                                  + *
                                • + *
                                • + *

                                  + * hypervisor - The hypervisor type (ovm | + * xen).

                                  + *
                                • + *
                                • + *

                                  + * image-id - The ID of the image.

                                  + *
                                • + *
                                • + *

                                  + * image-type - The image type (machine | kernel | + * ramdisk).

                                  + *
                                • + *
                                • + *

                                  + * is-public - A Boolean that indicates whether the image is public.

                                  + *
                                • + *
                                • + *

                                  + * kernel-id - The kernel ID.

                                  + *
                                • + *
                                • + *

                                  + * manifest-location - The location of the image manifest.

                                  + *
                                • + *
                                • + *

                                  + * name - The name of the AMI (provided during image creation).

                                  + *
                                • + *
                                • + *

                                  + * owner-alias - The owner alias (amazon | aws-marketplace). + * The valid aliases are defined in an Amazon-maintained list. This is not the Amazon Web Services account alias that can be + * set using the IAM console. We recommend that you use the Owner + * request parameter instead of this filter.

                                  + *
                                • + *
                                • + *

                                  + * owner-id - The Amazon Web Services account ID of the owner. We recommend that you use the + * Owner request parameter instead of this filter.

                                  + *
                                • + *
                                • + *

                                  + * platform - The platform. To only list Windows-based AMIs, use + * windows.

                                  + *
                                • + *
                                • + *

                                  + * product-code - The product code.

                                  + *
                                • + *
                                • + *

                                  + * product-code.type - The type of the product code (marketplace).

                                  + *
                                • + *
                                • + *

                                  + * ramdisk-id - The RAM disk ID.

                                  + *
                                • + *
                                • + *

                                  + * root-device-name - The device name of the root device volume (for example, /dev/sda1).

                                  + *
                                • + *
                                • + *

                                  + * root-device-type - The type of the root device volume (ebs | + * instance-store).

                                  + *
                                • + *
                                • + *

                                  + * state - The state of the image (available | pending + * | failed).

                                  + *
                                • + *
                                • + *

                                  + * state-reason-code - The reason code for the state change.

                                  + *
                                • + *
                                • + *

                                  + * state-reason-message - The message for the state change.

                                  + *
                                • + *
                                • + *

                                  + * sriov-net-support - A value of simple indicates + * that enhanced networking with the Intel 82599 VF interface is enabled.

                                  + *
                                • + *
                                • + *

                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                  + *
                                • + *
                                • + *

                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                  + *
                                • + *
                                • + *

                                  + * virtualization-type - The virtualization type (paravirtual | + * hvm).

                                  + *
                                • + *
                                */ - Ebs?: EbsInstanceBlockDevice; -} + Filters?: Filter[]; -export namespace InstanceBlockDeviceMapping { /** - * @internal + *

                                The image IDs.

                                + *

                                Default: Describes all images available to you.

                                */ - export const filterSensitiveLog = (obj: InstanceBlockDeviceMapping): any => ({ - ...obj, - }); -} + ImageIds?: string[]; -/** - *

                                Describes a value for a resource attribute that is a Boolean value.

                                - */ -export interface AttributeBooleanValue { /** - *

                                The attribute value. The valid values are true or false.

                                + *

                                Scopes the results to images with the specified owners. You can specify a combination of + * Amazon Web Services account IDs, self, amazon, and aws-marketplace. + * If you omit this parameter, the results include all images for which you have launch permissions, + * regardless of ownership.

                                */ - Value?: boolean; + Owners?: string[]; + + /** + *

                                If true, all deprecated AMIs are included in the response. If + * false, no deprecated AMIs are included in the response. If no value is + * specified, the default value is false.

                                + * + *

                                If you are the AMI owner, all deprecated AMIs appear in the response regardless of the value (true or false) that you set for this parameter.

                                + *
                                + */ + IncludeDeprecated?: boolean; + + /** + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                + */ + DryRun?: boolean; } -export namespace AttributeBooleanValue { +export namespace DescribeImagesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AttributeBooleanValue): any => ({ + export const filterSensitiveLog = (obj: DescribeImagesRequest): any => ({ ...obj, }); } +export type ArchitectureValues = "arm64" | "i386" | "x86_64" | "x86_64_mac"; + +export type BootModeValues = "legacy-bios" | "uefi"; + +export type HypervisorType = "ovm" | "xen"; + +export type ImageTypeValues = "kernel" | "machine" | "ramdisk"; + +export type DeviceType = "ebs" | "instance-store"; + +export type ImageState = "available" | "deregistered" | "error" | "failed" | "invalid" | "pending" | "transient"; + /** - *

                                Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                                + *

                                Describes a state change.

                                */ -export interface EnclaveOptions { +export interface StateReason { /** - *

                                If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; - * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

                                + *

                                The reason code for the state change.

                                */ - Enabled?: boolean; + Code?: string; + + /** + *

                                The message for the state change.

                                + *
                                  + *
                                • + *

                                  + * Server.InsufficientInstanceCapacity: There was insufficient + * capacity available to satisfy the launch request.

                                  + *
                                • + *
                                • + *

                                  + * Server.InternalError: An internal error caused the instance to + * terminate during launch.

                                  + *
                                • + *
                                • + *

                                  + * Server.ScheduledStop: The instance was stopped due to a scheduled + * retirement.

                                  + *
                                • + *
                                • + *

                                  + * Server.SpotInstanceShutdown: The instance was stopped because the + * number of Spot requests with a maximum price equal to or higher than the Spot + * price exceeded available capacity or because of an increase in the Spot + * price.

                                  + *
                                • + *
                                • + *

                                  + * Server.SpotInstanceTermination: The instance was terminated + * because the number of Spot requests with a maximum price equal to or higher than + * the Spot price exceeded available capacity or because of an increase in the Spot + * price.

                                  + *
                                • + *
                                • + *

                                  + * Client.InstanceInitiatedShutdown: The instance was shut down + * using the shutdown -h command from the instance.

                                  + *
                                • + *
                                • + *

                                  + * Client.InstanceTerminated: The instance was terminated or + * rebooted during AMI creation.

                                  + *
                                • + *
                                • + *

                                  + * Client.InternalError: A client error caused the instance to + * terminate during launch.

                                  + *
                                • + *
                                • + *

                                  + * Client.InvalidSnapshot.NotFound: The specified snapshot was not + * found.

                                  + *
                                • + *
                                • + *

                                  + * Client.UserInitiatedHibernate: Hibernation was initiated on the + * instance.

                                  + *
                                • + *
                                • + *

                                  + * Client.UserInitiatedShutdown: The instance was shut down using + * the Amazon EC2 API.

                                  + *
                                • + *
                                • + *

                                  + * Client.VolumeLimitExceeded: The limit on the number of EBS + * volumes or total storage was exceeded. Decrease usage or request an increase in + * your account limits.

                                  + *
                                • + *
                                + */ + Message?: string; } -export namespace EnclaveOptions { +export namespace StateReason { /** * @internal */ - export const filterSensitiveLog = (obj: EnclaveOptions): any => ({ + export const filterSensitiveLog = (obj: StateReason): any => ({ ...obj, }); } +export type VirtualizationType = "hvm" | "paravirtual"; + /** - *

                                Describes an instance attribute.

                                + *

                                Describes an image.

                                */ -export interface InstanceAttribute { +export interface Image { /** - *

                                The security groups associated with the instance.

                                + *

                                The architecture of the image.

                                */ - Groups?: GroupIdentifier[]; + Architecture?: ArchitectureValues | string; /** - *

                                The block device mapping of the instance.

                                + *

                                The date and time the image was created.

                                */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[]; + CreationDate?: string; /** - *

                                If the value is true, you can't terminate the instance through the Amazon - * EC2 console, CLI, or API; otherwise, you can.

                                + *

                                The ID of the AMI.

                                */ - DisableApiTermination?: AttributeBooleanValue; + ImageId?: string; /** - *

                                Indicates whether enhanced networking with ENA is enabled.

                                + *

                                The location of the AMI.

                                */ - EnaSupport?: AttributeBooleanValue; + ImageLocation?: string; /** - *

                                To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true; otherwise, - * set it to false.

                                + *

                                The type of image.

                                */ - EnclaveOptions?: EnclaveOptions; + ImageType?: ImageTypeValues | string; /** - *

                                Indicates whether the instance is optimized for Amazon EBS I/O.

                                + *

                                Indicates whether the image has public launch permissions. The value is true if + * this image has public launch permissions or false + * if it has only implicit and explicit launch permissions.

                                */ - EbsOptimized?: AttributeBooleanValue; + Public?: boolean; /** - *

                                The ID of the instance.

                                + *

                                The kernel associated with the image, if any. Only applicable for machine images.

                                */ - InstanceId?: string; + KernelId?: string; /** - *

                                Indicates whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

                                + *

                                The ID of the Amazon Web Services account that owns the image.

                                */ - InstanceInitiatedShutdownBehavior?: AttributeValue; + OwnerId?: string; /** - *

                                The instance type.

                                + *

                                This value is set to windows for Windows AMIs; otherwise, it is blank.

                                */ - InstanceType?: AttributeValue; + Platform?: PlatformValues | string; /** - *

                                The kernel ID.

                                + *

                                The platform details associated with the billing code of the AMI. For more information, + * see Understanding + * AMI billing in the Amazon Elastic Compute Cloud User Guide.

                                */ - KernelId?: AttributeValue; + PlatformDetails?: string; /** - *

                                A list of product codes.

                                + *

                                The operation of the Amazon EC2 instance and the billing code that is associated with the AMI. + * usageOperation corresponds to the lineitem/Operation column on your Amazon Web Services Cost and Usage Report and in the Amazon Web Services Price + * List API. You can view these fields on the Instances or + * AMIs pages in the Amazon EC2 console, or in the responses that are + * returned by the DescribeImages + * command in the Amazon EC2 API, or the describe-images + * command in the CLI.

                                + */ + UsageOperation?: string; + + /** + *

                                Any product codes associated with the AMI.

                                */ ProductCodes?: ProductCode[]; /** - *

                                The RAM disk ID.

                                + *

                                The RAM disk associated with the image, if any. Only applicable for machine images.

                                */ - RamdiskId?: AttributeValue; + RamdiskId?: string; /** - *

                                The device name of the root device volume (for example, - * /dev/sda1).

                                + *

                                The current state of the AMI. If the state is available, the image is successfully registered and can be used to launch an instance.

                                */ - RootDeviceName?: AttributeValue; + State?: ImageState | string; /** - *

                                Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

                                + *

                                Any block device mapping entries.

                                */ - SourceDestCheck?: AttributeBooleanValue; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                Indicates whether enhanced networking with the Intel 82599 Virtual Function interface - * is enabled.

                                + *

                                The description of the AMI that was provided during image creation.

                                */ - SriovNetSupport?: AttributeValue; + Description?: string; /** - *

                                The user data.

                                + *

                                Specifies whether enhanced networking with ENA is enabled.

                                */ - UserData?: AttributeValue; -} + EnaSupport?: boolean; -export namespace InstanceAttribute { /** - * @internal + *

                                The hypervisor type of the image.

                                */ - export const filterSensitiveLog = (obj: InstanceAttribute): any => ({ - ...obj, - }); -} + Hypervisor?: HypervisorType | string; -export interface DescribeInstanceCreditSpecificationsRequest { /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                + *

                                The Amazon Web Services account alias (for example, amazon, self) or + * the Amazon Web Services account ID of the AMI owner.

                                */ - DryRun?: boolean; + ImageOwnerAlias?: string; /** - *

                                The filters.

                                - *
                                  - *
                                • - *

                                  - * instance-id - The ID of the instance.

                                  - *
                                • - *
                                + *

                                The name of the AMI that was provided during image creation.

                                */ - Filters?: Filter[]; + Name?: string; /** - *

                                The instance IDs.

                                - *

                                Default: Describes all your instances.

                                - *

                                Constraints: Maximum 1000 explicitly specified instance IDs.

                                + *

                                The device name of the root device volume (for example, /dev/sda1).

                                */ - InstanceIds?: string[]; + RootDeviceName?: 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. This value - * can be between 5 and 1000. You cannot specify this parameter and the instance IDs - * parameter in the same call.

                                + *

                                The type of root device used by the AMI. The AMI can use an Amazon EBS volume or an instance store volume.

                                */ - MaxResults?: number; + RootDeviceType?: DeviceType | string; /** - *

                                The token to retrieve the next page of results.

                                + *

                                Specifies whether enhanced networking with the Intel 82599 Virtual Function interface is enabled.

                                */ - NextToken?: string; -} + SriovNetSupport?: string; -export namespace DescribeInstanceCreditSpecificationsRequest { /** - * @internal + *

                                The reason for the state change.

                                */ - export const filterSensitiveLog = (obj: DescribeInstanceCreditSpecificationsRequest): any => ({ - ...obj, - }); -} + StateReason?: StateReason; -/** - *

                                Describes the credit option for CPU usage of a burstable performance instance.

                                - */ -export interface InstanceCreditSpecification { /** - *

                                The ID of the instance.

                                + *

                                Any tags assigned to the image.

                                */ - InstanceId?: string; + Tags?: Tag[]; /** - *

                                The credit option for CPU usage of the instance. Valid values are - * standard and unlimited.

                                + *

                                The type of virtualization of the AMI.

                                */ - CpuCredits?: string; + VirtualizationType?: VirtualizationType | string; + + /** + *

                                The boot mode of the image. For more information, see Boot modes in the + * Amazon Elastic Compute Cloud User Guide.

                                + */ + BootMode?: BootModeValues | string; + + /** + *

                                The date and time to deprecate the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ. + * If you specified a value for seconds, Amazon EC2 rounds the seconds to the + * nearest minute.

                                + */ + DeprecationTime?: string; } -export namespace InstanceCreditSpecification { +export namespace Image { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceCreditSpecification): any => ({ + export const filterSensitiveLog = (obj: Image): any => ({ ...obj, }); } -export interface DescribeInstanceCreditSpecificationsResult { - /** - *

                                Information about the credit option for CPU usage of an instance.

                                - */ - InstanceCreditSpecifications?: InstanceCreditSpecification[]; - +export interface DescribeImagesResult { /** - *

                                The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

                                + *

                                Information about the images.

                                */ - NextToken?: string; + Images?: Image[]; } -export namespace DescribeInstanceCreditSpecificationsResult { +export namespace DescribeImagesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceCreditSpecificationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeImagesResult): any => ({ ...obj, }); } -export interface DescribeInstanceEventNotificationAttributesRequest { +export interface DescribeImportImageTasksRequest { /** *

                                Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                */ DryRun?: boolean; + + /** + *

                                Filter tasks using the task-state filter and one of the following values: active, + * completed, deleting, or deleted.

                                + */ + Filters?: Filter[]; + + /** + *

                                The IDs of the import image tasks.

                                + */ + ImportTaskIds?: string[]; + + /** + *

                                The maximum number of results to return in a single call.

                                + */ + MaxResults?: number; + + /** + *

                                A token that indicates the next page of results.

                                + */ + NextToken?: string; } -export namespace DescribeInstanceEventNotificationAttributesRequest { +export namespace DescribeImportImageTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeImportImageTasksRequest): any => ({ ...obj, }); } -export interface DescribeInstanceEventNotificationAttributesResult { +/** + *

                                The response information for license configurations.

                                + */ +export interface ImportImageLicenseConfigurationResponse { /** - *

                                Information about the registered tag keys.

                                + *

                                The ARN of a license configuration.

                                */ - InstanceTagAttribute?: InstanceTagNotificationAttribute; + LicenseConfigurationArn?: string; } -export namespace DescribeInstanceEventNotificationAttributesResult { +export namespace ImportImageLicenseConfigurationResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesResult): any => ({ + export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationResponse): any => ({ ...obj, }); } /** - * Describe instance event windows by InstanceEventWindow. + *

                                Describes the Amazon S3 bucket for the disk image.

                                */ -export interface DescribeInstanceEventWindowsRequest { +export interface UserBucketDetails { /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                + *

                                The Amazon S3 bucket from which the disk image was created.

                                */ - DryRun?: boolean; + S3Bucket?: string; /** - *

                                The IDs of the event windows.

                                + *

                                The file name of the disk image.

                                */ - InstanceEventWindowIds?: string[]; + S3Key?: string; +} +export namespace UserBucketDetails { /** - *

                                One or more filters.

                                - *
                                  - *
                                • - *

                                  - * dedicated-host-id - The event windows associated with the specified - * Dedicated Host ID.

                                  - *
                                • - *
                                • - *

                                  - * event-window-name - The event windows associated with the specified - * names.

                                  - *
                                • - *
                                • - *

                                  - * instance-id - The event windows associated with the specified instance - * ID.

                                  - *
                                • - *
                                • - *

                                  - * instance-tag - The event windows associated with the specified tag and - * value.

                                  - *
                                • - *
                                • - *

                                  - * instance-tag-key - The event windows associated with the specified tag - * key, regardless of the value.

                                  - *
                                • - *
                                • - *

                                  - * instance-tag-value - The event windows associated with the specified tag - * value, regardless of the key.

                                  - *
                                • - *
                                • - *

                                  - * tag: - The key/value combination of a tag assigned to the - * event window. Use the tag key in the filter name and the tag value as the filter - * value. For example, to find all resources that have a tag with the key - * Owner and the value CMX, specify tag:Owner - * for the filter name and CMX for the filter value.

                                  - *
                                • - *
                                • - *

                                  - * tag-key - The key of a tag assigned to the event window. Use this filter - * to find all event windows that have a tag with a specific key, regardless of the tag - * value.

                                  - *
                                • - *
                                • - *

                                  - * tag-value - The value of a tag assigned to the event window. Use this - * filter to find all event windows that have a tag with a specific value, regardless of - * the tag key.

                                  - *
                                • - *
                                + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: UserBucketDetails): any => ({ + ...obj, + }); +} +/** + *

                                Describes the snapshot created from the imported disk.

                                + */ +export interface SnapshotDetail { /** - *

                                The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value can - * be between 20 and 500. You cannot specify this parameter and the event window IDs parameter - * in the same call.

                                + *

                                A description for the snapshot.

                                */ - MaxResults?: number; + Description?: string; /** - *

                                The token to request the next page of results.

                                + *

                                The block device mapping for the snapshot.

                                */ - NextToken?: string; -} + DeviceName?: string; -export namespace DescribeInstanceEventWindowsRequest { /** - * @internal + *

                                The size of the disk in the snapshot, in GiB.

                                */ - export const filterSensitiveLog = (obj: DescribeInstanceEventWindowsRequest): any => ({ - ...obj, - }); -} + DiskImageSize?: number; -export interface DescribeInstanceEventWindowsResult { /** - *

                                Information about the event windows.

                                + *

                                The format of the disk image from which the snapshot is created.

                                */ - InstanceEventWindows?: InstanceEventWindow[]; + Format?: string; /** - *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                + *

                                The percentage of progress for the task.

                                */ - NextToken?: string; -} + Progress?: string; -export namespace DescribeInstanceEventWindowsResult { /** - * @internal + *

                                The snapshot ID of the disk being imported.

                                */ - export const filterSensitiveLog = (obj: DescribeInstanceEventWindowsResult): any => ({ - ...obj, - }); -} + SnapshotId?: string; -export interface DescribeInstancesRequest { /** - *

                                The filters.

                                - *
                                  - *
                                • - *

                                  - * affinity - The affinity setting for an instance running on a - * Dedicated Host (default | host).

                                  - *
                                • - *
                                • - *

                                  - * architecture - The instance architecture (i386 | - * x86_64 | arm64).

                                  - *
                                • - *
                                • - *

                                  - * availability-zone - The Availability Zone of the instance.

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.attach-time - The attach time for an EBS - * volume mapped to the instance, for example, - * 2010-09-15T17:15:20.000Z.

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.delete-on-termination - A Boolean that - * indicates whether the EBS volume is deleted on instance termination.

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.device-name - The device name specified in the - * block device mapping (for example, /dev/sdh or - * xvdh).

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.status - The status for the EBS volume - * (attaching | attached | detaching | - * detached).

                                  - *
                                • - *
                                • - *

                                  - * block-device-mapping.volume-id - The volume ID of the EBS - * volume.

                                  - *
                                • - *
                                • - *

                                  - * client-token - The idempotency token you provided when you launched - * the instance.

                                  - *
                                • - *
                                • - *

                                  - * dns-name - The public DNS name of the instance.

                                  - *
                                • - *
                                • - *

                                  - * group-id - The ID of the security group for the instance. - * EC2-Classic only.

                                  - *
                                • - *
                                • - *

                                  - * group-name - The name of the security group for the instance. - * EC2-Classic only.

                                  - *
                                • - *
                                • - *

                                  - * hibernation-options.configured - A Boolean that indicates whether - * the instance is enabled for hibernation. A value of true means that - * the instance is enabled for hibernation.

                                  - *
                                • - *
                                • - *

                                  - * host-id - The ID of the Dedicated Host on which the instance is - * running, if applicable.

                                  - *
                                • - *
                                • - *

                                  - * hypervisor - The hypervisor type of the instance - * (ovm | xen). The value xen - * is used for both Xen and Nitro hypervisors.

                                  - *
                                • - *
                                • - *

                                  - * iam-instance-profile.arn - The instance profile associated with - * the instance. Specified as an ARN.

                                  - *
                                • - *
                                • - *

                                  - * image-id - The ID of the image used to launch the - * instance.

                                  - *
                                • - *
                                • - *

                                  - * instance-id - The ID of the instance.

                                  - *
                                • - *
                                • - *

                                  - * instance-lifecycle - Indicates whether this is a Spot Instance or - * a Scheduled Instance (spot | scheduled).

                                  - *
                                • - *
                                • - *

                                  - * instance-state-code - The state of the instance, as a 16-bit - * unsigned integer. The high byte is used for internal purposes and should be - * ignored. The low byte is set based on the state represented. The valid values - * are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 - * (stopping), and 80 (stopped).

                                  - *
                                • - *
                                • - *

                                  - * instance-state-name - The state of the instance - * (pending | running | shutting-down | - * terminated | stopping | - * stopped).

                                  - *
                                • - *
                                • - *

                                  - * instance-type - The type of instance (for example, - * t2.micro).

                                  - *
                                • - *
                                • - *

                                  - * instance.group-id - The ID of the security group for the - * instance.

                                  - *
                                • - *
                                • - *

                                  - * instance.group-name - The name of the security group for the - * instance.

                                  - *
                                • - *
                                • - *

                                  - * ip-address - The public IPv4 address of the instance.

                                  - *
                                • - *
                                • - *

                                  - * kernel-id - The kernel ID.

                                  - *
                                • - *
                                • - *

                                  - * key-name - The name of the key pair used when the instance was - * launched.

                                  - *
                                • - *
                                • - *

                                  - * launch-index - When launching multiple instances, this is the - * index for the instance in the launch group (for example, 0, 1, 2, and so on).

                                  - *
                                • - *
                                • - *

                                  - * launch-time - The time when the instance was launched.

                                  - *
                                • - *
                                • - *

                                  - * metadata-options.http-tokens - The metadata request authorization - * state (optional | required)

                                  - *
                                • - *
                                • - *

                                  - * metadata-options.http-put-response-hop-limit - The http metadata - * request put response hop limit (integer, possible values 1 to - * 64)

                                  - *
                                • - *
                                • - *

                                  - * metadata-options.http-endpoint - Enable or disable metadata - * access on http endpoint (enabled | disabled)

                                  - *
                                • - *
                                • - *

                                  - * monitoring-state - Indicates whether detailed monitoring is - * enabled (disabled | enabled).

                                  - *
                                • - *
                                • - *

                                  - * network-interface.addresses.private-ip-address - The private IPv4 - * address associated with the network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.addresses.primary - Specifies whether the IPv4 - * address of the network interface is the primary private IPv4 address.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.addresses.association.public-ip - The ID of the - * association of an Elastic IP address (IPv4) with a network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.addresses.association.ip-owner-id - The owner - * ID of the private IPv4 address associated with the network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.association.public-ip - The address of the - * Elastic IP address (IPv4) bound to the network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.association.ip-owner-id - The owner of the - * Elastic IP address (IPv4) associated with the network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.association.allocation-id - The allocation ID - * returned when you allocated the Elastic IP address (IPv4) for your network - * interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.association.association-id - The association ID - * returned when the network interface was associated with an IPv4 address.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.attachment.attachment-id - The ID of the - * interface attachment.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.attachment.instance-id - The ID of the instance - * to which the network interface is attached.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.attachment.instance-owner-id - The owner ID of - * the instance to which the network interface is attached.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.attachment.device-index - The device index to - * which the network interface is attached.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.attachment.status - The status of the - * attachment (attaching | attached | - * detaching | detached).

                                  - *
                                • - *
                                • - *

                                  - * network-interface.attachment.attach-time - The time that the - * network interface was attached to an instance.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.attachment.delete-on-termination - Specifies - * whether the attachment is deleted when an instance is terminated.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.availability-zone - The Availability Zone for - * the network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.description - The description of the network - * interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.group-id - The ID of a security group - * associated with the network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.group-name - The name of a security group - * associated with the network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.ipv6-addresses.ipv6-address - The IPv6 address - * associated with the network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.mac-address - The MAC address of the network - * interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.network-interface-id - The ID of the network - * interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.owner-id - The ID of the owner of the network - * interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.private-dns-name - The private DNS name of the - * network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.requester-id - The requester ID for the network - * interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.requester-managed - Indicates whether the - * network interface is being managed by Amazon Web Services.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.status - The status of the network interface - * (available) | in-use).

                                  - *
                                • - *
                                • - *

                                  - * network-interface.source-dest-check - Whether the network - * interface performs source/destination checking. A value of true - * means that checking is enabled, and false means that checking is - * disabled. The value must be false for the network interface to - * perform network address translation (NAT) in your VPC.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.subnet-id - The ID of the subnet for the - * network interface.

                                  - *
                                • - *
                                • - *

                                  - * network-interface.vpc-id - The ID of the VPC for the network - * interface.

                                  - *
                                • - *
                                • - *

                                  - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                  - *
                                • - *
                                • - *

                                  - * owner-id - The Amazon Web Services account ID of the instance owner.

                                  - *
                                • - *
                                • - *

                                  - * placement-group-name - The name of the placement group for the - * instance.

                                  - *
                                • - *
                                • - *

                                  - * placement-partition-number - The partition in which the instance is - * located.

                                  - *
                                • - *
                                • - *

                                  - * platform - The platform. To list only Windows instances, use - * windows.

                                  - *
                                • - *
                                • - *

                                  - * private-dns-name - The private IPv4 DNS name of the - * instance.

                                  - *
                                • - *
                                • - *

                                  - * private-ip-address - The private IPv4 address of the - * instance.

                                  - *
                                • - *
                                • - *

                                  - * product-code - The product code associated with the AMI used to - * launch the instance.

                                  - *
                                • - *
                                • - *

                                  - * product-code.type - The type of product code (devpay | - * marketplace).

                                  - *
                                • - *
                                • - *

                                  - * ramdisk-id - The RAM disk ID.

                                  - *
                                • - *
                                • - *

                                  - * reason - The reason for the current state of the instance (for - * example, shows "User Initiated [date]" when you stop or terminate the instance). - * Similar to the state-reason-code filter.

                                  - *
                                • - *
                                • - *

                                  - * requester-id - The ID of the entity that launched the instance on - * your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so - * on).

                                  - *
                                • - *
                                • - *

                                  - * reservation-id - The ID of the instance's reservation. A - * reservation ID is created any time you launch an instance. A reservation ID has - * a one-to-one relationship with an instance launch request, but can be associated - * with more than one instance if you launch multiple instances using the same - * launch request. For example, if you launch one instance, you get one reservation - * ID. If you launch ten instances using the same launch request, you also get one - * reservation ID.

                                  - *
                                • - *
                                • - *

                                  - * root-device-name - The device name of the root device volume (for - * example, /dev/sda1).

                                  - *
                                • - *
                                • - *

                                  - * root-device-type - The type of the root device volume - * (ebs | instance-store).

                                  - *
                                • - *
                                • - *

                                  - * source-dest-check - Indicates whether the instance performs - * source/destination checking. A value of true means that checking is - * enabled, and false means that checking is disabled. The value must - * be false for the instance to perform network address translation - * (NAT) in your VPC.

                                  - *
                                • - *
                                • - *

                                  - * spot-instance-request-id - The ID of the Spot Instance - * request.

                                  - *
                                • - *
                                • - *

                                  - * state-reason-code - The reason code for the state change.

                                  - *
                                • - *
                                • - *

                                  - * state-reason-message - A message that describes the state - * change.

                                  - *
                                • - *
                                • - *

                                  - * subnet-id - The ID of the subnet for the instance.

                                  - *
                                • - *
                                • - *

                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                  - *
                                • - *
                                • - *

                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                  - *
                                • - *
                                • - *

                                  - * tenancy - The tenancy of an instance (dedicated | - * default | host).

                                  - *
                                • - *
                                • - *

                                  - * virtualization-type - The virtualization type of the instance - * (paravirtual | hvm).

                                  - *
                                • - *
                                • - *

                                  - * vpc-id - The ID of the VPC that the instance is running in.

                                  - *
                                • - *
                                - */ - Filters?: Filter[]; - - /** - *

                                The instance IDs.

                                - *

                                Default: Describes all your instances.

                                - */ - InstanceIds?: string[]; - - /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                - */ - DryRun?: boolean; - - /** - *

                                The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 5 and 1000. You cannot specify this parameter and the instance IDs - * parameter in the same call.

                                - */ - MaxResults?: number; - - /** - *

                                The token to request the next page of results.

                                - */ - NextToken?: string; -} - -export namespace DescribeInstancesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeInstancesRequest): any => ({ - ...obj, - }); -} - -/** - *

                                Describes the instance's Capacity Reservation targeting preferences. The action returns the - * capacityReservationPreference response element if the instance is - * configured to run in On-Demand capacity, or if it is configured in run in any - * open Capacity Reservation that has matching attributes (instance type, platform, - * Availability Zone). The action returns the capacityReservationTarget - * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

                                - */ -export interface CapacityReservationSpecificationResponse { - /** - *

                                Describes the instance's Capacity Reservation preferences. Possible preferences include:

                                - *
                                  - *
                                • - *

                                  - * open - The instance can run in any open Capacity Reservation that - * has matching attributes (instance type, platform, Availability Zone).

                                  - *
                                • - *
                                • - *

                                  - * none - The instance avoids running in a Capacity Reservation even if one is - * available. The instance runs in On-Demand capacity.

                                  - *
                                • - *
                                - */ - CapacityReservationPreference?: CapacityReservationPreference | string; - - /** - *

                                Information about the targeted Capacity Reservation or Capacity Reservation group.

                                - */ - CapacityReservationTarget?: CapacityReservationTargetResponse; -} - -export namespace CapacityReservationSpecificationResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CapacityReservationSpecificationResponse): any => ({ - ...obj, - }); -} - -/** - *

                                The CPU options for the instance.

                                - */ -export interface CpuOptions { - /** - *

                                The number of CPU cores for the instance.

                                - */ - CoreCount?: number; - - /** - *

                                The number of threads per CPU core.

                                - */ - ThreadsPerCore?: number; -} - -export namespace CpuOptions { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CpuOptions): any => ({ - ...obj, - }); -} - -/** - *

                                Describes the association between an instance and an Elastic Graphics accelerator.

                                - */ -export interface ElasticGpuAssociation { - /** - *

                                The ID of the Elastic Graphics accelerator.

                                - */ - ElasticGpuId?: string; - - /** - *

                                The ID of the association.

                                - */ - ElasticGpuAssociationId?: string; - - /** - *

                                The state of the association between the instance and the - * Elastic Graphics accelerator.

                                - */ - ElasticGpuAssociationState?: string; - - /** - *

                                The time the Elastic Graphics accelerator was associated with the instance.

                                - */ - ElasticGpuAssociationTime?: string; -} - -export namespace ElasticGpuAssociation { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ElasticGpuAssociation): any => ({ - ...obj, - }); -} - -/** - *

                                - * Describes the association between an instance and an elastic inference accelerator. - *

                                - */ -export interface ElasticInferenceAcceleratorAssociation { - /** - *

                                - * The Amazon Resource Name (ARN) of the elastic inference accelerator. - *

                                - */ - ElasticInferenceAcceleratorArn?: string; - - /** - *

                                - * The ID of the association. - *

                                - */ - ElasticInferenceAcceleratorAssociationId?: string; - - /** - *

                                - * The state of the elastic inference accelerator. - *

                                - */ - ElasticInferenceAcceleratorAssociationState?: string; - - /** - *

                                - * The time at which the elastic inference accelerator is associated with an instance. - *

                                - */ - ElasticInferenceAcceleratorAssociationTime?: Date; -} - -export namespace ElasticInferenceAcceleratorAssociation { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ElasticInferenceAcceleratorAssociation): any => ({ - ...obj, - }); -} - -/** - *

                                Indicates whether your instance is configured for hibernation. This parameter is valid - * only if the instance meets the hibernation - * prerequisites. For - * more information, see Hibernate your instance in the - * Amazon EC2 User Guide.

                                - */ -export interface HibernationOptions { - /** - *

                                If this parameter is set to true, your instance is enabled for - * hibernation; otherwise, it is not enabled for hibernation.

                                - */ - Configured?: boolean; -} - -export namespace HibernationOptions { - /** - * @internal - */ - export const filterSensitiveLog = (obj: HibernationOptions): any => ({ - ...obj, - }); -} - -export type InstanceLifecycleType = "scheduled" | "spot"; - -/** - *

                                Describes a license configuration.

                                - */ -export interface LicenseConfiguration { - /** - *

                                The Amazon Resource Name (ARN) of the license configuration.

                                - */ - LicenseConfigurationArn?: string; -} - -export namespace LicenseConfiguration { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LicenseConfiguration): any => ({ - ...obj, - }); -} - -export type InstanceMetadataEndpointState = "disabled" | "enabled"; - -export enum InstanceMetadataProtocolState { - disabled = "disabled", - enabled = "enabled", -} - -export enum HttpTokensState { - optional = "optional", - required = "required", -} - -export type InstanceMetadataOptionsState = "applied" | "pending"; - -/** - *

                                The metadata options for the instance.

                                - */ -export interface InstanceMetadataOptionsResponse { - /** - *

                                The state of the metadata option changes.

                                - *

                                - * pending - The metadata options are being updated and the instance is not - * ready to process metadata traffic with the new selection.

                                - *

                                - * applied - The metadata options have been successfully applied on the - * instance.

                                - */ - State?: InstanceMetadataOptionsState | string; - - /** - *

                                The state of token usage for your instance metadata requests. If the parameter is not - * specified in the request, the default state is optional.

                                - *

                                If the state is optional, you can choose to retrieve instance metadata - * with or without a signed token header on your request. If you retrieve the IAM role - * credentials without a token, the version 1.0 role credentials are returned. If you - * retrieve the IAM role credentials using a valid signed token, the version 2.0 role - * credentials are returned.

                                - *

                                If the state is required, you must send a signed token header with any - * instance metadata retrieval requests. In this state, retrieving the IAM role credential - * always returns the version 2.0 credentials; the version 1.0 credentials are not - * available.

                                - */ - HttpTokens?: HttpTokensState | string; - - /** - *

                                The desired HTTP PUT response hop limit for instance metadata requests. The larger the - * number, the further instance metadata requests can travel.

                                - *

                                Default: 1

                                - *

                                Possible values: Integers from 1 to 64

                                - */ - HttpPutResponseHopLimit?: number; - - /** - *

                                Indicates whether the HTTP metadata endpoint on your instances is enabled or disabled.

                                - */ - HttpEndpoint?: InstanceMetadataEndpointState | string; - - /** - *

                                Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

                                - */ - HttpProtocolIpv6?: InstanceMetadataProtocolState | string; -} - -export namespace InstanceMetadataOptionsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceMetadataOptionsResponse): any => ({ - ...obj, - }); -} - -export type MonitoringState = "disabled" | "disabling" | "enabled" | "pending"; - -/** - *

                                Describes the monitoring of an instance.

                                - */ -export interface Monitoring { - /** - *

                                Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

                                - */ - State?: MonitoringState | string; -} - -export namespace Monitoring { - /** - * @internal - */ - export const filterSensitiveLog = (obj: Monitoring): any => ({ - ...obj, - }); -} - -/** - *

                                Describes association information for an Elastic IP address (IPv4).

                                - */ -export interface InstanceNetworkInterfaceAssociation { - /** - *

                                The carrier IP address associated with the network interface.

                                - */ - CarrierIp?: string; - - /** - *

                                The ID of the owner of the Elastic IP address.

                                - */ - IpOwnerId?: string; - - /** - *

                                The public DNS name.

                                - */ - PublicDnsName?: string; - - /** - *

                                The public IP address or Elastic IP address bound to the network interface.

                                - */ - PublicIp?: string; -} - -export namespace InstanceNetworkInterfaceAssociation { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceNetworkInterfaceAssociation): any => ({ - ...obj, - }); -} - -/** - *

                                Describes a network interface attachment.

                                - */ -export interface InstanceNetworkInterfaceAttachment { - /** - *

                                The time stamp when the attachment initiated.

                                - */ - AttachTime?: Date; - - /** - *

                                The ID of the network interface attachment.

                                - */ - AttachmentId?: string; - - /** - *

                                Indicates whether the network interface is deleted when the instance is terminated.

                                - */ - DeleteOnTermination?: boolean; - - /** - *

                                The index of the device on the instance for the network interface attachment.

                                - */ - DeviceIndex?: number; - - /** - *

                                The attachment state.

                                - */ - Status?: AttachmentStatus | string; - - /** - *

                                The index of the network card.

                                - */ - NetworkCardIndex?: number; -} - -export namespace InstanceNetworkInterfaceAttachment { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceNetworkInterfaceAttachment): any => ({ - ...obj, - }); -} - -/** - *

                                Information about an IPv4 prefix.

                                - */ -export interface InstanceIpv4Prefix { - /** - *

                                One or more IPv4 prefixes assigned to the network interface.

                                - */ - Ipv4Prefix?: string; -} - -export namespace InstanceIpv4Prefix { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceIpv4Prefix): any => ({ - ...obj, - }); -} - -/** - *

                                Information about an IPv6 prefix.

                                - */ -export interface InstanceIpv6Prefix { - /** - *

                                One or more IPv6 prefixes assigned to the network interface.

                                - */ - Ipv6Prefix?: string; -} - -export namespace InstanceIpv6Prefix { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceIpv6Prefix): any => ({ - ...obj, - }); -} - -/** - *

                                Describes a private IPv4 address.

                                - */ -export interface InstancePrivateIpAddress { - /** - *

                                The association information for an Elastic IP address for the network interface.

                                + *

                                A brief status of the snapshot creation.

                                */ - Association?: InstanceNetworkInterfaceAssociation; + Status?: string; /** - *

                                Indicates whether this IPv4 address is the primary private IP address of the network interface.

                                + *

                                A detailed status message for the snapshot creation.

                                */ - Primary?: boolean; + StatusMessage?: string; /** - *

                                The private IPv4 DNS name.

                                + *

                                The URL used to access the disk image.

                                */ - PrivateDnsName?: string; + Url?: string; /** - *

                                The private IPv4 address of the network interface.

                                + *

                                The Amazon S3 bucket for the disk image.

                                */ - PrivateIpAddress?: string; + UserBucket?: UserBucketDetails; } -export namespace InstancePrivateIpAddress { +export namespace SnapshotDetail { /** * @internal */ - export const filterSensitiveLog = (obj: InstancePrivateIpAddress): any => ({ + export const filterSensitiveLog = (obj: SnapshotDetail): any => ({ ...obj, }); } /** - *

                                Describes a network interface.

                                + *

                                Describes an import image task.

                                */ -export interface InstanceNetworkInterface { - /** - *

                                The association information for an Elastic IPv4 associated with the network - * interface.

                                - */ - Association?: InstanceNetworkInterfaceAssociation; - +export interface ImportImageTask { /** - *

                                The network interface attachment.

                                + *

                                The architecture of the virtual machine.

                                + *

                                Valid values: i386 | x86_64 | arm64 + *

                                */ - Attachment?: InstanceNetworkInterfaceAttachment; + Architecture?: string; /** - *

                                The description.

                                + *

                                A description of the import task.

                                */ Description?: string; /** - *

                                One or more security groups.

                                - */ - Groups?: GroupIdentifier[]; - - /** - *

                                One or more IPv6 addresses associated with the network interface.

                                - */ - Ipv6Addresses?: InstanceIpv6Address[]; - - /** - *

                                The MAC address.

                                - */ - MacAddress?: string; - - /** - *

                                The ID of the network interface.

                                - */ - NetworkInterfaceId?: string; - - /** - *

                                The ID of the Amazon Web Services account that created the network interface.

                                - */ - OwnerId?: string; - - /** - *

                                The private DNS name.

                                - */ - PrivateDnsName?: string; - - /** - *

                                The IPv4 address of the network interface within the subnet.

                                - */ - PrivateIpAddress?: string; - - /** - *

                                One or more private IPv4 addresses associated with the network interface.

                                - */ - PrivateIpAddresses?: InstancePrivateIpAddress[]; - - /** - *

                                Indicates whether source/destination checking is enabled.

                                - */ - SourceDestCheck?: boolean; - - /** - *

                                The status of the network interface.

                                - */ - Status?: NetworkInterfaceStatus | string; - - /** - *

                                The ID of the subnet.

                                - */ - SubnetId?: string; - - /** - *

                                The ID of the VPC.

                                + *

                                Indicates whether the image is encrypted.

                                */ - VpcId?: string; + Encrypted?: boolean; /** - *

                                Describes the type of network interface.

                                - *

                                Valid values: interface | efa | trunk + *

                                The target hypervisor for the import task.

                                + *

                                Valid values: xen *

                                */ - InterfaceType?: string; - - /** - *

                                The IPv4 delegated prefixes that are assigned to the network interface.

                                - */ - Ipv4Prefixes?: InstanceIpv4Prefix[]; - - /** - *

                                The IPv6 delegated prefixes that are assigned to the network interface.

                                - */ - Ipv6Prefixes?: InstanceIpv6Prefix[]; -} + Hypervisor?: string; -export namespace InstanceNetworkInterface { /** - * @internal + *

                                The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

                                */ - export const filterSensitiveLog = (obj: InstanceNetworkInterface): any => ({ - ...obj, - }); -} - -export type InstanceStateName = "pending" | "running" | "shutting-down" | "stopped" | "stopping" | "terminated"; - -/** - *

                                Describes the current state of an instance.

                                - */ -export interface InstanceState { - /** - *

                                The state of the instance as a 16-bit unsigned integer.

                                - *

                                The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values - * between 256 and 65,535. These numerical values are used for internal purposes and should - * be ignored.

                                - *

                                The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values - * between 0 and 255.

                                - *

                                The valid values for instance-state-code will all be in the range of the low byte and - * they are:

                                - *
                                  - *
                                • - *

                                  - * 0 : pending - *

                                  - *
                                • - *
                                • - *

                                  - * 16 : running - *

                                  - *
                                • - *
                                • - *

                                  - * 32 : shutting-down - *

                                  - *
                                • - *
                                • - *

                                  - * 48 : terminated - *

                                  - *
                                • - *
                                • - *

                                  - * 64 : stopping - *

                                  - *
                                • - *
                                • - *

                                  - * 80 : stopped - *

                                  - *
                                • - *
                                - *

                                You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in - * decimal.

                                + ImageId?: string; + + /** + *

                                The ID of the import image task.

                                */ - Code?: number; + ImportTaskId?: string; /** - *

                                The current state of the instance.

                                + *

                                The identifier for the KMS key that was used to create the encrypted image.

                                */ - Name?: InstanceStateName | string; -} + KmsKeyId?: string; -export namespace InstanceState { /** - * @internal + *

                                The license type of the virtual machine.

                                */ - export const filterSensitiveLog = (obj: InstanceState): any => ({ - ...obj, - }); -} + LicenseType?: string; -/** - *

                                Describes an instance.

                                - */ -export interface Instance { /** - *

                                The AMI launch index, which can be used to find this instance in the launch - * group.

                                + *

                                The description string for the import image task.

                                */ - AmiLaunchIndex?: number; + Platform?: string; /** - *

                                The ID of the AMI used to launch the instance.

                                + *

                                The percentage of progress of the import image task.

                                */ - ImageId?: string; + Progress?: string; /** - *

                                The ID of the instance.

                                + *

                                Information about the snapshots.

                                */ - InstanceId?: string; + SnapshotDetails?: SnapshotDetail[]; /** - *

                                The instance type.

                                + *

                                A brief status for the import image task.

                                */ - InstanceType?: _InstanceType | string; + Status?: string; /** - *

                                The kernel associated with this instance, if applicable.

                                + *

                                A descriptive status message for the import image task.

                                */ - KernelId?: string; + StatusMessage?: string; /** - *

                                The name of the key pair, if this instance was launched with an associated key - * pair.

                                + *

                                The tags for the import image task.

                                */ - KeyName?: string; + Tags?: Tag[]; /** - *

                                The time the instance was launched.

                                + *

                                The ARNs of the license configurations that are associated with the import image task.

                                */ - LaunchTime?: Date; + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; /** - *

                                The monitoring for the instance.

                                + *

                                The usage operation value.

                                */ - Monitoring?: Monitoring; + UsageOperation?: string; /** - *

                                The location where the instance launched, if applicable.

                                + *

                                The boot mode of the virtual machine.

                                */ - Placement?: Placement; + BootMode?: BootModeValues | string; +} +export namespace ImportImageTask { /** - *

                                The value is Windows for Windows instances; otherwise blank.

                                + * @internal */ - Platform?: PlatformValues | string; + export const filterSensitiveLog = (obj: ImportImageTask): any => ({ + ...obj, + }); +} +export interface DescribeImportImageTasksResult { /** - *

                                (IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname - * can only be used inside the Amazon EC2 network. This name is not available until the - * instance enters the running state.

                                - *

                                [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS - * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not - * using the Amazon-provided DNS server in your VPC, your custom domain name servers must - * resolve the hostname as appropriate.

                                + *

                                A list of zero or more import image tasks that are currently active or were completed or canceled in the + * previous 7 days.

                                */ - PrivateDnsName?: string; + ImportImageTasks?: ImportImageTask[]; /** - *

                                The private IPv4 address assigned to the instance.

                                + *

                                The token to use to get the next page of results. This value is null when there are no more results + * to return.

                                */ - PrivateIpAddress?: string; + NextToken?: string; +} +export namespace DescribeImportImageTasksResult { /** - *

                                The product codes attached to this instance, if applicable.

                                + * @internal */ - ProductCodes?: ProductCode[]; + export const filterSensitiveLog = (obj: DescribeImportImageTasksResult): any => ({ + ...obj, + }); +} +export interface DescribeImportSnapshotTasksRequest { /** - *

                                (IPv4 only) The public DNS name assigned to the instance. This name is not available - * until the instance enters the running state. For EC2-VPC, this name is only - * available if you've enabled DNS hostnames for your VPC.

                                + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                */ - PublicDnsName?: string; + DryRun?: boolean; /** - *

                                The public IPv4 address, or the Carrier IP address assigned to the instance, if - * applicable.

                                - *

                                A Carrier IP address only applies to an instance launched in a subnet associated with - * a Wavelength Zone.

                                + *

                                The filters.

                                */ - PublicIpAddress?: string; + Filters?: Filter[]; /** - *

                                The RAM disk associated with this instance, if applicable.

                                + *

                                A list of import snapshot task IDs.

                                */ - RamdiskId?: string; + ImportTaskIds?: string[]; /** - *

                                The current state of the instance.

                                + *

                                The maximum number of results to return in a single call. To retrieve the remaining results, make another call + * with the returned NextToken value.

                                */ - State?: InstanceState; + MaxResults?: number; /** - *

                                The reason for the most recent state transition. This might be an empty string.

                                + *

                                A token that indicates the next page of results.

                                */ - StateTransitionReason?: string; + NextToken?: string; +} +export namespace DescribeImportSnapshotTasksRequest { /** - *

                                [EC2-VPC] The ID of the subnet in which the instance is running.

                                + * @internal */ - SubnetId?: string; + export const filterSensitiveLog = (obj: DescribeImportSnapshotTasksRequest): any => ({ + ...obj, + }); +} +/** + *

                                Details about the import snapshot task.

                                + */ +export interface SnapshotTaskDetail { /** - *

                                [EC2-VPC] The ID of the VPC in which the instance is running.

                                + *

                                The description of the snapshot.

                                */ - VpcId?: string; + Description?: string; /** - *

                                The architecture of the image.

                                + *

                                The size of the disk in the snapshot, in GiB.

                                */ - Architecture?: ArchitectureValues | string; + DiskImageSize?: number; /** - *

                                Any block device mapping entries for the instance.

                                + *

                                Indicates whether the snapshot is encrypted.

                                */ - BlockDeviceMappings?: InstanceBlockDeviceMapping[]; + Encrypted?: boolean; /** - *

                                The idempotency token you provided when you launched the instance, if - * applicable.

                                + *

                                The format of the disk image from which the snapshot is created.

                                */ - ClientToken?: string; + Format?: string; /** - *

                                Indicates whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

                                + *

                                The identifier for the KMS key that was used to create the encrypted snapshot.

                                */ - EbsOptimized?: boolean; + KmsKeyId?: string; /** - *

                                Specifies whether enhanced networking with ENA is enabled.

                                + *

                                The percentage of completion for the import snapshot task.

                                */ - EnaSupport?: boolean; + Progress?: string; /** - *

                                The hypervisor type of the instance. The value xen is used for both Xen and - * Nitro hypervisors.

                                + *

                                The snapshot ID of the disk being imported.

                                */ - Hypervisor?: HypervisorType | string; + SnapshotId?: string; /** - *

                                The IAM instance profile associated with the instance, if applicable.

                                + *

                                A brief status for the import snapshot task.

                                */ - IamInstanceProfile?: IamInstanceProfile; + Status?: string; /** - *

                                Indicates whether this is a Spot Instance or a Scheduled Instance.

                                + *

                                A detailed status message for the import snapshot task.

                                */ - InstanceLifecycle?: InstanceLifecycleType | string; + StatusMessage?: string; /** - *

                                The Elastic GPU associated with the instance.

                                + *

                                The URL of the disk image from which the snapshot is created.

                                */ - ElasticGpuAssociations?: ElasticGpuAssociation[]; + Url?: string; /** - *

                                The elastic inference accelerator associated with the instance.

                                + *

                                The Amazon S3 bucket for the disk image.

                                */ - ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; + UserBucket?: UserBucketDetails; +} +export namespace SnapshotTaskDetail { /** - *

                                [EC2-VPC] The network interfaces for the instance.

                                + * @internal */ - NetworkInterfaces?: InstanceNetworkInterface[]; + export const filterSensitiveLog = (obj: SnapshotTaskDetail): any => ({ + ...obj, + }); +} +/** + *

                                Describes an import snapshot task.

                                + */ +export interface ImportSnapshotTask { /** - *

                                The Amazon Resource Name (ARN) of the Outpost.

                                + *

                                A description of the import snapshot task.

                                */ - OutpostArn?: string; + Description?: string; /** - *

                                The device name of the root device volume (for example, - * /dev/sda1).

                                + *

                                The ID of the import snapshot task.

                                */ - RootDeviceName?: string; + ImportTaskId?: string; /** - *

                                The root device type used by the AMI. The AMI can use an EBS volume or an instance - * store volume.

                                + *

                                Describes an import snapshot task.

                                */ - RootDeviceType?: DeviceType | string; + SnapshotTaskDetail?: SnapshotTaskDetail; /** - *

                                The security groups for the instance.

                                + *

                                The tags for the import snapshot task.

                                */ - SecurityGroups?: GroupIdentifier[]; + Tags?: Tag[]; +} +export namespace ImportSnapshotTask { /** - *

                                Indicates whether source/destination checking is enabled.

                                + * @internal */ - SourceDestCheck?: boolean; + export const filterSensitiveLog = (obj: ImportSnapshotTask): any => ({ + ...obj, + }); +} +export interface DescribeImportSnapshotTasksResult { /** - *

                                If the request is a Spot Instance request, the ID of the request.

                                + *

                                A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the + * previous 7 days.

                                */ - SpotInstanceRequestId?: string; + ImportSnapshotTasks?: ImportSnapshotTask[]; + + /** + *

                                The token to use to get the next page of results. This value is null when there are no more results + * to return.

                                + */ + NextToken?: string; +} + +export namespace DescribeImportSnapshotTasksResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeImportSnapshotTasksResult): any => ({ + ...obj, + }); +} + +export type InstanceAttributeName = + | "blockDeviceMapping" + | "disableApiTermination" + | "ebsOptimized" + | "enaSupport" + | "enclaveOptions" + | "groupSet" + | "instanceInitiatedShutdownBehavior" + | "instanceType" + | "kernel" + | "productCodes" + | "ramdisk" + | "rootDeviceName" + | "sourceDestCheck" + | "sriovNetSupport" + | "userData"; +export interface DescribeInstanceAttributeRequest { /** - *

                                Specifies whether enhanced networking with the Intel 82599 Virtual Function interface - * is enabled.

                                + *

                                The instance attribute.

                                + *

                                Note: The enaSupport attribute is not supported at this time.

                                */ - SriovNetSupport?: string; + Attribute: InstanceAttributeName | string | undefined; /** - *

                                The reason for the most recent state transition.

                                + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                */ - StateReason?: StateReason; + DryRun?: boolean; /** - *

                                Any tags assigned to the instance.

                                + *

                                The ID of the instance.

                                */ - Tags?: Tag[]; + InstanceId: string | undefined; +} +export namespace DescribeInstanceAttributeRequest { /** - *

                                The virtualization type of the instance.

                                + * @internal */ - VirtualizationType?: VirtualizationType | string; + export const filterSensitiveLog = (obj: DescribeInstanceAttributeRequest): any => ({ + ...obj, + }); +} +/** + *

                                Describes a parameter used to set up an EBS volume in a block device mapping.

                                + */ +export interface EbsInstanceBlockDevice { /** - *

                                The CPU options for the instance.

                                + *

                                The time stamp when the attachment initiated.

                                */ - CpuOptions?: CpuOptions; + AttachTime?: Date; /** - *

                                The ID of the Capacity Reservation.

                                + *

                                Indicates whether the volume is deleted on instance termination.

                                */ - CapacityReservationId?: string; + DeleteOnTermination?: boolean; /** - *

                                Information about the Capacity Reservation targeting option.

                                + *

                                The attachment state.

                                */ - CapacityReservationSpecification?: CapacityReservationSpecificationResponse; + Status?: AttachmentStatus | string; /** - *

                                Indicates whether the instance is enabled for hibernation.

                                + *

                                The ID of the EBS volume.

                                */ - HibernationOptions?: HibernationOptions; + VolumeId?: string; +} +export namespace EbsInstanceBlockDevice { /** - *

                                The license configurations for the instance.

                                + * @internal */ - Licenses?: LicenseConfiguration[]; + export const filterSensitiveLog = (obj: EbsInstanceBlockDevice): any => ({ + ...obj, + }); +} +/** + *

                                Describes a block device mapping.

                                + */ +export interface InstanceBlockDeviceMapping { /** - *

                                The metadata options for the instance.

                                + *

                                The device name (for example, /dev/sdh or xvdh).

                                */ - MetadataOptions?: InstanceMetadataOptionsResponse; + DeviceName?: string; /** - *

                                Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                                + *

                                Parameters used to automatically set up EBS volumes when the instance is + * launched.

                                */ - EnclaveOptions?: EnclaveOptions; + Ebs?: EbsInstanceBlockDevice; +} +export namespace InstanceBlockDeviceMapping { /** - *

                                The boot mode of the instance. For more information, see Boot modes in the - * Amazon EC2 User Guide.

                                + * @internal */ - BootMode?: BootModeValues | string; + export const filterSensitiveLog = (obj: InstanceBlockDeviceMapping): any => ({ + ...obj, + }); +} +/** + *

                                Describes a value for a resource attribute that is a Boolean value.

                                + */ +export interface AttributeBooleanValue { /** - *

                                The platform details value for the instance. For more information, see AMI - * billing information fields in the - * Amazon EC2 User Guide.

                                + *

                                The attribute value. The valid values are true or false.

                                */ - PlatformDetails?: string; + Value?: boolean; +} +export namespace AttributeBooleanValue { /** - *

                                The usage operation value for the instance. For more information, see AMI billing information fields - * in the Amazon EC2 User Guide.

                                + * @internal */ - UsageOperation?: string; + export const filterSensitiveLog = (obj: AttributeBooleanValue): any => ({ + ...obj, + }); +} +/** + *

                                Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                                + */ +export interface EnclaveOptions { /** - *

                                The time that the usage operation was last updated.

                                + *

                                If this parameter is set to true, the instance is enabled for Amazon Web Services Nitro Enclaves; + * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.

                                */ - UsageOperationUpdateTime?: Date; + Enabled?: boolean; } -export namespace Instance { +export namespace EnclaveOptions { /** * @internal */ - export const filterSensitiveLog = (obj: Instance): any => ({ + export const filterSensitiveLog = (obj: EnclaveOptions): any => ({ ...obj, }); } /** - *

                                Describes a launch request for one or more instances, and includes - * owner, requester, and security group information that applies to all - * instances in the launch request.

                                + *

                                Describes an instance attribute.

                                */ -export interface Reservation { +export interface InstanceAttribute { /** - *

                                [EC2-Classic only] The security groups.

                                + *

                                The security groups associated with the instance.

                                */ Groups?: GroupIdentifier[]; /** - *

                                The instances.

                                - */ - Instances?: Instance[]; - - /** - *

                                The ID of the Amazon Web Services account that owns the reservation.

                                - */ - OwnerId?: string; - - /** - *

                                The ID of the requester that launched the instances on your behalf (for example, - * Amazon Web Services Management Console or Auto Scaling).

                                - */ - RequesterId?: string; - - /** - *

                                The ID of the reservation.

                                + *

                                The block device mapping of the instance.

                                */ - ReservationId?: string; -} + BlockDeviceMappings?: InstanceBlockDeviceMapping[]; -export namespace Reservation { /** - * @internal + *

                                If the value is true, you can't terminate the instance through the Amazon + * EC2 console, CLI, or API; otherwise, you can.

                                */ - export const filterSensitiveLog = (obj: Reservation): any => ({ - ...obj, - }); -} + DisableApiTermination?: AttributeBooleanValue; -export interface DescribeInstancesResult { /** - *

                                Information about the reservations.

                                + *

                                Indicates whether enhanced networking with ENA is enabled.

                                */ - Reservations?: Reservation[]; + EnaSupport?: AttributeBooleanValue; /** - *

                                The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

                                + *

                                To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to true; otherwise, + * set it to false.

                                */ - NextToken?: string; -} + EnclaveOptions?: EnclaveOptions; -export namespace DescribeInstancesResult { /** - * @internal + *

                                Indicates whether the instance is optimized for Amazon EBS I/O.

                                */ - export const filterSensitiveLog = (obj: DescribeInstancesResult): any => ({ - ...obj, - }); -} + EbsOptimized?: AttributeBooleanValue; -export interface DescribeInstanceStatusRequest { /** - *

                                The filters.

                                - *
                                  - *
                                • - *

                                  - * availability-zone - The Availability Zone of the instance.

                                  - *
                                • - *
                                • - *

                                  - * event.code - The code for the scheduled event - * (instance-reboot | system-reboot | - * system-maintenance | instance-retirement | - * instance-stop).

                                  - *
                                • - *
                                • - *

                                  - * event.description - A description of the event.

                                  - *
                                • - *
                                • - *

                                  - * event.instance-event-id - The ID of the event whose date and time - * you are modifying.

                                  - *
                                • - *
                                • - *

                                  - * event.not-after - The latest end time for the scheduled event - * (for example, 2014-09-15T17:15:20.000Z).

                                  - *
                                • - *
                                • - *

                                  - * event.not-before - The earliest start time for the scheduled - * event (for example, 2014-09-15T17:15:20.000Z).

                                  - *
                                • - *
                                • - *

                                  - * event.not-before-deadline - The deadline for starting the event - * (for example, 2014-09-15T17:15:20.000Z).

                                  - *
                                • - *
                                • - *

                                  - * instance-state-code - The code for the instance state, as a - * 16-bit unsigned integer. The high byte is used for internal purposes and should - * be ignored. The low byte is set based on the state represented. The valid values - * are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 - * (stopping), and 80 (stopped).

                                  - *
                                • - *
                                • - *

                                  - * instance-state-name - The state of the instance - * (pending | running | shutting-down | - * terminated | stopping | - * stopped).

                                  - *
                                • - *
                                • - *

                                  - * instance-status.reachability - Filters on instance status where - * the name is reachability (passed | failed - * | initializing | insufficient-data).

                                  - *
                                • - *
                                • - *

                                  - * instance-status.status - The status of the instance - * (ok | impaired | initializing | - * insufficient-data | not-applicable).

                                  - *
                                • - *
                                • - *

                                  - * system-status.reachability - Filters on system status where the - * name is reachability (passed | failed | - * initializing | insufficient-data).

                                  - *
                                • - *
                                • - *

                                  - * system-status.status - The system status of the instance - * (ok | impaired | initializing | - * insufficient-data | not-applicable).

                                  - *
                                • - *
                                + *

                                The ID of the instance.

                                */ - Filters?: Filter[]; + InstanceId?: string; /** - *

                                The instance IDs.

                                - *

                                Default: Describes all your instances.

                                - *

                                Constraints: Maximum 100 explicitly specified instance IDs.

                                + *

                                Indicates whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

                                */ - InstanceIds?: string[]; + InstanceInitiatedShutdownBehavior?: AttributeValue; /** - *

                                The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 5 and 1000. You cannot specify this parameter and the instance IDs - * parameter in the same call.

                                + *

                                The instance type.

                                */ - MaxResults?: number; + InstanceType?: AttributeValue; /** - *

                                The token to retrieve the next page of results.

                                + *

                                The kernel ID.

                                */ - NextToken?: string; + KernelId?: AttributeValue; /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                + *

                                A list of product codes.

                                */ - DryRun?: boolean; + ProductCodes?: ProductCode[]; /** - *

                                When true, includes the health status for all instances. When - * false, includes the health status for running instances only.

                                - *

                                Default: false - *

                                + *

                                The RAM disk ID.

                                */ - IncludeAllInstances?: boolean; + RamdiskId?: AttributeValue; + + /** + *

                                The device name of the root device volume (for example, + * /dev/sda1).

                                + */ + RootDeviceName?: AttributeValue; + + /** + *

                                Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

                                + */ + SourceDestCheck?: AttributeBooleanValue; + + /** + *

                                Indicates whether enhanced networking with the Intel 82599 Virtual Function interface + * is enabled.

                                + */ + SriovNetSupport?: AttributeValue; + + /** + *

                                The user data.

                                + */ + UserData?: AttributeValue; } -export namespace DescribeInstanceStatusRequest { +export namespace InstanceAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceStatusRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceAttribute): any => ({ ...obj, }); } -export type EventCode = - | "instance-reboot" - | "instance-retirement" - | "instance-stop" - | "system-maintenance" - | "system-reboot"; - -/** - *

                                Describes a scheduled event for an instance.

                                - */ -export interface InstanceStatusEvent { - /** - *

                                The ID of the event.

                                - */ - InstanceEventId?: string; - +export interface DescribeInstanceCreditSpecificationsRequest { /** - *

                                The event code.

                                + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                */ - Code?: EventCode | string; + DryRun?: boolean; /** - *

                                A description of the event.

                                - *

                                After a scheduled event is completed, it can still be described for up to a week. If - * the event has been completed, this description starts with the following text: - * [Completed].

                                + *

                                The filters.

                                + *
                                  + *
                                • + *

                                  + * instance-id - The ID of the instance.

                                  + *
                                • + *
                                */ - Description?: string; + Filters?: Filter[]; /** - *

                                The latest scheduled end time for the event.

                                + *

                                The instance IDs.

                                + *

                                Default: Describes all your instances.

                                + *

                                Constraints: Maximum 1000 explicitly specified instance IDs.

                                */ - NotAfter?: Date; + InstanceIds?: string[]; /** - *

                                The earliest scheduled start time for the event.

                                + *

                                The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 5 and 1000. You cannot specify this parameter and the instance IDs + * parameter in the same call.

                                */ - NotBefore?: Date; + MaxResults?: number; /** - *

                                The deadline for starting the event.

                                + *

                                The token to retrieve the next page of results.

                                */ - NotBeforeDeadline?: Date; + NextToken?: string; } -export namespace InstanceStatusEvent { +export namespace DescribeInstanceCreditSpecificationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStatusEvent): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceCreditSpecificationsRequest): any => ({ ...obj, }); } -export type StatusName = "reachability"; - -export type StatusType = "failed" | "initializing" | "insufficient-data" | "passed"; - /** - *

                                Describes the instance status.

                                + *

                                Describes the credit option for CPU usage of a burstable performance instance.

                                */ -export interface InstanceStatusDetails { - /** - *

                                The time when a status check failed. For an instance that was launched and impaired, - * this is the time when the instance was launched.

                                - */ - ImpairedSince?: Date; - +export interface InstanceCreditSpecification { /** - *

                                The type of instance status.

                                + *

                                The ID of the instance.

                                */ - Name?: StatusName | string; + InstanceId?: string; /** - *

                                The status.

                                + *

                                The credit option for CPU usage of the instance. Valid values are + * standard and unlimited.

                                */ - Status?: StatusType | string; + CpuCredits?: string; } -export namespace InstanceStatusDetails { +export namespace InstanceCreditSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStatusDetails): any => ({ + export const filterSensitiveLog = (obj: InstanceCreditSpecification): any => ({ ...obj, }); } -export type SummaryStatus = "impaired" | "initializing" | "insufficient-data" | "not-applicable" | "ok"; +export interface DescribeInstanceCreditSpecificationsResult { + /** + *

                                Information about the credit option for CPU usage of an instance.

                                + */ + InstanceCreditSpecifications?: InstanceCreditSpecification[]; -/** - *

                                Describes the status of an instance.

                                - */ -export interface InstanceStatusSummary { /** - *

                                The system instance health or application instance health.

                                + *

                                The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                */ - Details?: InstanceStatusDetails[]; + NextToken?: string; +} +export namespace DescribeInstanceCreditSpecificationsResult { /** - *

                                The status.

                                + * @internal */ - Status?: SummaryStatus | string; + export const filterSensitiveLog = (obj: DescribeInstanceCreditSpecificationsResult): any => ({ + ...obj, + }); } -export namespace InstanceStatusSummary { +export interface DescribeInstanceEventNotificationAttributesRequest { + /** + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                + */ + DryRun?: boolean; +} + +export namespace DescribeInstanceEventNotificationAttributesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStatusSummary): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesRequest): any => ({ ...obj, }); } -/** - *

                                Describes the status of an instance.

                                - */ -export interface InstanceStatus { +export interface DescribeInstanceEventNotificationAttributesResult { /** - *

                                The Availability Zone of the instance.

                                + *

                                Information about the registered tag keys.

                                */ - AvailabilityZone?: string; + InstanceTagAttribute?: InstanceTagNotificationAttribute; +} +export namespace DescribeInstanceEventNotificationAttributesResult { /** - *

                                The Amazon Resource Name (ARN) of the Outpost.

                                + * @internal */ - OutpostArn?: string; + export const filterSensitiveLog = (obj: DescribeInstanceEventNotificationAttributesResult): any => ({ + ...obj, + }); +} +/** + * Describe instance event windows by InstanceEventWindow. + */ +export interface DescribeInstanceEventWindowsRequest { /** - *

                                Any scheduled events associated with the instance.

                                + *

                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                */ - Events?: InstanceStatusEvent[]; + DryRun?: boolean; /** - *

                                The ID of the instance.

                                + *

                                The IDs of the event windows.

                                */ - InstanceId?: string; + InstanceEventWindowIds?: string[]; /** - *

                                The intended state of the instance. DescribeInstanceStatus requires - * that an instance be in the running state.

                                + *

                                One or more filters.

                                + *
                                  + *
                                • + *

                                  + * dedicated-host-id - The event windows associated with the specified + * Dedicated Host ID.

                                  + *
                                • + *
                                • + *

                                  + * event-window-name - The event windows associated with the specified + * names.

                                  + *
                                • + *
                                • + *

                                  + * instance-id - The event windows associated with the specified instance + * ID.

                                  + *
                                • + *
                                • + *

                                  + * instance-tag - The event windows associated with the specified tag and + * value.

                                  + *
                                • + *
                                • + *

                                  + * instance-tag-key - The event windows associated with the specified tag + * key, regardless of the value.

                                  + *
                                • + *
                                • + *

                                  + * instance-tag-value - The event windows associated with the specified tag + * value, regardless of the key.

                                  + *
                                • + *
                                • + *

                                  + * tag: - The key/value combination of a tag assigned to the + * event window. Use the tag key in the filter name and the tag value as the filter + * value. For example, to find all resources that have a tag with the key + * Owner and the value CMX, specify tag:Owner + * for the filter name and CMX for the filter value.

                                  + *
                                • + *
                                • + *

                                  + * tag-key - The key of a tag assigned to the event window. Use this filter + * to find all event windows that have a tag with a specific key, regardless of the tag + * value.

                                  + *
                                • + *
                                • + *

                                  + * tag-value - The value of a tag assigned to the event window. Use this + * filter to find all event windows that have a tag with a specific value, regardless of + * the tag key.

                                  + *
                                • + *
                                */ - InstanceState?: InstanceState; + Filters?: Filter[]; /** - *

                                Reports impaired functionality that stems from issues internal to the instance, such - * as impaired reachability.

                                + *

                                The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value can + * be between 20 and 500. You cannot specify this parameter and the event window IDs parameter + * in the same call.

                                */ - InstanceStatus?: InstanceStatusSummary; + MaxResults?: number; /** - *

                                Reports impaired functionality that stems from issues related to the systems that - * support an instance, such as hardware failures and network connectivity problems.

                                + *

                                The token to request the next page of results.

                                */ - SystemStatus?: InstanceStatusSummary; + NextToken?: string; } -export namespace InstanceStatus { +export namespace DescribeInstanceEventWindowsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStatus): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceEventWindowsRequest): any => ({ ...obj, }); } -export interface DescribeInstanceStatusResult { +export interface DescribeInstanceEventWindowsResult { /** - *

                                Information about the status of the instances.

                                + *

                                Information about the event windows.

                                */ - InstanceStatuses?: InstanceStatus[]; + InstanceEventWindows?: InstanceEventWindow[]; /** - *

                                The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

                                + *

                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                */ NextToken?: string; } -export namespace DescribeInstanceStatusResult { +export namespace DescribeInstanceEventWindowsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeInstanceStatusResult): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceEventWindowsResult): any => ({ ...obj, }); } -export type LocationType = "availability-zone" | "availability-zone-id" | "region"; - -export interface DescribeInstanceTypeOfferingsRequest { - /** - *

                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                - */ - DryRun?: boolean; - - /** - *

                                The location type.

                                - */ - LocationType?: LocationType | string; - +export interface DescribeInstancesRequest { /** - *

                                One or more filters. Filter names and values are case-sensitive.

                                - *
                                  + *

                                  The filters.

                                  + *
                                    + *
                                  • + *

                                    + * affinity - The affinity setting for an instance running on a + * Dedicated Host (default | host).

                                    + *
                                  • + *
                                  • + *

                                    + * architecture - The instance architecture (i386 | + * x86_64 | arm64).

                                    + *
                                  • + *
                                  • + *

                                    + * availability-zone - The Availability Zone of the instance.

                                    + *
                                  • + *
                                  • + *

                                    + * block-device-mapping.attach-time - The attach time for an EBS + * volume mapped to the instance, for example, + * 2010-09-15T17:15:20.000Z.

                                    + *
                                  • + *
                                  • + *

                                    + * block-device-mapping.delete-on-termination - A Boolean that + * indicates whether the EBS volume is deleted on instance termination.

                                    + *
                                  • + *
                                  • + *

                                    + * block-device-mapping.device-name - The device name specified in the + * block device mapping (for example, /dev/sdh or + * xvdh).

                                    + *
                                  • + *
                                  • + *

                                    + * block-device-mapping.status - The status for the EBS volume + * (attaching | attached | detaching | + * detached).

                                    + *
                                  • + *
                                  • + *

                                    + * block-device-mapping.volume-id - The volume ID of the EBS + * volume.

                                    + *
                                  • + *
                                  • + *

                                    + * client-token - The idempotency token you provided when you launched + * the instance.

                                    + *
                                  • + *
                                  • + *

                                    + * dns-name - The public DNS name of the instance.

                                    + *
                                  • + *
                                  • + *

                                    + * group-id - The ID of the security group for the instance. + * EC2-Classic only.

                                    + *
                                  • + *
                                  • + *

                                    + * group-name - The name of the security group for the instance. + * EC2-Classic only.

                                    + *
                                  • + *
                                  • + *

                                    + * hibernation-options.configured - A Boolean that indicates whether + * the instance is enabled for hibernation. A value of true means that + * the instance is enabled for hibernation.

                                    + *
                                  • + *
                                  • + *

                                    + * host-id - The ID of the Dedicated Host on which the instance is + * running, if applicable.

                                    + *
                                  • + *
                                  • + *

                                    + * hypervisor - The hypervisor type of the instance + * (ovm | xen). The value xen + * is used for both Xen and Nitro hypervisors.

                                    + *
                                  • + *
                                  • + *

                                    + * iam-instance-profile.arn - The instance profile associated with + * the instance. Specified as an ARN.

                                    + *
                                  • + *
                                  • + *

                                    + * image-id - The ID of the image used to launch the + * instance.

                                    + *
                                  • + *
                                  • + *

                                    + * instance-id - The ID of the instance.

                                    + *
                                  • + *
                                  • + *

                                    + * instance-lifecycle - Indicates whether this is a Spot Instance or + * a Scheduled Instance (spot | scheduled).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-state-code - The state of the instance, as a 16-bit + * unsigned integer. The high byte is used for internal purposes and should be + * ignored. The low byte is set based on the state represented. The valid values + * are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 + * (stopping), and 80 (stopped).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-state-name - The state of the instance + * (pending | running | shutting-down | + * terminated | stopping | + * stopped).

                                    + *
                                  • + *
                                  • + *

                                    + * instance-type - The type of instance (for example, + * t2.micro).

                                    + *
                                  • + *
                                  • + *

                                    + * instance.group-id - The ID of the security group for the + * instance.

                                    + *
                                  • + *
                                  • + *

                                    + * instance.group-name - The name of the security group for the + * instance.

                                    + *
                                  • + *
                                  • + *

                                    + * ip-address - The public IPv4 address of the instance.

                                    + *
                                  • + *
                                  • + *

                                    + * kernel-id - The kernel ID.

                                    + *
                                  • + *
                                  • + *

                                    + * key-name - The name of the key pair used when the instance was + * launched.

                                    + *
                                  • + *
                                  • + *

                                    + * launch-index - When launching multiple instances, this is the + * index for the instance in the launch group (for example, 0, 1, 2, and so on).

                                    + *
                                  • + *
                                  • + *

                                    + * launch-time - The time when the instance was launched, in the ISO + * 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, + * 2021-09-29T11:04:43.305Z. You can use a wildcard + * (*), for example, 2021-09-29T*, which matches an + * entire day.

                                    + *
                                  • + *
                                  • + *

                                    + * metadata-options.http-tokens - The metadata request authorization + * state (optional | required)

                                    + *
                                  • + *
                                  • + *

                                    + * metadata-options.http-put-response-hop-limit - The http metadata + * request put response hop limit (integer, possible values 1 to + * 64)

                                    + *
                                  • + *
                                  • + *

                                    + * metadata-options.http-endpoint - Enable or disable metadata + * access on http endpoint (enabled | disabled)

                                    + *
                                  • + *
                                  • + *

                                    + * monitoring-state - Indicates whether detailed monitoring is + * enabled (disabled | enabled).

                                    + *
                                  • + *
                                  • + *

                                    + * network-interface.addresses.private-ip-address - The private IPv4 + * address associated with the network interface.

                                    + *
                                  • + *
                                  • + *

                                    + * network-interface.addresses.primary - Specifies whether the IPv4 + * address of the network interface is the primary private IPv4 address.

                                    + *
                                  • + *
                                  • + *

                                    + * network-interface.addresses.association.public-ip - The ID of the + * association of an Elastic IP address (IPv4) with a network interface.

                                    + *
                                  • + *
                                  • + *

                                    + * network-interface.addresses.association.ip-owner-id - The owner + * ID of the private IPv4 address associated with the network interface.

                                    + *
                                  • *
                                  • - *

                                    - * location - This depends on the location type. For example, if the location type is - * region (default), the location is the Region code (for example, us-east-2.)

                                    + *

                                    + * network-interface.association.public-ip - The address of the + * Elastic IP address (IPv4) bound to the network interface.

                                    *
                                  • *
                                  • - *

                                    - * instance-type - The instance type. For example, - * c5.2xlarge.

                                    + *

                                    + * network-interface.association.ip-owner-id - The owner of the + * Elastic IP address (IPv4) associated with the network interface.

                                    *
                                  • - *
                                  - */ - Filters?: Filter[]; - - /** - *

                                  The maximum number of results to return for the request in a single page. The remaining results - * can be seen by sending another request with the next token value.

                                  - */ - MaxResults?: number; - - /** - *

                                  The token to retrieve the next page of results.

                                  - */ - NextToken?: string; -} - -export namespace DescribeInstanceTypeOfferingsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeInstanceTypeOfferingsRequest): any => ({ - ...obj, - }); -} - -/** - *

                                  The instance types offered.

                                  - */ -export interface InstanceTypeOffering { - /** - *

                                  The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                  - */ - InstanceType?: _InstanceType | string; - - /** - *

                                  The location type.

                                  - */ - LocationType?: LocationType | string; - - /** - *

                                  The identifier for the location. This depends on the location type. For example, if the location type is - * region, the location is the Region code (for example, us-east-2.)

                                  - */ - Location?: string; -} - -export namespace InstanceTypeOffering { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InstanceTypeOffering): any => ({ - ...obj, - }); -} - -export interface DescribeInstanceTypeOfferingsResult { - /** - *

                                  The instance types offered.

                                  - */ - InstanceTypeOfferings?: InstanceTypeOffering[]; - - /** - *

                                  The token to use to retrieve the next page of results. This value is null when there - * are no more results to return.

                                  - */ - NextToken?: string; -} - -export namespace DescribeInstanceTypeOfferingsResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeInstanceTypeOfferingsResult): any => ({ - ...obj, - }); -} - -export interface DescribeInstanceTypesRequest { - /** - *

                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is - * DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                  - */ - DryRun?: boolean; - - /** - *

                                  The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

                                  - */ - InstanceTypes?: (_InstanceType | string)[]; - - /** - *

                                  One or more filters. Filter names and values are case-sensitive.

                                  - *
                                    *
                                  • - *

                                    - * auto-recovery-supported - Indicates whether auto recovery is supported (true | false).

                                    + *

                                    + * network-interface.association.allocation-id - The allocation ID + * returned when you allocated the Elastic IP address (IPv4) for your network + * interface.

                                    *
                                  • *
                                  • - *

                                    - * bare-metal - Indicates whether it is a bare metal instance type (true | false).

                                    + *

                                    + * network-interface.association.association-id - The association ID + * returned when the network interface was associated with an IPv4 address.

                                    *
                                  • *
                                  • - *

                                    - * burstable-performance-supported - Indicates whether it is a burstable - * performance instance type (true | false).

                                    + *

                                    + * network-interface.attachment.attachment-id - The ID of the + * interface attachment.

                                    *
                                  • *
                                  • - *

                                    - * current-generation - Indicates whether this instance type is the latest - * generation instance type of an instance family (true | false).

                                    + *

                                    + * network-interface.attachment.instance-id - The ID of the instance + * to which the network interface is attached.

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline - * bandwidth performance for an EBS-optimized instance type, in Mbps.

                                    + *

                                    + * network-interface.attachment.instance-owner-id - The owner ID of + * the instance to which the network interface is attached.

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage - * operations per second for an EBS-optimized instance type.

                                    + *

                                    + * network-interface.attachment.device-index - The device index to + * which the network interface is attached.

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline - * throughput performance for an EBS-optimized instance type, in MB/s.

                                    + *

                                    + * network-interface.attachment.status - The status of the + * attachment (attaching | attached | + * detaching | detached).

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth - * performance for an EBS-optimized instance type, in Mbps.

                                    + *

                                    + * network-interface.attachment.attach-time - The time that the + * network interface was attached to an instance.

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage - * operations per second for an EBS-optimized instance type.

                                    + *

                                    + * network-interface.attachment.delete-on-termination - Specifies + * whether the attachment is deleted when an instance is terminated.

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum - * throughput performance for an EBS-optimized instance type, in MB/s.

                                    + *

                                    + * network-interface.availability-zone - The Availability Zone for + * the network interface.

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.ebs-optimized-support - Indicates whether the instance type is - * EBS-optimized (supported | unsupported | - * default).

                                    + *

                                    + * network-interface.description - The description of the network + * interface.

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.encryption-support - Indicates whether EBS encryption is supported - * (supported | unsupported).

                                    + *

                                    + * network-interface.group-id - The ID of a security group + * associated with the network interface.

                                    *
                                  • *
                                  • - *

                                    - * ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) - * is supported for EBS volumes (required | supported | unsupported).

                                    + *

                                    + * network-interface.group-name - The name of a security group + * associated with the network interface.

                                    *
                                  • *
                                  • - *

                                    - * free-tier-eligible - Indicates whether the instance type is eligible to use - * in the free tier (true | false).

                                    + *

                                    + * network-interface.ipv6-addresses.ipv6-address - The IPv6 address + * associated with the network interface.

                                    *
                                  • *
                                  • - *

                                    - * hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

                                    + *

                                    + * network-interface.mac-address - The MAC address of the network + * interface.

                                    *
                                  • *
                                  • - *

                                    - * hypervisor - The hypervisor (nitro | xen).

                                    + *

                                    + * network-interface.network-interface-id - The ID of the network + * interface.

                                    *
                                  • *
                                  • - *

                                    - * instance-storage-info.disk.count - The number of local disks.

                                    + *

                                    + * network-interface.owner-id - The ID of the owner of the network + * interface.

                                    *
                                  • *
                                  • - *

                                    - * instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in - * GB.

                                    + *

                                    + * network-interface.private-dns-name - The private DNS name of the + * network interface.

                                    *
                                  • *
                                  • - *

                                    - * instance-storage-info.disk.type - The storage technology for the local - * instance storage disks (hdd | ssd).

                                    + *

                                    + * network-interface.requester-id - The requester ID for the network + * interface.

                                    *
                                  • *
                                  • - *

                                    - * instance-storage-info.encryption-supported - Indicates whether data is encrypted at rest - * (required | unsupported).

                                    + *

                                    + * network-interface.requester-managed - Indicates whether the + * network interface is being managed by Amazon Web Services.

                                    *
                                  • *
                                  • - *

                                    - * instance-storage-info.nvme-support - Indicates whether non-volatile memory - * express (NVMe) is supported for instance store (required | supported | - * unsupported).

                                    + *

                                    + * network-interface.status - The status of the network interface + * (available) | in-use).

                                    *
                                  • *
                                  • - *

                                    - * instance-storage-info.total-size-in-gb - The total amount of storage available from all local - * instance storage, in GB.

                                    + *

                                    + * network-interface.source-dest-check - Whether the network + * interface performs source/destination checking. A value of true + * means that checking is enabled, and false means that checking is + * disabled. The value must be false for the network interface to + * perform network address translation (NAT) in your VPC.

                                    + *
                                  • + *
                                  • + *

                                    + * network-interface.subnet-id - The ID of the subnet for the + * network interface.

                                    + *
                                  • + *
                                  • + *

                                    + * network-interface.vpc-id - The ID of the VPC for the network + * interface.

                                    + *
                                  • + *
                                  • + *

                                    + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                    + *
                                  • + *
                                  • + *

                                    + * owner-id - The Amazon Web Services account ID of the instance owner.

                                    *
                                  • *
                                  • - *

                                    - * instance-storage-supported - Indicates whether the instance type has local - * instance storage (true | false).

                                    + *

                                    + * placement-group-name - The name of the placement group for the + * instance.

                                    *
                                  • *
                                  • - *

                                    - * instance-type - The instance type (for example c5.2xlarge or - * c5*).

                                    + *

                                    + * placement-partition-number - The partition in which the instance is + * located.

                                    *
                                  • *
                                  • - *

                                    - * memory-info.size-in-mib - The memory size.

                                    + *

                                    + * platform - The platform. To list only Windows instances, use + * windows.

                                    *
                                  • *
                                  • - *

                                    - * network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic - * Fabric Adapters (EFAs) per instance.

                                    + *

                                    + * private-dns-name - The private IPv4 DNS name of the + * instance.

                                    *
                                  • *
                                  • - *

                                    - * network-info.efa-supported - Indicates whether the instance type supports - * Elastic Fabric Adapter (EFA) (true | false).

                                    + *

                                    + * private-ip-address - The private IPv4 address of the + * instance.

                                    *
                                  • *
                                  • - *

                                    - * network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is - * supported or required (required | supported | - * unsupported).

                                    + *

                                    + * product-code - The product code associated with the AMI used to + * launch the instance.

                                    *
                                  • *
                                  • - *

                                    - * network-info.encryption-in-transit-supported - Indicates whether the instance type - * automatically encrypts in-transit traffic between instances (true | false).

                                    + *

                                    + * product-code.type - The type of product code (devpay | + * marketplace).

                                    *
                                  • *
                                  • - *

                                    - * network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per - * network interface.

                                    + *

                                    + * ramdisk-id - The RAM disk ID.

                                    *
                                  • *
                                  • - *

                                    - * network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per - * network interface.

                                    + *

                                    + * reason - The reason for the current state of the instance (for + * example, shows "User Initiated [date]" when you stop or terminate the instance). + * Similar to the state-reason-code filter.

                                    *
                                  • *
                                  • - *

                                    - * network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

                                    + *

                                    + * requester-id - The ID of the entity that launched the instance on + * your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so + * on).

                                    *
                                  • *
                                  • - *

                                    - * network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

                                    + *

                                    + * reservation-id - The ID of the instance's reservation. A + * reservation ID is created any time you launch an instance. A reservation ID has + * a one-to-one relationship with an instance launch request, but can be associated + * with more than one instance if you launch multiple instances using the same + * launch request. For example, if you launch one instance, you get one reservation + * ID. If you launch ten instances using the same launch request, you also get one + * reservation ID.

                                    *
                                  • *
                                  • - *

                                    - * network-info.network-performance - The network performance (for example, "25 - * Gigabit").

                                    + *

                                    + * root-device-name - The device name of the root device volume (for + * example, /dev/sda1).

                                    *
                                  • *
                                  • - *

                                    - * processor-info.supported-architecture - The CPU architecture - * (arm64 | i386 | x86_64).

                                    + *

                                    + * root-device-type - The type of the root device volume + * (ebs | instance-store).

                                    *
                                  • *
                                  • - *

                                    - * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

                                    + *

                                    + * source-dest-check - Indicates whether the instance performs + * source/destination checking. A value of true means that checking is + * enabled, and false means that checking is disabled. The value must + * be false for the instance to perform network address translation + * (NAT) in your VPC.

                                    *
                                  • *
                                  • - *

                                    - * supported-boot-mode - The boot mode (legacy-bios | - * uefi).

                                    + *

                                    + * spot-instance-request-id - The ID of the Spot Instance + * request.

                                    *
                                  • *
                                  • - *

                                    - * supported-root-device-type - The root device type (ebs | - * instance-store).

                                    + *

                                    + * state-reason-code - The reason code for the state change.

                                    *
                                  • *
                                  • - *

                                    - * supported-usage-class - The usage class (on-demand | - * spot).

                                    + *

                                    + * state-reason-message - A message that describes the state + * change.

                                    *
                                  • *
                                  • - *

                                    - * supported-virtualization-type - The virtualization type (hvm | - * paravirtual).

                                    + *

                                    + * subnet-id - The ID of the subnet for the instance.

                                    *
                                  • *
                                  • *

                                    - * vcpu-info.default-cores - The default number of cores for the instance type.

                                    + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                    *
                                  • *
                                  • *

                                    - * vcpu-info.default-threads-per-core - The default number of threads per core for the instance - * type.

                                    + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                    *
                                  • *
                                  • - *

                                    - * vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

                                    + *

                                    + * tenancy - The tenancy of an instance (dedicated | + * default | host).

                                    *
                                  • *
                                  • - *

                                    - * vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

                                    + *

                                    + * virtualization-type - The virtualization type of the instance + * (paravirtual | hvm).

                                    *
                                  • *
                                  • - *

                                    - * vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. - * For example, "1" or "1,2".

                                    + *

                                    + * vpc-id - The ID of the VPC that the instance is running in.

                                    *
                                  • *
                                  */ Filters?: Filter[]; /** - *

                                  The maximum number of results to return for the request in a single page. The remaining results - * can be seen by sending another request with the next token value.

                                  - */ - MaxResults?: number; - - /** - *

                                  The token to retrieve the next page of results.

                                  - */ - NextToken?: string; -} - -export namespace DescribeInstanceTypesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeInstanceTypesRequest): any => ({ - ...obj, - }); -} - -/** - *

                                  Describes the optimized EBS performance for supported instance types.

                                  - */ -export interface EbsOptimizedInfo { - /** - *

                                  The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

                                  - */ - BaselineBandwidthInMbps?: number; - - /** - *

                                  The baseline throughput performance for an EBS-optimized instance type, in MB/s.

                                  - */ - BaselineThroughputInMBps?: number; - - /** - *

                                  The baseline input/output storage operations per seconds for an EBS-optimized instance type.

                                  + *

                                  The instance IDs.

                                  + *

                                  Default: Describes all your instances.

                                  */ - BaselineIops?: number; + InstanceIds?: string[]; /** - *

                                  The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

                                  + *

                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                  */ - MaximumBandwidthInMbps?: number; + DryRun?: boolean; /** - *

                                  The maximum throughput performance for an EBS-optimized instance type, in MB/s.

                                  + *

                                  The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 5 and 1000. You cannot specify this parameter and the instance IDs + * parameter in the same call.

                                  */ - MaximumThroughputInMBps?: number; + MaxResults?: number; /** - *

                                  The maximum input/output storage operations per second for an EBS-optimized instance type.

                                  + *

                                  The token to request the next page of results.

                                  */ - MaximumIops?: number; + NextToken?: string; } -export namespace EbsOptimizedInfo { +export namespace DescribeInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EbsOptimizedInfo): any => ({ + export const filterSensitiveLog = (obj: DescribeInstancesRequest): any => ({ ...obj, }); } -export type EbsOptimizedSupport = "default" | "supported" | "unsupported"; - -export type EbsEncryptionSupport = "supported" | "unsupported"; - -export enum EbsNvmeSupport { - REQUIRED = "required", - SUPPORTED = "supported", - UNSUPPORTED = "unsupported", -} - /** - *

                                  Describes the Amazon EBS features supported by the instance type.

                                  + *

                                  Describes the instance's Capacity Reservation targeting preferences. The action returns the + * capacityReservationPreference response element if the instance is + * configured to run in On-Demand capacity, or if it is configured in run in any + * open Capacity Reservation that has matching attributes (instance type, platform, + * Availability Zone). The action returns the capacityReservationTarget + * response element if the instance explicily targets a specific Capacity Reservation or Capacity Reservation group.

                                  */ -export interface EbsInfo { - /** - *

                                  Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized - * instances in Amazon EC2 User Guide.

                                  - */ - EbsOptimizedSupport?: EbsOptimizedSupport | string; - - /** - *

                                  Indicates whether Amazon EBS encryption is supported.

                                  - */ - EncryptionSupport?: EbsEncryptionSupport | string; - +export interface CapacityReservationSpecificationResponse { /** - *

                                  Describes the optimized EBS performance for the instance type.

                                  + *

                                  Describes the instance's Capacity Reservation preferences. Possible preferences include:

                                  + *
                                    + *
                                  • + *

                                    + * open - The instance can run in any open Capacity Reservation that + * has matching attributes (instance type, platform, Availability Zone).

                                    + *
                                  • + *
                                  • + *

                                    + * none - The instance avoids running in a Capacity Reservation even if one is + * available. The instance runs in On-Demand capacity.

                                    + *
                                  • + *
                                  */ - EbsOptimizedInfo?: EbsOptimizedInfo; + CapacityReservationPreference?: CapacityReservationPreference | string; /** - *

                                  Indicates whether non-volatile memory express (NVMe) is supported.

                                  + *

                                  Information about the targeted Capacity Reservation or Capacity Reservation group.

                                  */ - NvmeSupport?: EbsNvmeSupport | string; + CapacityReservationTarget?: CapacityReservationTargetResponse; } -export namespace EbsInfo { +export namespace CapacityReservationSpecificationResponse { /** * @internal */ - export const filterSensitiveLog = (obj: EbsInfo): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationSpecificationResponse): any => ({ ...obj, }); } /** - *

                                  Describes the memory for the FPGA accelerator for the instance type.

                                  + *

                                  The CPU options for the instance.

                                  */ -export interface FpgaDeviceMemoryInfo { +export interface CpuOptions { + /** + *

                                  The number of CPU cores for the instance.

                                  + */ + CoreCount?: number; + /** - *

                                  The size of the memory available to the FPGA accelerator, in MiB.

                                  + *

                                  The number of threads per CPU core.

                                  */ - SizeInMiB?: number; + ThreadsPerCore?: number; } -export namespace FpgaDeviceMemoryInfo { +export namespace CpuOptions { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaDeviceMemoryInfo): any => ({ + export const filterSensitiveLog = (obj: CpuOptions): any => ({ ...obj, }); } /** - *

                                  Describes the FPGA accelerator for the instance type.

                                  + *

                                  Describes the association between an instance and an Elastic Graphics accelerator.

                                  */ -export interface FpgaDeviceInfo { +export interface ElasticGpuAssociation { /** - *

                                  The name of the FPGA accelerator.

                                  + *

                                  The ID of the Elastic Graphics accelerator.

                                  */ - Name?: string; + ElasticGpuId?: string; /** - *

                                  The manufacturer of the FPGA accelerator.

                                  + *

                                  The ID of the association.

                                  */ - Manufacturer?: string; + ElasticGpuAssociationId?: string; /** - *

                                  The count of FPGA accelerators for the instance type.

                                  + *

                                  The state of the association between the instance and the + * Elastic Graphics accelerator.

                                  */ - Count?: number; + ElasticGpuAssociationState?: string; /** - *

                                  Describes the memory for the FPGA accelerator for the instance type.

                                  + *

                                  The time the Elastic Graphics accelerator was associated with the instance.

                                  */ - MemoryInfo?: FpgaDeviceMemoryInfo; + ElasticGpuAssociationTime?: string; } -export namespace FpgaDeviceInfo { +export namespace ElasticGpuAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: FpgaDeviceInfo): any => ({ + export const filterSensitiveLog = (obj: ElasticGpuAssociation): any => ({ ...obj, }); } /** - *

                                  Describes the FPGAs for the instance type.

                                  + *

                                  + * Describes the association between an instance and an elastic inference accelerator. + *

                                  */ -export interface FpgaInfo { +export interface ElasticInferenceAcceleratorAssociation { /** - *

                                  Describes the FPGAs for the instance type.

                                  + *

                                  + * The Amazon Resource Name (ARN) of the elastic inference accelerator. + *

                                  */ - Fpgas?: FpgaDeviceInfo[]; + ElasticInferenceAcceleratorArn?: string; /** - *

                                  The total memory of all FPGA accelerators for the instance type.

                                  + *

                                  + * The ID of the association. + *

                                  */ - TotalFpgaMemoryInMiB?: number; -} + ElasticInferenceAcceleratorAssociationId?: string; -export namespace FpgaInfo { /** - * @internal + *

                                  + * The state of the elastic inference accelerator. + *

                                  */ - export const filterSensitiveLog = (obj: FpgaInfo): any => ({ - ...obj, - }); -} + ElasticInferenceAcceleratorAssociationState?: string; -/** - *

                                  Describes the memory available to the GPU accelerator.

                                  - */ -export interface GpuDeviceMemoryInfo { /** - *

                                  The size of the memory available to the GPU accelerator, in MiB.

                                  + *

                                  + * The time at which the elastic inference accelerator is associated with an instance. + *

                                  */ - SizeInMiB?: number; + ElasticInferenceAcceleratorAssociationTime?: Date; } -export namespace GpuDeviceMemoryInfo { +export namespace ElasticInferenceAcceleratorAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: GpuDeviceMemoryInfo): any => ({ + export const filterSensitiveLog = (obj: ElasticInferenceAcceleratorAssociation): any => ({ ...obj, }); } /** - *

                                  Describes the GPU accelerators for the instance type.

                                  + *

                                  Indicates whether your instance is configured for hibernation. This parameter is valid + * only if the instance meets the hibernation + * prerequisites. For + * more information, see Hibernate your instance in the + * Amazon EC2 User Guide.

                                  */ -export interface GpuDeviceInfo { - /** - *

                                  The name of the GPU accelerator.

                                  - */ - Name?: string; - - /** - *

                                  The manufacturer of the GPU accelerator.

                                  - */ - Manufacturer?: string; - - /** - *

                                  The number of GPUs for the instance type.

                                  - */ - Count?: number; - +export interface HibernationOptions { /** - *

                                  Describes the memory available to the GPU accelerator.

                                  + *

                                  If this parameter is set to true, your instance is enabled for + * hibernation; otherwise, it is not enabled for hibernation.

                                  */ - MemoryInfo?: GpuDeviceMemoryInfo; + Configured?: boolean; } -export namespace GpuDeviceInfo { +export namespace HibernationOptions { /** * @internal */ - export const filterSensitiveLog = (obj: GpuDeviceInfo): any => ({ + export const filterSensitiveLog = (obj: HibernationOptions): any => ({ ...obj, }); } +export type InstanceLifecycleType = "scheduled" | "spot"; + /** - *

                                  Describes the GPU accelerators for the instance type.

                                  + *

                                  Describes a license configuration.

                                  */ -export interface GpuInfo { - /** - *

                                  Describes the GPU accelerators for the instance type.

                                  - */ - Gpus?: GpuDeviceInfo[]; - +export interface LicenseConfiguration { /** - *

                                  The total size of the memory for the GPU accelerators for the instance type, in MiB.

                                  + *

                                  The Amazon Resource Name (ARN) of the license configuration.

                                  */ - TotalGpuMemoryInMiB?: number; + LicenseConfigurationArn?: string; } -export namespace GpuInfo { +export namespace LicenseConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: GpuInfo): any => ({ + export const filterSensitiveLog = (obj: LicenseConfiguration): any => ({ ...obj, }); } -export enum InstanceTypeHypervisor { - NITRO = "nitro", - XEN = "xen", +export type InstanceMetadataEndpointState = "disabled" | "enabled"; + +export enum InstanceMetadataProtocolState { + disabled = "disabled", + enabled = "enabled", +} + +export enum HttpTokensState { + optional = "optional", + required = "required", } +export type InstanceMetadataOptionsState = "applied" | "pending"; + /** - *

                                  Describes the Inference accelerators for the instance type.

                                  + *

                                  The metadata options for the instance.

                                  */ -export interface InferenceDeviceInfo { +export interface InstanceMetadataOptionsResponse { /** - *

                                  The number of Inference accelerators for the instance type.

                                  + *

                                  The state of the metadata option changes.

                                  + *

                                  + * pending - The metadata options are being updated and the instance is not + * ready to process metadata traffic with the new selection.

                                  + *

                                  + * applied - The metadata options have been successfully applied on the + * instance.

                                  */ - Count?: number; + State?: InstanceMetadataOptionsState | string; /** - *

                                  The name of the Inference accelerator.

                                  + *

                                  The state of token usage for your instance metadata requests. If the parameter is not + * specified in the request, the default state is optional.

                                  + *

                                  If the state is optional, you can choose to retrieve instance metadata + * with or without a signed token header on your request. If you retrieve the IAM role + * credentials without a token, the version 1.0 role credentials are returned. If you + * retrieve the IAM role credentials using a valid signed token, the version 2.0 role + * credentials are returned.

                                  + *

                                  If the state is required, you must send a signed token header with any + * instance metadata retrieval requests. In this state, retrieving the IAM role credential + * always returns the version 2.0 credentials; the version 1.0 credentials are not + * available.

                                  */ - Name?: string; + HttpTokens?: HttpTokensState | string; /** - *

                                  The manufacturer of the Inference accelerator.

                                  + *

                                  The desired HTTP PUT response hop limit for instance metadata requests. The larger the + * number, the further instance metadata requests can travel.

                                  + *

                                  Default: 1

                                  + *

                                  Possible values: Integers from 1 to 64

                                  */ - Manufacturer?: string; + HttpPutResponseHopLimit?: number; + + /** + *

                                  Indicates whether the HTTP metadata endpoint on your instances is enabled or disabled.

                                  + */ + HttpEndpoint?: InstanceMetadataEndpointState | string; + + /** + *

                                  Indicates whether the IPv6 endpoint for the instance metadata service is enabled or disabled.

                                  + */ + HttpProtocolIpv6?: InstanceMetadataProtocolState | string; } -export namespace InferenceDeviceInfo { +export namespace InstanceMetadataOptionsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: InferenceDeviceInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceMetadataOptionsResponse): any => ({ ...obj, }); } +export type MonitoringState = "disabled" | "disabling" | "enabled" | "pending"; + /** - *

                                  Describes the Inference accelerators for the instance type.

                                  + *

                                  Describes the monitoring of an instance.

                                  */ -export interface InferenceAcceleratorInfo { +export interface Monitoring { /** - *

                                  Describes the Inference accelerators for the instance type.

                                  + *

                                  Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

                                  */ - Accelerators?: InferenceDeviceInfo[]; + State?: MonitoringState | string; } -export namespace InferenceAcceleratorInfo { +export namespace Monitoring { /** * @internal */ - export const filterSensitiveLog = (obj: InferenceAcceleratorInfo): any => ({ + export const filterSensitiveLog = (obj: Monitoring): any => ({ ...obj, }); } -export type DiskType = "hdd" | "ssd"; - /** - *

                                  Describes a disk.

                                  + *

                                  Describes association information for an Elastic IP address (IPv4).

                                  */ -export interface DiskInfo { +export interface InstanceNetworkInterfaceAssociation { /** - *

                                  The size of the disk in GB.

                                  + *

                                  The carrier IP address associated with the network interface.

                                  */ - SizeInGB?: number; + CarrierIp?: string; /** - *

                                  The number of disks with this configuration.

                                  + *

                                  The ID of the owner of the Elastic IP address.

                                  */ - Count?: number; + IpOwnerId?: string; /** - *

                                  The type of disk.

                                  + *

                                  The public DNS name.

                                  */ - Type?: DiskType | string; + PublicDnsName?: string; + + /** + *

                                  The public IP address or Elastic IP address bound to the network interface.

                                  + */ + PublicIp?: string; } -export namespace DiskInfo { +export namespace InstanceNetworkInterfaceAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: DiskInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceNetworkInterfaceAssociation): any => ({ ...obj, }); } -export enum InstanceStorageEncryptionSupport { - required = "required", - unsupported = "unsupported", -} +/** + *

                                  Describes a network interface attachment.

                                  + */ +export interface InstanceNetworkInterfaceAttachment { + /** + *

                                  The time stamp when the attachment initiated.

                                  + */ + AttachTime?: Date; -export enum EphemeralNvmeSupport { - REQUIRED = "required", - SUPPORTED = "supported", - UNSUPPORTED = "unsupported", -} + /** + *

                                  The ID of the network interface attachment.

                                  + */ + AttachmentId?: string; -/** - *

                                  Describes the instance store features that are supported by the instance type.

                                  - */ -export interface InstanceStorageInfo { /** - *

                                  The total size of the disks, in GB.

                                  + *

                                  Indicates whether the network interface is deleted when the instance is terminated.

                                  */ - TotalSizeInGB?: number; + DeleteOnTermination?: boolean; /** - *

                                  Describes the disks that are available for the instance type.

                                  + *

                                  The index of the device on the instance for the network interface attachment.

                                  */ - Disks?: DiskInfo[]; + DeviceIndex?: number; /** - *

                                  Indicates whether non-volatile memory express (NVMe) is supported.

                                  + *

                                  The attachment state.

                                  */ - NvmeSupport?: EphemeralNvmeSupport | string; + Status?: AttachmentStatus | string; /** - *

                                  Indicates whether data is encrypted at rest.

                                  + *

                                  The index of the network card.

                                  */ - EncryptionSupport?: InstanceStorageEncryptionSupport | string; + NetworkCardIndex?: number; } -export namespace InstanceStorageInfo { +export namespace InstanceNetworkInterfaceAttachment { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceStorageInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceNetworkInterfaceAttachment): any => ({ ...obj, }); } /** - *

                                  Describes the memory for the instance type.

                                  + *

                                  Information about an IPv4 prefix.

                                  */ -export interface MemoryInfo { +export interface InstanceIpv4Prefix { /** - *

                                  The size of the memory, in MiB.

                                  + *

                                  One or more IPv4 prefixes assigned to the network interface.

                                  */ - SizeInMiB?: number; + Ipv4Prefix?: string; } -export namespace MemoryInfo { +export namespace InstanceIpv4Prefix { /** * @internal */ - export const filterSensitiveLog = (obj: MemoryInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceIpv4Prefix): any => ({ ...obj, }); } /** - *

                                  Describes the Elastic Fabric Adapters for the instance type.

                                  + *

                                  Information about an IPv6 prefix.

                                  */ -export interface EfaInfo { +export interface InstanceIpv6Prefix { /** - *

                                  The maximum number of Elastic Fabric Adapters for the instance type.

                                  + *

                                  One or more IPv6 prefixes assigned to the network interface.

                                  */ - MaximumEfaInterfaces?: number; + Ipv6Prefix?: string; } -export namespace EfaInfo { +export namespace InstanceIpv6Prefix { /** * @internal */ - export const filterSensitiveLog = (obj: EfaInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceIpv6Prefix): any => ({ ...obj, }); } -export type EnaSupport = "required" | "supported" | "unsupported"; - /** - *

                                  Describes the network card support of the instance type.

                                  + *

                                  Describes a private IPv4 address.

                                  */ -export interface NetworkCardInfo { +export interface InstancePrivateIpAddress { /** - *

                                  The index of the network card.

                                  + *

                                  The association information for an Elastic IP address for the network interface.

                                  */ - NetworkCardIndex?: number; + Association?: InstanceNetworkInterfaceAssociation; /** - *

                                  The network performance of the network card.

                                  + *

                                  Indicates whether this IPv4 address is the primary private IP address of the network interface.

                                  */ - NetworkPerformance?: string; + Primary?: boolean; /** - *

                                  The maximum number of network interfaces for the network card.

                                  + *

                                  The private IPv4 DNS name.

                                  */ - MaximumNetworkInterfaces?: number; + PrivateDnsName?: string; + + /** + *

                                  The private IPv4 address of the network interface.

                                  + */ + PrivateIpAddress?: string; } -export namespace NetworkCardInfo { +export namespace InstancePrivateIpAddress { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkCardInfo): any => ({ + export const filterSensitiveLog = (obj: InstancePrivateIpAddress): any => ({ ...obj, }); } /** - *

                                  Describes the networking features of the instance type.

                                  + *

                                  Describes a network interface.

                                  */ -export interface NetworkInfo { +export interface InstanceNetworkInterface { /** - *

                                  The network performance.

                                  + *

                                  The association information for an Elastic IPv4 associated with the network + * interface.

                                  */ - NetworkPerformance?: string; + Association?: InstanceNetworkInterfaceAssociation; /** - *

                                  The maximum number of network interfaces for the instance type.

                                  + *

                                  The network interface attachment.

                                  */ - MaximumNetworkInterfaces?: number; + Attachment?: InstanceNetworkInterfaceAttachment; /** - *

                                  The maximum number of physical network cards that can be allocated to the instance.

                                  + *

                                  The description.

                                  */ - MaximumNetworkCards?: number; + Description?: string; /** - *

                                  The index of the default network card, starting at 0.

                                  + *

                                  One or more security groups.

                                  */ - DefaultNetworkCardIndex?: number; + Groups?: GroupIdentifier[]; /** - *

                                  Describes the network cards for the instance type.

                                  + *

                                  One or more IPv6 addresses associated with the network interface.

                                  */ - NetworkCards?: NetworkCardInfo[]; + Ipv6Addresses?: InstanceIpv6Address[]; /** - *

                                  The maximum number of IPv4 addresses per network interface.

                                  + *

                                  The MAC address.

                                  */ - Ipv4AddressesPerInterface?: number; + MacAddress?: string; /** - *

                                  The maximum number of IPv6 addresses per network interface.

                                  + *

                                  The ID of the network interface.

                                  */ - Ipv6AddressesPerInterface?: number; + NetworkInterfaceId?: string; /** - *

                                  Indicates whether IPv6 is supported.

                                  + *

                                  The ID of the Amazon Web Services account that created the network interface.

                                  */ - Ipv6Supported?: boolean; + OwnerId?: string; /** - *

                                  Indicates whether Elastic Network Adapter (ENA) is supported.

                                  + *

                                  The private DNS name.

                                  */ - EnaSupport?: EnaSupport | string; + PrivateDnsName?: string; /** - *

                                  Indicates whether Elastic Fabric Adapter (EFA) is supported.

                                  + *

                                  The IPv4 address of the network interface within the subnet.

                                  */ - EfaSupported?: boolean; + PrivateIpAddress?: string; /** - *

                                  Describes the Elastic Fabric Adapters for the instance type.

                                  + *

                                  One or more private IPv4 addresses associated with the network interface.

                                  */ - EfaInfo?: EfaInfo; + PrivateIpAddresses?: InstancePrivateIpAddress[]; /** - *

                                  Indicates whether the instance type automatically encrypts in-transit traffic between instances.

                                  + *

                                  Indicates whether source/destination checking is enabled.

                                  */ - EncryptionInTransitSupported?: boolean; -} + SourceDestCheck?: boolean; -export namespace NetworkInfo { /** - * @internal + *

                                  The status of the network interface.

                                  */ - export const filterSensitiveLog = (obj: NetworkInfo): any => ({ - ...obj, - }); -} + Status?: NetworkInterfaceStatus | string; -export type PlacementGroupStrategy = "cluster" | "partition" | "spread"; + /** + *

                                  The ID of the subnet.

                                  + */ + SubnetId?: string; -/** - *

                                  Describes the placement group support of the instance type.

                                  - */ -export interface PlacementGroupInfo { /** - *

                                  The supported placement group types.

                                  + *

                                  The ID of the VPC.

                                  */ - SupportedStrategies?: (PlacementGroupStrategy | string)[]; + VpcId?: string; + + /** + *

                                  Describes the type of network interface.

                                  + *

                                  Valid values: interface | efa | trunk + *

                                  + */ + InterfaceType?: string; + + /** + *

                                  The IPv4 delegated prefixes that are assigned to the network interface.

                                  + */ + Ipv4Prefixes?: InstanceIpv4Prefix[]; + + /** + *

                                  The IPv6 delegated prefixes that are assigned to the network interface.

                                  + */ + Ipv6Prefixes?: InstanceIpv6Prefix[]; } -export namespace PlacementGroupInfo { +export namespace InstanceNetworkInterface { /** * @internal */ - export const filterSensitiveLog = (obj: PlacementGroupInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceNetworkInterface): any => ({ ...obj, }); } -export type ArchitectureType = "arm64" | "i386" | "x86_64" | "x86_64_mac"; +export type InstanceStateName = "pending" | "running" | "shutting-down" | "stopped" | "stopping" | "terminated"; /** - *

                                  Describes the processor used by the instance type.

                                  + *

                                  Describes the current state of an instance.

                                  */ -export interface ProcessorInfo { +export interface InstanceState { /** - *

                                  The architectures supported by the instance type.

                                  + *

                                  The state of the instance as a 16-bit unsigned integer.

                                  + *

                                  The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values + * between 256 and 65,535. These numerical values are used for internal purposes and should + * be ignored.

                                  + *

                                  The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values + * between 0 and 255.

                                  + *

                                  The valid values for instance-state-code will all be in the range of the low byte and + * they are:

                                  + *
                                    + *
                                  • + *

                                    + * 0 : pending + *

                                    + *
                                  • + *
                                  • + *

                                    + * 16 : running + *

                                    + *
                                  • + *
                                  • + *

                                    + * 32 : shutting-down + *

                                    + *
                                  • + *
                                  • + *

                                    + * 48 : terminated + *

                                    + *
                                  • + *
                                  • + *

                                    + * 64 : stopping + *

                                    + *
                                  • + *
                                  • + *

                                    + * 80 : stopped + *

                                    + *
                                  • + *
                                  + *

                                  You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in + * decimal.

                                  */ - SupportedArchitectures?: (ArchitectureType | string)[]; + Code?: number; /** - *

                                  The speed of the processor, in GHz.

                                  + *

                                  The current state of the instance.

                                  */ - SustainedClockSpeedInGhz?: number; + Name?: InstanceStateName | string; } -export namespace ProcessorInfo { +export namespace InstanceState { /** * @internal */ - export const filterSensitiveLog = (obj: ProcessorInfo): any => ({ + export const filterSensitiveLog = (obj: InstanceState): any => ({ ...obj, }); } -export type BootModeType = "legacy-bios" | "uefi"; - -export type RootDeviceType = "ebs" | "instance-store"; - -export type UsageClassType = "on-demand" | "spot"; - /** - *

                                  Describes the vCPU configurations for the instance type.

                                  + *

                                  Describes an instance.

                                  */ -export interface VCpuInfo { +export interface Instance { /** - *

                                  The default number of vCPUs for the instance type.

                                  + *

                                  The AMI launch index, which can be used to find this instance in the launch + * group.

                                  */ - DefaultVCpus?: number; + AmiLaunchIndex?: number; + + /** + *

                                  The ID of the AMI used to launch the instance.

                                  + */ + ImageId?: string; + + /** + *

                                  The ID of the instance.

                                  + */ + InstanceId?: string; /** - *

                                  The default number of cores for the instance type.

                                  + *

                                  The instance type.

                                  */ - DefaultCores?: number; + InstanceType?: _InstanceType | string; /** - *

                                  The default number of threads per core for the instance type.

                                  + *

                                  The kernel associated with this instance, if applicable.

                                  */ - DefaultThreadsPerCore?: number; + KernelId?: string; /** - *

                                  The valid number of cores that can be configured for the instance type.

                                  + *

                                  The name of the key pair, if this instance was launched with an associated key + * pair.

                                  */ - ValidCores?: number[]; + KeyName?: string; /** - *

                                  The valid number of threads per core that can be configured for the instance type.

                                  + *

                                  The time the instance was launched.

                                  */ - ValidThreadsPerCore?: number[]; -} + LaunchTime?: Date; -export namespace VCpuInfo { /** - * @internal + *

                                  The monitoring for the instance.

                                  */ - export const filterSensitiveLog = (obj: VCpuInfo): any => ({ - ...obj, - }); -} + Monitoring?: Monitoring; -/** - *

                                  Describes the instance type.

                                  - */ -export interface InstanceTypeInfo { /** - *

                                  The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                  + *

                                  The location where the instance launched, if applicable.

                                  */ - InstanceType?: _InstanceType | string; + Placement?: Placement; /** - *

                                  Indicates whether the instance type is current generation.

                                  + *

                                  The value is Windows for Windows instances; otherwise blank.

                                  */ - CurrentGeneration?: boolean; + Platform?: PlatformValues | string; /** - *

                                  Indicates whether the instance type is eligible for the free tier.

                                  + *

                                  (IPv4 only) The private DNS hostname name assigned to the instance. This DNS hostname + * can only be used inside the Amazon EC2 network. This name is not available until the + * instance enters the running state.

                                  + *

                                  [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private DNS + * hostnames if you've enabled DNS resolution and DNS hostnames in your VPC. If you are not + * using the Amazon-provided DNS server in your VPC, your custom domain name servers must + * resolve the hostname as appropriate.

                                  */ - FreeTierEligible?: boolean; + PrivateDnsName?: string; /** - *

                                  Indicates whether the instance type is offered for spot or On-Demand.

                                  + *

                                  The private IPv4 address assigned to the instance.

                                  */ - SupportedUsageClasses?: (UsageClassType | string)[]; + PrivateIpAddress?: string; /** - *

                                  The supported root device types.

                                  + *

                                  The product codes attached to this instance, if applicable.

                                  */ - SupportedRootDeviceTypes?: (RootDeviceType | string)[]; + ProductCodes?: ProductCode[]; /** - *

                                  The supported virtualization types.

                                  + *

                                  (IPv4 only) The public DNS name assigned to the instance. This name is not available + * until the instance enters the running state. For EC2-VPC, this name is only + * available if you've enabled DNS hostnames for your VPC.

                                  */ - SupportedVirtualizationTypes?: (VirtualizationType | string)[]; + PublicDnsName?: string; /** - *

                                  Indicates whether the instance is a bare metal instance type.

                                  + *

                                  The public IPv4 address, or the Carrier IP address assigned to the instance, if + * applicable.

                                  + *

                                  A Carrier IP address only applies to an instance launched in a subnet associated with + * a Wavelength Zone.

                                  */ - BareMetal?: boolean; + PublicIpAddress?: string; /** - *

                                  The hypervisor for the instance type.

                                  + *

                                  The RAM disk associated with this instance, if applicable.

                                  */ - Hypervisor?: InstanceTypeHypervisor | string; + RamdiskId?: string; /** - *

                                  Describes the processor.

                                  + *

                                  The current state of the instance.

                                  */ - ProcessorInfo?: ProcessorInfo; + State?: InstanceState; /** - *

                                  Describes the vCPU configurations for the instance type.

                                  + *

                                  The reason for the most recent state transition. This might be an empty string.

                                  */ - VCpuInfo?: VCpuInfo; + StateTransitionReason?: string; /** - *

                                  Describes the memory for the instance type.

                                  + *

                                  [EC2-VPC] The ID of the subnet in which the instance is running.

                                  */ - MemoryInfo?: MemoryInfo; + SubnetId?: string; /** - *

                                  Indicates whether instance storage is supported.

                                  + *

                                  [EC2-VPC] The ID of the VPC in which the instance is running.

                                  */ - InstanceStorageSupported?: boolean; + VpcId?: string; /** - *

                                  Describes the instance storage for the instance type.

                                  + *

                                  The architecture of the image.

                                  */ - InstanceStorageInfo?: InstanceStorageInfo; + Architecture?: ArchitectureValues | string; /** - *

                                  Describes the Amazon EBS settings for the instance type.

                                  + *

                                  Any block device mapping entries for the instance.

                                  */ - EbsInfo?: EbsInfo; + BlockDeviceMappings?: InstanceBlockDeviceMapping[]; /** - *

                                  Describes the network settings for the instance type.

                                  + *

                                  The idempotency token you provided when you launched the instance, if + * applicable.

                                  */ - NetworkInfo?: NetworkInfo; + ClientToken?: string; /** - *

                                  Describes the GPU accelerator settings for the instance type.

                                  + *

                                  Indicates whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal I/O performance. This optimization isn't available with all instance + * types. Additional usage charges apply when using an EBS Optimized instance.

                                  */ - GpuInfo?: GpuInfo; + EbsOptimized?: boolean; /** - *

                                  Describes the FPGA accelerator settings for the instance type.

                                  + *

                                  Specifies whether enhanced networking with ENA is enabled.

                                  */ - FpgaInfo?: FpgaInfo; + EnaSupport?: boolean; /** - *

                                  Describes the placement group settings for the instance type.

                                  + *

                                  The hypervisor type of the instance. The value xen is used for both Xen and + * Nitro hypervisors.

                                  */ - PlacementGroupInfo?: PlacementGroupInfo; + Hypervisor?: HypervisorType | string; /** - *

                                  Describes the Inference accelerator settings for the instance type.

                                  + *

                                  The IAM instance profile associated with the instance, if applicable.

                                  */ - InferenceAcceleratorInfo?: InferenceAcceleratorInfo; + IamInstanceProfile?: IamInstanceProfile; /** - *

                                  Indicates whether On-Demand hibernation is supported.

                                  + *

                                  Indicates whether this is a Spot Instance or a Scheduled Instance.

                                  */ - HibernationSupported?: boolean; + InstanceLifecycle?: InstanceLifecycleType | string; /** - *

                                  Indicates whether the instance type is a burstable performance instance type.

                                  + *

                                  The Elastic GPU associated with the instance.

                                  */ - BurstablePerformanceSupported?: boolean; + ElasticGpuAssociations?: ElasticGpuAssociation[]; /** - *

                                  Indicates whether Dedicated Hosts are supported on the instance type.

                                  + *

                                  The elastic inference accelerator associated with the instance.

                                  */ - DedicatedHostsSupported?: boolean; + ElasticInferenceAcceleratorAssociations?: ElasticInferenceAcceleratorAssociation[]; /** - *

                                  Indicates whether auto recovery is supported.

                                  + *

                                  [EC2-VPC] The network interfaces for the instance.

                                  */ - AutoRecoverySupported?: boolean; + NetworkInterfaces?: InstanceNetworkInterface[]; /** - *

                                  The supported boot modes. For more information, see Boot modes in the - * Amazon EC2 User Guide.

                                  + *

                                  The Amazon Resource Name (ARN) of the Outpost.

                                  */ - SupportedBootModes?: (BootModeType | string)[]; -} + OutpostArn?: string; -export namespace InstanceTypeInfo { /** - * @internal + *

                                  The device name of the root device volume (for example, + * /dev/sda1).

                                  */ - export const filterSensitiveLog = (obj: InstanceTypeInfo): any => ({ - ...obj, - }); -} + RootDeviceName?: string; -export interface DescribeInstanceTypesResult { /** - *

                                  The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                  + *

                                  The root device type used by the AMI. The AMI can use an EBS volume or an instance + * store volume.

                                  */ - InstanceTypes?: InstanceTypeInfo[]; + RootDeviceType?: DeviceType | string; /** - *

                                  The token to use to retrieve the next page of results. This value is null when there - * are no more results to return.

                                  + *

                                  The security groups for the instance.

                                  */ - NextToken?: string; -} + SecurityGroups?: GroupIdentifier[]; -export namespace DescribeInstanceTypesResult { /** - * @internal + *

                                  Indicates whether source/destination checking is enabled.

                                  */ - export const filterSensitiveLog = (obj: DescribeInstanceTypesResult): any => ({ - ...obj, - }); -} + SourceDestCheck?: boolean; -export interface DescribeInternetGatewaysRequest { /** - *

                                  One or more filters.

                                  - *
                                    - *
                                  • - *

                                    - * attachment.state - The current state of the attachment between the gateway - * and the VPC (available). Present only if a VPC is attached.

                                    - *
                                  • - *
                                  • - *

                                    - * attachment.vpc-id - The ID of an attached VPC.

                                    - *
                                  • - *
                                  • - *

                                    - * internet-gateway-id - The ID of the Internet gateway.

                                    - *
                                  • - *
                                  • - *

                                    - * owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

                                    - *
                                  • - *
                                  • - *

                                    - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                    - *
                                  • - *
                                  • - *

                                    - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                    - *
                                  • - *
                                  + *

                                  If the request is a Spot Instance request, the ID of the request.

                                  */ - Filters?: Filter[]; + SpotInstanceRequestId?: string; /** - *

                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                  + *

                                  Specifies whether enhanced networking with the Intel 82599 Virtual Function interface + * is enabled.

                                  */ - DryRun?: boolean; + SriovNetSupport?: string; /** - *

                                  One or more internet gateway IDs.

                                  - *

                                  Default: Describes all your internet gateways.

                                  + *

                                  The reason for the most recent state transition.

                                  */ - InternetGatewayIds?: string[]; + StateReason?: StateReason; /** - *

                                  The token for the next page of results.

                                  + *

                                  Any tags assigned to the instance.

                                  */ - NextToken?: string; + Tags?: Tag[]; /** - *

                                  The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                  + *

                                  The virtualization type of the instance.

                                  */ - MaxResults?: number; -} + VirtualizationType?: VirtualizationType | string; -export namespace DescribeInternetGatewaysRequest { /** - * @internal + *

                                  The CPU options for the instance.

                                  */ - export const filterSensitiveLog = (obj: DescribeInternetGatewaysRequest): any => ({ - ...obj, - }); -} + CpuOptions?: CpuOptions; -export interface DescribeInternetGatewaysResult { /** - *

                                  Information about one or more internet gateways.

                                  + *

                                  The ID of the Capacity Reservation.

                                  */ - InternetGateways?: InternetGateway[]; + CapacityReservationId?: string; /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  Information about the Capacity Reservation targeting option.

                                  */ - NextToken?: string; -} + CapacityReservationSpecification?: CapacityReservationSpecificationResponse; -export namespace DescribeInternetGatewaysResult { /** - * @internal + *

                                  Indicates whether the instance is enabled for hibernation.

                                  */ - export const filterSensitiveLog = (obj: DescribeInternetGatewaysResult): any => ({ - ...obj, - }); -} + HibernationOptions?: HibernationOptions; -export interface DescribeIpv6PoolsRequest { /** - *

                                  The IDs of the IPv6 address pools.

                                  + *

                                  The license configurations for the instance.

                                  */ - PoolIds?: string[]; + Licenses?: LicenseConfiguration[]; /** - *

                                  The token for the next page of results.

                                  + *

                                  The metadata options for the instance.

                                  */ - NextToken?: string; + MetadataOptions?: InstanceMetadataOptionsResponse; /** - *

                                  The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                  + *

                                  Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                                  */ - MaxResults?: number; + EnclaveOptions?: EnclaveOptions; /** - *

                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                  + *

                                  The boot mode of the instance. For more information, see Boot modes in the + * Amazon EC2 User Guide.

                                  */ - DryRun?: boolean; + BootMode?: BootModeValues | string; /** - *

                                  One or more filters.

                                  - *
                                    - *
                                  • - *

                                    - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                    - *
                                  • - *
                                  • - *

                                    - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                    - *
                                  • - *
                                  + *

                                  The platform details value for the instance. For more information, see AMI + * billing information fields in the + * Amazon EC2 User Guide.

                                  */ - Filters?: Filter[]; -} + PlatformDetails?: string; -export namespace DescribeIpv6PoolsRequest { /** - * @internal + *

                                  The usage operation value for the instance. For more information, see AMI billing information fields + * in the Amazon EC2 User Guide.

                                  */ - export const filterSensitiveLog = (obj: DescribeIpv6PoolsRequest): any => ({ - ...obj, - }); -} + UsageOperation?: string; -/** - *

                                  Describes a CIDR block for an address pool.

                                  - */ -export interface PoolCidrBlock { /** - *

                                  The CIDR block.

                                  + *

                                  The time that the usage operation was last updated.

                                  */ - Cidr?: string; + UsageOperationUpdateTime?: Date; } -export namespace PoolCidrBlock { +export namespace Instance { /** * @internal */ - export const filterSensitiveLog = (obj: PoolCidrBlock): any => ({ + export const filterSensitiveLog = (obj: Instance): any => ({ ...obj, }); } /** - *

                                  Describes an IPv6 address pool.

                                  + *

                                  Describes a launch request for one or more instances, and includes + * owner, requester, and security group information that applies to all + * instances in the launch request.

                                  */ -export interface Ipv6Pool { +export interface Reservation { /** - *

                                  The ID of the address pool.

                                  + *

                                  [EC2-Classic only] The security groups.

                                  */ - PoolId?: string; + Groups?: GroupIdentifier[]; /** - *

                                  The description for the address pool.

                                  + *

                                  The instances.

                                  */ - Description?: string; + Instances?: Instance[]; /** - *

                                  The CIDR blocks for the address pool.

                                  + *

                                  The ID of the Amazon Web Services account that owns the reservation.

                                  */ - PoolCidrBlocks?: PoolCidrBlock[]; + OwnerId?: string; /** - *

                                  Any tags for the address pool.

                                  + *

                                  The ID of the requester that launched the instances on your behalf (for example, + * Amazon Web Services Management Console or Auto Scaling).

                                  */ - Tags?: Tag[]; + RequesterId?: string; + + /** + *

                                  The ID of the reservation.

                                  + */ + ReservationId?: string; } -export namespace Ipv6Pool { +export namespace Reservation { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6Pool): any => ({ + export const filterSensitiveLog = (obj: Reservation): any => ({ ...obj, }); } -export interface DescribeIpv6PoolsResult { +export interface DescribeInstancesResult { /** - *

                                  Information about the IPv6 address pools.

                                  + *

                                  Information about the reservations.

                                  */ - Ipv6Pools?: Ipv6Pool[]; + Reservations?: Reservation[]; /** - *

                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                  + *

                                  The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                  */ NextToken?: string; } -export namespace DescribeIpv6PoolsResult { +export namespace DescribeInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeIpv6PoolsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeInstancesResult): any => ({ ...obj, }); } -export interface DescribeKeyPairsRequest { +export interface DescribeInstanceStatusRequest { /** *

                                  The filters.

                                  - *
                                    + *
                                      *
                                    • - *

                                      - * key-pair-id - The ID of the key pair.

                                      - *
                                    • + *

                                      + * availability-zone - The Availability Zone of the instance.

                                      + * *
                                    • - *

                                      - * fingerprint - The fingerprint of the key pair.

                                      + *

                                      + * event.code - The code for the scheduled event + * (instance-reboot | system-reboot | + * system-maintenance | instance-retirement | + * instance-stop).

                                      *
                                    • *
                                    • - *

                                      - * key-name - The name of the key pair.

                                      + *

                                      + * event.description - A description of the event.

                                      *
                                    • *
                                    • - *

                                      - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                      - *
                                    • + *

                                      + * event.instance-event-id - The ID of the event whose date and time + * you are modifying.

                                      + * *
                                    • - *

                                      - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                      - *
                                    • + *

                                      + * event.not-after - The latest end time for the scheduled event + * (for example, 2014-09-15T17:15:20.000Z).

                                      + * + *
                                    • + *

                                      + * event.not-before - The earliest start time for the scheduled + * event (for example, 2014-09-15T17:15:20.000Z).

                                      + *
                                    • + *
                                    • + *

                                      + * event.not-before-deadline - The deadline for starting the event + * (for example, 2014-09-15T17:15:20.000Z).

                                      + *
                                    • + *
                                    • + *

                                      + * instance-state-code - The code for the instance state, as a + * 16-bit unsigned integer. The high byte is used for internal purposes and should + * be ignored. The low byte is set based on the state represented. The valid values + * are 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 + * (stopping), and 80 (stopped).

                                      + *
                                    • + *
                                    • + *

                                      + * instance-state-name - The state of the instance + * (pending | running | shutting-down | + * terminated | stopping | + * stopped).

                                      + *
                                    • + *
                                    • + *

                                      + * instance-status.reachability - Filters on instance status where + * the name is reachability (passed | failed + * | initializing | insufficient-data).

                                      + *
                                    • + *
                                    • + *

                                      + * instance-status.status - The status of the instance + * (ok | impaired | initializing | + * insufficient-data | not-applicable).

                                      + *
                                    • + *
                                    • + *

                                      + * system-status.reachability - Filters on system status where the + * name is reachability (passed | failed | + * initializing | insufficient-data).

                                      + *
                                    • + *
                                    • + *

                                      + * system-status.status - The system status of the instance + * (ok | impaired | initializing | + * insufficient-data | not-applicable).

                                      + *
                                    • *
                                    */ Filters?: Filter[]; /** - *

                                    The key pair names.

                                    - *

                                    Default: Describes all of your key pairs.

                                    + *

                                    The instance IDs.

                                    + *

                                    Default: Describes all your instances.

                                    + *

                                    Constraints: Maximum 100 explicitly specified instance IDs.

                                    */ - KeyNames?: string[]; + InstanceIds?: string[]; /** - *

                                    The IDs of the key pairs.

                                    + *

                                    The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 5 and 1000. You cannot specify this parameter and the instance IDs + * parameter in the same call.

                                    */ - KeyPairIds?: string[]; + MaxResults?: number; + + /** + *

                                    The token to retrieve the next page of results.

                                    + */ + NextToken?: string; /** *

                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -4127,1353 +3586,1369 @@ export interface DescribeKeyPairsRequest { * Otherwise, it is UnauthorizedOperation.

                                    */ DryRun?: boolean; + + /** + *

                                    When true, includes the health status for all instances. When + * false, includes the health status for running instances only.

                                    + *

                                    Default: false + *

                                    + */ + IncludeAllInstances?: boolean; } -export namespace DescribeKeyPairsRequest { +export namespace DescribeInstanceStatusRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeKeyPairsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceStatusRequest): any => ({ ...obj, }); } +export type EventCode = + | "instance-reboot" + | "instance-retirement" + | "instance-stop" + | "system-maintenance" + | "system-reboot"; + /** - *

                                    Describes a key pair.

                                    + *

                                    Describes a scheduled event for an instance.

                                    */ -export interface KeyPairInfo { - /** - *

                                    The ID of the key pair.

                                    - */ - KeyPairId?: string; - +export interface InstanceStatusEvent { /** - *

                                    If you used CreateKeyPair to create the key pair:

                                    - *
                                      - *
                                    • - *

                                      For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. - *

                                      - *
                                    • - *
                                    • - *

                                      For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which - * is the default for OpenSSH, starting with OpenSSH 6.8.

                                      - *
                                    • - *
                                    - *

                                    If you used ImportKeyPair to provide Amazon Web Services the public key:

                                    - *
                                      - *
                                    • - *

                                      For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

                                      - *
                                    • - *
                                    • - *

                                      For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 - * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

                                      - *
                                    • - *
                                    + *

                                    The ID of the event.

                                    */ - KeyFingerprint?: string; + InstanceEventId?: string; /** - *

                                    The name of the key pair.

                                    + *

                                    The event code.

                                    */ - KeyName?: string; + Code?: EventCode | string; /** - *

                                    The type of key pair.

                                    + *

                                    A description of the event.

                                    + *

                                    After a scheduled event is completed, it can still be described for up to a week. If + * the event has been completed, this description starts with the following text: + * [Completed].

                                    */ - KeyType?: KeyType | string; + Description?: string; /** - *

                                    Any tags applied to the key pair.

                                    + *

                                    The latest scheduled end time for the event.

                                    */ - Tags?: Tag[]; -} + NotAfter?: Date; -export namespace KeyPairInfo { /** - * @internal + *

                                    The earliest scheduled start time for the event.

                                    */ - export const filterSensitiveLog = (obj: KeyPairInfo): any => ({ - ...obj, - }); -} + NotBefore?: Date; -export interface DescribeKeyPairsResult { /** - *

                                    Information about the key pairs.

                                    + *

                                    The deadline for starting the event.

                                    */ - KeyPairs?: KeyPairInfo[]; + NotBeforeDeadline?: Date; } -export namespace DescribeKeyPairsResult { +export namespace InstanceStatusEvent { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeKeyPairsResult): any => ({ + export const filterSensitiveLog = (obj: InstanceStatusEvent): any => ({ ...obj, }); } -export interface DescribeLaunchTemplatesRequest { +export type StatusName = "reachability"; + +export type StatusType = "failed" | "initializing" | "insufficient-data" | "passed"; + +/** + *

                                    Describes the instance status.

                                    + */ +export interface InstanceStatusDetails { /** - *

                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                    + *

                                    The time when a status check failed. For an instance that was launched and impaired, + * this is the time when the instance was launched.

                                    */ - DryRun?: boolean; + ImpairedSince?: Date; /** - *

                                    One or more launch template IDs.

                                    + *

                                    The type of instance status.

                                    */ - LaunchTemplateIds?: string[]; + Name?: StatusName | string; /** - *

                                    One or more launch template names.

                                    + *

                                    The status.

                                    */ - LaunchTemplateNames?: string[]; + Status?: StatusType | string; +} +export namespace InstanceStatusDetails { /** - *

                                    One or more filters.

                                    - *
                                      - *
                                    • - *

                                      - * create-time - The time the launch template was created.

                                      - *
                                    • - *
                                    • - *

                                      - * launch-template-name - The name of the launch template.

                                      - *
                                    • - *
                                    • - *

                                      - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                      - *
                                    • - *
                                    • - *

                                      - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                      - *
                                    • - *
                                    + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: InstanceStatusDetails): any => ({ + ...obj, + }); +} + +export type SummaryStatus = "impaired" | "initializing" | "insufficient-data" | "not-applicable" | "ok"; +/** + *

                                    Describes the status of an instance.

                                    + */ +export interface InstanceStatusSummary { /** - *

                                    The token to request the next page of results.

                                    + *

                                    The system instance health or application instance health.

                                    */ - NextToken?: string; + Details?: InstanceStatusDetails[]; /** - *

                                    The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 1 and 200.

                                    + *

                                    The status.

                                    */ - MaxResults?: number; + Status?: SummaryStatus | string; } -export namespace DescribeLaunchTemplatesRequest { +export namespace InstanceStatusSummary { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLaunchTemplatesRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceStatusSummary): any => ({ ...obj, }); } -export interface DescribeLaunchTemplatesResult { +/** + *

                                    Describes the status of an instance.

                                    + */ +export interface InstanceStatus { /** - *

                                    Information about the launch templates.

                                    + *

                                    The Availability Zone of the instance.

                                    */ - LaunchTemplates?: LaunchTemplate[]; + AvailabilityZone?: string; /** - *

                                    The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                                    + *

                                    The Amazon Resource Name (ARN) of the Outpost.

                                    */ - NextToken?: string; -} + OutpostArn?: string; -export namespace DescribeLaunchTemplatesResult { /** - * @internal + *

                                    Any scheduled events associated with the instance.

                                    */ - export const filterSensitiveLog = (obj: DescribeLaunchTemplatesResult): any => ({ - ...obj, - }); -} + Events?: InstanceStatusEvent[]; -export interface DescribeLaunchTemplateVersionsRequest { /** - *

                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                    + *

                                    The ID of the instance.

                                    */ - DryRun?: boolean; + InstanceId?: string; /** - *

                                    The ID of the launch template. To describe one or more versions of a specified launch - * template, you must specify either the launch template ID or the launch template name in - * the request. To describe all the latest or default launch template versions in your - * account, you must omit this parameter.

                                    + *

                                    The intended state of the instance. DescribeInstanceStatus requires + * that an instance be in the running state.

                                    */ - LaunchTemplateId?: string; + InstanceState?: InstanceState; /** - *

                                    The name of the launch template. To describe one or more versions of a specified - * launch template, you must specify either the launch template ID or the launch template - * name in the request. To describe all the latest or default launch template versions in - * your account, you must omit this parameter.

                                    + *

                                    Reports impaired functionality that stems from issues internal to the instance, such + * as impaired reachability.

                                    */ - LaunchTemplateName?: string; + InstanceStatus?: InstanceStatusSummary; /** - *

                                    One or more versions of the launch template. Valid values depend on whether you are describing a specified launch template (by ID or name) or all launch templates in your account.

                                    - *

                                    To describe one or more versions of a specified launch template, valid values are $Latest, $Default, and numbers.

                                    - *

                                    To describe all launch templates in your account that are defined as the latest - * version, the valid value is $Latest. To describe all launch templates in - * your account that are defined as the default version, the valid value is - * $Default. You can specify $Latest and - * $Default in the same call. You cannot specify numbers.

                                    + *

                                    Reports impaired functionality that stems from issues related to the systems that + * support an instance, such as hardware failures and network connectivity problems.

                                    */ - Versions?: string[]; + SystemStatus?: InstanceStatusSummary; +} +export namespace InstanceStatus { /** - *

                                    The version number after which to describe launch template versions.

                                    + * @internal */ - MinVersion?: string; + export const filterSensitiveLog = (obj: InstanceStatus): any => ({ + ...obj, + }); +} +export interface DescribeInstanceStatusResult { /** - *

                                    The version number up to which to describe launch template versions.

                                    + *

                                    Information about the status of the instances.

                                    */ - MaxVersion?: string; + InstanceStatuses?: InstanceStatus[]; /** - *

                                    The token to request the next page of results.

                                    + *

                                    The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                    */ NextToken?: string; +} +export namespace DescribeInstanceStatusResult { /** - *

                                    The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value - * can be between 1 and 200.

                                    + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DescribeInstanceStatusResult): any => ({ + ...obj, + }); +} + +export type LocationType = "availability-zone" | "availability-zone-id" | "region"; +export interface DescribeInstanceTypeOfferingsRequest { /** - *

                                    One or more filters.

                                    - *
                                      + *

                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                      + */ + DryRun?: boolean; + + /** + *

                                      The location type.

                                      + */ + LocationType?: LocationType | string; + + /** + *

                                      One or more filters. Filter names and values are case-sensitive.

                                      + *
                                        *
                                      • *

                                        - * create-time - The time the launch template version was created.

                                        - *
                                      • - *
                                      • - *

                                        - * ebs-optimized - A boolean that indicates whether the instance - * is optimized for Amazon EBS I/O.

                                        - *
                                      • - *
                                      • - *

                                        - * iam-instance-profile - The ARN of the IAM instance - * profile.

                                        - *
                                      • - *
                                      • - *

                                        - * image-id - The ID of the AMI.

                                        - *
                                      • - *
                                      • - *

                                        - * instance-type - The instance type.

                                        - *
                                      • - *
                                      • - *

                                        - * is-default-version - A boolean that indicates whether the - * launch template version is the default version.

                                        - *
                                      • - *
                                      • - *

                                        - * kernel-id - The kernel ID.

                                        + * location - This depends on the location type. For example, if the location type is + * region (default), the location is the Region code (for example, us-east-2.)

                                        *
                                      • *
                                      • - *

                                        - * ram-disk-id - The RAM disk ID.

                                        + *

                                        + * instance-type - The instance type. For example, + * c5.2xlarge.

                                        *
                                      • *
                                      */ - Filters?: Filter[]; + Filters?: Filter[]; + + /** + *

                                      The maximum number of results to return for the request in a single page. The remaining results + * can be seen by sending another request with the next token value.

                                      + */ + MaxResults?: number; + + /** + *

                                      The token to retrieve the next page of results.

                                      + */ + NextToken?: string; } -export namespace DescribeLaunchTemplateVersionsRequest { +export namespace DescribeInstanceTypeOfferingsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLaunchTemplateVersionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceTypeOfferingsRequest): any => ({ ...obj, }); } -export interface DescribeLaunchTemplateVersionsResult { +/** + *

                                      The instance types offered.

                                      + */ +export interface InstanceTypeOffering { /** - *

                                      Information about the launch template versions.

                                      + *

                                      The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                      */ - LaunchTemplateVersions?: LaunchTemplateVersion[]; + InstanceType?: _InstanceType | string; /** - *

                                      The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                                      + *

                                      The location type.

                                      + */ + LocationType?: LocationType | string; + + /** + *

                                      The identifier for the location. This depends on the location type. For example, if the location type is + * region, the location is the Region code (for example, us-east-2.)

                                      + */ + Location?: string; +} + +export namespace InstanceTypeOffering { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InstanceTypeOffering): any => ({ + ...obj, + }); +} + +export interface DescribeInstanceTypeOfferingsResult { + /** + *

                                      The instance types offered.

                                      + */ + InstanceTypeOfferings?: InstanceTypeOffering[]; + + /** + *

                                      The token to use to retrieve the next page of results. This value is null when there + * are no more results to return.

                                      */ NextToken?: string; } -export namespace DescribeLaunchTemplateVersionsResult { +export namespace DescribeInstanceTypeOfferingsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLaunchTemplateVersionsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceTypeOfferingsResult): any => ({ ...obj, }); } -export interface DescribeLocalGatewayRouteTablesRequest { +export interface DescribeInstanceTypesRequest { /** - *

                                      The IDs of the local gateway route tables.

                                      + *

                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is + * DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                      */ - LocalGatewayRouteTableIds?: string[]; + DryRun?: boolean; /** - *

                                      One or more filters.

                                      + *

                                      The instance types. For more information, see Instance types in the Amazon EC2 User Guide.

                                      + */ + InstanceTypes?: (_InstanceType | string)[]; + + /** + *

                                      One or more filters. Filter names and values are case-sensitive.

                                      *
                                        *
                                      • *

                                        - * local-gateway-id - The ID of a local gateway.

                                        + * auto-recovery-supported - Indicates whether auto recovery is supported (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * bare-metal - Indicates whether it is a bare metal instance type (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * burstable-performance-supported - Indicates whether it is a burstable + * performance instance type (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * current-generation - Indicates whether this instance type is the latest + * generation instance type of an instance family (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.ebs-optimized-info.baseline-bandwidth-in-mbps - The baseline + * bandwidth performance for an EBS-optimized instance type, in Mbps.

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.ebs-optimized-info.baseline-iops - The baseline input/output storage + * operations per second for an EBS-optimized instance type.

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.ebs-optimized-info.baseline-throughput-in-mbps - The baseline + * throughput performance for an EBS-optimized instance type, in MB/s.

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.ebs-optimized-info.maximum-bandwidth-in-mbps - The maximum bandwidth + * performance for an EBS-optimized instance type, in Mbps.

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.ebs-optimized-info.maximum-iops - The maximum input/output storage + * operations per second for an EBS-optimized instance type.

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.ebs-optimized-info.maximum-throughput-in-mbps - The maximum + * throughput performance for an EBS-optimized instance type, in MB/s.

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.ebs-optimized-support - Indicates whether the instance type is + * EBS-optimized (supported | unsupported | + * default).

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.encryption-support - Indicates whether EBS encryption is supported + * (supported | unsupported).

                                        + *
                                      • + *
                                      • + *

                                        + * ebs-info.nvme-support - Indicates whether non-volatile memory express (NVMe) + * is supported for EBS volumes (required | supported | unsupported).

                                        + *
                                      • + *
                                      • + *

                                        + * free-tier-eligible - Indicates whether the instance type is eligible to use + * in the free tier (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * hibernation-supported - Indicates whether On-Demand hibernation is supported (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * hypervisor - The hypervisor (nitro | xen).

                                        + *
                                      • + *
                                      • + *

                                        + * instance-storage-info.disk.count - The number of local disks.

                                        + *
                                      • + *
                                      • + *

                                        + * instance-storage-info.disk.size-in-gb - The storage size of each instance storage disk, in + * GB.

                                        + *
                                      • + *
                                      • + *

                                        + * instance-storage-info.disk.type - The storage technology for the local + * instance storage disks (hdd | ssd).

                                        + *
                                      • + *
                                      • + *

                                        + * instance-storage-info.encryption-supported - Indicates whether data is encrypted at rest + * (required | unsupported).

                                        + *
                                      • + *
                                      • + *

                                        + * instance-storage-info.nvme-support - Indicates whether non-volatile memory + * express (NVMe) is supported for instance store (required | supported | + * unsupported).

                                        + *
                                      • + *
                                      • + *

                                        + * instance-storage-info.total-size-in-gb - The total amount of storage available from all local + * instance storage, in GB.

                                        + *
                                      • + *
                                      • + *

                                        + * instance-storage-supported - Indicates whether the instance type has local + * instance storage (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * instance-type - The instance type (for example c5.2xlarge or + * c5*).

                                        + *
                                      • + *
                                      • + *

                                        + * memory-info.size-in-mib - The memory size.

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic + * Fabric Adapters (EFAs) per instance.

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.efa-supported - Indicates whether the instance type supports + * Elastic Fabric Adapter (EFA) (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.ena-support - Indicates whether Elastic Network Adapter (ENA) is + * supported or required (required | supported | + * unsupported).

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.encryption-in-transit-supported - Indicates whether the instance type + * automatically encrypts in-transit traffic between instances (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.ipv4-addresses-per-interface - The maximum number of private IPv4 addresses per + * network interface.

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.ipv6-addresses-per-interface - The maximum number of private IPv6 addresses per + * network interface.

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.ipv6-supported - Indicates whether the instance type supports IPv6 (true | false).

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.maximum-network-interfaces - The maximum number of network interfaces per instance.

                                        + *
                                      • + *
                                      • + *

                                        + * network-info.network-performance - The network performance (for example, "25 + * Gigabit").

                                        + *
                                      • + *
                                      • + *

                                        + * processor-info.supported-architecture - The CPU architecture + * (arm64 | i386 | x86_64).

                                        + *
                                      • + *
                                      • + *

                                        + * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in GHz.

                                        + *
                                      • + *
                                      • + *

                                        + * supported-boot-mode - The boot mode (legacy-bios | + * uefi).

                                        + *
                                      • + *
                                      • + *

                                        + * supported-root-device-type - The root device type (ebs | + * instance-store).

                                        + *
                                      • + *
                                      • + *

                                        + * supported-usage-class - The usage class (on-demand | + * spot).

                                        + *
                                      • + *
                                      • + *

                                        + * supported-virtualization-type - The virtualization type (hvm | + * paravirtual).

                                        *
                                      • *
                                      • *

                                        - * local-gateway-route-table-id - The ID of a local gateway route table.

                                        + * vcpu-info.default-cores - The default number of cores for the instance type.

                                        *
                                      • *
                                      • *

                                        - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                        + * vcpu-info.default-threads-per-core - The default number of threads per core for the instance + * type.

                                        *
                                      • *
                                      • *

                                        - * state - The state of the local gateway route table.

                                        + * vcpu-info.default-vcpus - The default number of vCPUs for the instance type.

                                        + *
                                      • + *
                                      • + *

                                        + * vcpu-info.valid-cores - The number of cores that can be configured for the instance type.

                                        + *
                                      • + *
                                      • + *

                                        + * vcpu-info.valid-threads-per-core - The number of threads per core that can be configured for the instance type. + * For example, "1" or "1,2".

                                        *
                                      • *
                                      */ Filters?: Filter[]; /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      + *

                                      The maximum number of results to return for the request in a single page. The remaining results + * can be seen by sending another request with the next token value.

                                      */ MaxResults?: number; /** - *

                                      The token for the next page of results.

                                      + *

                                      The token to retrieve the next page of results.

                                      */ NextToken?: string; - - /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      - */ - DryRun?: boolean; } -export namespace DescribeLocalGatewayRouteTablesRequest { +export namespace DescribeInstanceTypesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTablesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceTypesRequest): any => ({ ...obj, }); } /** - *

                                      Describes a local gateway route table.

                                      + *

                                      Describes the optimized EBS performance for supported instance types.

                                      */ -export interface LocalGatewayRouteTable { - /** - *

                                      The ID of the local gateway route table.

                                      - */ - LocalGatewayRouteTableId?: string; - - /** - *

                                      The Amazon Resource Name (ARN) of the local gateway route table.

                                      - */ - LocalGatewayRouteTableArn?: string; - - /** - *

                                      The ID of the local gateway.

                                      - */ - LocalGatewayId?: string; - - /** - *

                                      The Amazon Resource Name (ARN) of the Outpost.

                                      - */ - OutpostArn?: string; - +export interface EbsOptimizedInfo { /** - *

                                      The ID of the Amazon Web Services account that owns the local gateway route table.

                                      + *

                                      The baseline bandwidth performance for an EBS-optimized instance type, in Mbps.

                                      */ - OwnerId?: string; + BaselineBandwidthInMbps?: number; /** - *

                                      The state of the local gateway route table.

                                      + *

                                      The baseline throughput performance for an EBS-optimized instance type, in MB/s.

                                      */ - State?: string; + BaselineThroughputInMBps?: number; /** - *

                                      The tags assigned to the local gateway route table.

                                      + *

                                      The baseline input/output storage operations per seconds for an EBS-optimized instance type.

                                      */ - Tags?: Tag[]; -} + BaselineIops?: number; -export namespace LocalGatewayRouteTable { /** - * @internal + *

                                      The maximum bandwidth performance for an EBS-optimized instance type, in Mbps.

                                      */ - export const filterSensitiveLog = (obj: LocalGatewayRouteTable): any => ({ - ...obj, - }); -} + MaximumBandwidthInMbps?: number; -export interface DescribeLocalGatewayRouteTablesResult { /** - *

                                      Information about the local gateway route tables.

                                      + *

                                      The maximum throughput performance for an EBS-optimized instance type, in MB/s.

                                      */ - LocalGatewayRouteTables?: LocalGatewayRouteTable[]; + MaximumThroughputInMBps?: number; /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + *

                                      The maximum input/output storage operations per second for an EBS-optimized instance type.

                                      */ - NextToken?: string; + MaximumIops?: number; } -export namespace DescribeLocalGatewayRouteTablesResult { +export namespace EbsOptimizedInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTablesResult): any => ({ + export const filterSensitiveLog = (obj: EbsOptimizedInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { - /** - *

                                      The IDs of the associations.

                                      - */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[]; - - /** - *

                                      One or more filters.

                                      - *
                                        - *
                                      • - *

                                        - * local-gateway-id - The ID of a local gateway.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-route-table-id - The ID of the local gateway route table.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

                                        - *
                                      • - *
                                      • - *

                                        - * state - The state of the association.

                                        - *
                                      • - *
                                      - */ - Filters?: Filter[]; - - /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      - */ - MaxResults?: number; - - /** - *

                                      The token for the next page of results.

                                      - */ - NextToken?: string; +export type EbsOptimizedSupport = "default" | "supported" | "unsupported"; - /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      - */ - DryRun?: boolean; -} +export type EbsEncryptionSupport = "supported" | "unsupported"; -export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { - /** - * @internal - */ - export const filterSensitiveLog = ( - obj: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest - ): any => ({ - ...obj, - }); +export enum EbsNvmeSupport { + REQUIRED = "required", + SUPPORTED = "supported", + UNSUPPORTED = "unsupported", } /** - *

                                      Describes an association between a local gateway route table and a virtual interface group.

                                      + *

                                      Describes the Amazon EBS features supported by the instance type.

                                      */ -export interface LocalGatewayRouteTableVirtualInterfaceGroupAssociation { - /** - *

                                      The ID of the association.

                                      - */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociationId?: string; - - /** - *

                                      The ID of the virtual interface group.

                                      - */ - LocalGatewayVirtualInterfaceGroupId?: string; - - /** - *

                                      The ID of the local gateway.

                                      - */ - LocalGatewayId?: string; - - /** - *

                                      The ID of the local gateway route table.

                                      - */ - LocalGatewayRouteTableId?: string; - +export interface EbsInfo { /** - *

                                      The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

                                      + *

                                      Indicates whether the instance type is Amazon EBS-optimized. For more information, see Amazon EBS-optimized + * instances in Amazon EC2 User Guide.

                                      */ - LocalGatewayRouteTableArn?: string; + EbsOptimizedSupport?: EbsOptimizedSupport | string; /** - *

                                      The ID of the Amazon Web Services account that owns the local gateway virtual interface group association.

                                      + *

                                      Indicates whether Amazon EBS encryption is supported.

                                      */ - OwnerId?: string; + EncryptionSupport?: EbsEncryptionSupport | string; /** - *

                                      The state of the association.

                                      + *

                                      Describes the optimized EBS performance for the instance type.

                                      */ - State?: string; + EbsOptimizedInfo?: EbsOptimizedInfo; /** - *

                                      The tags assigned to the association.

                                      + *

                                      Indicates whether non-volatile memory express (NVMe) is supported.

                                      */ - Tags?: Tag[]; + NvmeSupport?: EbsNvmeSupport | string; } -export namespace LocalGatewayRouteTableVirtualInterfaceGroupAssociation { +export namespace EbsInfo { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGatewayRouteTableVirtualInterfaceGroupAssociation): any => ({ + export const filterSensitiveLog = (obj: EbsInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { - /** - *

                                      Information about the associations.

                                      - */ - LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[]; - +/** + *

                                      Describes the memory for the FPGA accelerator for the instance type.

                                      + */ +export interface FpgaDeviceMemoryInfo { /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + *

                                      The size of the memory available to the FPGA accelerator, in MiB.

                                      */ - NextToken?: string; + SizeInMiB?: number; } -export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { +export namespace FpgaDeviceMemoryInfo { /** * @internal */ - export const filterSensitiveLog = ( - obj: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult - ): any => ({ + export const filterSensitiveLog = (obj: FpgaDeviceMemoryInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { - /** - *

                                      The IDs of the associations.

                                      - */ - LocalGatewayRouteTableVpcAssociationIds?: string[]; - - /** - *

                                      One or more filters.

                                      - *
                                        - *
                                      • - *

                                        - * local-gateway-id - The ID of a local gateway.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-route-table-id - The ID of the local gateway route table.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-route-table-vpc-association-id - The ID of the association.

                                        - *
                                      • - *
                                      • - *

                                        - * state - The state of the association.

                                        - *
                                      • - *
                                      • - *

                                        - * vpc-id - The ID of the VPC.

                                        - *
                                      • - *
                                      +/** + *

                                      Describes the FPGA accelerator for the instance type.

                                      + */ +export interface FpgaDeviceInfo { + /** + *

                                      The name of the FPGA accelerator.

                                      */ - Filters?: Filter[]; + Name?: string; /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      + *

                                      The manufacturer of the FPGA accelerator.

                                      */ - MaxResults?: number; + Manufacturer?: string; /** - *

                                      The token for the next page of results.

                                      + *

                                      The count of FPGA accelerators for the instance type.

                                      */ - NextToken?: string; + Count?: number; /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      + *

                                      Describes the memory for the FPGA accelerator for the instance type.

                                      */ - DryRun?: boolean; + MemoryInfo?: FpgaDeviceMemoryInfo; } -export namespace DescribeLocalGatewayRouteTableVpcAssociationsRequest { +export namespace FpgaDeviceInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTableVpcAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: FpgaDeviceInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { +/** + *

                                      Describes the FPGAs for the instance type.

                                      + */ +export interface FpgaInfo { /** - *

                                      Information about the associations.

                                      + *

                                      Describes the FPGAs for the instance type.

                                      */ - LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[]; + Fpgas?: FpgaDeviceInfo[]; /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + *

                                      The total memory of all FPGA accelerators for the instance type.

                                      */ - NextToken?: string; + TotalFpgaMemoryInMiB?: number; } -export namespace DescribeLocalGatewayRouteTableVpcAssociationsResult { +export namespace FpgaInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTableVpcAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: FpgaInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewaysRequest { +/** + *

                                      Describes the memory available to the GPU accelerator.

                                      + */ +export interface GpuDeviceMemoryInfo { /** - *

                                      One or more filters.

                                      - *
                                        - *
                                      • - *

                                        - * local-gateway-id - The ID of a local gateway.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-route-table-id - The ID of the local gateway route table.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

                                        - *
                                      • - *
                                      • - *

                                        - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                        - *
                                      • - *
                                      • - *

                                        - * state - The state of the association.

                                        - *
                                      • - *
                                      + *

                                      The size of the memory available to the GPU accelerator, in MiB.

                                      */ - LocalGatewayIds?: string[]; + SizeInMiB?: number; +} +export namespace GpuDeviceMemoryInfo { /** - *

                                      One or more filters.

                                      + * @internal */ - Filters?: Filter[]; + export const filterSensitiveLog = (obj: GpuDeviceMemoryInfo): any => ({ + ...obj, + }); +} +/** + *

                                      Describes the GPU accelerators for the instance type.

                                      + */ +export interface GpuDeviceInfo { /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      + *

                                      The name of the GPU accelerator.

                                      */ - MaxResults?: number; + Name?: string; /** - *

                                      The token for the next page of results.

                                      + *

                                      The manufacturer of the GPU accelerator.

                                      */ - NextToken?: string; + Manufacturer?: string; /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      + *

                                      The number of GPUs for the instance type.

                                      */ - DryRun?: boolean; + Count?: number; + + /** + *

                                      Describes the memory available to the GPU accelerator.

                                      + */ + MemoryInfo?: GpuDeviceMemoryInfo; } -export namespace DescribeLocalGatewaysRequest { +export namespace GpuDeviceInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: GpuDeviceInfo): any => ({ ...obj, }); } /** - *

                                      Describes a local gateway.

                                      + *

                                      Describes the GPU accelerators for the instance type.

                                      */ -export interface LocalGateway { +export interface GpuInfo { /** - *

                                      The ID of the local gateway.

                                      + *

                                      Describes the GPU accelerators for the instance type.

                                      */ - LocalGatewayId?: string; + Gpus?: GpuDeviceInfo[]; /** - *

                                      The Amazon Resource Name (ARN) of the Outpost.

                                      + *

                                      The total size of the memory for the GPU accelerators for the instance type, in MiB.

                                      */ - OutpostArn?: string; + TotalGpuMemoryInMiB?: number; +} +export namespace GpuInfo { /** - *

                                      The ID of the Amazon Web Services account that owns the local gateway.

                                      + * @internal */ - OwnerId?: string; + export const filterSensitiveLog = (obj: GpuInfo): any => ({ + ...obj, + }); +} + +export enum InstanceTypeHypervisor { + NITRO = "nitro", + XEN = "xen", +} + +/** + *

                                      Describes the Inference accelerators for the instance type.

                                      + */ +export interface InferenceDeviceInfo { + /** + *

                                      The number of Inference accelerators for the instance type.

                                      + */ + Count?: number; /** - *

                                      The state of the local gateway.

                                      + *

                                      The name of the Inference accelerator.

                                      */ - State?: string; + Name?: string; /** - *

                                      The tags assigned to the local gateway.

                                      + *

                                      The manufacturer of the Inference accelerator.

                                      */ - Tags?: Tag[]; + Manufacturer?: string; } -export namespace LocalGateway { +export namespace InferenceDeviceInfo { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGateway): any => ({ + export const filterSensitiveLog = (obj: InferenceDeviceInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewaysResult { +/** + *

                                      Describes the Inference accelerators for the instance type.

                                      + */ +export interface InferenceAcceleratorInfo { /** - *

                                      Information about the local gateways.

                                      + *

                                      Describes the Inference accelerators for the instance type.

                                      */ - LocalGateways?: LocalGateway[]; + Accelerators?: InferenceDeviceInfo[]; +} +export namespace InferenceAcceleratorInfo { /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: InferenceAcceleratorInfo): any => ({ + ...obj, + }); } -export namespace DescribeLocalGatewaysResult { +export type DiskType = "hdd" | "ssd"; + +/** + *

                                      Describes a disk.

                                      + */ +export interface DiskInfo { + /** + *

                                      The size of the disk in GB.

                                      + */ + SizeInGB?: number; + + /** + *

                                      The number of disks with this configuration.

                                      + */ + Count?: number; + + /** + *

                                      The type of disk.

                                      + */ + Type?: DiskType | string; +} + +export namespace DiskInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: DiskInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { - /** - *

                                      The IDs of the virtual interface groups.

                                      - */ - LocalGatewayVirtualInterfaceGroupIds?: string[]; +export enum InstanceStorageEncryptionSupport { + required = "required", + unsupported = "unsupported", +} + +export enum EphemeralNvmeSupport { + REQUIRED = "required", + SUPPORTED = "supported", + UNSUPPORTED = "unsupported", +} +/** + *

                                      Describes the instance store features that are supported by the instance type.

                                      + */ +export interface InstanceStorageInfo { /** - *

                                      One or more filters.

                                      - *
                                        - *
                                      • - *

                                        - * local-gateway-id - The ID of a local gateway.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-virtual-interface-id - The ID of the virtual interface.

                                        - *
                                      • - *
                                      • - *

                                        - * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

                                        - *
                                      • - *
                                      + *

                                      The total size of the disks, in GB.

                                      */ - Filters?: Filter[]; + TotalSizeInGB?: number; /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      + *

                                      Describes the disks that are available for the instance type.

                                      */ - MaxResults?: number; + Disks?: DiskInfo[]; /** - *

                                      The token for the next page of results.

                                      + *

                                      Indicates whether non-volatile memory express (NVMe) is supported.

                                      */ - NextToken?: string; + NvmeSupport?: EphemeralNvmeSupport | string; /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      + *

                                      Indicates whether data is encrypted at rest.

                                      */ - DryRun?: boolean; + EncryptionSupport?: InstanceStorageEncryptionSupport | string; } -export namespace DescribeLocalGatewayVirtualInterfaceGroupsRequest { +export namespace InstanceStorageInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfaceGroupsRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceStorageInfo): any => ({ ...obj, }); } /** - *

                                      Describes a local gateway virtual interface group.

                                      + *

                                      Describes the memory for the instance type.

                                      */ -export interface LocalGatewayVirtualInterfaceGroup { - /** - *

                                      The ID of the virtual interface group.

                                      - */ - LocalGatewayVirtualInterfaceGroupId?: string; - - /** - *

                                      The IDs of the virtual interfaces.

                                      - */ - LocalGatewayVirtualInterfaceIds?: string[]; - +export interface MemoryInfo { /** - *

                                      The ID of the local gateway.

                                      + *

                                      The size of the memory, in MiB.

                                      */ - LocalGatewayId?: string; + SizeInMiB?: number; +} +export namespace MemoryInfo { /** - *

                                      The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

                                      + * @internal */ - OwnerId?: string; + export const filterSensitiveLog = (obj: MemoryInfo): any => ({ + ...obj, + }); +} +/** + *

                                      Describes the Elastic Fabric Adapters for the instance type.

                                      + */ +export interface EfaInfo { /** - *

                                      The tags assigned to the virtual interface group.

                                      + *

                                      The maximum number of Elastic Fabric Adapters for the instance type.

                                      */ - Tags?: Tag[]; + MaximumEfaInterfaces?: number; } -export namespace LocalGatewayVirtualInterfaceGroup { +export namespace EfaInfo { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGatewayVirtualInterfaceGroup): any => ({ + export const filterSensitiveLog = (obj: EfaInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { +export type EnaSupport = "required" | "supported" | "unsupported"; + +/** + *

                                      Describes the network card support of the instance type.

                                      + */ +export interface NetworkCardInfo { /** - *

                                      The virtual interface groups.

                                      + *

                                      The index of the network card.

                                      */ - LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[]; + NetworkCardIndex?: number; /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + *

                                      The network performance of the network card.

                                      */ - NextToken?: string; + NetworkPerformance?: string; + + /** + *

                                      The maximum number of network interfaces for the network card.

                                      + */ + MaximumNetworkInterfaces?: number; } -export namespace DescribeLocalGatewayVirtualInterfaceGroupsResult { +export namespace NetworkCardInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfaceGroupsResult): any => ({ + export const filterSensitiveLog = (obj: NetworkCardInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewayVirtualInterfacesRequest { +/** + *

                                      Describes the networking features of the instance type.

                                      + */ +export interface NetworkInfo { /** - *

                                      The IDs of the virtual interfaces.

                                      + *

                                      The network performance.

                                      */ - LocalGatewayVirtualInterfaceIds?: string[]; + NetworkPerformance?: string; /** - *

                                      One or more filters.

                                      + *

                                      The maximum number of network interfaces for the instance type.

                                      */ - Filters?: Filter[]; + MaximumNetworkInterfaces?: number; /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      + *

                                      The maximum number of physical network cards that can be allocated to the instance.

                                      */ - MaxResults?: number; + MaximumNetworkCards?: number; /** - *

                                      The token for the next page of results.

                                      + *

                                      The index of the default network card, starting at 0.

                                      */ - NextToken?: string; + DefaultNetworkCardIndex?: number; /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      + *

                                      Describes the network cards for the instance type.

                                      */ - DryRun?: boolean; -} + NetworkCards?: NetworkCardInfo[]; -export namespace DescribeLocalGatewayVirtualInterfacesRequest { /** - * @internal + *

                                      The maximum number of IPv4 addresses per network interface.

                                      */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfacesRequest): any => ({ - ...obj, - }); -} + Ipv4AddressesPerInterface?: number; -/** - *

                                      Describes a local gateway virtual interface.

                                      - */ -export interface LocalGatewayVirtualInterface { /** - *

                                      The ID of the virtual interface.

                                      + *

                                      The maximum number of IPv6 addresses per network interface.

                                      */ - LocalGatewayVirtualInterfaceId?: string; + Ipv6AddressesPerInterface?: number; /** - *

                                      The ID of the local gateway.

                                      + *

                                      Indicates whether IPv6 is supported.

                                      */ - LocalGatewayId?: string; + Ipv6Supported?: boolean; /** - *

                                      The ID of the VLAN.

                                      + *

                                      Indicates whether Elastic Network Adapter (ENA) is supported.

                                      */ - Vlan?: number; + EnaSupport?: EnaSupport | string; /** - *

                                      The local address.

                                      + *

                                      Indicates whether Elastic Fabric Adapter (EFA) is supported.

                                      */ - LocalAddress?: string; + EfaSupported?: boolean; /** - *

                                      The peer address.

                                      + *

                                      Describes the Elastic Fabric Adapters for the instance type.

                                      */ - PeerAddress?: string; + EfaInfo?: EfaInfo; /** - *

                                      The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

                                      + *

                                      Indicates whether the instance type automatically encrypts in-transit traffic between instances.

                                      */ - LocalBgpAsn?: number; + EncryptionInTransitSupported?: boolean; +} +export namespace NetworkInfo { /** - *

                                      The peer BGP ASN.

                                      + * @internal */ - PeerBgpAsn?: number; + export const filterSensitiveLog = (obj: NetworkInfo): any => ({ + ...obj, + }); +} - /** - *

                                      The ID of the Amazon Web Services account that owns the local gateway virtual interface.

                                      - */ - OwnerId?: string; +export type PlacementGroupStrategy = "cluster" | "partition" | "spread"; +/** + *

                                      Describes the placement group support of the instance type.

                                      + */ +export interface PlacementGroupInfo { /** - *

                                      The tags assigned to the virtual interface.

                                      + *

                                      The supported placement group types.

                                      */ - Tags?: Tag[]; + SupportedStrategies?: (PlacementGroupStrategy | string)[]; } -export namespace LocalGatewayVirtualInterface { +export namespace PlacementGroupInfo { /** * @internal */ - export const filterSensitiveLog = (obj: LocalGatewayVirtualInterface): any => ({ + export const filterSensitiveLog = (obj: PlacementGroupInfo): any => ({ ...obj, }); } -export interface DescribeLocalGatewayVirtualInterfacesResult { +export type ArchitectureType = "arm64" | "i386" | "x86_64" | "x86_64_mac"; + +/** + *

                                      Describes the processor used by the instance type.

                                      + */ +export interface ProcessorInfo { /** - *

                                      Information about the virtual interfaces.

                                      + *

                                      The architectures supported by the instance type.

                                      */ - LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[]; + SupportedArchitectures?: (ArchitectureType | string)[]; /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + *

                                      The speed of the processor, in GHz.

                                      */ - NextToken?: string; + SustainedClockSpeedInGhz?: number; } -export namespace DescribeLocalGatewayVirtualInterfacesResult { +export namespace ProcessorInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfacesResult): any => ({ + export const filterSensitiveLog = (obj: ProcessorInfo): any => ({ ...obj, }); } -export interface DescribeManagedPrefixListsRequest { +export type BootModeType = "legacy-bios" | "uefi"; + +export type RootDeviceType = "ebs" | "instance-store"; + +export type UsageClassType = "on-demand" | "spot"; + +/** + *

                                      Describes the vCPU configurations for the instance type.

                                      + */ +export interface VCpuInfo { /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      + *

                                      The default number of vCPUs for the instance type.

                                      */ - DryRun?: boolean; + DefaultVCpus?: number; /** - *

                                      One or more filters.

                                      - *
                                        - *
                                      • - *

                                        - * owner-id - The ID of the prefix list owner.

                                        - *
                                      • - *
                                      • - *

                                        - * prefix-list-id - The ID of the prefix list.

                                        - *
                                      • - *
                                      • - *

                                        - * prefix-list-name - The name of the prefix list.

                                        - *
                                      • - *
                                      + *

                                      The default number of cores for the instance type.

                                      */ - Filters?: Filter[]; + DefaultCores?: number; /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      + *

                                      The default number of threads per core for the instance type.

                                      */ - MaxResults?: number; + DefaultThreadsPerCore?: number; /** - *

                                      The token for the next page of results.

                                      + *

                                      The valid number of cores that can be configured for the instance type.

                                      */ - NextToken?: string; + ValidCores?: number[]; /** - *

                                      One or more prefix list IDs.

                                      + *

                                      The valid number of threads per core that can be configured for the instance type.

                                      */ - PrefixListIds?: string[]; + ValidThreadsPerCore?: number[]; } -export namespace DescribeManagedPrefixListsRequest { +export namespace VCpuInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeManagedPrefixListsRequest): any => ({ + export const filterSensitiveLog = (obj: VCpuInfo): any => ({ ...obj, }); } -export interface DescribeManagedPrefixListsResult { +/** + *

                                      Describes the instance type.

                                      + */ +export interface InstanceTypeInfo { + /** + *

                                      The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                      + */ + InstanceType?: _InstanceType | string; + + /** + *

                                      Indicates whether the instance type is current generation.

                                      + */ + CurrentGeneration?: boolean; + + /** + *

                                      Indicates whether the instance type is eligible for the free tier.

                                      + */ + FreeTierEligible?: boolean; + + /** + *

                                      Indicates whether the instance type is offered for spot or On-Demand.

                                      + */ + SupportedUsageClasses?: (UsageClassType | string)[]; + /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + *

                                      The supported root device types.

                                      */ - NextToken?: string; + SupportedRootDeviceTypes?: (RootDeviceType | string)[]; /** - *

                                      Information about the prefix lists.

                                      + *

                                      The supported virtualization types.

                                      */ - PrefixLists?: ManagedPrefixList[]; -} + SupportedVirtualizationTypes?: (VirtualizationType | string)[]; -export namespace DescribeManagedPrefixListsResult { /** - * @internal + *

                                      Indicates whether the instance is a bare metal instance type.

                                      */ - export const filterSensitiveLog = (obj: DescribeManagedPrefixListsResult): any => ({ - ...obj, - }); -} + BareMetal?: boolean; -export interface DescribeMovingAddressesRequest { /** - *

                                      One or more filters.

                                      - *
                                        - *
                                      • - *

                                        - * moving-status - The status of the Elastic IP address - * (MovingToVpc | RestoringToClassic).

                                        - *
                                      • - *
                                      + *

                                      The hypervisor for the instance type.

                                      */ - Filters?: Filter[]; + Hypervisor?: InstanceTypeHypervisor | string; /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      + *

                                      Describes the processor.

                                      */ - DryRun?: boolean; + ProcessorInfo?: ProcessorInfo; /** - *

                                      The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1000; if - * MaxResults is given a value outside of this range, an error is returned.

                                      - *

                                      Default: If no value is provided, the default is 1000.

                                      + *

                                      Describes the vCPU configurations for the instance type.

                                      */ - MaxResults?: number; + VCpuInfo?: VCpuInfo; /** - *

                                      The token for the next page of results.

                                      + *

                                      Describes the memory for the instance type.

                                      */ - NextToken?: string; + MemoryInfo?: MemoryInfo; /** - *

                                      One or more Elastic IP addresses.

                                      + *

                                      Indicates whether instance storage is supported.

                                      */ - PublicIps?: string[]; -} + InstanceStorageSupported?: boolean; -export namespace DescribeMovingAddressesRequest { /** - * @internal + *

                                      Describes the instance storage for the instance type.

                                      */ - export const filterSensitiveLog = (obj: DescribeMovingAddressesRequest): any => ({ - ...obj, - }); -} - -export type MoveStatus = "movingToVpc" | "restoringToClassic"; + InstanceStorageInfo?: InstanceStorageInfo; -/** - *

                                      Describes the status of a moving Elastic IP address.

                                      - */ -export interface MovingAddressStatus { /** - *

                                      The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

                                      + *

                                      Describes the Amazon EBS settings for the instance type.

                                      */ - MoveStatus?: MoveStatus | string; + EbsInfo?: EbsInfo; /** - *

                                      The Elastic IP address.

                                      + *

                                      Describes the network settings for the instance type.

                                      */ - PublicIp?: string; -} + NetworkInfo?: NetworkInfo; -export namespace MovingAddressStatus { /** - * @internal + *

                                      Describes the GPU accelerator settings for the instance type.

                                      */ - export const filterSensitiveLog = (obj: MovingAddressStatus): any => ({ - ...obj, - }); -} + GpuInfo?: GpuInfo; -export interface DescribeMovingAddressesResult { /** - *

                                      The status for each Elastic IP address.

                                      + *

                                      Describes the FPGA accelerator settings for the instance type.

                                      */ - MovingAddressStatuses?: MovingAddressStatus[]; + FpgaInfo?: FpgaInfo; /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + *

                                      Describes the placement group settings for the instance type.

                                      */ - NextToken?: string; -} + PlacementGroupInfo?: PlacementGroupInfo; -export namespace DescribeMovingAddressesResult { /** - * @internal + *

                                      Describes the Inference accelerator settings for the instance type.

                                      */ - export const filterSensitiveLog = (obj: DescribeMovingAddressesResult): any => ({ - ...obj, - }); -} + InferenceAcceleratorInfo?: InferenceAcceleratorInfo; -export interface DescribeNatGatewaysRequest { /** - *

                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                      + *

                                      Indicates whether On-Demand hibernation is supported.

                                      */ - DryRun?: boolean; + HibernationSupported?: boolean; /** - *

                                      One or more filters.

                                      - *
                                        - *
                                      • - *

                                        - * nat-gateway-id - The ID of the NAT gateway.

                                        - *
                                      • - *
                                      • - *

                                        - * state - The state of the NAT gateway (pending | - * failed | available | deleting | deleted).

                                        - *
                                      • - *
                                      • - *

                                        - * subnet-id - The ID of the subnet in which the NAT gateway resides.

                                        - *
                                      • - *
                                      • - *

                                        - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                        - *
                                      • - *
                                      • - *

                                        - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                        - *
                                      • - *
                                      • - *

                                        - * vpc-id - The ID of the VPC in which the NAT gateway resides.

                                        - *
                                      • - *
                                      + *

                                      Indicates whether the instance type is a burstable performance instance type.

                                      */ - Filter?: Filter[]; + BurstablePerformanceSupported?: boolean; /** - *

                                      The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                      + *

                                      Indicates whether Dedicated Hosts are supported on the instance type.

                                      */ - MaxResults?: number; + DedicatedHostsSupported?: boolean; /** - *

                                      One or more NAT gateway IDs.

                                      + *

                                      Indicates whether auto recovery is supported.

                                      */ - NatGatewayIds?: string[]; + AutoRecoverySupported?: boolean; /** - *

                                      The token for the next page of results.

                                      + *

                                      The supported boot modes. For more information, see Boot modes in the + * Amazon EC2 User Guide.

                                      */ - NextToken?: string; + SupportedBootModes?: (BootModeType | string)[]; } -export namespace DescribeNatGatewaysRequest { +export namespace InstanceTypeInfo { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNatGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceTypeInfo): any => ({ ...obj, }); } -export interface DescribeNatGatewaysResult { +export interface DescribeInstanceTypesResult { /** - *

                                      Information about the NAT gateways.

                                      + *

                                      The instance type. For more information, see Instance types in the Amazon EC2 User Guide.

                                      */ - NatGateways?: NatGateway[]; + InstanceTypes?: InstanceTypeInfo[]; /** - *

                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                      + *

                                      The token to use to retrieve the next page of results. This value is null when there + * are no more results to return.

                                      */ NextToken?: string; } -export namespace DescribeNatGatewaysResult { +export namespace DescribeInstanceTypesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNatGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: DescribeInstanceTypesResult): any => ({ ...obj, }); } -export interface DescribeNetworkAclsRequest { +export interface DescribeInternetGatewaysRequest { /** *

                                      One or more filters.

                                      - *
                                        - *
                                      • - *

                                        - * association.association-id - The ID of an association ID for the ACL.

                                        - *
                                      • - *
                                      • - *

                                        - * association.network-acl-id - The ID of the network ACL involved in the association.

                                        - *
                                      • - *
                                      • - *

                                        - * association.subnet-id - The ID of the subnet involved in the association.

                                        - *
                                      • - *
                                      • - *

                                        - * default - Indicates whether the ACL is the default network ACL for the VPC.

                                        - *
                                      • - *
                                      • - *

                                        - * entry.cidr - The IPv4 CIDR range specified in the entry.

                                        - *
                                      • - *
                                      • - *

                                        - * entry.icmp.code - The ICMP code specified in the entry, if any.

                                        - *
                                      • - *
                                      • - *

                                        - * entry.icmp.type - The ICMP type specified in the entry, if any.

                                        - *
                                      • - *
                                      • - *

                                        - * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

                                        - *
                                      • - *
                                      • - *

                                        - * entry.port-range.from - The start of the port range specified in the entry.

                                        - *
                                      • - *
                                      • - *

                                        - * entry.port-range.to - The end of the port range specified in the entry.

                                        - *
                                      • - *
                                      • - *

                                        - * entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

                                        - *
                                      • + *
                                          *
                                        • - *

                                          - * entry.rule-action - Allows or denies the matching traffic (allow | deny).

                                          - *
                                        • + *

                                          + * attachment.state - The current state of the attachment between the gateway + * and the VPC (available). Present only if a VPC is attached.

                                          + * *
                                        • - *

                                          - * entry.rule-number - The number of an entry (in other words, rule) in - * the set of ACL entries.

                                          - *
                                        • + *

                                          + * attachment.vpc-id - The ID of an attached VPC.

                                          + * *
                                        • - *

                                          - * network-acl-id - The ID of the network ACL.

                                          - *
                                        • + *

                                          + * internet-gateway-id - The ID of the Internet gateway.

                                          + * *
                                        • - *

                                          - * owner-id - The ID of the Amazon Web Services account that owns the network ACL.

                                          - *
                                        • + *

                                          + * owner-id - The ID of the Amazon Web Services account that owns the internet gateway.

                                          + * *
                                        • - *

                                          + *

                                          * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                          - *
                                        • + * *
                                        • - *

                                          + *

                                          * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                          - *
                                        • - *
                                        • - *

                                          - * vpc-id - The ID of the VPC for the network ACL.

                                          - *
                                        • + * *
                                        */ Filters?: Filter[]; @@ -5486,10 +4961,10 @@ export interface DescribeNetworkAclsRequest { DryRun?: boolean; /** - *

                                        One or more network ACL IDs.

                                        - *

                                        Default: Describes all your network ACLs.

                                        + *

                                        One or more internet gateway IDs.

                                        + *

                                        Default: Describes all your internet gateways.

                                        */ - NetworkAclIds?: string[]; + InternetGatewayIds?: string[]; /** *

                                        The token for the next page of results.

                                        @@ -5503,20 +4978,20 @@ export interface DescribeNetworkAclsRequest { MaxResults?: number; } -export namespace DescribeNetworkAclsRequest { +export namespace DescribeInternetGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkAclsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeInternetGatewaysRequest): any => ({ ...obj, }); } -export interface DescribeNetworkAclsResult { +export interface DescribeInternetGatewaysResult { /** - *

                                        Information about one or more network ACLs.

                                        + *

                                        Information about one or more internet gateways.

                                        */ - NetworkAcls?: NetworkAcl[]; + InternetGateways?: InternetGateway[]; /** *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        @@ -5524,52 +4999,29 @@ export interface DescribeNetworkAclsResult { NextToken?: string; } -export namespace DescribeNetworkAclsResult { +export namespace DescribeInternetGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkAclsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeInternetGatewaysResult): any => ({ ...obj, }); } -export interface DescribeNetworkInsightsAnalysesRequest { - /** - *

                                        The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

                                        - */ - NetworkInsightsAnalysisIds?: string[]; - - /** - *

                                        The ID of the path. You must specify either a path ID or analysis IDs.

                                        - */ - NetworkInsightsPathId?: string; - - /** - *

                                        The time when the network insights analyses started.

                                        - */ - AnalysisStartTime?: Date; - +export interface DescribeIpv6PoolsRequest { /** - *

                                        The time when the network insights analyses ended.

                                        + *

                                        The IDs of the IPv6 address pools.

                                        */ - AnalysisEndTime?: Date; + PoolIds?: string[]; /** - *

                                        The filters. The following are possible values:

                                        - *
                                          - *
                                        • - *

                                          PathFound - A Boolean value that indicates whether a feasible path is found.

                                          - *
                                        • - *
                                        • - *

                                          Status - The status of the analysis (running | succeeded | failed).

                                          - *
                                        • - *
                                        + *

                                        The token for the next page of results.

                                        */ - Filters?: Filter[]; + NextToken?: string; /** *

                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                        + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        */ MaxResults?: number; @@ -5581,718 +5033,914 @@ export interface DescribeNetworkInsightsAnalysesRequest { DryRun?: boolean; /** - *

                                        The token for the next page of results.

                                        + *

                                        One or more filters.

                                        + *
                                          + *
                                        • + *

                                          + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                          + *
                                        • + *
                                        • + *

                                          + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                          + *
                                        • + *
                                        */ - NextToken?: string; + Filters?: Filter[]; } -export namespace DescribeNetworkInsightsAnalysesRequest { +export namespace DescribeIpv6PoolsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInsightsAnalysesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeIpv6PoolsRequest): any => ({ ...obj, }); } /** - *

                                        Describes a path component.

                                        + *

                                        Describes a CIDR block for an address pool.

                                        */ -export interface AnalysisComponent { - /** - *

                                        The ID of the component.

                                        - */ - Id?: string; - +export interface PoolCidrBlock { /** - *

                                        The Amazon Resource Name (ARN) of the component.

                                        + *

                                        The CIDR block.

                                        */ - Arn?: string; + Cidr?: string; } -export namespace AnalysisComponent { +export namespace PoolCidrBlock { /** * @internal */ - export const filterSensitiveLog = (obj: AnalysisComponent): any => ({ + export const filterSensitiveLog = (obj: PoolCidrBlock): any => ({ ...obj, }); } /** - *

                                        Describes a network access control (ACL) rule.

                                        + *

                                        Describes an IPv6 address pool.

                                        */ -export interface AnalysisAclRule { - /** - *

                                        The IPv4 address range, in CIDR notation.

                                        - */ - Cidr?: string; - - /** - *

                                        Indicates whether the rule is an outbound rule.

                                        - */ - Egress?: boolean; - - /** - *

                                        The range of ports.

                                        - */ - PortRange?: PortRange; - - /** - *

                                        The protocol.

                                        - */ - Protocol?: string; - - /** - *

                                        Indicates whether to allow or deny traffic that matches the rule.

                                        - */ - RuleAction?: string; - +export interface Ipv6Pool { /** - *

                                        The rule number.

                                        + *

                                        The ID of the address pool.

                                        */ - RuleNumber?: number; -} + PoolId?: string; -export namespace AnalysisAclRule { /** - * @internal + *

                                        The description for the address pool.

                                        */ - export const filterSensitiveLog = (obj: AnalysisAclRule): any => ({ - ...obj, - }); -} + Description?: string; -/** - *

                                        Describes a load balancer listener.

                                        - */ -export interface AnalysisLoadBalancerListener { /** - *

                                        The port on which the load balancer is listening.

                                        + *

                                        The CIDR blocks for the address pool.

                                        */ - LoadBalancerPort?: number; + PoolCidrBlocks?: PoolCidrBlock[]; /** - *

                                        [Classic Load Balancers] The back-end port for the listener.

                                        + *

                                        Any tags for the address pool.

                                        */ - InstancePort?: number; + Tags?: Tag[]; } -export namespace AnalysisLoadBalancerListener { +export namespace Ipv6Pool { /** * @internal */ - export const filterSensitiveLog = (obj: AnalysisLoadBalancerListener): any => ({ + export const filterSensitiveLog = (obj: Ipv6Pool): any => ({ ...obj, }); } -/** - *

                                        Describes a load balancer target.

                                        - */ -export interface AnalysisLoadBalancerTarget { - /** - *

                                        The IP address.

                                        - */ - Address?: string; - - /** - *

                                        The Availability Zone.

                                        - */ - AvailabilityZone?: string; - +export interface DescribeIpv6PoolsResult { /** - *

                                        Information about the instance.

                                        + *

                                        Information about the IPv6 address pools.

                                        */ - Instance?: AnalysisComponent; + Ipv6Pools?: Ipv6Pool[]; /** - *

                                        The port on which the target is listening.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - Port?: number; + NextToken?: string; } -export namespace AnalysisLoadBalancerTarget { +export namespace DescribeIpv6PoolsResult { /** * @internal */ - export const filterSensitiveLog = (obj: AnalysisLoadBalancerTarget): any => ({ + export const filterSensitiveLog = (obj: DescribeIpv6PoolsResult): any => ({ ...obj, }); } -/** - *

                                        Describes a route table route.

                                        - */ -export interface AnalysisRouteTableRoute { - /** - *

                                        The destination IPv4 address, in CIDR notation.

                                        - */ - DestinationCidr?: string; - - /** - *

                                        The prefix of the Amazon Web Service.

                                        - */ - DestinationPrefixListId?: string; - - /** - *

                                        The ID of an egress-only internet gateway.

                                        - */ - EgressOnlyInternetGatewayId?: string; - - /** - *

                                        The ID of the gateway, such as an internet gateway or virtual private gateway.

                                        - */ - GatewayId?: string; - - /** - *

                                        The ID of the instance, such as a NAT instance.

                                        - */ - InstanceId?: string; - - /** - *

                                        The ID of a NAT gateway.

                                        - */ - NatGatewayId?: string; - - /** - *

                                        The ID of a network interface.

                                        - */ - NetworkInterfaceId?: string; - +export interface DescribeKeyPairsRequest { /** - *

                                        Describes how the route was created. The following are possible values:

                                        + *

                                        The filters.

                                        *
                                          *
                                        • - *

                                          - * CreateRouteTable - The route was automatically created when the route table was created.

                                          - *
                                        • + *

                                          + * key-pair-id - The ID of the key pair.

                                          + * *
                                        • *

                                          - * CreateRoute - The route was manually added to the route table.

                                          + * fingerprint - The fingerprint of the key pair.

                                          *
                                        • *
                                        • *

                                          - * EnableVgwRoutePropagation - The route was propagated by route propagation.

                                          + * key-name - The name of the key pair.

                                          *
                                        • + *
                                        • + *

                                          + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                          + *
                                        • + *
                                        • + *

                                          + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                          + *
                                        • *
                                        */ - Origin?: string; + Filters?: Filter[]; /** - *

                                        The ID of a transit gateway.

                                        + *

                                        The key pair names.

                                        + *

                                        Default: Describes all of your key pairs.

                                        */ - TransitGatewayId?: string; + KeyNames?: string[]; /** - *

                                        The ID of a VPC peering connection.

                                        + *

                                        The IDs of the key pairs.

                                        */ - VpcPeeringConnectionId?: string; + KeyPairIds?: string[]; + + /** + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        + */ + DryRun?: boolean; } -export namespace AnalysisRouteTableRoute { +export namespace DescribeKeyPairsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: AnalysisRouteTableRoute): any => ({ + export const filterSensitiveLog = (obj: DescribeKeyPairsRequest): any => ({ ...obj, }); } /** - *

                                        Describes a security group rule.

                                        + *

                                        Describes a key pair.

                                        */ -export interface AnalysisSecurityGroupRule { +export interface KeyPairInfo { /** - *

                                        The IPv4 address range, in CIDR notation.

                                        + *

                                        The ID of the key pair.

                                        */ - Cidr?: string; + KeyPairId?: string; /** - *

                                        The direction. The following are possible values:

                                        + *

                                        If you used CreateKeyPair to create the key pair:

                                        *
                                          *
                                        • - *

                                          egress

                                          - *
                                        • + *

                                          For RSA key pairs, the key fingerprint is the SHA-1 digest of the DER encoded private key. + *

                                          + * *
                                        • - *

                                          ingress

                                          - *
                                        • + *

                                          For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 digest, which + * is the default for OpenSSH, starting with OpenSSH 6.8.

                                          + * + *
                                        + *

                                        If you used ImportKeyPair to provide Amazon Web Services the public key:

                                        + *
                                          + *
                                        • + *

                                          For RSA key pairs, the key fingerprint is the MD5 public key fingerprint as specified in section 4 of RFC4716.

                                          + *
                                        • + *
                                        • + *

                                          For ED25519 key pairs, the key fingerprint is the base64-encoded SHA-256 + * digest, which is the default for OpenSSH, starting with OpenSSH 6.8.

                                          + *
                                        • *
                                        */ - Direction?: string; + KeyFingerprint?: string; /** - *

                                        The security group ID.

                                        + *

                                        The name of the key pair.

                                        */ - SecurityGroupId?: string; + KeyName?: string; /** - *

                                        The port range.

                                        + *

                                        The type of key pair.

                                        */ - PortRange?: PortRange; + KeyType?: KeyType | string; /** - *

                                        The prefix list ID.

                                        + *

                                        Any tags applied to the key pair.

                                        */ - PrefixListId?: string; + Tags?: Tag[]; +} +export namespace KeyPairInfo { /** - *

                                        The protocol name.

                                        + * @internal */ - Protocol?: string; + export const filterSensitiveLog = (obj: KeyPairInfo): any => ({ + ...obj, + }); } -export namespace AnalysisSecurityGroupRule { +export interface DescribeKeyPairsResult { + /** + *

                                        Information about the key pairs.

                                        + */ + KeyPairs?: KeyPairInfo[]; +} + +export namespace DescribeKeyPairsResult { /** * @internal */ - export const filterSensitiveLog = (obj: AnalysisSecurityGroupRule): any => ({ + export const filterSensitiveLog = (obj: DescribeKeyPairsResult): any => ({ ...obj, }); } -/** - *

                                        Describes an explanation code for an unreachable path. For more information, see Reachability Analyzer explanation codes.

                                        - */ -export interface Explanation { +export interface DescribeLaunchTemplatesRequest { /** - *

                                        The network ACL.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                        */ - Acl?: AnalysisComponent; + DryRun?: boolean; /** - *

                                        The network ACL rule.

                                        + *

                                        One or more launch template IDs.

                                        */ - AclRule?: AnalysisAclRule; + LaunchTemplateIds?: string[]; /** - *

                                        The IPv4 address, in CIDR notation.

                                        + *

                                        One or more launch template names.

                                        */ - Address?: string; + LaunchTemplateNames?: string[]; /** - *

                                        The IPv4 addresses, in CIDR notation.

                                        + *

                                        One or more filters.

                                        + *
                                          + *
                                        • + *

                                          + * create-time - The time the launch template was created.

                                          + *
                                        • + *
                                        • + *

                                          + * launch-template-name - The name of the launch template.

                                          + *
                                        • + *
                                        • + *

                                          + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                          + *
                                        • + *
                                        • + *

                                          + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                          + *
                                        • + *
                                        */ - Addresses?: string[]; + Filters?: Filter[]; /** - *

                                        The resource to which the component is attached.

                                        + *

                                        The token to request the next page of results.

                                        */ - AttachedTo?: AnalysisComponent; + NextToken?: string; /** - *

                                        The Availability Zones.

                                        + *

                                        The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 1 and 200.

                                        */ - AvailabilityZones?: string[]; + MaxResults?: number; +} +export namespace DescribeLaunchTemplatesRequest { /** - *

                                        The CIDR ranges.

                                        + * @internal */ - Cidrs?: string[]; + export const filterSensitiveLog = (obj: DescribeLaunchTemplatesRequest): any => ({ + ...obj, + }); +} +export interface DescribeLaunchTemplatesResult { /** - *

                                        The component.

                                        + *

                                        Information about the launch templates.

                                        */ - Component?: AnalysisComponent; + LaunchTemplates?: LaunchTemplate[]; /** - *

                                        The customer gateway.

                                        + *

                                        The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                                        */ - CustomerGateway?: AnalysisComponent; + NextToken?: string; +} +export namespace DescribeLaunchTemplatesResult { /** - *

                                        The destination.

                                        + * @internal */ - Destination?: AnalysisComponent; + export const filterSensitiveLog = (obj: DescribeLaunchTemplatesResult): any => ({ + ...obj, + }); +} +export interface DescribeLaunchTemplateVersionsRequest { /** - *

                                        The destination VPC.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                        */ - DestinationVpc?: AnalysisComponent; + DryRun?: boolean; /** - *

                                        The direction. The following are possible values:

                                        - *
                                          - *
                                        • - *

                                          egress

                                          - *
                                        • - *
                                        • - *

                                          ingress

                                          - *
                                        • - *
                                        + *

                                        The ID of the launch template. To describe one or more versions of a specified launch + * template, you must specify either the launch template ID or the launch template name in + * the request. To describe all the latest or default launch template versions in your + * account, you must omit this parameter.

                                        */ - Direction?: string; + LaunchTemplateId?: string; /** - *

                                        The explanation code.

                                        + *

                                        The name of the launch template. To describe one or more versions of a specified + * launch template, you must specify either the launch template ID or the launch template + * name in the request. To describe all the latest or default launch template versions in + * your account, you must omit this parameter.

                                        */ - ExplanationCode?: string; + LaunchTemplateName?: string; /** - *

                                        The route table.

                                        + *

                                        One or more versions of the launch template. Valid values depend on whether you are describing a specified launch template (by ID or name) or all launch templates in your account.

                                        + *

                                        To describe one or more versions of a specified launch template, valid values are $Latest, $Default, and numbers.

                                        + *

                                        To describe all launch templates in your account that are defined as the latest + * version, the valid value is $Latest. To describe all launch templates in + * your account that are defined as the default version, the valid value is + * $Default. You can specify $Latest and + * $Default in the same call. You cannot specify numbers.

                                        */ - IngressRouteTable?: AnalysisComponent; + Versions?: string[]; /** - *

                                        The internet gateway.

                                        + *

                                        The version number after which to describe launch template versions.

                                        */ - InternetGateway?: AnalysisComponent; + MinVersion?: string; /** - *

                                        The Amazon Resource Name (ARN) of the load balancer.

                                        + *

                                        The version number up to which to describe launch template versions.

                                        */ - LoadBalancerArn?: string; + MaxVersion?: string; /** - *

                                        The listener for a Classic Load Balancer.

                                        + *

                                        The token to request the next page of results.

                                        */ - ClassicLoadBalancerListener?: AnalysisLoadBalancerListener; + NextToken?: string; /** - *

                                        The listener port of the load balancer.

                                        + *

                                        The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value + * can be between 1 and 200.

                                        */ - LoadBalancerListenerPort?: number; + MaxResults?: number; /** - *

                                        The target.

                                        + *

                                        One or more filters.

                                        + *
                                          + *
                                        • + *

                                          + * create-time - The time the launch template version was created.

                                          + *
                                        • + *
                                        • + *

                                          + * ebs-optimized - A boolean that indicates whether the instance + * is optimized for Amazon EBS I/O.

                                          + *
                                        • + *
                                        • + *

                                          + * iam-instance-profile - The ARN of the IAM instance + * profile.

                                          + *
                                        • + *
                                        • + *

                                          + * image-id - The ID of the AMI.

                                          + *
                                        • + *
                                        • + *

                                          + * instance-type - The instance type.

                                          + *
                                        • + *
                                        • + *

                                          + * is-default-version - A boolean that indicates whether the + * launch template version is the default version.

                                          + *
                                        • + *
                                        • + *

                                          + * kernel-id - The kernel ID.

                                          + *
                                        • + *
                                        • + *

                                          + * ram-disk-id - The RAM disk ID.

                                          + *
                                        • + *
                                        */ - LoadBalancerTarget?: AnalysisLoadBalancerTarget; + Filters?: Filter[]; +} +export namespace DescribeLaunchTemplateVersionsRequest { /** - *

                                        The target group.

                                        + * @internal */ - LoadBalancerTargetGroup?: AnalysisComponent; + export const filterSensitiveLog = (obj: DescribeLaunchTemplateVersionsRequest): any => ({ + ...obj, + }); +} +export interface DescribeLaunchTemplateVersionsResult { /** - *

                                        The target groups.

                                        + *

                                        Information about the launch template versions.

                                        */ - LoadBalancerTargetGroups?: AnalysisComponent[]; + LaunchTemplateVersions?: LaunchTemplateVersion[]; /** - *

                                        The target port.

                                        + *

                                        The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                                        */ - LoadBalancerTargetPort?: number; + NextToken?: string; +} +export namespace DescribeLaunchTemplateVersionsResult { /** - *

                                        The load balancer listener.

                                        + * @internal */ - ElasticLoadBalancerListener?: AnalysisComponent; + export const filterSensitiveLog = (obj: DescribeLaunchTemplateVersionsResult): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayRouteTablesRequest { /** - *

                                        The missing component.

                                        + *

                                        The IDs of the local gateway route tables.

                                        */ - MissingComponent?: string; + LocalGatewayRouteTableIds?: string[]; /** - *

                                        The NAT gateway.

                                        + *

                                        One or more filters.

                                        + *
                                          + *
                                        • + *

                                          + * local-gateway-id - The ID of a local gateway.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-id - The ID of a local gateway route table.

                                          + *
                                        • + *
                                        • + *

                                          + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                          + *
                                        • + *
                                        • + *

                                          + * state - The state of the local gateway route table.

                                          + *
                                        • + *
                                        */ - NatGateway?: AnalysisComponent; + Filters?: Filter[]; /** - *

                                        The network interface.

                                        + *

                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        */ - NetworkInterface?: AnalysisComponent; + MaxResults?: number; /** - *

                                        The packet field.

                                        + *

                                        The token for the next page of results.

                                        */ - PacketField?: string; + NextToken?: string; /** - *

                                        The VPC peering connection.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - VpcPeeringConnection?: AnalysisComponent; + DryRun?: boolean; +} +export namespace DescribeLocalGatewayRouteTablesRequest { /** - *

                                        The port.

                                        + * @internal */ - Port?: number; + export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTablesRequest): any => ({ + ...obj, + }); +} +/** + *

                                        Describes a local gateway route table.

                                        + */ +export interface LocalGatewayRouteTable { /** - *

                                        The port ranges.

                                        + *

                                        The ID of the local gateway route table.

                                        */ - PortRanges?: PortRange[]; + LocalGatewayRouteTableId?: string; /** - *

                                        The prefix list.

                                        + *

                                        The Amazon Resource Name (ARN) of the local gateway route table.

                                        */ - PrefixList?: AnalysisComponent; + LocalGatewayRouteTableArn?: string; /** - *

                                        The protocols.

                                        + *

                                        The ID of the local gateway.

                                        */ - Protocols?: string[]; + LocalGatewayId?: string; /** - *

                                        The route table route.

                                        + *

                                        The Amazon Resource Name (ARN) of the Outpost.

                                        */ - RouteTableRoute?: AnalysisRouteTableRoute; + OutpostArn?: string; /** - *

                                        The route table.

                                        + *

                                        The ID of the Amazon Web Services account that owns the local gateway route table.

                                        */ - RouteTable?: AnalysisComponent; + OwnerId?: string; /** - *

                                        The security group.

                                        + *

                                        The state of the local gateway route table.

                                        */ - SecurityGroup?: AnalysisComponent; + State?: string; /** - *

                                        The security group rule.

                                        + *

                                        The tags assigned to the local gateway route table.

                                        */ - SecurityGroupRule?: AnalysisSecurityGroupRule; + Tags?: Tag[]; +} +export namespace LocalGatewayRouteTable { /** - *

                                        The security groups.

                                        + * @internal */ - SecurityGroups?: AnalysisComponent[]; + export const filterSensitiveLog = (obj: LocalGatewayRouteTable): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayRouteTablesResult { /** - *

                                        The source VPC.

                                        + *

                                        Information about the local gateway route tables.

                                        */ - SourceVpc?: AnalysisComponent; + LocalGatewayRouteTables?: LocalGatewayRouteTable[]; /** - *

                                        The state.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - State?: string; + NextToken?: string; +} +export namespace DescribeLocalGatewayRouteTablesResult { /** - *

                                        The subnet.

                                        + * @internal */ - Subnet?: AnalysisComponent; + export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTablesResult): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { /** - *

                                        The route table for the subnet.

                                        + *

                                        The IDs of the associations.

                                        */ - SubnetRouteTable?: AnalysisComponent; + LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds?: string[]; /** - *

                                        The component VPC.

                                        + *

                                        One or more filters.

                                        + *
                                          + *
                                        • + *

                                          + * local-gateway-id - The ID of a local gateway.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-id - The ID of the local gateway route table.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

                                          + *
                                        • + *
                                        • + *

                                          + * state - The state of the association.

                                          + *
                                        • + *
                                        */ - Vpc?: AnalysisComponent; + Filters?: Filter[]; /** - *

                                        The VPC endpoint.

                                        + *

                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        */ - VpcEndpoint?: AnalysisComponent; + MaxResults?: number; /** - *

                                        The VPN connection.

                                        + *

                                        The token for the next page of results.

                                        */ - VpnConnection?: AnalysisComponent; + NextToken?: string; /** - *

                                        The VPN gateway.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - VpnGateway?: AnalysisComponent; + DryRun?: boolean; } -export namespace Explanation { +export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: Explanation): any => ({ + export const filterSensitiveLog = ( + obj: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest + ): any => ({ ...obj, }); } /** - *

                                        Describes a header. Reflects any changes made by a component as traffic passes through. - * The fields of an inbound header are null except for the first component of a path.

                                        + *

                                        Describes an association between a local gateway route table and a virtual interface group.

                                        */ -export interface AnalysisPacketHeader { +export interface LocalGatewayRouteTableVirtualInterfaceGroupAssociation { /** - *

                                        The destination addresses.

                                        + *

                                        The ID of the association.

                                        */ - DestinationAddresses?: string[]; + LocalGatewayRouteTableVirtualInterfaceGroupAssociationId?: string; /** - *

                                        The destination port ranges.

                                        + *

                                        The ID of the virtual interface group.

                                        */ - DestinationPortRanges?: PortRange[]; + LocalGatewayVirtualInterfaceGroupId?: string; /** - *

                                        The protocol.

                                        + *

                                        The ID of the local gateway.

                                        */ - Protocol?: string; + LocalGatewayId?: string; /** - *

                                        The source addresses.

                                        + *

                                        The ID of the local gateway route table.

                                        */ - SourceAddresses?: string[]; + LocalGatewayRouteTableId?: string; /** - *

                                        The source port ranges.

                                        + *

                                        The Amazon Resource Name (ARN) of the local gateway route table for the virtual interface group.

                                        */ - SourcePortRanges?: PortRange[]; -} + LocalGatewayRouteTableArn?: string; -export namespace AnalysisPacketHeader { /** - * @internal + *

                                        The ID of the Amazon Web Services account that owns the local gateway virtual interface group association.

                                        */ - export const filterSensitiveLog = (obj: AnalysisPacketHeader): any => ({ - ...obj, - }); -} + OwnerId?: string; -/** - *

                                        Describes a path component.

                                        - */ -export interface PathComponent { /** - *

                                        The sequence number.

                                        + *

                                        The state of the association.

                                        */ - SequenceNumber?: number; + State?: string; /** - *

                                        The network ACL rule.

                                        + *

                                        The tags assigned to the association.

                                        */ - AclRule?: AnalysisAclRule; + Tags?: Tag[]; +} +export namespace LocalGatewayRouteTableVirtualInterfaceGroupAssociation { /** - *

                                        The component.

                                        + * @internal */ - Component?: AnalysisComponent; + export const filterSensitiveLog = (obj: LocalGatewayRouteTableVirtualInterfaceGroupAssociation): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { /** - *

                                        The destination VPC.

                                        + *

                                        Information about the associations.

                                        */ - DestinationVpc?: AnalysisComponent; + LocalGatewayRouteTableVirtualInterfaceGroupAssociations?: LocalGatewayRouteTableVirtualInterfaceGroupAssociation[]; /** - *

                                        The outbound header.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - OutboundHeader?: AnalysisPacketHeader; + NextToken?: string; +} +export namespace DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult { /** - *

                                        The inbound header.

                                        + * @internal */ - InboundHeader?: AnalysisPacketHeader; + export const filterSensitiveLog = ( + obj: DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult + ): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayRouteTableVpcAssociationsRequest { /** - *

                                        The route table route.

                                        + *

                                        The IDs of the associations.

                                        */ - RouteTableRoute?: AnalysisRouteTableRoute; + LocalGatewayRouteTableVpcAssociationIds?: string[]; /** - *

                                        The security group rule.

                                        + *

                                        One or more filters.

                                        + *
                                          + *
                                        • + *

                                          + * local-gateway-id - The ID of a local gateway.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-id - The ID of the local gateway route table.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-vpc-association-id - The ID of the association.

                                          + *
                                        • + *
                                        • + *

                                          + * state - The state of the association.

                                          + *
                                        • + *
                                        • + *

                                          + * vpc-id - The ID of the VPC.

                                          + *
                                        • + *
                                        */ - SecurityGroupRule?: AnalysisSecurityGroupRule; + Filters?: Filter[]; /** - *

                                        The source VPC.

                                        + *

                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        */ - SourceVpc?: AnalysisComponent; + MaxResults?: number; /** - *

                                        The subnet.

                                        + *

                                        The token for the next page of results.

                                        */ - Subnet?: AnalysisComponent; + NextToken?: string; /** - *

                                        The component VPC.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - Vpc?: AnalysisComponent; + DryRun?: boolean; } -export namespace PathComponent { +export namespace DescribeLocalGatewayRouteTableVpcAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PathComponent): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTableVpcAssociationsRequest): any => ({ ...obj, }); } -export type AnalysisStatus = "failed" | "running" | "succeeded"; +export interface DescribeLocalGatewayRouteTableVpcAssociationsResult { + /** + *

                                        Information about the associations.

                                        + */ + LocalGatewayRouteTableVpcAssociations?: LocalGatewayRouteTableVpcAssociation[]; -/** - *

                                        Describes a network insights analysis.

                                        - */ -export interface NetworkInsightsAnalysis { /** - *

                                        The ID of the network insights analysis.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - NetworkInsightsAnalysisId?: string; + NextToken?: string; +} +export namespace DescribeLocalGatewayRouteTableVpcAssociationsResult { /** - *

                                        The Amazon Resource Name (ARN) of the network insights analysis.

                                        + * @internal */ - NetworkInsightsAnalysisArn?: string; + export const filterSensitiveLog = (obj: DescribeLocalGatewayRouteTableVpcAssociationsResult): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewaysRequest { /** - *

                                        The ID of the path.

                                        + *

                                        One or more filters.

                                        + *
                                          + *
                                        • + *

                                          + * local-gateway-id - The ID of a local gateway.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-id - The ID of the local gateway route table.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-virtual-interface-group-association-id - The ID of the association.

                                          + *
                                        • + *
                                        • + *

                                          + * local-gateway-route-table-virtual-interface-group-id - The ID of the virtual interface group.

                                          + *
                                        • + *
                                        • + *

                                          + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                          + *
                                        • + *
                                        • + *

                                          + * state - The state of the association.

                                          + *
                                        • + *
                                        */ - NetworkInsightsPathId?: string; + LocalGatewayIds?: string[]; /** - *

                                        The Amazon Resource Names (ARN) of the Amazon Web Services resources that the path must traverse.

                                        + *

                                        One or more filters.

                                        */ - FilterInArns?: string[]; + Filters?: Filter[]; /** - *

                                        The time the analysis started.

                                        + *

                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        */ - StartDate?: Date; + MaxResults?: number; /** - *

                                        The status of the network insights analysis.

                                        + *

                                        The token for the next page of results.

                                        */ - Status?: AnalysisStatus | string; + NextToken?: string; /** - *

                                        The status message, if the status is failed.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - StatusMessage?: string; + DryRun?: boolean; +} +export namespace DescribeLocalGatewaysRequest { /** - *

                                        Indicates whether the destination is reachable from the source.

                                        + * @internal */ - NetworkPathFound?: boolean; + export const filterSensitiveLog = (obj: DescribeLocalGatewaysRequest): any => ({ + ...obj, + }); +} +/** + *

                                        Describes a local gateway.

                                        + */ +export interface LocalGateway { /** - *

                                        The components in the path from source to destination.

                                        + *

                                        The ID of the local gateway.

                                        */ - ForwardPathComponents?: PathComponent[]; + LocalGatewayId?: string; /** - *

                                        The components in the path from destination to source.

                                        + *

                                        The Amazon Resource Name (ARN) of the Outpost.

                                        */ - ReturnPathComponents?: PathComponent[]; + OutpostArn?: string; /** - *

                                        The explanations. For more information, see Reachability Analyzer explanation codes.

                                        + *

                                        The ID of the Amazon Web Services account that owns the local gateway.

                                        */ - Explanations?: Explanation[]; + OwnerId?: string; /** - *

                                        Potential intermediate components.

                                        + *

                                        The state of the local gateway.

                                        */ - AlternatePathHints?: AlternatePathHint[]; + State?: string; /** - *

                                        The tags.

                                        + *

                                        The tags assigned to the local gateway.

                                        */ Tags?: Tag[]; } -export namespace NetworkInsightsAnalysis { +export namespace LocalGateway { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInsightsAnalysis): any => ({ + export const filterSensitiveLog = (obj: LocalGateway): any => ({ ...obj, }); } -export interface DescribeNetworkInsightsAnalysesResult { +export interface DescribeLocalGatewaysResult { /** - *

                                        Information about the network insights analyses.

                                        + *

                                        Information about the local gateways.

                                        */ - NetworkInsightsAnalyses?: NetworkInsightsAnalysis[]; + LocalGateways?: LocalGateway[]; /** *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        @@ -6300,38 +5948,35 @@ export interface DescribeNetworkInsightsAnalysesResult { NextToken?: string; } -export namespace DescribeNetworkInsightsAnalysesResult { +export namespace DescribeLocalGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInsightsAnalysesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewaysResult): any => ({ ...obj, }); } -export interface DescribeNetworkInsightsPathsRequest { +export interface DescribeLocalGatewayVirtualInterfaceGroupsRequest { /** - *

                                        The IDs of the paths.

                                        + *

                                        The IDs of the virtual interface groups.

                                        */ - NetworkInsightsPathIds?: string[]; + LocalGatewayVirtualInterfaceGroupIds?: string[]; /** - *

                                        The filters. The following are possible values:

                                        + *

                                        One or more filters.

                                        *
                                          *
                                        • - *

                                          Destination - The ID of the resource.

                                          - *
                                        • - *
                                        • - *

                                          DestinationPort - The destination port.

                                          - *
                                        • - *
                                        • - *

                                          Name - The path name.

                                          + *

                                          + * local-gateway-id - The ID of a local gateway.

                                          *
                                        • *
                                        • - *

                                          Protocol - The protocol.

                                          + *

                                          + * local-gateway-virtual-interface-id - The ID of the virtual interface.

                                          *
                                        • *
                                        • - *

                                          Source - The ID of the resource.

                                          + *

                                          + * local-gateway-virtual-interface-group-id - The ID of the virtual interface group.

                                          *
                                        • *
                                        */ @@ -6339,416 +5984,365 @@ export interface DescribeNetworkInsightsPathsRequest { /** *

                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                        + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        */ MaxResults?: number; - /** - *

                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                        - */ - DryRun?: boolean; - /** *

                                        The token for the next page of results.

                                        */ NextToken?: string; -} - -export namespace DescribeNetworkInsightsPathsRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeNetworkInsightsPathsRequest): any => ({ - ...obj, - }); -} - -export interface DescribeNetworkInsightsPathsResult { - /** - *

                                        Information about the paths.

                                        - */ - NetworkInsightsPaths?: NetworkInsightsPath[]; /** - *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - NextToken?: string; + DryRun?: boolean; } -export namespace DescribeNetworkInsightsPathsResult { +export namespace DescribeLocalGatewayVirtualInterfaceGroupsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInsightsPathsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfaceGroupsRequest): any => ({ ...obj, }); } -export type NetworkInterfaceAttribute = "attachment" | "description" | "groupSet" | "sourceDestCheck"; - /** - *

                                        Contains the parameters for DescribeNetworkInterfaceAttribute.

                                        + *

                                        Describes a local gateway virtual interface group.

                                        */ -export interface DescribeNetworkInterfaceAttributeRequest { - /** - *

                                        The attribute of the network interface. This parameter is required.

                                        - */ - Attribute?: NetworkInterfaceAttribute | string; - +export interface LocalGatewayVirtualInterfaceGroup { /** - *

                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                        + *

                                        The ID of the virtual interface group.

                                        */ - DryRun?: boolean; + LocalGatewayVirtualInterfaceGroupId?: string; /** - *

                                        The ID of the network interface.

                                        + *

                                        The IDs of the virtual interfaces.

                                        */ - NetworkInterfaceId: string | undefined; -} + LocalGatewayVirtualInterfaceIds?: string[]; -export namespace DescribeNetworkInterfaceAttributeRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeRequest): any => ({ - ...obj, - }); -} + /** + *

                                        The ID of the local gateway.

                                        + */ + LocalGatewayId?: string; -/** - *

                                        Contains the output of DescribeNetworkInterfaceAttribute.

                                        - */ -export interface DescribeNetworkInterfaceAttributeResult { /** - *

                                        The attachment (if any) of the network interface.

                                        + *

                                        The ID of the Amazon Web Services account that owns the local gateway virtual interface group.

                                        */ - Attachment?: NetworkInterfaceAttachment; + OwnerId?: string; /** - *

                                        The description of the network interface.

                                        + *

                                        The tags assigned to the virtual interface group.

                                        */ - Description?: AttributeValue; + Tags?: Tag[]; +} +export namespace LocalGatewayVirtualInterfaceGroup { /** - *

                                        The security groups associated with the network interface.

                                        + * @internal */ - Groups?: GroupIdentifier[]; + export const filterSensitiveLog = (obj: LocalGatewayVirtualInterfaceGroup): any => ({ + ...obj, + }); +} +export interface DescribeLocalGatewayVirtualInterfaceGroupsResult { /** - *

                                        The ID of the network interface.

                                        + *

                                        The virtual interface groups.

                                        */ - NetworkInterfaceId?: string; + LocalGatewayVirtualInterfaceGroups?: LocalGatewayVirtualInterfaceGroup[]; /** - *

                                        Indicates whether source/destination checking is enabled.

                                        + *

                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                        */ - SourceDestCheck?: AttributeBooleanValue; + NextToken?: string; } -export namespace DescribeNetworkInterfaceAttributeResult { +export namespace DescribeLocalGatewayVirtualInterfaceGroupsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfaceGroupsResult): any => ({ ...obj, }); } -/** - *

                                        Contains the parameters for DescribeNetworkInterfacePermissions.

                                        - */ -export interface DescribeNetworkInterfacePermissionsRequest { +export interface DescribeLocalGatewayVirtualInterfacesRequest { /** - *

                                        One or more network interface permission IDs.

                                        + *

                                        The IDs of the virtual interfaces.

                                        */ - NetworkInterfacePermissionIds?: string[]; + LocalGatewayVirtualInterfaceIds?: string[]; /** *

                                        One or more filters.

                                        - *
                                          - *
                                        • - *

                                          - * network-interface-permission.network-interface-permission-id - The ID of the - * permission.

                                          - *
                                        • - *
                                        • - *

                                          - * network-interface-permission.network-interface-id - The ID of - * the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * network-interface-permission.aws-account-id - The Amazon Web Services account ID.

                                          - *
                                        • - *
                                        • - *

                                          - * network-interface-permission.aws-service - The Amazon Web Service.

                                          - *
                                        • - *
                                        • - *

                                          - * network-interface-permission.permission - The type of - * permission (INSTANCE-ATTACH | - * EIP-ASSOCIATE).

                                          - *
                                        • - *
                                        */ Filters?: Filter[]; /** - *

                                        The token to request the next page of results.

                                        + *

                                        The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                        + */ + MaxResults?: number; + + /** + *

                                        The token for 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. If this parameter is not specified, up to 50 results are returned by default.

                                        + *

                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                        */ - MaxResults?: number; + DryRun?: boolean; } -export namespace DescribeNetworkInterfacePermissionsRequest { +export namespace DescribeLocalGatewayVirtualInterfacesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfacesRequest): any => ({ ...obj, }); } /** - *

                                        Contains the output for DescribeNetworkInterfacePermissions.

                                        + *

                                        Describes a local gateway virtual interface.

                                        */ -export interface DescribeNetworkInterfacePermissionsResult { - /** - *

                                        The network interface permissions.

                                        - */ - NetworkInterfacePermissions?: NetworkInterfacePermission[]; - +export interface LocalGatewayVirtualInterface { /** - *

                                        The token to use to retrieve the next page of results.

                                        + *

                                        The ID of the virtual interface.

                                        */ - NextToken?: string; -} + LocalGatewayVirtualInterfaceId?: string; -export namespace DescribeNetworkInterfacePermissionsResult { /** - * @internal + *

                                        The ID of the local gateway.

                                        */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsResult): any => ({ - ...obj, - }); -} + LocalGatewayId?: string; -/** - *

                                        Contains the parameters for DescribeNetworkInterfaces.

                                        - */ -export interface DescribeNetworkInterfacesRequest { /** - *

                                        One or more filters.

                                        - *
                                          - *
                                        • - *

                                          - * addresses.private-ip-address - The private IPv4 addresses - * associated with the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * addresses.primary - Whether the private IPv4 address is the primary - * IP address associated with the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * addresses.association.public-ip - The association ID returned when - * the network interface was associated with the Elastic IP address - * (IPv4).

                                          - *
                                        • - *
                                        • - *

                                          - * addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * association.association-id - The association ID returned when the - * network interface was associated with an IPv4 address.

                                          - *
                                        • - *
                                        • - *

                                          - * association.allocation-id - The allocation ID returned when you - * allocated the Elastic IP address (IPv4) for your network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * association.ip-owner-id - The owner of the Elastic IP address - * (IPv4) associated with the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * association.public-ip - The address of the Elastic IP address - * (IPv4) bound to the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * association.public-dns-name - The public DNS name for the network - * interface (IPv4).

                                          - *
                                        • - *
                                        • - *

                                          - * attachment.attachment-id - The ID of the interface attachment.

                                          - *
                                        • - *
                                        • - *

                                          - * attachment.attach-time - The time that the network interface was attached to an instance.

                                          - *
                                        • - *
                                        • - *

                                          - * attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

                                          - *
                                        • - *
                                        • - *

                                          - * attachment.device-index - The device index to which the network interface is attached.

                                          - *
                                        • - *
                                        • - *

                                          - * attachment.instance-id - The ID of the instance to which the network interface is attached.

                                          - *
                                        • - *
                                        • - *

                                          - * attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

                                          - *
                                        • - *
                                        • - *

                                          - * attachment.status - The status of the attachment (attaching | attached | detaching | detached).

                                          - *
                                        • - *
                                        • - *

                                          - * availability-zone - The Availability Zone of the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * description - The description of the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * group-id - The ID of a security group associated with the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * group-name - The name of a security group associated with the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * ipv6-addresses.ipv6-address - An IPv6 address associated with - * the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * mac-address - The MAC address of the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * network-interface-id - The ID of the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * owner-id - The Amazon Web Services account ID of the network interface owner.

                                          - *
                                        • - *
                                        • - *

                                          - * private-ip-address - The private IPv4 address or addresses of the - * network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * private-dns-name - The private DNS name of the network interface (IPv4).

                                          - *
                                        • - *
                                        • - *

                                          - * requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

                                          - *
                                        • - *
                                        • - *

                                          - * requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service - * (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

                                          - *
                                        • - *
                                        • - *

                                          - * source-dest-check - Indicates whether the network interface performs source/destination checking. - * A value of true means checking is enabled, and false means checking is disabled. - * The value must be false for the network interface to perform network address translation (NAT) in your VPC.

                                          - *
                                        • - *
                                        • - *

                                          - * status - The status of the network interface. If the network interface is not attached to an instance, the status is available; - * if a network interface is attached to an instance the status is in-use.

                                          - *
                                        • + *

                                          The ID of the VLAN.

                                          + */ + Vlan?: number; + + /** + *

                                          The local address.

                                          + */ + LocalAddress?: string; + + /** + *

                                          The peer address.

                                          + */ + PeerAddress?: string; + + /** + *

                                          The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local gateway.

                                          + */ + LocalBgpAsn?: number; + + /** + *

                                          The peer BGP ASN.

                                          + */ + PeerBgpAsn?: number; + + /** + *

                                          The ID of the Amazon Web Services account that owns the local gateway virtual interface.

                                          + */ + OwnerId?: string; + + /** + *

                                          The tags assigned to the virtual interface.

                                          + */ + Tags?: Tag[]; +} + +export namespace LocalGatewayVirtualInterface { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LocalGatewayVirtualInterface): any => ({ + ...obj, + }); +} + +export interface DescribeLocalGatewayVirtualInterfacesResult { + /** + *

                                          Information about the virtual interfaces.

                                          + */ + LocalGatewayVirtualInterfaces?: LocalGatewayVirtualInterface[]; + + /** + *

                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                          + */ + NextToken?: string; +} + +export namespace DescribeLocalGatewayVirtualInterfacesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeLocalGatewayVirtualInterfacesResult): any => ({ + ...obj, + }); +} + +export interface DescribeManagedPrefixListsRequest { + /** + *

                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                          + */ + DryRun?: boolean; + + /** + *

                                          One or more filters.

                                          + *
                                            *
                                          • - *

                                            - * subnet-id - The ID of the subnet for the network interface.

                                            - *
                                          • + *

                                            + * owner-id - The ID of the prefix list owner.

                                            + * *
                                          • - *

                                            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                            - *
                                          • + *

                                            + * prefix-list-id - The ID of the prefix list.

                                            + * *
                                          • - *

                                            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                            - *
                                          • + *

                                            + * prefix-list-name - The name of the prefix list.

                                            + * + *
                                          + */ + Filters?: Filter[]; + + /** + *

                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                          + */ + MaxResults?: number; + + /** + *

                                          The token for the next page of results.

                                          + */ + NextToken?: string; + + /** + *

                                          One or more prefix list IDs.

                                          + */ + PrefixListIds?: string[]; +} + +export namespace DescribeManagedPrefixListsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeManagedPrefixListsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeManagedPrefixListsResult { + /** + *

                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                          + */ + NextToken?: string; + + /** + *

                                          Information about the prefix lists.

                                          + */ + PrefixLists?: ManagedPrefixList[]; +} + +export namespace DescribeManagedPrefixListsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeManagedPrefixListsResult): any => ({ + ...obj, + }); +} + +export interface DescribeMovingAddressesRequest { + /** + *

                                          One or more filters.

                                          + *
                                            *
                                          • - *

                                            - * vpc-id - The ID of the VPC for the network interface.

                                            - *
                                          • + *

                                            + * moving-status - The status of the Elastic IP address + * (MovingToVpc | RestoringToClassic).

                                            + * *
                                          */ Filters?: Filter[]; /** *

                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                          + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                          */ DryRun?: boolean; /** - *

                                          One or more network interface IDs.

                                          - *

                                          Default: Describes all your network interfaces.

                                          + *

                                          The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1000; if + * MaxResults is given a value outside of this range, an error is returned.

                                          + *

                                          Default: If no value is provided, the default is 1000.

                                          */ - NetworkInterfaceIds?: string[]; + MaxResults?: number; /** - *

                                          The token to retrieve the next page of results.

                                          + *

                                          The token for the next page of results.

                                          */ NextToken?: string; /** - *

                                          The maximum number of items to return for this request. The request returns a token that you - * can specify in a subsequent call to get the next set of results. You cannot specify this - * parameter and the network interface IDs parameter in the same request.

                                          + *

                                          One or more Elastic IP addresses.

                                          */ - MaxResults?: number; + PublicIps?: string[]; } -export namespace DescribeNetworkInterfacesRequest { +export namespace DescribeMovingAddressesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfacesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeMovingAddressesRequest): any => ({ ...obj, }); } +export type MoveStatus = "movingToVpc" | "restoringToClassic"; + /** - *

                                          Contains the output of DescribeNetworkInterfaces.

                                          + *

                                          Describes the status of a moving Elastic IP address.

                                          */ -export interface DescribeNetworkInterfacesResult { +export interface MovingAddressStatus { /** - *

                                          Information about one or more network interfaces.

                                          + *

                                          The status of the Elastic IP address that's being moved to the EC2-VPC platform, or restored to the EC2-Classic platform.

                                          */ - NetworkInterfaces?: NetworkInterface[]; + MoveStatus?: MoveStatus | string; + + /** + *

                                          The Elastic IP address.

                                          + */ + PublicIp?: string; +} + +export namespace MovingAddressStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MovingAddressStatus): any => ({ + ...obj, + }); +} + +export interface DescribeMovingAddressesResult { + /** + *

                                          The status for each Elastic IP address.

                                          + */ + MovingAddressStatuses?: MovingAddressStatus[]; /** *

                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                          @@ -6756,121 +6350,197 @@ export interface DescribeNetworkInterfacesResult { NextToken?: string; } -export namespace DescribeNetworkInterfacesResult { +export namespace DescribeMovingAddressesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeNetworkInterfacesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeMovingAddressesResult): any => ({ ...obj, }); } -export interface DescribePlacementGroupsRequest { +export interface DescribeNatGatewaysRequest { /** - *

                                          The filters.

                                          - *
                                            + *

                                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                            + */ + DryRun?: boolean; + + /** + *

                                            One or more filters.

                                            + *
                                              *
                                            • - *

                                              - * group-name - The name of the placement group.

                                              + *

                                              + * nat-gateway-id - The ID of the NAT gateway.

                                              *
                                            • *
                                            • - *

                                              - * state - The state of the placement group (pending | - * available | deleting | - * deleted).

                                              + *

                                              + * state - The state of the NAT gateway (pending | + * failed | available | deleting | deleted).

                                              *
                                            • *
                                            • - *

                                              - * strategy - The strategy of the placement group - * (cluster | spread | - * partition).

                                              + *

                                              + * subnet-id - The ID of the subnet in which the NAT gateway resides.

                                              *
                                            • *
                                            • - *

                                              - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + *

                                              + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                              - *
                                            • + * + *
                                            • + *

                                              + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                              + *
                                            • *
                                            • *

                                              - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                              + * vpc-id - The ID of the VPC in which the NAT gateway resides.

                                              *
                                            • *
                                            */ - Filters?: Filter[]; + Filter?: Filter[]; /** - *

                                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                            + *

                                            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                            */ - DryRun?: boolean; + MaxResults?: number; /** - *

                                            The names of the placement groups.

                                            - *

                                            Default: Describes all your placement groups, or only those otherwise - * specified.

                                            + *

                                            One or more NAT gateway IDs.

                                            */ - GroupNames?: string[]; + NatGatewayIds?: string[]; /** - *

                                            The IDs of the placement groups.

                                            + *

                                            The token for the next page of results.

                                            */ - GroupIds?: string[]; + NextToken?: string; } -export namespace DescribePlacementGroupsRequest { +export namespace DescribeNatGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePlacementGroupsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNatGatewaysRequest): any => ({ ...obj, }); } -export interface DescribePlacementGroupsResult { +export interface DescribeNatGatewaysResult { /** - *

                                            Information about the placement groups.

                                            + *

                                            Information about the NAT gateways.

                                            */ - PlacementGroups?: PlacementGroup[]; + NatGateways?: NatGateway[]; + + /** + *

                                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                            + */ + NextToken?: string; } -export namespace DescribePlacementGroupsResult { +export namespace DescribeNatGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePlacementGroupsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeNatGatewaysResult): any => ({ ...obj, }); } -export interface DescribePrefixListsRequest { - /** - *

                                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                            - */ - DryRun?: boolean; - +export interface DescribeNetworkAclsRequest { /** *

                                            One or more filters.

                                            - *
                                              + *
                                                *
                                              • - *

                                                - * prefix-list-id: The ID of a prefix list.

                                                - *
                                              • + *

                                                + * association.association-id - The ID of an association ID for the ACL.

                                                + * *
                                              • - *

                                                - * prefix-list-name: The name of a prefix list.

                                                - *
                                              • + *

                                                + * association.network-acl-id - The ID of the network ACL involved in the association.

                                                + * + *
                                              • + *

                                                + * association.subnet-id - The ID of the subnet involved in the association.

                                                + *
                                              • + *
                                              • + *

                                                + * default - Indicates whether the ACL is the default network ACL for the VPC.

                                                + *
                                              • + *
                                              • + *

                                                + * entry.cidr - The IPv4 CIDR range specified in the entry.

                                                + *
                                              • + *
                                              • + *

                                                + * entry.icmp.code - The ICMP code specified in the entry, if any.

                                                + *
                                              • + *
                                              • + *

                                                + * entry.icmp.type - The ICMP type specified in the entry, if any.

                                                + *
                                              • + *
                                              • + *

                                                + * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.

                                                + *
                                              • + *
                                              • + *

                                                + * entry.port-range.from - The start of the port range specified in the entry.

                                                + *
                                              • + *
                                              • + *

                                                + * entry.port-range.to - The end of the port range specified in the entry.

                                                + *
                                              • + *
                                              • + *

                                                + * entry.protocol - The protocol specified in the entry (tcp | udp | icmp or a protocol number).

                                                + *
                                              • + *
                                              • + *

                                                + * entry.rule-action - Allows or denies the matching traffic (allow | deny).

                                                + *
                                              • + *
                                              • + *

                                                + * entry.rule-number - The number of an entry (in other words, rule) in + * the set of ACL entries.

                                                + *
                                              • + *
                                              • + *

                                                + * network-acl-id - The ID of the network ACL.

                                                + *
                                              • + *
                                              • + *

                                                + * owner-id - The ID of the Amazon Web Services account that owns the network ACL.

                                                + *
                                              • + *
                                              • + *

                                                + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                + *
                                              • + *
                                              • + *

                                                + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                + *
                                              • + *
                                              • + *

                                                + * vpc-id - The ID of the VPC for the network ACL.

                                                + *
                                              • *
                                              */ Filters?: Filter[]; /** - *

                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                              + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ - MaxResults?: number; + DryRun?: boolean; + + /** + *

                                              One or more network ACL IDs.

                                              + *

                                              Default: Describes all your network ACLs.

                                              + */ + NetworkAclIds?: string[]; /** *

                                              The token for the next page of results.

                                              @@ -6878,1492 +6548,1210 @@ export interface DescribePrefixListsRequest { NextToken?: string; /** - *

                                              One or more prefix list IDs.

                                              + *

                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                              */ - PrefixListIds?: string[]; + MaxResults?: number; } -export namespace DescribePrefixListsRequest { +export namespace DescribeNetworkAclsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePrefixListsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkAclsRequest): any => ({ ...obj, }); } -/** - *

                                              Describes prefixes for Amazon Web Services services.

                                              - */ -export interface PrefixList { - /** - *

                                              The IP address range of the Amazon Web Service.

                                              - */ - Cidrs?: string[]; - +export interface DescribeNetworkAclsResult { /** - *

                                              The ID of the prefix.

                                              + *

                                              Information about one or more network ACLs.

                                              */ - PrefixListId?: string; + NetworkAcls?: NetworkAcl[]; /** - *

                                              The name of the prefix.

                                              + *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - PrefixListName?: string; + NextToken?: string; } -export namespace PrefixList { +export namespace DescribeNetworkAclsResult { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixList): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkAclsResult): any => ({ ...obj, }); } -export interface DescribePrefixListsResult { +export interface DescribeNetworkInsightsAnalysesRequest { /** - *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              + *

                                              The ID of the network insights analyses. You must specify either analysis IDs or a path ID.

                                              */ - NextToken?: string; + NetworkInsightsAnalysisIds?: string[]; /** - *

                                              All available prefix lists.

                                              + *

                                              The ID of the path. You must specify either a path ID or analysis IDs.

                                              */ - PrefixLists?: PrefixList[]; -} + NetworkInsightsPathId?: string; -export namespace DescribePrefixListsResult { /** - * @internal + *

                                              The time when the network insights analyses started.

                                              */ - export const filterSensitiveLog = (obj: DescribePrefixListsResult): any => ({ - ...obj, - }); -} + AnalysisStartTime?: Date; -export interface DescribePrincipalIdFormatRequest { /** - *

                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                              + *

                                              The time when the network insights analyses ended.

                                              */ - DryRun?: boolean; + AnalysisEndTime?: Date; /** - *

                                              The type of resource: bundle | - * conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | instance | internet-gateway | - * network-acl | network-acl-association | - * network-interface | network-interface-attachment | - * prefix-list | reservation | route-table | - * route-table-association | security-group | - * snapshot | subnet | - * subnet-cidr-block-association | volume | vpc - * | vpc-cidr-block-association | vpc-endpoint | - * vpc-peering-connection | vpn-connection | vpn-gateway - *

                                              + *

                                              The filters. The following are possible values:

                                              + *
                                                + *
                                              • + *

                                                PathFound - A Boolean value that indicates whether a feasible path is found.

                                                + *
                                              • + *
                                              • + *

                                                Status - The status of the analysis (running | succeeded | failed).

                                                + *
                                              • + *
                                              */ - Resources?: string[]; + Filters?: Filter[]; /** - *

                                              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 maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                              */ MaxResults?: number; /** - *

                                              The token to request the next page of results.

                                              - */ - NextToken?: string; -} - -export namespace DescribePrincipalIdFormatRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribePrincipalIdFormatRequest): any => ({ - ...obj, - }); -} - -/** - *

                                              PrincipalIdFormat description

                                              - */ -export interface PrincipalIdFormat { - /** - *

                                              PrincipalIdFormatARN description

                                              + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ - Arn?: string; + DryRun?: boolean; /** - *

                                              PrincipalIdFormatStatuses description

                                              + *

                                              The token for the next page of results.

                                              */ - Statuses?: IdFormat[]; + NextToken?: string; } -export namespace PrincipalIdFormat { +export namespace DescribeNetworkInsightsAnalysesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: PrincipalIdFormat): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsAnalysesRequest): any => ({ ...obj, }); } -export interface DescribePrincipalIdFormatResult { +/** + *

                                              Describes a path component.

                                              + */ +export interface AnalysisComponent { /** - *

                                              Information about the ID format settings for the ARN.

                                              + *

                                              The ID of the component.

                                              */ - Principals?: PrincipalIdFormat[]; + Id?: string; /** - *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              + *

                                              The Amazon Resource Name (ARN) of the component.

                                              */ - NextToken?: string; + Arn?: string; } -export namespace DescribePrincipalIdFormatResult { +export namespace AnalysisComponent { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePrincipalIdFormatResult): any => ({ + export const filterSensitiveLog = (obj: AnalysisComponent): any => ({ ...obj, }); } -export interface DescribePublicIpv4PoolsRequest { +/** + *

                                              Describes a network access control (ACL) rule.

                                              + */ +export interface AnalysisAclRule { /** - *

                                              The IDs of the address pools.

                                              + *

                                              The IPv4 address range, in CIDR notation.

                                              */ - PoolIds?: string[]; + Cidr?: string; /** - *

                                              The token for the next page of results.

                                              + *

                                              Indicates whether the rule is an outbound rule.

                                              */ - NextToken?: string; + Egress?: boolean; /** - *

                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                              + *

                                              The range of ports.

                                              */ - MaxResults?: number; + PortRange?: PortRange; /** - *

                                              One or more filters.

                                              - *
                                                - *
                                              • - *

                                                - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                - *
                                              • - *
                                              • - *

                                                - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                - *
                                              • - *
                                              + *

                                              The protocol.

                                              */ - Filters?: Filter[]; + Protocol?: string; + + /** + *

                                              Indicates whether to allow or deny traffic that matches the rule.

                                              + */ + RuleAction?: string; + + /** + *

                                              The rule number.

                                              + */ + RuleNumber?: number; } -export namespace DescribePublicIpv4PoolsRequest { +export namespace AnalysisAclRule { /** * @internal */ - export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsRequest): any => ({ + export const filterSensitiveLog = (obj: AnalysisAclRule): any => ({ ...obj, }); } /** - *

                                              Describes an address range of an IPv4 address pool.

                                              + *

                                              Describes a load balancer listener.

                                              */ -export interface PublicIpv4PoolRange { - /** - *

                                              The first IP address in the range.

                                              - */ - FirstAddress?: string; - - /** - *

                                              The last IP address in the range.

                                              - */ - LastAddress?: string; - +export interface AnalysisLoadBalancerListener { /** - *

                                              The number of addresses in the range.

                                              + *

                                              The port on which the load balancer is listening.

                                              */ - AddressCount?: number; + LoadBalancerPort?: number; /** - *

                                              The number of available addresses in the range.

                                              + *

                                              [Classic Load Balancers] The back-end port for the listener.

                                              */ - AvailableAddressCount?: number; + InstancePort?: number; } -export namespace PublicIpv4PoolRange { +export namespace AnalysisLoadBalancerListener { /** * @internal */ - export const filterSensitiveLog = (obj: PublicIpv4PoolRange): any => ({ + export const filterSensitiveLog = (obj: AnalysisLoadBalancerListener): any => ({ ...obj, }); } /** - *

                                              Describes an IPv4 address pool.

                                              + *

                                              Describes a load balancer target.

                                              */ -export interface PublicIpv4Pool { +export interface AnalysisLoadBalancerTarget { /** - *

                                              The ID of the address pool.

                                              + *

                                              The IP address.

                                              */ - PoolId?: string; + Address?: string; /** - *

                                              A description of the address pool.

                                              + *

                                              The Availability Zone.

                                              */ - Description?: string; + AvailabilityZone?: string; /** - *

                                              The address ranges.

                                              + *

                                              Information about the instance.

                                              */ - PoolAddressRanges?: PublicIpv4PoolRange[]; + Instance?: AnalysisComponent; /** - *

                                              The total number of addresses.

                                              + *

                                              The port on which the target is listening.

                                              */ - TotalAddressCount?: number; + Port?: number; +} +export namespace AnalysisLoadBalancerTarget { /** - *

                                              The total number of available addresses.

                                              + * @internal */ - TotalAvailableAddressCount?: number; + export const filterSensitiveLog = (obj: AnalysisLoadBalancerTarget): any => ({ + ...obj, + }); +} + +/** + *

                                              Describes a route table route.

                                              + */ +export interface AnalysisRouteTableRoute { + /** + *

                                              The destination IPv4 address, in CIDR notation.

                                              + */ + DestinationCidr?: string; /** - *

                                              The name of the location from which the address pool is advertised. - * A network border group is a unique set of Availability Zones or Local Zones - * from where Amazon Web Services advertises public IP addresses.

                                              + *

                                              The prefix of the Amazon Web Service.

                                              */ - NetworkBorderGroup?: string; + DestinationPrefixListId?: string; /** - *

                                              Any tags for the address pool.

                                              + *

                                              The ID of an egress-only internet gateway.

                                              */ - Tags?: Tag[]; -} + EgressOnlyInternetGatewayId?: string; -export namespace PublicIpv4Pool { /** - * @internal + *

                                              The ID of the gateway, such as an internet gateway or virtual private gateway.

                                              */ - export const filterSensitiveLog = (obj: PublicIpv4Pool): any => ({ - ...obj, - }); -} + GatewayId?: string; -export interface DescribePublicIpv4PoolsResult { /** - *

                                              Information about the address pools.

                                              + *

                                              The ID of the instance, such as a NAT instance.

                                              */ - PublicIpv4Pools?: PublicIpv4Pool[]; + InstanceId?: string; /** - *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              + *

                                              The ID of a NAT gateway.

                                              */ - NextToken?: string; -} + NatGatewayId?: string; -export namespace DescribePublicIpv4PoolsResult { /** - * @internal + *

                                              The ID of a network interface.

                                              */ - export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsResult): any => ({ - ...obj, - }); -} + NetworkInterfaceId?: string; -export interface DescribeRegionsRequest { /** - *

                                              The filters.

                                              + *

                                              Describes how the route was created. The following are possible values:

                                              *
                                                *
                                              • *

                                                - * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

                                                + * CreateRouteTable - The route was automatically created when the route table was created.

                                                *
                                              • *
                                              • *

                                                - * opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | - * not-opted-in).

                                                + * CreateRoute - The route was manually added to the route table.

                                                *
                                              • *
                                              • *

                                                - * region-name - The name of the Region (for example, us-east-1).

                                                + * EnableVgwRoutePropagation - The route was propagated by route propagation.

                                                *
                                              • *
                                              */ - Filters?: Filter[]; - - /** - *

                                              The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

                                              - */ - RegionNames?: string[]; + Origin?: string; /** - *

                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                              + *

                                              The ID of a transit gateway.

                                              */ - DryRun?: boolean; + TransitGatewayId?: string; /** - *

                                              Indicates whether to display all Regions, including Regions that are disabled for your account.

                                              + *

                                              The ID of a VPC peering connection.

                                              */ - AllRegions?: boolean; + VpcPeeringConnectionId?: string; } -export namespace DescribeRegionsRequest { +export namespace AnalysisRouteTableRoute { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeRegionsRequest): any => ({ + export const filterSensitiveLog = (obj: AnalysisRouteTableRoute): any => ({ ...obj, }); } /** - *

                                              Describes a Region.

                                              + *

                                              Describes a security group rule.

                                              */ -export interface Region { +export interface AnalysisSecurityGroupRule { /** - *

                                              The Region service endpoint.

                                              + *

                                              The IPv4 address range, in CIDR notation.

                                              */ - Endpoint?: string; + Cidr?: string; /** - *

                                              The name of the Region.

                                              + *

                                              The direction. The following are possible values:

                                              + *
                                                + *
                                              • + *

                                                egress

                                                + *
                                              • + *
                                              • + *

                                                ingress

                                                + *
                                              • + *
                                              */ - RegionName?: string; + Direction?: string; /** - *

                                              The Region opt-in status. The possible values are opt-in-not-required, opted-in, and - * not-opted-in.

                                              + *

                                              The security group ID.

                                              */ - OptInStatus?: string; + SecurityGroupId?: string; + + /** + *

                                              The port range.

                                              + */ + PortRange?: PortRange; + + /** + *

                                              The prefix list ID.

                                              + */ + PrefixListId?: string; + + /** + *

                                              The protocol name.

                                              + */ + Protocol?: string; } -export namespace Region { +export namespace AnalysisSecurityGroupRule { /** * @internal */ - export const filterSensitiveLog = (obj: Region): any => ({ + export const filterSensitiveLog = (obj: AnalysisSecurityGroupRule): any => ({ ...obj, }); } -export interface DescribeRegionsResult { +/** + *

                                              Describes an explanation code for an unreachable path. For more information, see Reachability Analyzer explanation codes.

                                              + */ +export interface Explanation { /** - *

                                              Information about the Regions.

                                              + *

                                              The network ACL.

                                              */ - Regions?: Region[]; -} + Acl?: AnalysisComponent; -export namespace DescribeRegionsResult { /** - * @internal + *

                                              The network ACL rule.

                                              */ - export const filterSensitiveLog = (obj: DescribeRegionsResult): any => ({ - ...obj, - }); -} + AclRule?: AnalysisAclRule; -export interface DescribeReplaceRootVolumeTasksRequest { /** - *

                                              The ID of the root volume replacement task to view.

                                              + *

                                              The IPv4 address, in CIDR notation.

                                              */ - ReplaceRootVolumeTaskIds?: string[]; + Address?: string; /** - *

                                              Filter to use:

                                              - *
                                                - *
                                              • - *

                                                - * instance-id - The ID of the instance for which the root volume replacement task was created.

                                                - *
                                              • - *
                                              + *

                                              The IPv4 addresses, in CIDR notation.

                                              */ - Filters?: Filter[]; + Addresses?: string[]; /** - *

                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                              + *

                                              The resource to which the component is attached.

                                              */ - MaxResults?: number; + AttachedTo?: AnalysisComponent; /** - *

                                              The token for the next page of results.

                                              + *

                                              The Availability Zones.

                                              */ - NextToken?: string; + AvailabilityZones?: string[]; /** - *

                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                              + *

                                              The CIDR ranges.

                                              */ - DryRun?: boolean; -} + Cidrs?: string[]; -export namespace DescribeReplaceRootVolumeTasksRequest { /** - * @internal + *

                                              The component.

                                              */ - export const filterSensitiveLog = (obj: DescribeReplaceRootVolumeTasksRequest): any => ({ - ...obj, - }); -} + Component?: AnalysisComponent; -export interface DescribeReplaceRootVolumeTasksResult { /** - *

                                              Information about the root volume replacement task.

                                              + *

                                              The customer gateway.

                                              */ - ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[]; + CustomerGateway?: AnalysisComponent; /** - *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              + *

                                              The destination.

                                              */ - NextToken?: string; -} + Destination?: AnalysisComponent; -export namespace DescribeReplaceRootVolumeTasksResult { /** - * @internal + *

                                              The destination VPC.

                                              */ - export const filterSensitiveLog = (obj: DescribeReplaceRootVolumeTasksResult): any => ({ - ...obj, - }); -} - -export enum OfferingClassType { - CONVERTIBLE = "convertible", - STANDARD = "standard", -} - -export type OfferingTypeValues = - | "All Upfront" - | "Heavy Utilization" - | "Light Utilization" - | "Medium Utilization" - | "No Upfront" - | "Partial Upfront"; + DestinationVpc?: AnalysisComponent; -/** - *

                                              Contains the parameters for DescribeReservedInstances.

                                              - */ -export interface DescribeReservedInstancesRequest { /** - *

                                              One or more filters.

                                              + *

                                              The direction. The following are possible values:

                                              *
                                                *
                                              • - *

                                                - * availability-zone - The Availability Zone where the Reserved Instance can be used.

                                                - *
                                              • - *
                                              • - *

                                                - * duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

                                                - *
                                              • - *
                                              • - *

                                                - * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

                                                - *
                                              • - *
                                              • - *

                                                - * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

                                                - *
                                              • - *
                                              • - *

                                                - * instance-type - The instance type that is covered by the reservation.

                                                - *
                                              • - *
                                              • - *

                                                - * scope - The scope of the Reserved Instance (Region or Availability Zone).

                                                - *
                                              • - *
                                              • - *

                                                - * product-description - The Reserved Instance product platform - * description. Instances that include (Amazon VPC) in the product platform - * description will only be displayed to EC2-Classic account holders and are for use with - * Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE - * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise - * Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat - * Enterprise Linux with HA (Amazon VPC) | Windows | Windows - * (Amazon VPC) | Windows with SQL Server Standard | Windows with - * SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | - * Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server - * Enterprise | Windows with SQL Server Enterprise (Amazon - * VPC)).

                                                - *
                                              • - *
                                              • - *

                                                - * reserved-instances-id - The ID of the Reserved Instance.

                                                - *
                                              • - *
                                              • - *

                                                - * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

                                                - *
                                              • - *
                                              • - *

                                                - * state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

                                                - *
                                              • - *
                                              • - *

                                                - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                - *
                                              • - *
                                              • - *

                                                - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                + *

                                                egress

                                                *
                                              • *
                                              • - *

                                                - * usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

                                                + *

                                                ingress

                                                *
                                              • *
                                              */ - Filters?: Filter[]; + Direction?: string; /** - *

                                              Describes whether the Reserved Instance is Standard or Convertible.

                                              + *

                                              The explanation code.

                                              */ - OfferingClass?: OfferingClassType | string; + ExplanationCode?: string; /** - *

                                              One or more Reserved Instance IDs.

                                              - *

                                              Default: Describes all your Reserved Instances, or only those otherwise specified.

                                              + *

                                              The route table.

                                              */ - ReservedInstancesIds?: string[]; + IngressRouteTable?: AnalysisComponent; /** - *

                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                              + *

                                              The internet gateway.

                                              */ - DryRun?: boolean; + InternetGateway?: AnalysisComponent; /** - *

                                              The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API - * version, you only have access to the Medium Utilization Reserved Instance - * offering type.

                                              + *

                                              The Amazon Resource Name (ARN) of the load balancer.

                                              */ - OfferingType?: OfferingTypeValues | string; -} + LoadBalancerArn?: string; -export namespace DescribeReservedInstancesRequest { /** - * @internal + *

                                              The listener for a Classic Load Balancer.

                                              */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesRequest): any => ({ - ...obj, - }); -} + ClassicLoadBalancerListener?: AnalysisLoadBalancerListener; -export type RIProductDescription = "Linux/UNIX" | "Linux/UNIX (Amazon VPC)" | "Windows" | "Windows (Amazon VPC)"; + /** + *

                                              The listener port of the load balancer.

                                              + */ + LoadBalancerListenerPort?: number; -export type RecurringChargeFrequency = "Hourly"; + /** + *

                                              The target.

                                              + */ + LoadBalancerTarget?: AnalysisLoadBalancerTarget; -/** - *

                                              Describes a recurring charge.

                                              - */ -export interface RecurringCharge { /** - *

                                              The amount of the recurring charge.

                                              + *

                                              The target group.

                                              */ - Amount?: number; + LoadBalancerTargetGroup?: AnalysisComponent; /** - *

                                              The frequency of the recurring charge.

                                              + *

                                              The target groups.

                                              */ - Frequency?: RecurringChargeFrequency | string; -} + LoadBalancerTargetGroups?: AnalysisComponent[]; -export namespace RecurringCharge { /** - * @internal + *

                                              The target port.

                                              */ - export const filterSensitiveLog = (obj: RecurringCharge): any => ({ - ...obj, - }); -} + LoadBalancerTargetPort?: number; -export enum Scope { - AVAILABILITY_ZONE = "Availability Zone", - REGIONAL = "Region", -} + /** + *

                                              The load balancer listener.

                                              + */ + ElasticLoadBalancerListener?: AnalysisComponent; -export type ReservedInstanceState = - | "active" - | "payment-failed" - | "payment-pending" - | "queued" - | "queued-deleted" - | "retired"; + /** + *

                                              The missing component.

                                              + */ + MissingComponent?: string; -/** - *

                                              Describes a Reserved Instance.

                                              - */ -export interface ReservedInstances { /** - *

                                              The Availability Zone in which the Reserved Instance can be used.

                                              + *

                                              The NAT gateway.

                                              */ - AvailabilityZone?: string; + NatGateway?: AnalysisComponent; /** - *

                                              The duration of the Reserved Instance, in seconds.

                                              + *

                                              The network interface.

                                              */ - Duration?: number; + NetworkInterface?: AnalysisComponent; /** - *

                                              The time when the Reserved Instance expires.

                                              + *

                                              The packet field.

                                              */ - End?: Date; + PacketField?: string; /** - *

                                              The purchase price of the Reserved Instance.

                                              + *

                                              The VPC peering connection.

                                              */ - FixedPrice?: number; + VpcPeeringConnection?: AnalysisComponent; /** - *

                                              The number of reservations purchased.

                                              + *

                                              The port.

                                              */ - InstanceCount?: number; + Port?: number; + + /** + *

                                              The port ranges.

                                              + */ + PortRanges?: PortRange[]; /** - *

                                              The instance type on which the Reserved Instance can be used.

                                              + *

                                              The prefix list.

                                              */ - InstanceType?: _InstanceType | string; + PrefixList?: AnalysisComponent; /** - *

                                              The Reserved Instance product platform description.

                                              + *

                                              The protocols.

                                              */ - ProductDescription?: RIProductDescription | string; + Protocols?: string[]; /** - *

                                              The ID of the Reserved Instance.

                                              + *

                                              The route table route.

                                              */ - ReservedInstancesId?: string; + RouteTableRoute?: AnalysisRouteTableRoute; /** - *

                                              The date and time the Reserved Instance started.

                                              + *

                                              The route table.

                                              */ - Start?: Date; + RouteTable?: AnalysisComponent; /** - *

                                              The state of the Reserved Instance purchase.

                                              + *

                                              The security group.

                                              */ - State?: ReservedInstanceState | string; + SecurityGroup?: AnalysisComponent; /** - *

                                              The usage price of the Reserved Instance, per hour.

                                              + *

                                              The security group rule.

                                              */ - UsagePrice?: number; + SecurityGroupRule?: AnalysisSecurityGroupRule; /** - *

                                              The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. - * At this time, the only supported currency is USD.

                                              + *

                                              The security groups.

                                              */ - CurrencyCode?: CurrencyCodeValues | string; + SecurityGroups?: AnalysisComponent[]; /** - *

                                              The tenancy of the instance.

                                              + *

                                              The source VPC.

                                              */ - InstanceTenancy?: Tenancy | string; + SourceVpc?: AnalysisComponent; /** - *

                                              The offering class of the Reserved Instance.

                                              + *

                                              The state.

                                              */ - OfferingClass?: OfferingClassType | string; + State?: string; /** - *

                                              The Reserved Instance offering type.

                                              + *

                                              The subnet.

                                              */ - OfferingType?: OfferingTypeValues | string; + Subnet?: AnalysisComponent; /** - *

                                              The recurring charge tag assigned to the resource.

                                              + *

                                              The route table for the subnet.

                                              */ - RecurringCharges?: RecurringCharge[]; + SubnetRouteTable?: AnalysisComponent; /** - *

                                              The scope of the Reserved Instance.

                                              + *

                                              The component VPC.

                                              */ - Scope?: Scope | string; + Vpc?: AnalysisComponent; /** - *

                                              Any tags assigned to the resource.

                                              + *

                                              The VPC endpoint.

                                              */ - Tags?: Tag[]; -} + VpcEndpoint?: AnalysisComponent; -export namespace ReservedInstances { /** - * @internal + *

                                              The VPN connection.

                                              */ - export const filterSensitiveLog = (obj: ReservedInstances): any => ({ - ...obj, - }); -} + VpnConnection?: AnalysisComponent; -/** - *

                                              Contains the output for DescribeReservedInstances.

                                              - */ -export interface DescribeReservedInstancesResult { /** - *

                                              A list of Reserved Instances.

                                              + *

                                              The VPN gateway.

                                              */ - ReservedInstances?: ReservedInstances[]; + VpnGateway?: AnalysisComponent; } -export namespace DescribeReservedInstancesResult { +export namespace Explanation { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesResult): any => ({ + export const filterSensitiveLog = (obj: Explanation): any => ({ ...obj, }); } /** - *

                                              Contains the parameters for DescribeReservedInstancesListings.

                                              + *

                                              Describes a header. Reflects any changes made by a component as traffic passes through. + * The fields of an inbound header are null except for the first component of a path.

                                              */ -export interface DescribeReservedInstancesListingsRequest { +export interface AnalysisPacketHeader { /** - *

                                              One or more filters.

                                              - *
                                                - *
                                              • - *

                                                - * reserved-instances-id - The ID of the Reserved Instances.

                                                - *
                                              • - *
                                              • - *

                                                - * reserved-instances-listing-id - The ID of the Reserved Instances listing.

                                                - *
                                              • - *
                                              • - *

                                                - * status - The status of the Reserved Instance listing (pending | active | - * cancelled | closed).

                                                - *
                                              • - *
                                              • - *

                                                - * status-message - The reason for the status.

                                                - *
                                              • - *
                                              + *

                                              The destination addresses.

                                              */ - Filters?: Filter[]; + DestinationAddresses?: string[]; /** - *

                                              One or more Reserved Instance IDs.

                                              + *

                                              The destination port ranges.

                                              */ - ReservedInstancesId?: string; + DestinationPortRanges?: PortRange[]; /** - *

                                              One or more Reserved Instance listing IDs.

                                              + *

                                              The protocol.

                                              */ - ReservedInstancesListingId?: string; -} + Protocol?: string; -export namespace DescribeReservedInstancesListingsRequest { /** - * @internal + *

                                              The source addresses.

                                              */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsRequest): any => ({ - ...obj, - }); -} + SourceAddresses?: string[]; -/** - *

                                              Contains the output of DescribeReservedInstancesListings.

                                              - */ -export interface DescribeReservedInstancesListingsResult { /** - *

                                              Information about the Reserved Instance listing.

                                              + *

                                              The source port ranges.

                                              */ - ReservedInstancesListings?: ReservedInstancesListing[]; + SourcePortRanges?: PortRange[]; } -export namespace DescribeReservedInstancesListingsResult { +export namespace AnalysisPacketHeader { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsResult): any => ({ + export const filterSensitiveLog = (obj: AnalysisPacketHeader): any => ({ ...obj, }); } /** - *

                                              Contains the parameters for DescribeReservedInstancesModifications.

                                              + *

                                              Describes a path component.

                                              */ -export interface DescribeReservedInstancesModificationsRequest { - /** - *

                                              One or more filters.

                                              - *
                                                - *
                                              • - *

                                                - * client-token - The idempotency token for the modification request.

                                                - *
                                              • - *
                                              • - *

                                                - * create-date - The time when the modification request was created.

                                                - *
                                              • - *
                                              • - *

                                                - * effective-date - The time when the modification becomes effective.

                                                - *
                                              • - *
                                              • - *

                                                - * modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

                                                - *
                                              • - *
                                              • - *

                                                - * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

                                                - *
                                              • - *
                                              • - *

                                                - * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

                                                - *
                                              • - *
                                              • - *

                                                - * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

                                                - *
                                              • - *
                                              • - *

                                                - * modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

                                                - *
                                              • - *
                                              • - *

                                                - * reserved-instances-id - The ID of the Reserved Instances modified.

                                                - *
                                              • - *
                                              • - *

                                                - * reserved-instances-modification-id - The ID of the modification request.

                                                - *
                                              • - *
                                              • - *

                                                - * status - The status of the Reserved Instances modification request - * (processing | fulfilled | failed).

                                                - *
                                              • - *
                                              • - *

                                                - * status-message - The reason for the status.

                                                - *
                                              • - *
                                              • - *

                                                - * update-date - The time when the modification request was last updated.

                                                - *
                                              • - *
                                              - */ - Filters?: Filter[]; - +export interface PathComponent { /** - *

                                              IDs for the submitted modification request.

                                              + *

                                              The sequence number.

                                              */ - ReservedInstancesModificationIds?: string[]; + SequenceNumber?: number; /** - *

                                              The token to retrieve the next page of results.

                                              + *

                                              The network ACL rule.

                                              */ - NextToken?: string; -} + AclRule?: AnalysisAclRule; -export namespace DescribeReservedInstancesModificationsRequest { /** - * @internal + *

                                              The component.

                                              */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsRequest): any => ({ - ...obj, - }); -} + Component?: AnalysisComponent; -/** - *

                                              Describes the configuration settings for the modified Reserved Instances.

                                              - */ -export interface ReservedInstancesConfiguration { /** - *

                                              The Availability Zone for the modified Reserved Instances.

                                              + *

                                              The destination VPC.

                                              */ - AvailabilityZone?: string; + DestinationVpc?: AnalysisComponent; /** - *

                                              The number of modified Reserved Instances.

                                              - * - *

                                              This is a required field for a request.

                                              - *
                                              + *

                                              The outbound header.

                                              */ - InstanceCount?: number; + OutboundHeader?: AnalysisPacketHeader; /** - *

                                              The instance type for the modified Reserved Instances.

                                              + *

                                              The inbound header.

                                              */ - InstanceType?: _InstanceType | string; + InboundHeader?: AnalysisPacketHeader; /** - *

                                              The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

                                              + *

                                              The route table route.

                                              */ - Platform?: string; + RouteTableRoute?: AnalysisRouteTableRoute; /** - *

                                              Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

                                              + *

                                              The security group rule.

                                              */ - Scope?: Scope | string; -} + SecurityGroupRule?: AnalysisSecurityGroupRule; -export namespace ReservedInstancesConfiguration { /** - * @internal + *

                                              The source VPC.

                                              */ - export const filterSensitiveLog = (obj: ReservedInstancesConfiguration): any => ({ - ...obj, - }); -} + SourceVpc?: AnalysisComponent; -/** - *

                                              Describes the modification request/s.

                                              - */ -export interface ReservedInstancesModificationResult { /** - *

                                              The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

                                              + *

                                              The subnet.

                                              */ - ReservedInstancesId?: string; + Subnet?: AnalysisComponent; /** - *

                                              The target Reserved Instances configurations supplied as part of the modification request.

                                              + *

                                              The component VPC.

                                              */ - TargetConfiguration?: ReservedInstancesConfiguration; + Vpc?: AnalysisComponent; } -export namespace ReservedInstancesModificationResult { +export namespace PathComponent { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesModificationResult): any => ({ + export const filterSensitiveLog = (obj: PathComponent): any => ({ ...obj, }); } +export type AnalysisStatus = "failed" | "running" | "succeeded"; + /** - *

                                              Describes the ID of a Reserved Instance.

                                              + *

                                              Describes a network insights analysis.

                                              */ -export interface ReservedInstancesId { +export interface NetworkInsightsAnalysis { /** - *

                                              The ID of the Reserved Instance.

                                              + *

                                              The ID of the network insights analysis.

                                              */ - ReservedInstancesId?: string; -} + NetworkInsightsAnalysisId?: string; -export namespace ReservedInstancesId { /** - * @internal + *

                                              The Amazon Resource Name (ARN) of the network insights analysis.

                                              */ - export const filterSensitiveLog = (obj: ReservedInstancesId): any => ({ - ...obj, - }); -} + NetworkInsightsAnalysisArn?: string; -/** - *

                                              Describes a Reserved Instance modification.

                                              - */ -export interface ReservedInstancesModification { /** - *

                                              A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. - * For more information, see Ensuring - * Idempotency.

                                              + *

                                              The ID of the path.

                                              */ - ClientToken?: string; + NetworkInsightsPathId?: string; /** - *

                                              The time when the modification request was created.

                                              + *

                                              The Amazon Resource Names (ARN) of the Amazon Web Services resources that the path must traverse.

                                              */ - CreateDate?: Date; + FilterInArns?: string[]; /** - *

                                              The time for the modification to become effective.

                                              + *

                                              The time the analysis started.

                                              */ - EffectiveDate?: Date; + StartDate?: Date; /** - *

                                              Contains target configurations along with their corresponding new Reserved Instance IDs.

                                              + *

                                              The status of the network insights analysis.

                                              */ - ModificationResults?: ReservedInstancesModificationResult[]; + Status?: AnalysisStatus | string; /** - *

                                              The IDs of one or more Reserved Instances.

                                              + *

                                              The status message, if the status is failed.

                                              */ - ReservedInstancesIds?: ReservedInstancesId[]; + StatusMessage?: string; /** - *

                                              A unique ID for the Reserved Instance modification.

                                              + *

                                              Indicates whether the destination is reachable from the source.

                                              */ - ReservedInstancesModificationId?: string; + NetworkPathFound?: boolean; /** - *

                                              The status of the Reserved Instances modification request.

                                              + *

                                              The components in the path from source to destination.

                                              */ - Status?: string; + ForwardPathComponents?: PathComponent[]; /** - *

                                              The reason for the status.

                                              + *

                                              The components in the path from destination to source.

                                              */ - StatusMessage?: string; + ReturnPathComponents?: PathComponent[]; /** - *

                                              The time when the modification request was last updated.

                                              + *

                                              The explanations. For more information, see Reachability Analyzer explanation codes.

                                              */ - UpdateDate?: Date; + Explanations?: Explanation[]; + + /** + *

                                              Potential intermediate components.

                                              + */ + AlternatePathHints?: AlternatePathHint[]; + + /** + *

                                              The tags.

                                              + */ + Tags?: Tag[]; } -export namespace ReservedInstancesModification { +export namespace NetworkInsightsAnalysis { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesModification): any => ({ + export const filterSensitiveLog = (obj: NetworkInsightsAnalysis): any => ({ ...obj, }); } -/** - *

                                              Contains the output of DescribeReservedInstancesModifications.

                                              - */ -export interface DescribeReservedInstancesModificationsResult { +export interface DescribeNetworkInsightsAnalysesResult { /** - *

                                              The token to use to retrieve the next page of results. This value is null when - * there are no more results to return.

                                              + *

                                              Information about the network insights analyses.

                                              */ - NextToken?: string; + NetworkInsightsAnalyses?: NetworkInsightsAnalysis[]; /** - *

                                              The Reserved Instance modification information.

                                              + *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - ReservedInstancesModifications?: ReservedInstancesModification[]; + NextToken?: string; } -export namespace DescribeReservedInstancesModificationsResult { +export namespace DescribeNetworkInsightsAnalysesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsAnalysesResult): any => ({ ...obj, }); } -/** - *

                                              Contains the parameters for DescribeReservedInstancesOfferings.

                                              - */ -export interface DescribeReservedInstancesOfferingsRequest { +export interface DescribeNetworkInsightsPathsRequest { /** - *

                                              The Availability Zone in which the Reserved Instance can be used.

                                              + *

                                              The IDs of the paths.

                                              */ - AvailabilityZone?: string; + NetworkInsightsPathIds?: string[]; /** - *

                                              One or more filters.

                                              + *

                                              The filters. The following are possible values:

                                              *
                                                *
                                              • - *

                                                - * availability-zone - The Availability Zone where the Reserved Instance can be - * used.

                                                - *
                                              • - *
                                              • - *

                                                - * duration - The duration of the Reserved Instance (for example, one year or - * three years), in seconds (31536000 | 94608000).

                                                - *
                                              • - *
                                              • - *

                                                - * fixed-price - The purchase price of the Reserved Instance (for example, - * 9800.0).

                                                - *
                                              • - *
                                              • - *

                                                - * instance-type - The instance type that is covered by the - * reservation.

                                                - *
                                              • - *
                                              • - *

                                                - * marketplace - Set to true to show only Reserved Instance - * Marketplace offerings. When this filter is not used, which is the default behavior, all - * offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

                                                + *

                                                Destination - The ID of the resource.

                                                *
                                              • *
                                              • - *

                                                - * product-description - The Reserved Instance product platform description. - * Instances that include (Amazon VPC) in the product platform description will - * only be displayed to EC2-Classic account holders and are for use with Amazon VPC. - * (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE - * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise - * Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat - * Enterprise Linux with HA (Amazon VPC) | Windows | Windows - * (Amazon VPC) | Windows with SQL Server Standard | Windows with - * SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | - * Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server - * Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

                                                + *

                                                DestinationPort - The destination port.

                                                *
                                              • *
                                              • - *

                                                - * reserved-instances-offering-id - The Reserved Instances offering - * ID.

                                                + *

                                                Name - The path name.

                                                *
                                              • *
                                              • - *

                                                - * scope - The scope of the Reserved Instance (Availability Zone or - * Region).

                                                + *

                                                Protocol - The protocol.

                                                *
                                              • *
                                              • - *

                                                - * usage-price - The usage price of the Reserved Instance, per hour (for - * example, 0.84).

                                                + *

                                                Source - The ID of the resource.

                                                *
                                              • *
                                              */ Filters?: Filter[]; /** - *

                                              Include Reserved Instance Marketplace offerings in the response.

                                              - */ - IncludeMarketplace?: boolean; - - /** - *

                                              The instance type that the reservation will cover (for example, m1.small). For more information, see - * Instance types in the - * Amazon EC2 User Guide.

                                              - */ - InstanceType?: _InstanceType | string; - - /** - *

                                              The maximum duration (in seconds) to filter when searching for offerings.

                                              - *

                                              Default: 94608000 (3 years)

                                              - */ - MaxDuration?: number; - - /** - *

                                              The maximum number of instances to filter when searching for offerings.

                                              - *

                                              Default: 20

                                              - */ - MaxInstanceCount?: number; - - /** - *

                                              The minimum duration (in seconds) to filter when searching for offerings.

                                              - *

                                              Default: 2592000 (1 month)

                                              - */ - MinDuration?: number; - - /** - *

                                              The offering class of the Reserved Instance. Can be standard or convertible.

                                              - */ - OfferingClass?: OfferingClassType | string; - - /** - *

                                              The Reserved Instance product platform description. Instances that include (Amazon - * VPC) in the description are for use with Amazon VPC.

                                              - */ - ProductDescription?: RIProductDescription | string; - - /** - *

                                              One or more Reserved Instances offering IDs.

                                              + *

                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                              */ - ReservedInstancesOfferingIds?: string[]; + MaxResults?: number; /** *

                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                              + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ DryRun?: boolean; /** - *

                                              The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy - * of dedicated is applied to instances that run in a VPC on single-tenant hardware - * (i.e., Dedicated Instances).

                                              - *

                                              - * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

                                              - *

                                              Default: default - *

                                              - */ - InstanceTenancy?: Tenancy | string; - - /** - *

                                              The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. The maximum is 100.

                                              - *

                                              Default: 100

                                              - */ - MaxResults?: number; - - /** - *

                                              The token to retrieve the next page of results.

                                              + *

                                              The token for the next page of results.

                                              */ NextToken?: string; - - /** - *

                                              The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API - * version, you only have access to the Medium Utilization Reserved Instance - * offering type.

                                              - */ - OfferingType?: OfferingTypeValues | string; } -export namespace DescribeReservedInstancesOfferingsRequest { +export namespace DescribeNetworkInsightsPathsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsPathsRequest): any => ({ ...obj, }); } -/** - *

                                              Describes a Reserved Instance offering.

                                              - */ -export interface PricingDetail { +export interface DescribeNetworkInsightsPathsResult { /** - *

                                              The number of reservations available for the price.

                                              + *

                                              Information about the paths.

                                              */ - Count?: number; + NetworkInsightsPaths?: NetworkInsightsPath[]; /** - *

                                              The price per instance.

                                              + *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              */ - Price?: number; + NextToken?: string; } -export namespace PricingDetail { +export namespace DescribeNetworkInsightsPathsResult { /** * @internal */ - export const filterSensitiveLog = (obj: PricingDetail): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInsightsPathsResult): any => ({ ...obj, }); } +export type NetworkInterfaceAttribute = "attachment" | "description" | "groupSet" | "sourceDestCheck"; + /** - *

                                              Describes a Reserved Instance offering.

                                              + *

                                              Contains the parameters for DescribeNetworkInterfaceAttribute.

                                              */ -export interface ReservedInstancesOffering { - /** - *

                                              The Availability Zone in which the Reserved Instance can be used.

                                              - */ - AvailabilityZone?: string; - +export interface DescribeNetworkInterfaceAttributeRequest { /** - *

                                              The duration of the Reserved Instance, in seconds.

                                              + *

                                              The attribute of the network interface. This parameter is required.

                                              */ - Duration?: number; + Attribute?: NetworkInterfaceAttribute | string; /** - *

                                              The purchase price of the Reserved Instance.

                                              + *

                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ - FixedPrice?: number; + DryRun?: boolean; /** - *

                                              The instance type on which the Reserved Instance can be used.

                                              + *

                                              The ID of the network interface.

                                              */ - InstanceType?: _InstanceType | string; + NetworkInterfaceId: string | undefined; +} +export namespace DescribeNetworkInterfaceAttributeRequest { /** - *

                                              The Reserved Instance product platform description.

                                              + * @internal */ - ProductDescription?: RIProductDescription | string; + export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeRequest): any => ({ + ...obj, + }); +} +/** + *

                                              Contains the output of DescribeNetworkInterfaceAttribute.

                                              + */ +export interface DescribeNetworkInterfaceAttributeResult { /** - *

                                              The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote - * to confirm that an exchange can be made.

                                              + *

                                              The attachment (if any) of the network interface.

                                              */ - ReservedInstancesOfferingId?: string; + Attachment?: NetworkInterfaceAttachment; /** - *

                                              The usage price of the Reserved Instance, per hour.

                                              + *

                                              The description of the network interface.

                                              */ - UsagePrice?: number; + Description?: AttributeValue; /** - *

                                              The currency of the Reserved Instance offering you are purchasing. It's - * specified using ISO 4217 standard currency codes. At this time, - * the only supported currency is USD.

                                              + *

                                              The security groups associated with the network interface.

                                              */ - CurrencyCode?: CurrencyCodeValues | string; + Groups?: GroupIdentifier[]; /** - *

                                              The tenancy of the instance.

                                              + *

                                              The ID of the network interface.

                                              */ - InstanceTenancy?: Tenancy | string; + NetworkInterfaceId?: string; /** - *

                                              Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. - * If it's a Reserved Instance Marketplace offering, this is true.

                                              + *

                                              Indicates whether source/destination checking is enabled.

                                              */ - Marketplace?: boolean; + SourceDestCheck?: AttributeBooleanValue; +} +export namespace DescribeNetworkInterfaceAttributeResult { /** - *

                                              If convertible it can be exchanged for Reserved Instances of - * the same or higher monetary value, with different configurations. If standard, it is not - * possible to perform an exchange.

                                              + * @internal */ - OfferingClass?: OfferingClassType | string; + export const filterSensitiveLog = (obj: DescribeNetworkInterfaceAttributeResult): any => ({ + ...obj, + }); +} +/** + *

                                              Contains the parameters for DescribeNetworkInterfacePermissions.

                                              + */ +export interface DescribeNetworkInterfacePermissionsRequest { /** - *

                                              The Reserved Instance offering type.

                                              + *

                                              One or more network interface permission IDs.

                                              */ - OfferingType?: OfferingTypeValues | string; + NetworkInterfacePermissionIds?: string[]; /** - *

                                              The pricing details of the Reserved Instance offering.

                                              + *

                                              One or more filters.

                                              + *
                                                + *
                                              • + *

                                                + * network-interface-permission.network-interface-permission-id - The ID of the + * permission.

                                                + *
                                              • + *
                                              • + *

                                                + * network-interface-permission.network-interface-id - The ID of + * the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * network-interface-permission.aws-account-id - The Amazon Web Services account ID.

                                                + *
                                              • + *
                                              • + *

                                                + * network-interface-permission.aws-service - The Amazon Web Service.

                                                + *
                                              • + *
                                              • + *

                                                + * network-interface-permission.permission - The type of + * permission (INSTANCE-ATTACH | + * EIP-ASSOCIATE).

                                                + *
                                              • + *
                                              */ - PricingDetails?: PricingDetail[]; + Filters?: Filter[]; /** - *

                                              The recurring charge tag assigned to the resource.

                                              + *

                                              The token to request the next page of results.

                                              */ - RecurringCharges?: RecurringCharge[]; + NextToken?: string; /** - *

                                              Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

                                              + *

                                              The maximum number of results to return in a single call. To retrieve the remaining results, + * make another call with the returned NextToken value. If this parameter is not specified, up to 50 results are returned by default.

                                              */ - Scope?: Scope | string; + MaxResults?: number; } -export namespace ReservedInstancesOffering { +export namespace DescribeNetworkInterfacePermissionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstancesOffering): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsRequest): any => ({ ...obj, }); } /** - *

                                              Contains the output of DescribeReservedInstancesOfferings.

                                              + *

                                              Contains the output for DescribeNetworkInterfacePermissions.

                                              */ -export interface DescribeReservedInstancesOfferingsResult { +export interface DescribeNetworkInterfacePermissionsResult { /** - *

                                              A list of Reserved Instances offerings.

                                              + *

                                              The network interface permissions.

                                              */ - ReservedInstancesOfferings?: ReservedInstancesOffering[]; + NetworkInterfacePermissions?: NetworkInterfacePermission[]; /** - *

                                              The token to use to retrieve the next page of results. This value is null when - * there are no more results to return.

                                              + *

                                              The token to use to retrieve the next page of results.

                                              */ NextToken?: string; } -export namespace DescribeReservedInstancesOfferingsResult { +export namespace DescribeNetworkInterfacePermissionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInterfacePermissionsResult): any => ({ ...obj, }); } -export interface DescribeRouteTablesRequest { +/** + *

                                              Contains the parameters for DescribeNetworkInterfaces.

                                              + */ +export interface DescribeNetworkInterfacesRequest { /** *

                                              One or more filters.

                                              *
                                                *
                                              • *

                                                - * association.route-table-association-id - The ID of an association - * ID for the route table.

                                                + * addresses.private-ip-address - The private IPv4 addresses + * associated with the network interface.

                                                *
                                              • *
                                              • *

                                                - * association.route-table-id - The ID of the route table involved in - * the association.

                                                + * addresses.primary - Whether the private IPv4 address is the primary + * IP address associated with the network interface.

                                                *
                                              • *
                                              • *

                                                - * association.subnet-id - The ID of the subnet involved in the - * association.

                                                + * addresses.association.public-ip - The association ID returned when + * the network interface was associated with the Elastic IP address + * (IPv4).

                                                *
                                              • *
                                              • *

                                                - * association.main - Indicates whether the route table is the main - * route table for the VPC (true | false). Route tables - * that do not have an association ID are not returned in the response.

                                                + * addresses.association.owner-id - The owner ID of the addresses associated with the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * association.association-id - The association ID returned when the + * network interface was associated with an IPv4 address.

                                                + *
                                              • + *
                                              • + *

                                                + * association.allocation-id - The allocation ID returned when you + * allocated the Elastic IP address (IPv4) for your network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * association.ip-owner-id - The owner of the Elastic IP address + * (IPv4) associated with the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * association.public-ip - The address of the Elastic IP address + * (IPv4) bound to the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * association.public-dns-name - The public DNS name for the network + * interface (IPv4).

                                                + *
                                              • + *
                                              • + *

                                                + * attachment.attachment-id - The ID of the interface attachment.

                                                + *
                                              • + *
                                              • + *

                                                + * attachment.attach-time - The time that the network interface was attached to an instance.

                                                + *
                                              • + *
                                              • + *

                                                + * attachment.delete-on-termination - Indicates whether the attachment is deleted when an instance is terminated.

                                                + *
                                              • + *
                                              • + *

                                                + * attachment.device-index - The device index to which the network interface is attached.

                                                + *
                                              • + *
                                              • + *

                                                + * attachment.instance-id - The ID of the instance to which the network interface is attached.

                                                + *
                                              • + *
                                              • + *

                                                + * attachment.instance-owner-id - The owner ID of the instance to which the network interface is attached.

                                                + *
                                              • + *
                                              • + *

                                                + * attachment.status - The status of the attachment (attaching | attached | detaching | detached).

                                                + *
                                              • + *
                                              • + *

                                                + * availability-zone - The Availability Zone of the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * description - The description of the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * group-id - The ID of a security group associated with the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * group-name - The name of a security group associated with the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * ipv6-addresses.ipv6-address - An IPv6 address associated with + * the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * mac-address - The MAC address of the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * network-interface-id - The ID of the network interface.

                                                + *
                                              • + *
                                              • + *

                                                + * owner-id - The Amazon Web Services account ID of the network interface owner.

                                                + *
                                              • + *
                                              • + *

                                                + * private-ip-address - The private IPv4 address or addresses of the + * network interface.

                                                *
                                              • *
                                              • *

                                                - * owner-id - The ID of the Amazon Web Services account that owns the route table.

                                                + * private-dns-name - The private DNS name of the network interface (IPv4).

                                                *
                                              • *
                                              • *

                                                - * route-table-id - The ID of the route table.

                                                + * requester-id - The alias or Amazon Web Services account ID of the principal or service that created the network interface.

                                                *
                                              • *
                                              • - *

                                                - * route.destination-cidr-block - The IPv4 CIDR range specified in a - * route in the table.

                                                - *
                                              • - *
                                              • - *

                                                - * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

                                                - *
                                              • - *
                                              • - *

                                                - * route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Service - * specified in a route in the table.

                                                - *
                                              • - *
                                              • - *

                                                - * route.egress-only-internet-gateway-id - The ID of an - * egress-only Internet gateway specified in a route in the route table.

                                                - *
                                              • - *
                                              • *

                                                - * route.gateway-id - The ID of a gateway specified in a route in the table.

                                                + * requester-managed - Indicates whether the network interface is being managed by an Amazon Web Service + * (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

                                                *
                                              • *
                                              • - *

                                                - * route.instance-id - The ID of an instance specified in a route in the table.

                                                - *
                                              • - *
                                              • - *

                                                - * route.nat-gateway-id - The ID of a NAT gateway.

                                                - *
                                              • - *
                                              • *

                                                - * route.transit-gateway-id - The ID of a transit gateway.

                                                + * source-dest-check - Indicates whether the network interface performs source/destination checking. + * A value of true means checking is enabled, and false means checking is disabled. + * The value must be false for the network interface to perform network address translation (NAT) in your VPC.

                                                *
                                              • *
                                              • *

                                                - * route.origin - Describes how the route was created. - * CreateRouteTable indicates that the route was automatically - * created when the route table was created; CreateRoute indicates - * that the route was manually added to the route table; - * EnableVgwRoutePropagation indicates that the route was - * propagated by route propagation.

                                                + * status - The status of the network interface. If the network interface is not attached to an instance, the status is available; + * if a network interface is attached to an instance the status is in-use.

                                                *
                                              • *
                                              • - *

                                                - * route.state - The state of a route in the route table - * (active | blackhole). The blackhole state - * indicates that the route's target isn't available (for example, the specified - * gateway isn't attached to the VPC, the specified NAT instance has been - * terminated, and so on).

                                                - *
                                              • - *
                                              • - *

                                                - * route.vpc-peering-connection-id - The ID of a VPC peering - * connection specified in a route in the table.

                                                + *

                                                + * subnet-id - The ID of the subnet for the network interface.

                                                *
                                              • *
                                              • - *

                                                + *

                                                * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                *
                                              • *
                                              • - *

                                                + *

                                                * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                *
                                              • *
                                              • - *

                                                - * vpc-id - The ID of the VPC for the route table.

                                                + *

                                                + * vpc-id - The ID of the VPC for the network interface.

                                                *
                                              • *
                                              */ @@ -8371,46 +7759,47 @@ export interface DescribeRouteTablesRequest { /** *

                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                              + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                              */ DryRun?: boolean; /** - *

                                              One or more route table IDs.

                                              - *

                                              Default: Describes all your route tables.

                                              + *

                                              One or more network interface IDs.

                                              + *

                                              Default: Describes all your network interfaces.

                                              */ - RouteTableIds?: string[]; + NetworkInterfaceIds?: string[]; /** - *

                                              The token for the next page of results.

                                              + *

                                              The token to retrieve the next page of results.

                                              */ NextToken?: string; /** - *

                                              The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                              + *

                                              The maximum number of items to return for this request. The request returns a token that you + * can specify in a subsequent call to get the next set of results. You cannot specify this + * parameter and the network interface IDs parameter in the same request.

                                              */ MaxResults?: number; } -export namespace DescribeRouteTablesRequest { +export namespace DescribeNetworkInterfacesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeRouteTablesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInterfacesRequest): any => ({ ...obj, }); } /** - *

                                              Contains the output of DescribeRouteTables.

                                              + *

                                              Contains the output of DescribeNetworkInterfaces.

                                              */ -export interface DescribeRouteTablesResult { +export interface DescribeNetworkInterfacesResult { /** - *

                                              Information about one or more route tables.

                                              + *

                                              Information about one or more network interfaces.

                                              */ - RouteTables?: RouteTable[]; + NetworkInterfaces?: NetworkInterface[]; /** *

                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                              @@ -8418,508 +7807,459 @@ export interface DescribeRouteTablesResult { NextToken?: string; } -export namespace DescribeRouteTablesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeRouteTablesResult): any => ({ - ...obj, - }); -} - -/** - *

                                              Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

                                              - */ -export interface SlotDateTimeRangeRequest { - /** - *

                                              The earliest date and time, in UTC, for the Scheduled Instance to start.

                                              - */ - EarliestTime: Date | undefined; - - /** - *

                                              The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

                                              - */ - LatestTime: Date | undefined; -} - -export namespace SlotDateTimeRangeRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: SlotDateTimeRangeRequest): any => ({ - ...obj, - }); -} - -/** - *

                                              Describes the recurring schedule for a Scheduled Instance.

                                              - */ -export interface ScheduledInstanceRecurrenceRequest { - /** - *

                                              The frequency (Daily, Weekly, or Monthly).

                                              - */ - Frequency?: string; - - /** - *

                                              The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 - * weeks or every 2 months.

                                              - */ - Interval?: number; - - /** - *

                                              The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

                                              - */ - OccurrenceDays?: number[]; - - /** - *

                                              Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

                                              - */ - OccurrenceRelativeToEnd?: boolean; - - /** - *

                                              The unit for OccurrenceDays (DayOfWeek or DayOfMonth). - * This value is required for a monthly schedule. - * You can't specify DayOfWeek with a weekly schedule. - * You can't specify this value with a daily schedule.

                                              - */ - OccurrenceUnit?: string; -} - -export namespace ScheduledInstanceRecurrenceRequest { +export namespace DescribeNetworkInterfacesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstanceRecurrenceRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeNetworkInterfacesResult): any => ({ ...obj, }); } -/** - *

                                              Contains the parameters for DescribeScheduledInstanceAvailability.

                                              - */ -export interface DescribeScheduledInstanceAvailabilityRequest { - /** - *

                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                              - */ - DryRun?: boolean; - +export interface DescribePlacementGroupsRequest { /** *

                                              The filters.

                                              - *
                                                + *
                                                  *
                                                • - *

                                                  - * availability-zone - The Availability Zone (for example, us-west-2a).

                                                  + *

                                                  + * group-name - The name of the placement group.

                                                  *
                                                • *
                                                • - *

                                                  - * instance-type - The instance type (for example, c4.large).

                                                  + *

                                                  + * state - The state of the placement group (pending | + * available | deleting | + * deleted).

                                                  + *
                                                • + *
                                                • + *

                                                  + * strategy - The strategy of the placement group + * (cluster | spread | + * partition).

                                                  *
                                                • *
                                                • *

                                                  - * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                  *
                                                • *
                                                • *

                                                  - * platform - The platform (Linux/UNIX or Windows).

                                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                                  *
                                                • *
                                                */ Filters?: Filter[]; /** - *

                                                The time period for the first schedule to start.

                                                - */ - FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; - - /** - *

                                                The maximum number of results to return in a single call. - * This value can be between 5 and 300. The default value is 300. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                + *

                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                */ - MaxResults?: number; + DryRun?: boolean; /** - *

                                                The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours - * and less than 1,720.

                                                + *

                                                The names of the placement groups.

                                                + *

                                                Default: Describes all your placement groups, or only those otherwise + * specified.

                                                */ - MaxSlotDurationInHours?: number; + GroupNames?: string[]; /** - *

                                                The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

                                                + *

                                                The IDs of the placement groups.

                                                */ - MinSlotDurationInHours?: number; + GroupIds?: string[]; +} +export namespace DescribePlacementGroupsRequest { /** - *

                                                The token for the next set of results.

                                                + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: DescribePlacementGroupsRequest): any => ({ + ...obj, + }); +} +export interface DescribePlacementGroupsResult { /** - *

                                                The schedule recurrence.

                                                + *

                                                Information about the placement groups.

                                                */ - Recurrence: ScheduledInstanceRecurrenceRequest | undefined; + PlacementGroups?: PlacementGroup[]; } -export namespace DescribeScheduledInstanceAvailabilityRequest { +export namespace DescribePlacementGroupsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityRequest): any => ({ + export const filterSensitiveLog = (obj: DescribePlacementGroupsResult): any => ({ ...obj, }); } -/** - *

                                                Describes the recurring schedule for a Scheduled Instance.

                                                - */ -export interface ScheduledInstanceRecurrence { +export interface DescribePrefixListsRequest { /** - *

                                                The frequency (Daily, Weekly, or Monthly).

                                                + *

                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                */ - Frequency?: string; + DryRun?: boolean; /** - *

                                                The interval quantity. The interval unit depends on the value of frequency. For example, every 2 - * weeks or every 2 months.

                                                + *

                                                One or more filters.

                                                + *
                                                  + *
                                                • + *

                                                  + * prefix-list-id: The ID of a prefix list.

                                                  + *
                                                • + *
                                                • + *

                                                  + * prefix-list-name: The name of a prefix list.

                                                  + *
                                                • + *
                                                */ - Interval?: number; + Filters?: Filter[]; /** - *

                                                The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

                                                + *

                                                The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                */ - OccurrenceDaySet?: number[]; + MaxResults?: number; /** - *

                                                Indicates whether the occurrence is relative to the end of the specified week or month.

                                                + *

                                                The token for the next page of results.

                                                */ - OccurrenceRelativeToEnd?: boolean; + NextToken?: string; /** - *

                                                The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

                                                + *

                                                One or more prefix list IDs.

                                                */ - OccurrenceUnit?: string; + PrefixListIds?: string[]; } -export namespace ScheduledInstanceRecurrence { +export namespace DescribePrefixListsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstanceRecurrence): any => ({ + export const filterSensitiveLog = (obj: DescribePrefixListsRequest): any => ({ ...obj, }); } /** - *

                                                Describes a schedule that is available for your Scheduled Instances.

                                                + *

                                                Describes prefixes for Amazon Web Services services.

                                                */ -export interface ScheduledInstanceAvailability { - /** - *

                                                The Availability Zone.

                                                - */ - AvailabilityZone?: string; - - /** - *

                                                The number of available instances.

                                                - */ - AvailableInstanceCount?: number; - +export interface PrefixList { /** - *

                                                The time period for the first schedule to start.

                                                + *

                                                The IP address range of the Amazon Web Service.

                                                */ - FirstSlotStartTime?: Date; + Cidrs?: string[]; /** - *

                                                The hourly price for a single instance.

                                                + *

                                                The ID of the prefix.

                                                */ - HourlyPrice?: string; + PrefixListId?: string; /** - *

                                                The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

                                                + *

                                                The name of the prefix.

                                                */ - InstanceType?: string; + PrefixListName?: string; +} +export namespace PrefixList { /** - *

                                                The maximum term. The only possible value is 365 days.

                                                + * @internal */ - MaxTermDurationInDays?: number; + export const filterSensitiveLog = (obj: PrefixList): any => ({ + ...obj, + }); +} +export interface DescribePrefixListsResult { /** - *

                                                The minimum term. The only possible value is 365 days.

                                                + *

                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                */ - MinTermDurationInDays?: number; + NextToken?: string; /** - *

                                                The network platform (EC2-Classic or EC2-VPC).

                                                + *

                                                All available prefix lists.

                                                */ - NetworkPlatform?: string; + PrefixLists?: PrefixList[]; +} +export namespace DescribePrefixListsResult { /** - *

                                                The platform (Linux/UNIX or Windows).

                                                + * @internal */ - Platform?: string; + export const filterSensitiveLog = (obj: DescribePrefixListsResult): any => ({ + ...obj, + }); +} +export interface DescribePrincipalIdFormatRequest { /** - *

                                                The purchase token. This token expires in two hours.

                                                + *

                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                */ - PurchaseToken?: string; + DryRun?: boolean; /** - *

                                                The schedule recurrence.

                                                + *

                                                The type of resource: bundle | + * conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | instance | internet-gateway | + * network-acl | network-acl-association | + * network-interface | network-interface-attachment | + * prefix-list | reservation | route-table | + * route-table-association | security-group | + * snapshot | subnet | + * subnet-cidr-block-association | volume | vpc + * | vpc-cidr-block-association | vpc-endpoint | + * vpc-peering-connection | vpn-connection | vpn-gateway + *

                                                */ - Recurrence?: ScheduledInstanceRecurrence; + Resources?: string[]; /** - *

                                                The number of hours in the schedule.

                                                + *

                                                The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value.

                                                */ - SlotDurationInHours?: number; + MaxResults?: number; /** - *

                                                The total number of hours for a single instance for the entire term.

                                                + *

                                                The token to request the next page of results.

                                                */ - TotalScheduledInstanceHours?: number; + NextToken?: string; } -export namespace ScheduledInstanceAvailability { +export namespace DescribePrincipalIdFormatRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstanceAvailability): any => ({ + export const filterSensitiveLog = (obj: DescribePrincipalIdFormatRequest): any => ({ ...obj, }); } /** - *

                                                Contains the output of DescribeScheduledInstanceAvailability.

                                                + *

                                                PrincipalIdFormat description

                                                */ -export interface DescribeScheduledInstanceAvailabilityResult { +export interface PrincipalIdFormat { /** - *

                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                + *

                                                PrincipalIdFormatARN description

                                                */ - NextToken?: string; + Arn?: string; /** - *

                                                Information about the available Scheduled Instances.

                                                + *

                                                PrincipalIdFormatStatuses description

                                                */ - ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[]; + Statuses?: IdFormat[]; } -export namespace DescribeScheduledInstanceAvailabilityResult { +export namespace PrincipalIdFormat { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityResult): any => ({ + export const filterSensitiveLog = (obj: PrincipalIdFormat): any => ({ ...obj, }); } -/** - *

                                                Describes the time period for a Scheduled Instance to start its first schedule.

                                                - */ -export interface SlotStartTimeRangeRequest { +export interface DescribePrincipalIdFormatResult { /** - *

                                                The earliest date and time, in UTC, for the Scheduled Instance to start.

                                                + *

                                                Information about the ID format settings for the ARN.

                                                */ - EarliestTime?: Date; + Principals?: PrincipalIdFormat[]; /** - *

                                                The latest date and time, in UTC, for the Scheduled Instance to start.

                                                + *

                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                */ - LatestTime?: Date; + NextToken?: string; } -export namespace SlotStartTimeRangeRequest { +export namespace DescribePrincipalIdFormatResult { /** * @internal */ - export const filterSensitiveLog = (obj: SlotStartTimeRangeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribePrincipalIdFormatResult): any => ({ ...obj, }); } -/** - *

                                                Contains the parameters for DescribeScheduledInstances.

                                                - */ -export interface DescribeScheduledInstancesRequest { - /** - *

                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                - */ - DryRun?: boolean; - - /** - *

                                                The filters.

                                                - *
                                                  - *
                                                • - *

                                                  - * availability-zone - The Availability Zone (for example, us-west-2a).

                                                  - *
                                                • - *
                                                • - *

                                                  - * instance-type - The instance type (for example, c4.large).

                                                  - *
                                                • - *
                                                • - *

                                                  - * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                  - *
                                                • - *
                                                • - *

                                                  - * platform - The platform (Linux/UNIX or Windows).

                                                  - *
                                                • - *
                                                - */ - Filters?: Filter[]; - +export interface DescribePublicIpv4PoolsRequest { /** - *

                                                The maximum number of results to return in a single call. - * This value can be between 5 and 300. The default value is 100. - * To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                + *

                                                The IDs of the address pools.

                                                */ - MaxResults?: number; + PoolIds?: string[]; /** - *

                                                The token for the next set of results.

                                                + *

                                                The token for the next page of results.

                                                */ NextToken?: string; /** - *

                                                The Scheduled Instance IDs.

                                                + *

                                                The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                */ - ScheduledInstanceIds?: string[]; + MaxResults?: number; /** - *

                                                The time period for the first schedule to start.

                                                + *

                                                One or more filters.

                                                + *
                                                  + *
                                                • + *

                                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                  + *
                                                • + *
                                                • + *

                                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                  + *
                                                • + *
                                                */ - SlotStartTimeRange?: SlotStartTimeRangeRequest; + Filters?: Filter[]; } -export namespace DescribeScheduledInstancesRequest { +export namespace DescribePublicIpv4PoolsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeScheduledInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsRequest): any => ({ ...obj, }); } /** - *

                                                Describes a Scheduled Instance.

                                                + *

                                                Describes an address range of an IPv4 address pool.

                                                */ -export interface ScheduledInstance { - /** - *

                                                The Availability Zone.

                                                - */ - AvailabilityZone?: string; - - /** - *

                                                The date when the Scheduled Instance was purchased.

                                                - */ - CreateDate?: Date; - - /** - *

                                                The hourly price for a single instance.

                                                - */ - HourlyPrice?: string; - +export interface PublicIpv4PoolRange { /** - *

                                                The number of instances.

                                                + *

                                                The first IP address in the range.

                                                */ - InstanceCount?: number; + FirstAddress?: string; /** - *

                                                The instance type.

                                                + *

                                                The last IP address in the range.

                                                */ - InstanceType?: string; + LastAddress?: string; /** - *

                                                The network platform (EC2-Classic or EC2-VPC).

                                                + *

                                                The number of addresses in the range.

                                                */ - NetworkPlatform?: string; + AddressCount?: number; /** - *

                                                The time for the next schedule to start.

                                                + *

                                                The number of available addresses in the range.

                                                */ - NextSlotStartTime?: Date; + AvailableAddressCount?: number; +} +export namespace PublicIpv4PoolRange { /** - *

                                                The platform (Linux/UNIX or Windows).

                                                + * @internal */ - Platform?: string; + export const filterSensitiveLog = (obj: PublicIpv4PoolRange): any => ({ + ...obj, + }); +} +/** + *

                                                Describes an IPv4 address pool.

                                                + */ +export interface PublicIpv4Pool { /** - *

                                                The time that the previous schedule ended or will end.

                                                + *

                                                The ID of the address pool.

                                                */ - PreviousSlotEndTime?: Date; + PoolId?: string; /** - *

                                                The schedule recurrence.

                                                + *

                                                A description of the address pool.

                                                */ - Recurrence?: ScheduledInstanceRecurrence; + Description?: string; /** - *

                                                The Scheduled Instance ID.

                                                + *

                                                The address ranges.

                                                */ - ScheduledInstanceId?: string; + PoolAddressRanges?: PublicIpv4PoolRange[]; /** - *

                                                The number of hours in the schedule.

                                                + *

                                                The total number of addresses.

                                                */ - SlotDurationInHours?: number; + TotalAddressCount?: number; /** - *

                                                The end date for the Scheduled Instance.

                                                + *

                                                The total number of available addresses.

                                                */ - TermEndDate?: Date; + TotalAvailableAddressCount?: number; /** - *

                                                The start date for the Scheduled Instance.

                                                + *

                                                The name of the location from which the address pool is advertised. + * A network border group is a unique set of Availability Zones or Local Zones + * from where Amazon Web Services advertises public IP addresses.

                                                */ - TermStartDate?: Date; + NetworkBorderGroup?: string; /** - *

                                                The total number of hours for a single instance for the entire term.

                                                + *

                                                Any tags for the address pool.

                                                */ - TotalScheduledInstanceHours?: number; + Tags?: Tag[]; } -export namespace ScheduledInstance { +export namespace PublicIpv4Pool { /** * @internal */ - export const filterSensitiveLog = (obj: ScheduledInstance): any => ({ + export const filterSensitiveLog = (obj: PublicIpv4Pool): any => ({ ...obj, }); } -/** - *

                                                Contains the output of DescribeScheduledInstances.

                                                - */ -export interface DescribeScheduledInstancesResult { +export interface DescribePublicIpv4PoolsResult { /** - *

                                                The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                + *

                                                Information about the address pools.

                                                */ - NextToken?: string; + PublicIpv4Pools?: PublicIpv4Pool[]; /** - *

                                                Information about the Scheduled Instances.

                                                + *

                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                */ - ScheduledInstanceSet?: ScheduledInstance[]; + NextToken?: string; } -export namespace DescribeScheduledInstancesResult { +export namespace DescribePublicIpv4PoolsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeScheduledInstancesResult): any => ({ + export const filterSensitiveLog = (obj: DescribePublicIpv4PoolsResult): any => ({ ...obj, }); } -export interface DescribeSecurityGroupReferencesRequest { +export interface DescribeRegionsRequest { + /** + *

                                                The filters.

                                                + *
                                                  + *
                                                • + *

                                                  + * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).

                                                  + *
                                                • + *
                                                • + *

                                                  + * opt-in-status - The opt-in status of the Region (opt-in-not-required | opted-in | + * not-opted-in).

                                                  + *
                                                • + *
                                                • + *

                                                  + * region-name - The name of the Region (for example, us-east-1).

                                                  + *
                                                • + *
                                                + */ + Filters?: Filter[]; + + /** + *

                                                The names of the Regions. You can specify any Regions, whether they are enabled and disabled for your account.

                                                + */ + RegionNames?: string[]; + /** *

                                                Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -8928,97 +8268,88 @@ export interface DescribeSecurityGroupReferencesRequest { DryRun?: boolean; /** - *

                                                The IDs of the security groups in your account.

                                                + *

                                                Indicates whether to display all Regions, including Regions that are disabled for your account.

                                                */ - GroupId: string[] | undefined; + AllRegions?: boolean; } -export namespace DescribeSecurityGroupReferencesRequest { +export namespace DescribeRegionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeRegionsRequest): any => ({ ...obj, }); } /** - *

                                                Describes a VPC with a security group that references your security group.

                                                + *

                                                Describes a Region.

                                                */ -export interface SecurityGroupReference { +export interface Region { /** - *

                                                The ID of your security group.

                                                + *

                                                The Region service endpoint.

                                                */ - GroupId?: string; + Endpoint?: string; /** - *

                                                The ID of the VPC with the referencing security group.

                                                + *

                                                The name of the Region.

                                                */ - ReferencingVpcId?: string; + RegionName?: string; /** - *

                                                The ID of the VPC peering connection.

                                                + *

                                                The Region opt-in status. The possible values are opt-in-not-required, opted-in, and + * not-opted-in.

                                                */ - VpcPeeringConnectionId?: string; + OptInStatus?: string; } -export namespace SecurityGroupReference { +export namespace Region { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupReference): any => ({ + export const filterSensitiveLog = (obj: Region): any => ({ ...obj, }); } -export interface DescribeSecurityGroupReferencesResult { +export interface DescribeRegionsResult { /** - *

                                                Information about the VPCs with the referencing security groups.

                                                + *

                                                Information about the Regions.

                                                */ - SecurityGroupReferenceSet?: SecurityGroupReference[]; + Regions?: Region[]; } -export namespace DescribeSecurityGroupReferencesResult { +export namespace DescribeRegionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeRegionsResult): any => ({ ...obj, }); } -export interface DescribeSecurityGroupRulesRequest { +export interface DescribeReplaceRootVolumeTasksRequest { /** - *

                                                One or more filters.

                                                - *
                                                  - *
                                                • - *

                                                  - * group-id - The ID of the security group.

                                                  - *
                                                • - *
                                                • - *

                                                  - * security-group-rule-id - The ID of the security group rule.

                                                  - *
                                                • + *

                                                  The ID of the root volume replacement task to view.

                                                  + */ + ReplaceRootVolumeTaskIds?: string[]; + + /** + *

                                                  Filter to use:

                                                  + *
                                                    *
                                                  • *

                                                    - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                    + * instance-id - The ID of the instance for which the root volume replacement task was created.

                                                    *
                                                  • *
                                                  */ Filters?: Filter[]; /** - *

                                                  The IDs of the security group rules.

                                                  - */ - SecurityGroupRuleIds?: string[]; - - /** - *

                                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                  + *

                                                  The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                  */ - DryRun?: boolean; + MaxResults?: number; /** *

                                                  The token for the next page of results.

                                                  @@ -9026,158 +8357,117 @@ export interface DescribeSecurityGroupRulesRequest { NextToken?: string; /** - *

                                                  The maximum number of results to return in a single call. To retrieve the remaining - * results, make another request with the returned NextToken value. This value - * can be between 5 and 1000. If this parameter is not specified, then all results are - * returned.

                                                  - */ - MaxResults?: number; -} - -export namespace DescribeSecurityGroupRulesRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupRulesRequest): any => ({ - ...obj, - }); -} - -export interface DescribeSecurityGroupRulesResult { - /** - *

                                                  Information about security group rules.

                                                  - */ - SecurityGroupRules?: SecurityGroupRule[]; - - /** - *

                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                  + *

                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                  */ - NextToken?: string; + DryRun?: boolean; } -export namespace DescribeSecurityGroupRulesResult { +export namespace DescribeReplaceRootVolumeTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupRulesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeReplaceRootVolumeTasksRequest): any => ({ ...obj, }); } -export interface DescribeSecurityGroupsRequest { +export interface DescribeReplaceRootVolumeTasksResult { /** - *

                                                  The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

                                                  - *
                                                    - *
                                                  • - *

                                                    - * description - The description of the security group.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound - * security group rule.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.from-port - For an outbound rule, the - * start of port range for the TCP and UDP protocols, or an ICMP type - * number.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.group-id - The ID of a security group - * that has been referenced in an outbound security group rule.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.group-name - The name of a security group - * that is referenced in an outbound security group rule.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an - * outbound security group rule.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.protocol - The IP protocol for an - * outbound security group rule (tcp | udp | - * icmp, a protocol number, or -1 for all protocols).

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.to-port - For an outbound rule, the end - * of port range for the TCP and UDP protocols, or an ICMP code.

                                                    - *
                                                  • - *
                                                  • - *

                                                    - * egress.ip-permission.user-id - The ID of an Amazon Web Services account that - * has been referenced in an outbound security group rule.

                                                    - *
                                                  • + *

                                                    Information about the root volume replacement task.

                                                    + */ + ReplaceRootVolumeTasks?: ReplaceRootVolumeTask[]; + + /** + *

                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                    + */ + NextToken?: string; +} + +export namespace DescribeReplaceRootVolumeTasksResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeReplaceRootVolumeTasksResult): any => ({ + ...obj, + }); +} + +export enum OfferingClassType { + CONVERTIBLE = "convertible", + STANDARD = "standard", +} + +export type OfferingTypeValues = + | "All Upfront" + | "Heavy Utilization" + | "Light Utilization" + | "Medium Utilization" + | "No Upfront" + | "Partial Upfront"; + +/** + *

                                                    Contains the parameters for DescribeReservedInstances.

                                                    + */ +export interface DescribeReservedInstancesRequest { + /** + *

                                                    One or more filters.

                                                    + *
                                                      *
                                                    • *

                                                      - * group-id - The ID of the security group.

                                                      + * availability-zone - The Availability Zone where the Reserved Instance can be used.

                                                      *
                                                    • *
                                                    • *

                                                      - * group-name - The name of the security group.

                                                      + * duration - The duration of the Reserved Instance (one year or three years), in seconds (31536000 | 94608000).

                                                      *
                                                    • *
                                                    • *

                                                      - * ip-permission.cidr - An IPv4 CIDR block for an inbound security - * group rule.

                                                      + * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).

                                                      *
                                                    • *
                                                    • *

                                                      - * ip-permission.from-port - For an inbound rule, the start of port - * range for the TCP and UDP protocols, or an ICMP type number.

                                                      + * fixed-price - The purchase price of the Reserved Instance (for example, 9800.0).

                                                      *
                                                    • *
                                                    • *

                                                      - * ip-permission.group-id - The ID of a security group that has been - * referenced in an inbound security group rule.

                                                      + * instance-type - The instance type that is covered by the reservation.

                                                      *
                                                    • *
                                                    • - *

                                                      - * ip-permission.group-name - The name of a security group that is - * referenced in an inbound security group rule.

                                                      - *
                                                    • - *
                                                    • *

                                                      - * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security - * group rule.

                                                      - *
                                                    • - *
                                                    • - *

                                                      - * ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

                                                      + * scope - The scope of the Reserved Instance (Region or Availability Zone).

                                                      *
                                                    • *
                                                    • *

                                                      - * ip-permission.protocol - The IP protocol for an inbound security - * group rule (tcp | udp | icmp, a - * protocol number, or -1 for all protocols).

                                                      + * product-description - The Reserved Instance product platform + * description. Instances that include (Amazon VPC) in the product platform + * description will only be displayed to EC2-Classic account holders and are for use with + * Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE + * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise + * Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat + * Enterprise Linux with HA (Amazon VPC) | Windows | Windows + * (Amazon VPC) | Windows with SQL Server Standard | Windows with + * SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | + * Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server + * Enterprise | Windows with SQL Server Enterprise (Amazon + * VPC)).

                                                      *
                                                    • *
                                                    • *

                                                      - * ip-permission.to-port - For an inbound rule, the end of port range - * for the TCP and UDP protocols, or an ICMP code.

                                                      + * reserved-instances-id - The ID of the Reserved Instance.

                                                      *
                                                    • *
                                                    • *

                                                      - * ip-permission.user-id - The ID of an Amazon Web Services account that has been - * referenced in an inbound security group rule.

                                                      + * start - The time at which the Reserved Instance purchase request was placed (for example, 2014-08-07T11:54:42.000Z).

                                                      *
                                                    • *
                                                    • *

                                                      - * owner-id - The Amazon Web Services account ID of the owner of the security group.

                                                      + * state - The state of the Reserved Instance (payment-pending | active | payment-failed | retired).

                                                      *
                                                    • *
                                                    • *

                                                      - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                      *
                                                    • *
                                                    • @@ -9186,1747 +8476,2020 @@ export interface DescribeSecurityGroupsRequest { *
                                                    • *
                                                    • *

                                                      - * vpc-id - The ID of the VPC specified when the security group was created.

                                                      + * usage-price - The usage price of the Reserved Instance, per hour (for example, 0.84).

                                                      *
                                                    • *
                                                    */ Filters?: Filter[]; /** - *

                                                    The IDs of the security groups. Required for security groups in a nondefault VPC.

                                                    - *

                                                    Default: Describes all of your security groups.

                                                    + *

                                                    Describes whether the Reserved Instance is Standard or Convertible.

                                                    */ - GroupIds?: string[]; + OfferingClass?: OfferingClassType | string; /** - *

                                                    [EC2-Classic and default VPC only] The names of the security groups. You can specify either - * the security group name or the security group ID. For security groups in a nondefault VPC, use - * the group-name filter to describe security groups by name.

                                                    - *

                                                    Default: Describes all of your security groups.

                                                    + *

                                                    One or more Reserved Instance IDs.

                                                    + *

                                                    Default: Describes all your Reserved Instances, or only those otherwise specified.

                                                    */ - GroupNames?: string[]; + ReservedInstancesIds?: string[]; /** *

                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                    + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                    */ DryRun?: boolean; /** - *

                                                    The token to request the next page of results.

                                                    + *

                                                    The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API + * version, you only have access to the Medium Utilization Reserved Instance + * offering type.

                                                    */ - NextToken?: string; + OfferingType?: OfferingTypeValues | string; +} +export namespace DescribeReservedInstancesRequest { /** - *

                                                    The maximum number of results to return in a single call. To retrieve the remaining - * results, make another request with the returned NextToken value. This value - * can be between 5 and 1000. If this parameter is not specified, then all results are - * returned.

                                                    + * @internal */ - MaxResults?: number; + export const filterSensitiveLog = (obj: DescribeReservedInstancesRequest): any => ({ + ...obj, + }); } -export namespace DescribeSecurityGroupsRequest { +export type RIProductDescription = "Linux/UNIX" | "Linux/UNIX (Amazon VPC)" | "Windows" | "Windows (Amazon VPC)"; + +export type RecurringChargeFrequency = "Hourly"; + +/** + *

                                                    Describes a recurring charge.

                                                    + */ +export interface RecurringCharge { + /** + *

                                                    The amount of the recurring charge.

                                                    + */ + Amount?: number; + + /** + *

                                                    The frequency of the recurring charge.

                                                    + */ + Frequency?: RecurringChargeFrequency | string; +} + +export namespace RecurringCharge { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupsRequest): any => ({ + export const filterSensitiveLog = (obj: RecurringCharge): any => ({ ...obj, }); } +export enum Scope { + AVAILABILITY_ZONE = "Availability Zone", + REGIONAL = "Region", +} + +export type ReservedInstanceState = + | "active" + | "payment-failed" + | "payment-pending" + | "queued" + | "queued-deleted" + | "retired"; + /** - *

                                                    Describes a security group.

                                                    + *

                                                    Describes a Reserved Instance.

                                                    */ -export interface SecurityGroup { +export interface ReservedInstances { /** - *

                                                    A description of the security group.

                                                    + *

                                                    The Availability Zone in which the Reserved Instance can be used.

                                                    */ - Description?: string; + AvailabilityZone?: string; /** - *

                                                    The name of the security group.

                                                    + *

                                                    The duration of the Reserved Instance, in seconds.

                                                    */ - GroupName?: string; + Duration?: number; /** - *

                                                    The inbound rules associated with the security group.

                                                    + *

                                                    The time when the Reserved Instance expires.

                                                    */ - IpPermissions?: IpPermission[]; + End?: Date; /** - *

                                                    The Amazon Web Services account ID of the owner of the security group.

                                                    + *

                                                    The purchase price of the Reserved Instance.

                                                    */ - OwnerId?: string; + FixedPrice?: number; /** - *

                                                    The ID of the security group.

                                                    + *

                                                    The number of reservations purchased.

                                                    */ - GroupId?: string; + InstanceCount?: number; /** - *

                                                    [VPC only] The outbound rules associated with the security group.

                                                    + *

                                                    The instance type on which the Reserved Instance can be used.

                                                    */ - IpPermissionsEgress?: IpPermission[]; + InstanceType?: _InstanceType | string; /** - *

                                                    Any tags assigned to the security group.

                                                    + *

                                                    The Reserved Instance product platform description.

                                                    */ - Tags?: Tag[]; + ProductDescription?: RIProductDescription | string; /** - *

                                                    [VPC only] The ID of the VPC for the security group.

                                                    + *

                                                    The ID of the Reserved Instance.

                                                    */ - VpcId?: string; -} + ReservedInstancesId?: string; -export namespace SecurityGroup { /** - * @internal + *

                                                    The date and time the Reserved Instance started.

                                                    */ - export const filterSensitiveLog = (obj: SecurityGroup): any => ({ - ...obj, - }); -} + Start?: Date; -export interface DescribeSecurityGroupsResult { /** - *

                                                    Information about the security groups.

                                                    + *

                                                    The state of the Reserved Instance purchase.

                                                    */ - SecurityGroups?: SecurityGroup[]; + State?: ReservedInstanceState | string; /** - *

                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                    + *

                                                    The usage price of the Reserved Instance, per hour.

                                                    */ - NextToken?: string; -} + UsagePrice?: number; -export namespace DescribeSecurityGroupsResult { /** - * @internal + *

                                                    The currency of the Reserved Instance. It's specified using ISO 4217 standard currency codes. + * At this time, the only supported currency is USD.

                                                    */ - export const filterSensitiveLog = (obj: DescribeSecurityGroupsResult): any => ({ - ...obj, - }); -} + CurrencyCode?: CurrencyCodeValues | string; -export type SnapshotAttributeName = "createVolumePermission" | "productCodes"; + /** + *

                                                    The tenancy of the instance.

                                                    + */ + InstanceTenancy?: Tenancy | string; -export interface DescribeSnapshotAttributeRequest { /** - *

                                                    The snapshot attribute you would like to view.

                                                    + *

                                                    The offering class of the Reserved Instance.

                                                    */ - Attribute: SnapshotAttributeName | string | undefined; + OfferingClass?: OfferingClassType | string; + + /** + *

                                                    The Reserved Instance offering type.

                                                    + */ + OfferingType?: OfferingTypeValues | string; + + /** + *

                                                    The recurring charge tag assigned to the resource.

                                                    + */ + RecurringCharges?: RecurringCharge[]; + + /** + *

                                                    The scope of the Reserved Instance.

                                                    + */ + Scope?: Scope | string; + + /** + *

                                                    Any tags assigned to the resource.

                                                    + */ + Tags?: Tag[]; +} +export namespace ReservedInstances { /** - *

                                                    The ID of the EBS snapshot.

                                                    + * @internal */ - SnapshotId: string | undefined; + export const filterSensitiveLog = (obj: ReservedInstances): any => ({ + ...obj, + }); +} +/** + *

                                                    Contains the output for DescribeReservedInstances.

                                                    + */ +export interface DescribeReservedInstancesResult { /** - *

                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                    + *

                                                    A list of Reserved Instances.

                                                    */ - DryRun?: boolean; + ReservedInstances?: ReservedInstances[]; } -export namespace DescribeSnapshotAttributeRequest { +export namespace DescribeReservedInstancesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSnapshotAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeReservedInstancesResult): any => ({ ...obj, }); } /** - *

                                                    Describes the user or group to be added or removed from the list of create volume - * permissions for a volume.

                                                    + *

                                                    Contains the parameters for DescribeReservedInstancesListings.

                                                    */ -export interface CreateVolumePermission { +export interface DescribeReservedInstancesListingsRequest { /** - *

                                                    The group to be added or removed. The possible value is all.

                                                    + *

                                                    One or more filters.

                                                    + *
                                                      + *
                                                    • + *

                                                      + * reserved-instances-id - The ID of the Reserved Instances.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * reserved-instances-listing-id - The ID of the Reserved Instances listing.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * status - The status of the Reserved Instance listing (pending | active | + * cancelled | closed).

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * status-message - The reason for the status.

                                                      + *
                                                    • + *
                                                    */ - Group?: PermissionGroup | string; + Filters?: Filter[]; /** - *

                                                    The ID of the Amazon Web Services account to be added or removed.

                                                    + *

                                                    One or more Reserved Instance IDs.

                                                    */ - UserId?: string; + ReservedInstancesId?: string; + + /** + *

                                                    One or more Reserved Instance listing IDs.

                                                    + */ + ReservedInstancesListingId?: string; } -export namespace CreateVolumePermission { +export namespace DescribeReservedInstancesListingsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: CreateVolumePermission): any => ({ + export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsRequest): any => ({ ...obj, }); } -export interface DescribeSnapshotAttributeResult { - /** - *

                                                    The users and groups that have the permissions for creating volumes from the - * snapshot.

                                                    - */ - CreateVolumePermissions?: CreateVolumePermission[]; - - /** - *

                                                    The product codes.

                                                    - */ - ProductCodes?: ProductCode[]; - +/** + *

                                                    Contains the output of DescribeReservedInstancesListings.

                                                    + */ +export interface DescribeReservedInstancesListingsResult { /** - *

                                                    The ID of the EBS snapshot.

                                                    + *

                                                    Information about the Reserved Instance listing.

                                                    */ - SnapshotId?: string; + ReservedInstancesListings?: ReservedInstancesListing[]; } -export namespace DescribeSnapshotAttributeResult { +export namespace DescribeReservedInstancesListingsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSnapshotAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DescribeReservedInstancesListingsResult): any => ({ ...obj, }); } -export interface DescribeSnapshotsRequest { +/** + *

                                                    Contains the parameters for DescribeReservedInstancesModifications.

                                                    + */ +export interface DescribeReservedInstancesModificationsRequest { /** - *

                                                    The filters.

                                                    + *

                                                    One or more filters.

                                                    *
                                                      *
                                                    • *

                                                      - * description - A description of the snapshot.

                                                      + * client-token - The idempotency token for the modification request.

                                                      *
                                                    • *
                                                    • *

                                                      - * encrypted - Indicates whether the snapshot is encrypted - * (true | false)

                                                      + * create-date - The time when the modification request was created.

                                                      *
                                                    • *
                                                    • *

                                                      - * owner-alias - The owner alias, from an Amazon-maintained list - * (amazon). - * This is not the user-configured Amazon Web Services account alias set using the IAM console. - * We recommend that you use the related parameter instead of this filter.

                                                      + * effective-date - The time when the modification becomes effective.

                                                      *
                                                    • *
                                                    • *

                                                      - * owner-id - The Amazon Web Services account ID of the owner. We recommend that - * you use the related parameter instead of this filter.

                                                      + * modification-result.reserved-instances-id - The ID for the Reserved Instances created as part of the modification request. This ID is only available when the status of the modification is fulfilled.

                                                      *
                                                    • *
                                                    • *

                                                      - * progress - The progress of the snapshot, as a percentage (for example, - * 80%).

                                                      + * modification-result.target-configuration.availability-zone - The Availability Zone for the new Reserved Instances.

                                                      *
                                                    • *
                                                    • *

                                                      - * snapshot-id - The snapshot ID.

                                                      + * modification-result.target-configuration.instance-count - The number of new Reserved Instances.

                                                      *
                                                    • *
                                                    • *

                                                      - * start-time - The time stamp when the snapshot was initiated.

                                                      + * modification-result.target-configuration.instance-type - The instance type of the new Reserved Instances.

                                                      *
                                                    • *
                                                    • *

                                                      - * status - The status of the snapshot (pending | - * completed | error).

                                                      + * modification-result.target-configuration.platform - The network platform of the new Reserved Instances (EC2-Classic | EC2-VPC).

                                                      *
                                                    • *
                                                    • *

                                                      - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                      + * reserved-instances-id - The ID of the Reserved Instances modified.

                                                      *
                                                    • *
                                                    • *

                                                      - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                      + * reserved-instances-modification-id - The ID of the modification request.

                                                      *
                                                    • *
                                                    • *

                                                      - * volume-id - The ID of the volume the snapshot is for.

                                                      + * status - The status of the Reserved Instances modification request + * (processing | fulfilled | failed).

                                                      *
                                                    • *
                                                    • *

                                                      - * volume-size - The size of the volume, in GiB.

                                                      + * status-message - The reason for the status.

                                                      + *
                                                    • + *
                                                    • + *

                                                      + * update-date - The time when the modification request was last updated.

                                                      *
                                                    • *
                                                    */ Filters?: Filter[]; /** - *

                                                    The maximum number of snapshot results returned by DescribeSnapshots in - * paginated output. When this parameter is used, DescribeSnapshots only returns - * MaxResults results in a single page along with a NextToken - * response element. The remaining results of the initial request can be seen by sending another - * DescribeSnapshots request with the returned NextToken value. This - * value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, - * only 1,000 results are returned. If this parameter is not used, then - * DescribeSnapshots returns all results. You cannot specify this parameter and - * the snapshot IDs parameter in the same request.

                                                    + *

                                                    IDs for the submitted modification request.

                                                    */ - MaxResults?: number; + ReservedInstancesModificationIds?: string[]; /** - *

                                                    The NextToken value returned from a previous paginated - * DescribeSnapshots 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 token to retrieve the next page of results.

                                                    */ NextToken?: string; +} +export namespace DescribeReservedInstancesModificationsRequest { /** - *

                                                    Scopes the results to snapshots with the specified owners. You can specify a combination of - * Amazon Web Services account IDs, self, and amazon.

                                                    - */ - OwnerIds?: string[]; - - /** - *

                                                    The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

                                                    + * @internal */ - RestorableByUserIds?: string[]; + export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                    Describes the configuration settings for the modified Reserved Instances.

                                                    + */ +export interface ReservedInstancesConfiguration { /** - *

                                                    The snapshot IDs.

                                                    - *

                                                    Default: Describes the snapshots for which you have create volume permissions.

                                                    + *

                                                    The Availability Zone for the modified Reserved Instances.

                                                    */ - SnapshotIds?: string[]; + AvailabilityZone?: string; /** - *

                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                    + *

                                                    The number of modified Reserved Instances.

                                                    + * + *

                                                    This is a required field for a request.

                                                    + *
                                                    */ - DryRun?: boolean; -} + InstanceCount?: number; -export namespace DescribeSnapshotsRequest { /** - * @internal + *

                                                    The instance type for the modified Reserved Instances.

                                                    */ - export const filterSensitiveLog = (obj: DescribeSnapshotsRequest): any => ({ - ...obj, - }); -} + InstanceType?: _InstanceType | string; -export interface DescribeSnapshotsResult { /** - *

                                                    Information about the snapshots.

                                                    + *

                                                    The network platform of the modified Reserved Instances, which is either EC2-Classic or EC2-VPC.

                                                    */ - Snapshots?: Snapshot[]; + Platform?: string; /** - *

                                                    The NextToken value to include in a future DescribeSnapshots - * request. When the results of a DescribeSnapshots request exceed - * MaxResults, this value can be used to retrieve the next page of results. This - * value is null when there are no more results to return.

                                                    + *

                                                    Whether the Reserved Instance is applied to instances in a Region or instances in a specific Availability Zone.

                                                    */ - NextToken?: string; + Scope?: Scope | string; } -export namespace DescribeSnapshotsResult { +export namespace ReservedInstancesConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSnapshotsResult): any => ({ + export const filterSensitiveLog = (obj: ReservedInstancesConfiguration): any => ({ ...obj, }); } /** - *

                                                    Contains the parameters for DescribeSpotDatafeedSubscription.

                                                    + *

                                                    Describes the modification request/s.

                                                    */ -export interface DescribeSpotDatafeedSubscriptionRequest { +export interface ReservedInstancesModificationResult { /** - *

                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                    + *

                                                    The ID for the Reserved Instances that were created as part of the modification request. This field is only available when the modification is fulfilled.

                                                    */ - DryRun?: boolean; + ReservedInstancesId?: string; + + /** + *

                                                    The target Reserved Instances configurations supplied as part of the modification request.

                                                    + */ + TargetConfiguration?: ReservedInstancesConfiguration; } -export namespace DescribeSpotDatafeedSubscriptionRequest { +export namespace ReservedInstancesModificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionRequest): any => ({ + export const filterSensitiveLog = (obj: ReservedInstancesModificationResult): any => ({ ...obj, }); } /** - *

                                                    Contains the output of DescribeSpotDatafeedSubscription.

                                                    + *

                                                    Describes the ID of a Reserved Instance.

                                                    */ -export interface DescribeSpotDatafeedSubscriptionResult { +export interface ReservedInstancesId { /** - *

                                                    The Spot Instance data feed subscription.

                                                    + *

                                                    The ID of the Reserved Instance.

                                                    */ - SpotDatafeedSubscription?: SpotDatafeedSubscription; + ReservedInstancesId?: string; } -export namespace DescribeSpotDatafeedSubscriptionResult { +export namespace ReservedInstancesId { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionResult): any => ({ + export const filterSensitiveLog = (obj: ReservedInstancesId): any => ({ ...obj, }); } /** - *

                                                    Contains the parameters for DescribeSpotFleetInstances.

                                                    + *

                                                    Describes a Reserved Instance modification.

                                                    */ -export interface DescribeSpotFleetInstancesRequest { +export interface ReservedInstancesModification { /** - *

                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                    + *

                                                    A unique, case-sensitive key supplied by the client to ensure that the request is idempotent. + * For more information, see Ensuring + * Idempotency.

                                                    */ - DryRun?: boolean; + ClientToken?: string; + + /** + *

                                                    The time when the modification request was created.

                                                    + */ + CreateDate?: Date; /** - *

                                                    The maximum number of results to return in a single call. Specify a value between 1 - * and 1000. The default value is 1000. To retrieve the remaining results, make another - * call with the returned NextToken value.

                                                    + *

                                                    The time for the modification to become effective.

                                                    */ - MaxResults?: number; + EffectiveDate?: Date; /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    Contains target configurations along with their corresponding new Reserved Instance IDs.

                                                    */ - NextToken?: string; + ModificationResults?: ReservedInstancesModificationResult[]; /** - *

                                                    The ID of the Spot Fleet request.

                                                    + *

                                                    The IDs of one or more Reserved Instances.

                                                    */ - SpotFleetRequestId: string | undefined; -} + ReservedInstancesIds?: ReservedInstancesId[]; -export namespace DescribeSpotFleetInstancesRequest { /** - * @internal + *

                                                    A unique ID for the Reserved Instance modification.

                                                    */ - export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesRequest): any => ({ - ...obj, - }); -} + ReservedInstancesModificationId?: string; -/** - *

                                                    Contains the output of DescribeSpotFleetInstances.

                                                    - */ -export interface DescribeSpotFleetInstancesResponse { /** - *

                                                    The running instances. This list is refreshed periodically and might be out of - * date.

                                                    + *

                                                    The status of the Reserved Instances modification request.

                                                    */ - ActiveInstances?: ActiveInstance[]; + Status?: string; /** - *

                                                    The token required to retrieve the next set of results. This value is - * null when there are no more results to return.

                                                    + *

                                                    The reason for the status.

                                                    */ - NextToken?: string; + StatusMessage?: string; /** - *

                                                    The ID of the Spot Fleet request.

                                                    + *

                                                    The time when the modification request was last updated.

                                                    */ - SpotFleetRequestId?: string; + UpdateDate?: Date; } -export namespace DescribeSpotFleetInstancesResponse { +export namespace ReservedInstancesModification { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesResponse): any => ({ + export const filterSensitiveLog = (obj: ReservedInstancesModification): any => ({ ...obj, }); } -export enum EventType { - BATCH_CHANGE = "fleetRequestChange", - ERROR = "error", - INFORMATION = "information", - INSTANCE_CHANGE = "instanceChange", -} - /** - *

                                                    Contains the parameters for DescribeSpotFleetRequestHistory.

                                                    + *

                                                    Contains the output of DescribeReservedInstancesModifications.

                                                    */ -export interface DescribeSpotFleetRequestHistoryRequest { - /** - *

                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                    - */ - DryRun?: boolean; - - /** - *

                                                    The type of events to describe. By default, all events are described.

                                                    - */ - EventType?: EventType | string; - - /** - *

                                                    The maximum number of results to return in a single call. Specify a value between 1 - * and 1000. The default value is 1000. To retrieve the remaining results, make another - * call with the returned NextToken value.

                                                    - */ - MaxResults?: number; - +export interface DescribeReservedInstancesModificationsResult { /** - *

                                                    The token for the next set of results.

                                                    + *

                                                    The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

                                                    */ NextToken?: string; /** - *

                                                    The ID of the Spot Fleet request.

                                                    - */ - SpotFleetRequestId: string | undefined; - - /** - *

                                                    The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                    + *

                                                    The Reserved Instance modification information.

                                                    */ - StartTime: Date | undefined; + ReservedInstancesModifications?: ReservedInstancesModification[]; } -export namespace DescribeSpotFleetRequestHistoryRequest { +export namespace DescribeReservedInstancesModificationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeReservedInstancesModificationsResult): any => ({ ...obj, }); } /** - *

                                                    Describes an event in the history of the Spot Fleet request.

                                                    + *

                                                    Contains the parameters for DescribeReservedInstancesOfferings.

                                                    */ -export interface HistoryRecord { +export interface DescribeReservedInstancesOfferingsRequest { /** - *

                                                    Information about the event.

                                                    + *

                                                    The Availability Zone in which the Reserved Instance can be used.

                                                    */ - EventInformation?: EventInformation; + AvailabilityZone?: string; /** - *

                                                    The event type.

                                                    - *
                                                      + *

                                                      One or more filters.

                                                      + *
                                                        *
                                                      • - *

                                                        - * error - An error with the Spot Fleet request.

                                                        + *

                                                        + * availability-zone - The Availability Zone where the Reserved Instance can be + * used.

                                                        *
                                                      • *
                                                      • - *

                                                        - * fleetRequestChange - A change in the status or configuration of - * the Spot Fleet request.

                                                        + *

                                                        + * duration - The duration of the Reserved Instance (for example, one year or + * three years), in seconds (31536000 | 94608000).

                                                        *
                                                      • *
                                                      • - *

                                                        - * instanceChange - An instance was launched or terminated.

                                                        + *

                                                        + * fixed-price - The purchase price of the Reserved Instance (for example, + * 9800.0).

                                                        *
                                                      • *
                                                      • - *

                                                        - * Information - An informational event.

                                                        + *

                                                        + * instance-type - The instance type that is covered by the + * reservation.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * marketplace - Set to true to show only Reserved Instance + * Marketplace offerings. When this filter is not used, which is the default behavior, all + * offerings from both Amazon Web Services and the Reserved Instance Marketplace are listed.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * product-description - The Reserved Instance product platform description. + * Instances that include (Amazon VPC) in the product platform description will + * only be displayed to EC2-Classic account holders and are for use with Amazon VPC. + * (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE + * Linux | SUSE Linux (Amazon VPC) | Red Hat Enterprise + * Linux | Red Hat Enterprise Linux (Amazon VPC) | Red Hat + * Enterprise Linux with HA (Amazon VPC) | Windows | Windows + * (Amazon VPC) | Windows with SQL Server Standard | Windows with + * SQL Server Standard (Amazon VPC) | Windows with SQL Server Web | + * Windows with SQL Server Web (Amazon VPC) | Windows with SQL Server + * Enterprise | Windows with SQL Server Enterprise (Amazon VPC))

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * reserved-instances-offering-id - The Reserved Instances offering + * ID.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * scope - The scope of the Reserved Instance (Availability Zone or + * Region).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * usage-price - The usage price of the Reserved Instance, per hour (for + * example, 0.84).

                                                        *
                                                      • *
                                                      */ - EventType?: EventType | string; + Filters?: Filter[]; /** - *

                                                      The date and time of the event, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                      + *

                                                      Include Reserved Instance Marketplace offerings in the response.

                                                      */ - Timestamp?: Date; -} + IncludeMarketplace?: boolean; -export namespace HistoryRecord { /** - * @internal + *

                                                      The instance type that the reservation will cover (for example, m1.small). For more information, see + * Instance types in the + * Amazon EC2 User Guide.

                                                      */ - export const filterSensitiveLog = (obj: HistoryRecord): any => ({ - ...obj, - }); -} + InstanceType?: _InstanceType | string; -/** - *

                                                      Contains the output of DescribeSpotFleetRequestHistory.

                                                      - */ -export interface DescribeSpotFleetRequestHistoryResponse { /** - *

                                                      Information about the events in the history of the Spot Fleet request.

                                                      + *

                                                      The maximum duration (in seconds) to filter when searching for offerings.

                                                      + *

                                                      Default: 94608000 (3 years)

                                                      */ - HistoryRecords?: HistoryRecord[]; + MaxDuration?: number; /** - *

                                                      The last date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * All records up to this time were retrieved.

                                                      - *

                                                      If nextToken indicates that there are more results, this value is not - * present.

                                                      + *

                                                      The maximum number of instances to filter when searching for offerings.

                                                      + *

                                                      Default: 20

                                                      */ - LastEvaluatedTime?: Date; + MaxInstanceCount?: number; /** - *

                                                      The token required to retrieve the next set of results. This value is - * null when there are no more results to return.

                                                      + *

                                                      The minimum duration (in seconds) to filter when searching for offerings.

                                                      + *

                                                      Default: 2592000 (1 month)

                                                      */ - NextToken?: string; + MinDuration?: number; /** - *

                                                      The ID of the Spot Fleet request.

                                                      + *

                                                      The offering class of the Reserved Instance. Can be standard or convertible.

                                                      */ - SpotFleetRequestId?: string; + OfferingClass?: OfferingClassType | string; /** - *

                                                      The starting date and time for the events, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                      + *

                                                      The Reserved Instance product platform description. Instances that include (Amazon + * VPC) in the description are for use with Amazon VPC.

                                                      */ - StartTime?: Date; -} + ProductDescription?: RIProductDescription | string; -export namespace DescribeSpotFleetRequestHistoryResponse { /** - * @internal + *

                                                      One or more Reserved Instances offering IDs.

                                                      */ - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryResponse): any => ({ - ...obj, - }); -} + ReservedInstancesOfferingIds?: string[]; -/** - *

                                                      Contains the parameters for DescribeSpotFleetRequests.

                                                      - */ -export interface DescribeSpotFleetRequestsRequest { /** - *

                                                      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ DryRun?: boolean; /** - *

                                                      The maximum number of results to return in a single call. Specify a value between 1 - * and 1000. The default value is 1000. To retrieve the remaining results, make another - * call with the returned NextToken value.

                                                      + *

                                                      The tenancy of the instances covered by the reservation. A Reserved Instance with a tenancy + * of dedicated is applied to instances that run in a VPC on single-tenant hardware + * (i.e., Dedicated Instances).

                                                      + *

                                                      + * Important: The host value cannot be used with this parameter. Use the default or dedicated values only.

                                                      + *

                                                      Default: default + *

                                                      + */ + InstanceTenancy?: Tenancy | string; + + /** + *

                                                      The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. The maximum is 100.

                                                      + *

                                                      Default: 100

                                                      */ MaxResults?: number; /** - *

                                                      The token for the next set of results.

                                                      + *

                                                      The token to retrieve the next page of results.

                                                      */ NextToken?: string; /** - *

                                                      The IDs of the Spot Fleet requests.

                                                      + *

                                                      The Reserved Instance offering type. If you are using tools that predate the 2011-11-01 API + * version, you only have access to the Medium Utilization Reserved Instance + * offering type.

                                                      */ - SpotFleetRequestIds?: string[]; + OfferingType?: OfferingTypeValues | string; } -export namespace DescribeSpotFleetRequestsRequest { +export namespace DescribeReservedInstancesOfferingsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsRequest): any => ({ ...obj, }); } -export enum ExcessCapacityTerminationPolicy { - DEFAULT = "default", - NO_TERMINATION = "noTermination", -} - /** - *

                                                      Describes whether monitoring is enabled.

                                                      + *

                                                      Describes a Reserved Instance offering.

                                                      */ -export interface SpotFleetMonitoring { +export interface PricingDetail { /** - *

                                                      Enables monitoring for the instance.

                                                      - *

                                                      Default: false - *

                                                      + *

                                                      The number of reservations available for the price.

                                                      */ - Enabled?: boolean; + Count?: number; + + /** + *

                                                      The price per instance.

                                                      + */ + Price?: number; } -export namespace SpotFleetMonitoring { +export namespace PricingDetail { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetMonitoring): any => ({ + export const filterSensitiveLog = (obj: PricingDetail): any => ({ ...obj, }); } /** - *

                                                      Describes a network interface.

                                                      + *

                                                      Describes a Reserved Instance offering.

                                                      */ -export interface InstanceNetworkInterfaceSpecification { +export interface ReservedInstancesOffering { /** - *

                                                      Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The - * public IP address can only be assigned to a network interface for eth0, and can only be - * assigned to a new network interface, not an existing one. You cannot specify more than one - * network interface in the request. If launching into a default subnet, the default value is - * true.

                                                      + *

                                                      The Availability Zone in which the Reserved Instance can be used.

                                                      */ - AssociatePublicIpAddress?: boolean; + AvailabilityZone?: string; /** - *

                                                      If set to true, the interface is deleted when the instance is terminated. You can - * specify true only if creating a new network interface when launching an - * instance.

                                                      + *

                                                      The duration of the Reserved Instance, in seconds.

                                                      */ - DeleteOnTermination?: boolean; + Duration?: number; /** - *

                                                      The description of the network interface. Applies only if creating a network interface when launching an instance.

                                                      + *

                                                      The purchase price of the Reserved Instance.

                                                      */ - Description?: string; + FixedPrice?: number; /** - *

                                                      The position of the network interface in the attachment order. - * A primary network interface has a device index of 0.

                                                      - *

                                                      If you specify a network interface when launching an instance, - * you must specify the device index.

                                                      + *

                                                      The instance type on which the Reserved Instance can be used.

                                                      */ - DeviceIndex?: number; + InstanceType?: _InstanceType | string; /** - *

                                                      The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

                                                      + *

                                                      The Reserved Instance product platform description.

                                                      */ - Groups?: string[]; + ProductDescription?: RIProductDescription | string; /** - *

                                                      A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses - * the IPv6 addresses from the range of the subnet. You cannot specify this option and the - * option to assign specific IPv6 addresses in the same request. You can specify this - * option if you've specified a minimum number of instances to launch.

                                                      + *

                                                      The ID of the Reserved Instance offering. This is the offering ID used in GetReservedInstancesExchangeQuote + * to confirm that an exchange can be made.

                                                      */ - Ipv6AddressCount?: number; + ReservedInstancesOfferingId?: string; /** - *

                                                      One or more IPv6 addresses to assign to the network interface. You cannot specify - * this option and the option to assign a number of IPv6 addresses in the same request. You - * cannot specify this option if you've specified a minimum number of instances to - * launch.

                                                      + *

                                                      The usage price of the Reserved Instance, per hour.

                                                      */ - Ipv6Addresses?: InstanceIpv6Address[]; + UsagePrice?: number; /** - *

                                                      The ID of the network interface.

                                                      - *

                                                      If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

                                                      + *

                                                      The currency of the Reserved Instance offering you are purchasing. It's + * specified using ISO 4217 standard currency codes. At this time, + * the only supported currency is USD.

                                                      */ - NetworkInterfaceId?: string; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                      The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching - * more than one instance in a RunInstances request.

                                                      + *

                                                      The tenancy of the instance.

                                                      */ - PrivateIpAddress?: string; + InstanceTenancy?: Tenancy | string; /** - *

                                                      One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're - * launching more than one instance in a RunInstances request.

                                                      + *

                                                      Indicates whether the offering is available through the Reserved Instance Marketplace (resale) or Amazon Web Services. + * If it's a Reserved Instance Marketplace offering, this is true.

                                                      */ - PrivateIpAddresses?: PrivateIpAddressSpecification[]; + Marketplace?: boolean; /** - *

                                                      The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're - * launching more than one instance in a RunInstances request.

                                                      + *

                                                      If convertible it can be exchanged for Reserved Instances of + * the same or higher monetary value, with different configurations. If standard, it is not + * possible to perform an exchange.

                                                      */ - SecondaryPrivateIpAddressCount?: number; + OfferingClass?: OfferingClassType | string; /** - *

                                                      The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

                                                      + *

                                                      The Reserved Instance offering type.

                                                      */ - SubnetId?: string; + OfferingType?: OfferingTypeValues | string; /** - *

                                                      Indicates whether to assign a carrier IP address to the network interface.

                                                      - *

                                                      You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. - * For more information about carrier IP addresses, see Carrier IP addresses in the Amazon Web Services Wavelength Developer Guide.

                                                      + *

                                                      The pricing details of the Reserved Instance offering.

                                                      */ - AssociateCarrierIpAddress?: boolean; + PricingDetails?: PricingDetail[]; /** - *

                                                      The type of network interface.

                                                      - *

                                                      To create an Elastic Fabric Adapter (EFA), specify - * efa. For more information, see Elastic Fabric Adapter in the - * Amazon Elastic Compute Cloud User Guide.

                                                      - * - *

                                                      Valid values: interface | efa - *

                                                      + *

                                                      The recurring charge tag assigned to the resource.

                                                      */ - InterfaceType?: string; + RecurringCharges?: RecurringCharge[]; /** - *

                                                      The index of the network card. Some instance types support multiple network cards. - * The primary network interface must be assigned to network card index 0. - * The default is network card index 0.

                                                      - *

                                                      If you are using RequestSpotInstances to create Spot Instances, omit this parameter because - * you can’t specify the network card index when using this API. To specify the network - * card index, use RunInstances.

                                                      + *

                                                      Whether the Reserved Instance is applied to instances in a Region or an Availability Zone.

                                                      + */ + Scope?: Scope | string; +} + +export namespace ReservedInstancesOffering { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ReservedInstancesOffering): any => ({ + ...obj, + }); +} + +/** + *

                                                      Contains the output of DescribeReservedInstancesOfferings.

                                                      + */ +export interface DescribeReservedInstancesOfferingsResult { + /** + *

                                                      A list of Reserved Instances offerings.

                                                      + */ + ReservedInstancesOfferings?: ReservedInstancesOffering[]; + + /** + *

                                                      The token to use to retrieve the next page of results. This value is null when + * there are no more results to return.

                                                      + */ + NextToken?: string; +} + +export namespace DescribeReservedInstancesOfferingsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeReservedInstancesOfferingsResult): any => ({ + ...obj, + }); +} + +export interface DescribeRouteTablesRequest { + /** + *

                                                      One or more filters.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * association.route-table-association-id - The ID of an association + * ID for the route table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * association.route-table-id - The ID of the route table involved in + * the association.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * association.subnet-id - The ID of the subnet involved in the + * association.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * association.main - Indicates whether the route table is the main + * route table for the VPC (true | false). Route tables + * that do not have an association ID are not returned in the response.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * owner-id - The ID of the Amazon Web Services account that owns the route table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route-table-id - The ID of the route table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.destination-cidr-block - The IPv4 CIDR range specified in a + * route in the table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route in the route table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Service + * specified in a route in the table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.egress-only-internet-gateway-id - The ID of an + * egress-only Internet gateway specified in a route in the route table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.gateway-id - The ID of a gateway specified in a route in the table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.instance-id - The ID of an instance specified in a route in the table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.nat-gateway-id - The ID of a NAT gateway.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.transit-gateway-id - The ID of a transit gateway.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.origin - Describes how the route was created. + * CreateRouteTable indicates that the route was automatically + * created when the route table was created; CreateRoute indicates + * that the route was manually added to the route table; + * EnableVgwRoutePropagation indicates that the route was + * propagated by route propagation.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.state - The state of a route in the route table + * (active | blackhole). The blackhole state + * indicates that the route's target isn't available (for example, the specified + * gateway isn't attached to the VPC, the specified NAT instance has been + * terminated, and so on).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * route.vpc-peering-connection-id - The ID of a VPC peering + * connection specified in a route in the table.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * vpc-id - The ID of the VPC for the route table.

                                                        + *
                                                      • + *
                                                      */ - NetworkCardIndex?: number; + Filters?: Filter[]; /** - *

                                                      One or more IPv4 delegated prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv4PrefixCount option.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; + DryRun?: boolean; /** - *

                                                      The number of IPv4 delegated prefixes to be automatically assigned to the network interface. - * You cannot use this option if you use the Ipv4Prefix option.

                                                      + *

                                                      One or more route table IDs.

                                                      + *

                                                      Default: Describes all your route tables.

                                                      */ - Ipv4PrefixCount?: number; + RouteTableIds?: string[]; /** - *

                                                      One or more IPv6 delegated prefixes to be assigned to the network interface. You cannot - * use this option if you use the Ipv6PrefixCount option.

                                                      + *

                                                      The token for the next page of results.

                                                      */ - Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; + NextToken?: string; /** - *

                                                      The number of IPv6 delegated prefixes to be automatically assigned to the network interface. - * You cannot use this option if you use the Ipv6Prefix option.

                                                      + *

                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                      */ - Ipv6PrefixCount?: number; + MaxResults?: number; } -export namespace InstanceNetworkInterfaceSpecification { +export namespace DescribeRouteTablesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceNetworkInterfaceSpecification): any => ({ + export const filterSensitiveLog = (obj: DescribeRouteTablesRequest): any => ({ ...obj, }); } /** - *

                                                      Describes Spot Instance placement.

                                                      + *

                                                      Contains the output of DescribeRouteTables.

                                                      */ -export interface SpotPlacement { - /** - *

                                                      The Availability Zone.

                                                      - *

                                                      [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; - * for example, "us-west-2a, us-west-2b".

                                                      - */ - AvailabilityZone?: string; - +export interface DescribeRouteTablesResult { /** - *

                                                      The name of the placement group.

                                                      + *

                                                      Information about one or more route tables.

                                                      */ - GroupName?: string; + RouteTables?: RouteTable[]; /** - *

                                                      The tenancy of the instance (if the instance is running in a VPC). An instance with a - * tenancy of dedicated runs on single-tenant hardware. The host - * tenancy is not supported for Spot Instances.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - Tenancy?: Tenancy | string; + NextToken?: string; } -export namespace SpotPlacement { +export namespace DescribeRouteTablesResult { /** * @internal */ - export const filterSensitiveLog = (obj: SpotPlacement): any => ({ + export const filterSensitiveLog = (obj: DescribeRouteTablesResult): any => ({ ...obj, }); } /** - *

                                                      The tags for a Spot Fleet resource.

                                                      + *

                                                      Describes the time period for a Scheduled Instance to start its first schedule. The time period must span less than one day.

                                                      */ -export interface SpotFleetTagSpecification { +export interface SlotDateTimeRangeRequest { /** - *

                                                      The type of resource. Currently, the only resource type that is supported is - * instance. To tag the Spot Fleet request on creation, use the - * TagSpecifications parameter in - * SpotFleetRequestConfigData - * .

                                                      + *

                                                      The earliest date and time, in UTC, for the Scheduled Instance to start.

                                                      */ - ResourceType?: ResourceType | string; + EarliestTime: Date | undefined; /** - *

                                                      The tags.

                                                      + *

                                                      The latest date and time, in UTC, for the Scheduled Instance to start. This value must be later than or equal to the earliest date and at most three months in the future.

                                                      */ - Tags?: Tag[]; + LatestTime: Date | undefined; } -export namespace SpotFleetTagSpecification { +export namespace SlotDateTimeRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetTagSpecification): any => ({ + export const filterSensitiveLog = (obj: SlotDateTimeRangeRequest): any => ({ ...obj, }); } /** - *

                                                      Describes the launch specification for one or more Spot Instances. If you include - * On-Demand capacity in your fleet request or want to specify an EFA network device, you - * can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

                                                      + *

                                                      Describes the recurring schedule for a Scheduled Instance.

                                                      */ -export interface SpotFleetLaunchSpecification { +export interface ScheduledInstanceRecurrenceRequest { /** - *

                                                      One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                      + *

                                                      The frequency (Daily, Weekly, or Monthly).

                                                      */ - SecurityGroups?: GroupIdentifier[]; + Frequency?: string; /** - *

                                                      Deprecated.

                                                      + *

                                                      The interval quantity. The interval unit depends on the value of Frequency. For example, every 2 + * weeks or every 2 months.

                                                      */ - AddressingType?: string; + Interval?: number; /** - *

                                                      One or more block devices that are mapped to the Spot Instances. You can't specify both - * a snapshot ID and an encryption value. This is because only blank volumes can be - * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its - * encryption status is used for the volume encryption status.

                                                      + *

                                                      The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday). You can't specify this value with a daily schedule. If the occurrence is relative to the end of the month, you can specify only a single day.

                                                      */ - BlockDeviceMappings?: BlockDeviceMapping[]; + OccurrenceDays?: number[]; /** - *

                                                      Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                      - *

                                                      Default: false - *

                                                      + *

                                                      Indicates whether the occurrence is relative to the end of the specified week or month. You can't specify this value with a daily schedule.

                                                      */ - EbsOptimized?: boolean; + OccurrenceRelativeToEnd?: boolean; /** - *

                                                      The IAM instance profile.

                                                      + *

                                                      The unit for OccurrenceDays (DayOfWeek or DayOfMonth). + * This value is required for a monthly schedule. + * You can't specify DayOfWeek with a weekly schedule. + * You can't specify this value with a daily schedule.

                                                      */ - IamInstanceProfile?: IamInstanceProfileSpecification; + OccurrenceUnit?: string; +} +export namespace ScheduledInstanceRecurrenceRequest { /** - *

                                                      The ID of the AMI.

                                                      + * @internal */ - ImageId?: string; + export const filterSensitiveLog = (obj: ScheduledInstanceRecurrenceRequest): any => ({ + ...obj, + }); +} +/** + *

                                                      Contains the parameters for DescribeScheduledInstanceAvailability.

                                                      + */ +export interface DescribeScheduledInstanceAvailabilityRequest { /** - *

                                                      The instance type.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - InstanceType?: _InstanceType | string; + DryRun?: boolean; /** - *

                                                      The ID of the kernel.

                                                      + *

                                                      The filters.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * availability-zone - The Availability Zone (for example, us-west-2a).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * instance-type - The instance type (for example, c4.large).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * platform - The platform (Linux/UNIX or Windows).

                                                        + *
                                                      • + *
                                                      */ - KernelId?: string; + Filters?: Filter[]; /** - *

                                                      The name of the key pair.

                                                      + *

                                                      The time period for the first schedule to start.

                                                      */ - KeyName?: string; + FirstSlotStartTimeRange: SlotDateTimeRangeRequest | undefined; /** - *

                                                      Enable or disable monitoring for the instances.

                                                      + *

                                                      The maximum number of results to return in a single call. + * This value can be between 5 and 300. The default value is 300. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                      */ - Monitoring?: SpotFleetMonitoring; + MaxResults?: number; /** - *

                                                      One or more network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

                                                      - * - *

                                                      - * SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

                                                      - *
                                                      + *

                                                      The maximum available duration, in hours. This value must be greater than MinSlotDurationInHours + * and less than 1,720.

                                                      */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + MaxSlotDurationInHours?: number; /** - *

                                                      The placement information.

                                                      + *

                                                      The minimum available duration, in hours. The minimum required duration is 1,200 hours per year. For example, the minimum daily schedule is 4 hours, the minimum weekly schedule is 24 hours, and the minimum monthly schedule is 100 hours.

                                                      */ - Placement?: SpotPlacement; + MinSlotDurationInHours?: number; /** - *

                                                      The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel - * requirements for information about whether you need to specify a RAM disk. To find kernel - * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

                                                      + *

                                                      The token for the next set of results.

                                                      */ - RamdiskId?: string; + NextToken?: string; /** - *

                                                      The maximum price per unit hour that you are willing to pay for a Spot Instance. - * If this value is not specified, the default is the Spot price specified for the fleet. - * To determine the Spot price per unit hour, divide the Spot price by the - * value of WeightedCapacity.

                                                      + *

                                                      The schedule recurrence.

                                                      */ - SpotPrice?: string; + Recurrence: ScheduledInstanceRecurrenceRequest | undefined; +} +export namespace DescribeScheduledInstanceAvailabilityRequest { /** - *

                                                      The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate - * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

                                                      + * @internal */ - SubnetId?: string; + export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityRequest): any => ({ + ...obj, + }); +} +/** + *

                                                      Describes the recurring schedule for a Scheduled Instance.

                                                      + */ +export interface ScheduledInstanceRecurrence { /** - *

                                                      The Base64-encoded user data that instances use when starting up.

                                                      + *

                                                      The frequency (Daily, Weekly, or Monthly).

                                                      */ - UserData?: string; + Frequency?: string; /** - *

                                                      The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

                                                      - *

                                                      If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

                                                      + *

                                                      The interval quantity. The interval unit depends on the value of frequency. For example, every 2 + * weeks or every 2 months.

                                                      */ - WeightedCapacity?: number; + Interval?: number; /** - *

                                                      The tags to apply during creation.

                                                      + *

                                                      The days. For a monthly schedule, this is one or more days of the month (1-31). For a weekly schedule, this is one or more days of the week (1-7, where 1 is Sunday).

                                                      */ - TagSpecifications?: SpotFleetTagSpecification[]; + OccurrenceDaySet?: number[]; + + /** + *

                                                      Indicates whether the occurrence is relative to the end of the specified week or month.

                                                      + */ + OccurrenceRelativeToEnd?: boolean; + + /** + *

                                                      The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).

                                                      + */ + OccurrenceUnit?: string; } -export namespace SpotFleetLaunchSpecification { +export namespace ScheduledInstanceRecurrence { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetLaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: ScheduledInstanceRecurrence): any => ({ ...obj, }); } /** - *

                                                      Describes overrides for a launch template.

                                                      + *

                                                      Describes a schedule that is available for your Scheduled Instances.

                                                      */ -export interface LaunchTemplateOverrides { +export interface ScheduledInstanceAvailability { /** - *

                                                      The instance type.

                                                      + *

                                                      The Availability Zone.

                                                      */ - InstanceType?: _InstanceType | string; + AvailabilityZone?: string; /** - *

                                                      The maximum price per unit hour that you are willing to pay for a Spot - * Instance.

                                                      + *

                                                      The number of available instances.

                                                      */ - SpotPrice?: string; + AvailableInstanceCount?: number; /** - *

                                                      The ID of the subnet in which to launch the instances.

                                                      + *

                                                      The time period for the first schedule to start.

                                                      */ - SubnetId?: string; + FirstSlotStartTime?: Date; /** - *

                                                      The Availability Zone in which to launch the instances.

                                                      + *

                                                      The hourly price for a single instance.

                                                      */ - AvailabilityZone?: string; + HourlyPrice?: string; /** - *

                                                      The number of units provided by the specified instance type.

                                                      + *

                                                      The instance type. You can specify one of the C3, C4, M4, or R3 instance types.

                                                      */ - WeightedCapacity?: number; + InstanceType?: string; /** - *

                                                      The priority for the launch template override. The highest priority is launched - * first.

                                                      - *

                                                      If OnDemandAllocationStrategy is set to prioritized, Spot Fleet - * uses priority to determine which launch template override to use first in fulfilling - * On-Demand capacity.

                                                      - *

                                                      If the Spot AllocationStrategy is set to - * capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis - * to determine which launch template override to use in fulfilling Spot capacity, but - * optimizes for capacity first.

                                                      - *

                                                      Valid values are whole numbers starting at 0. The lower the number, the - * higher the priority. If no number is set, the launch template override has the lowest - * priority. You can set the same priority for different launch template overrides.

                                                      + *

                                                      The maximum term. The only possible value is 365 days.

                                                      */ - Priority?: number; -} + MaxTermDurationInDays?: number; -export namespace LaunchTemplateOverrides { /** - * @internal + *

                                                      The minimum term. The only possible value is 365 days.

                                                      */ - export const filterSensitiveLog = (obj: LaunchTemplateOverrides): any => ({ - ...obj, - }); -} + MinTermDurationInDays?: number; -/** - *

                                                      Describes a launch template and overrides.

                                                      - */ -export interface LaunchTemplateConfig { /** - *

                                                      The launch template.

                                                      + *

                                                      The network platform (EC2-Classic or EC2-VPC).

                                                      */ - LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + NetworkPlatform?: string; /** - *

                                                      Any parameters that you specify override the same parameters in the launch - * template.

                                                      + *

                                                      The platform (Linux/UNIX or Windows).

                                                      */ - Overrides?: LaunchTemplateOverrides[]; -} + Platform?: string; -export namespace LaunchTemplateConfig { /** - * @internal + *

                                                      The purchase token. This token expires in two hours.

                                                      */ - export const filterSensitiveLog = (obj: LaunchTemplateConfig): any => ({ - ...obj, - }); -} + PurchaseToken?: string; -/** - *

                                                      Describes a Classic Load Balancer.

                                                      - */ -export interface ClassicLoadBalancer { /** - *

                                                      The name of the load balancer.

                                                      + *

                                                      The schedule recurrence.

                                                      */ - Name?: string; -} + Recurrence?: ScheduledInstanceRecurrence; -export namespace ClassicLoadBalancer { /** - * @internal + *

                                                      The number of hours in the schedule.

                                                      */ - export const filterSensitiveLog = (obj: ClassicLoadBalancer): any => ({ - ...obj, - }); -} + SlotDurationInHours?: number; -/** - *

                                                      Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers - * the running Spot Instances with these Classic Load Balancers.

                                                      - */ -export interface ClassicLoadBalancersConfig { /** - *

                                                      One or more Classic Load Balancers.

                                                      + *

                                                      The total number of hours for a single instance for the entire term.

                                                      */ - ClassicLoadBalancers?: ClassicLoadBalancer[]; + TotalScheduledInstanceHours?: number; } -export namespace ClassicLoadBalancersConfig { +export namespace ScheduledInstanceAvailability { /** * @internal */ - export const filterSensitiveLog = (obj: ClassicLoadBalancersConfig): any => ({ + export const filterSensitiveLog = (obj: ScheduledInstanceAvailability): any => ({ ...obj, }); } /** - *

                                                      Describes a load balancer target group.

                                                      + *

                                                      Contains the output of DescribeScheduledInstanceAvailability.

                                                      */ -export interface TargetGroup { +export interface DescribeScheduledInstanceAvailabilityResult { /** - *

                                                      The Amazon Resource Name (ARN) of the target group.

                                                      + *

                                                      The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                      */ - Arn?: string; + NextToken?: string; + + /** + *

                                                      Information about the available Scheduled Instances.

                                                      + */ + ScheduledInstanceAvailabilitySet?: ScheduledInstanceAvailability[]; } -export namespace TargetGroup { +export namespace DescribeScheduledInstanceAvailabilityResult { /** * @internal */ - export const filterSensitiveLog = (obj: TargetGroup): any => ({ + export const filterSensitiveLog = (obj: DescribeScheduledInstanceAvailabilityResult): any => ({ ...obj, }); } /** - *

                                                      Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the - * running Spot Instances with these target groups.

                                                      + *

                                                      Describes the time period for a Scheduled Instance to start its first schedule.

                                                      */ -export interface TargetGroupsConfig { +export interface SlotStartTimeRangeRequest { /** - *

                                                      One or more target groups.

                                                      + *

                                                      The earliest date and time, in UTC, for the Scheduled Instance to start.

                                                      */ - TargetGroups?: TargetGroup[]; + EarliestTime?: Date; + + /** + *

                                                      The latest date and time, in UTC, for the Scheduled Instance to start.

                                                      + */ + LatestTime?: Date; } -export namespace TargetGroupsConfig { +export namespace SlotStartTimeRangeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TargetGroupsConfig): any => ({ + export const filterSensitiveLog = (obj: SlotStartTimeRangeRequest): any => ({ ...obj, }); } /** - *

                                                      Describes the Classic Load Balancers and target groups to attach to a Spot Fleet - * request.

                                                      + *

                                                      Contains the parameters for DescribeScheduledInstances.

                                                      */ -export interface LoadBalancersConfig { +export interface DescribeScheduledInstancesRequest { /** - *

                                                      The Classic Load Balancers.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; + DryRun?: boolean; /** - *

                                                      The target groups.

                                                      + *

                                                      The filters.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * availability-zone - The Availability Zone (for example, us-west-2a).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * instance-type - The instance type (for example, c4.large).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * network-platform - The network platform (EC2-Classic or EC2-VPC).

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * platform - The platform (Linux/UNIX or Windows).

                                                        + *
                                                      • + *
                                                      */ - TargetGroupsConfig?: TargetGroupsConfig; -} + Filters?: Filter[]; -export namespace LoadBalancersConfig { /** - * @internal + *

                                                      The maximum number of results to return in a single call. + * This value can be between 5 and 300. The default value is 100. + * To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                      */ - export const filterSensitiveLog = (obj: LoadBalancersConfig): any => ({ - ...obj, - }); -} - -export enum OnDemandAllocationStrategy { - LOWEST_PRICE = "lowestPrice", - PRIORITIZED = "prioritized", -} - -export enum ReplacementStrategy { - LAUNCH = "launch", -} + MaxResults?: number; -/** - *

                                                      The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your - * Spot Instance is at an elevated risk of being interrupted. For more information, see - * Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

                                                      - */ -export interface SpotCapacityRebalance { /** - *

                                                      The replacement strategy to use. Only available for fleets of type - * maintain. You must specify a value, otherwise you get an error.

                                                      - *

                                                      To allow Spot Fleet to launch a replacement Spot Instance when an instance rebalance - * notification is emitted for a Spot Instance in the fleet, specify - * launch.

                                                      - * - *

                                                      When a replacement instance is launched, the instance marked for rebalance is not - * automatically terminated. You can terminate it, or you can leave it running. You are - * charged for all instances while they are running.

                                                      - *
                                                      + *

                                                      The token for the next set of results.

                                                      */ - ReplacementStrategy?: ReplacementStrategy | string; -} + NextToken?: string; -export namespace SpotCapacityRebalance { /** - * @internal + *

                                                      The Scheduled Instance IDs.

                                                      */ - export const filterSensitiveLog = (obj: SpotCapacityRebalance): any => ({ - ...obj, - }); -} + ScheduledInstanceIds?: string[]; -/** - *

                                                      The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

                                                      - */ -export interface SpotMaintenanceStrategies { /** - *

                                                      The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an - * elevated risk of being interrupted.

                                                      + *

                                                      The time period for the first schedule to start.

                                                      */ - CapacityRebalance?: SpotCapacityRebalance; + SlotStartTimeRange?: SlotStartTimeRangeRequest; } -export namespace SpotMaintenanceStrategies { +export namespace DescribeScheduledInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotMaintenanceStrategies): any => ({ + export const filterSensitiveLog = (obj: DescribeScheduledInstancesRequest): any => ({ ...obj, }); } /** - *

                                                      Describes the configuration of a Spot Fleet request.

                                                      + *

                                                      Describes a Scheduled Instance.

                                                      */ -export interface SpotFleetRequestConfigData { +export interface ScheduledInstance { /** - *

                                                      Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by - * the Spot Fleet request.

                                                      - *

                                                      If the allocation strategy is lowestPrice, Spot Fleet launches instances from - * the Spot Instance pools with the lowest price. This is the default allocation strategy.

                                                      - *

                                                      If the allocation strategy is diversified, Spot Fleet launches instances from - * all the Spot Instance pools that you specify.

                                                      - *

                                                      If the allocation strategy is capacityOptimized (recommended), Spot Fleet - * launches instances from Spot Instance pools with optimal capacity for the number of instances - * that are launching. To give certain instance types a higher chance of launching first, - * use capacityOptimizedPrioritized. Set a priority for each instance type by - * using the Priority parameter for LaunchTemplateOverrides. You - * can assign the same priority to different LaunchTemplateOverrides. EC2 - * implements the priorities on a best-effort basis, but optimizes for capacity first. - * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a - * launch template. Note that if the OnDemandAllocationStrategy is set to - * prioritized, the same priority is applied when fulfilling On-Demand - * capacity.

                                                      + *

                                                      The Availability Zone.

                                                      */ - AllocationStrategy?: AllocationStrategy | string; + AvailabilityZone?: string; /** - *

                                                      The order of the launch template overrides to use in fulfilling On-Demand capacity. If - * you specify lowestPrice, Spot Fleet uses price to determine the order, launching - * the lowest price first. If you specify prioritized, Spot Fleet uses the priority - * that you assign to each Spot Fleet launch template override, launching the highest priority - * first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

                                                      + *

                                                      The date when the Scheduled Instance was purchased.

                                                      */ - OnDemandAllocationStrategy?: OnDemandAllocationStrategy | string; + CreateDate?: Date; /** - *

                                                      The strategies for managing your Spot Instances that are at an elevated risk of being - * interrupted.

                                                      + *

                                                      The hourly price for a single instance.

                                                      */ - SpotMaintenanceStrategies?: SpotMaintenanceStrategies; + HourlyPrice?: string; /** - *

                                                      A unique, case-sensitive identifier that you provide to ensure the idempotency of your - * listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

                                                      + *

                                                      The number of instances.

                                                      */ - ClientToken?: string; + InstanceCount?: number; /** - *

                                                      Indicates whether running Spot Instances should be terminated if you decrease the - * target capacity of the Spot Fleet request below the current size of the Spot - * Fleet.

                                                      + *

                                                      The instance type.

                                                      */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + InstanceType?: string; /** - *

                                                      The number of units fulfilled by this request compared to the set target capacity. You - * cannot set this value.

                                                      + *

                                                      The network platform (EC2-Classic or EC2-VPC).

                                                      */ - FulfilledCapacity?: number; + NetworkPlatform?: string; /** - *

                                                      The number of On-Demand units fulfilled by this request compared to the set target - * On-Demand capacity.

                                                      + *

                                                      The time for the next schedule to start.

                                                      */ - OnDemandFulfilledCapacity?: number; + NextSlotStartTime?: Date; /** - *

                                                      The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that - * grants the Spot Fleet the permission to request, launch, terminate, and tag instances on - * your behalf. For more information, see Spot - * Fleet prerequisites in the Amazon EC2 User Guide for Linux Instances. Spot Fleet - * can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using - * CancelSpotFleetRequests or when the Spot Fleet request expires, if you set - * TerminateInstancesWithExpiration.

                                                      + *

                                                      The platform (Linux/UNIX or Windows).

                                                      */ - IamFleetRole: string | undefined; + Platform?: string; /** - *

                                                      The launch specifications for the Spot Fleet request. If you specify - * LaunchSpecifications, you can't specify - * LaunchTemplateConfigs. If you include On-Demand capacity in your - * request, you must use LaunchTemplateConfigs.

                                                      + *

                                                      The time that the previous schedule ended or will end.

                                                      */ - LaunchSpecifications?: SpotFleetLaunchSpecification[]; + PreviousSlotEndTime?: Date; /** - *

                                                      The launch template and overrides. If you specify LaunchTemplateConfigs, - * you can't specify LaunchSpecifications. If you include On-Demand capacity - * in your request, you must use LaunchTemplateConfigs.

                                                      + *

                                                      The schedule recurrence.

                                                      */ - LaunchTemplateConfigs?: LaunchTemplateConfig[]; + Recurrence?: ScheduledInstanceRecurrence; /** - *

                                                      The maximum price per unit hour that you are willing to pay for a Spot Instance. The - * default is the On-Demand price.

                                                      + *

                                                      The Scheduled Instance ID.

                                                      */ - SpotPrice?: string; + ScheduledInstanceId?: string; /** - *

                                                      The number of units to request for the Spot Fleet. You can choose to set the target - * capacity in terms of instances or a performance characteristic that is important to your - * application workload, such as vCPUs, memory, or I/O. If the request type is - * maintain, you can specify a target capacity of 0 and add capacity - * later.

                                                      + *

                                                      The number of hours in the schedule.

                                                      */ - TargetCapacity: number | undefined; + SlotDurationInHours?: number; /** - *

                                                      The number of On-Demand units to request. You can choose to set the target capacity in - * terms of instances or a performance characteristic that is important to your application - * workload, such as vCPUs, memory, or I/O. If the request type is maintain, - * you can specify a target capacity of 0 and add capacity later.

                                                      + *

                                                      The end date for the Scheduled Instance.

                                                      */ - OnDemandTargetCapacity?: number; + TermEndDate?: Date; /** - *

                                                      The maximum amount per hour for On-Demand Instances that you're willing to pay. You - * can use the onDemandMaxTotalPrice parameter, the - * spotMaxTotalPrice parameter, or both parameters to ensure that your - * fleet cost does not exceed your budget. If you set a maximum price per hour for the - * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the - * maximum amount you're willing to pay. When the maximum amount you're willing to pay is - * reached, the fleet stops launching instances even if it hasn’t met the target - * capacity.

                                                      + *

                                                      The start date for the Scheduled Instance.

                                                      */ - OnDemandMaxTotalPrice?: string; + TermStartDate?: Date; /** - *

                                                      The maximum amount per hour for Spot Instances that you're willing to pay. You can use - * the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice - * parameter, or both parameters to ensure that your fleet cost does not exceed your - * budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, - * Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. - * When the maximum amount you're willing to pay is reached, the fleet stops launching - * instances even if it hasn’t met the target capacity.

                                                      + *

                                                      The total number of hours for a single instance for the entire term.

                                                      */ - SpotMaxTotalPrice?: string; + TotalScheduledInstanceHours?: number; +} +export namespace ScheduledInstance { /** - *

                                                      Indicates whether running Spot Instances are terminated when the Spot Fleet request - * expires.

                                                      + * @internal */ - TerminateInstancesWithExpiration?: boolean; + export const filterSensitiveLog = (obj: ScheduledInstance): any => ({ + ...obj, + }); +} +/** + *

                                                      Contains the output of DescribeScheduledInstances.

                                                      + */ +export interface DescribeScheduledInstancesResult { /** - *

                                                      The type of request. Indicates whether the Spot Fleet only requests the target - * capacity or also attempts to maintain it. When this value is request, the - * Spot Fleet only places the required requests. It does not attempt to replenish Spot - * Instances if capacity is diminished, nor does it submit requests in alternative Spot - * pools if capacity is not available. When this value is maintain, the Spot - * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet - * capacity and automatically replenishes any interrupted instances. Default: - * maintain. instant is listed but is not used by Spot - * Fleet.

                                                      + *

                                                      The token required to retrieve the next set of results. This value is null when there are no more results to return.

                                                      */ - Type?: FleetType | string; + NextToken?: string; /** - *

                                                      The start date and time of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * By default, Amazon EC2 starts fulfilling the request immediately.

                                                      + *

                                                      Information about the Scheduled Instances.

                                                      */ - ValidFrom?: Date; + ScheduledInstanceSet?: ScheduledInstance[]; +} +export namespace DescribeScheduledInstancesResult { /** - *

                                                      The end date and time of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ). - * After the end date and time, no new Spot Instance requests are placed or able to fulfill - * the request. If no value is specified, the Spot Fleet request remains until you cancel - * it.

                                                      + * @internal */ - ValidUntil?: Date; + export const filterSensitiveLog = (obj: DescribeScheduledInstancesResult): any => ({ + ...obj, + }); +} +export interface DescribeSecurityGroupReferencesRequest { /** - *

                                                      Indicates whether Spot Fleet should replace unhealthy instances.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - ReplaceUnhealthyInstances?: boolean; + DryRun?: boolean; /** - *

                                                      The behavior when a Spot Instance is interrupted. The default is - * terminate.

                                                      + *

                                                      The IDs of the security groups in your account.

                                                      */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; + GroupId: string[] | undefined; +} +export namespace DescribeSecurityGroupReferencesRequest { /** - *

                                                      One or more Classic Load Balancers and target groups to attach to the Spot Fleet - * request. Spot Fleet registers the running Spot Instances with the specified Classic Load - * Balancers and target groups.

                                                      - *

                                                      With Network Load Balancers, Spot Fleet cannot register instances that have the - * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, - * M3, and T1.

                                                      + * @internal */ - LoadBalancersConfig?: LoadBalancersConfig; + export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesRequest): any => ({ + ...obj, + }); +} +/** + *

                                                      Describes a VPC with a security group that references your security group.

                                                      + */ +export interface SecurityGroupReference { /** - *

                                                      The number of Spot pools across which to allocate your target Spot capacity. Valid - * only when Spot AllocationStrategy is set to - * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly - * allocates your target Spot capacity across the number of Spot pools that you - * specify.

                                                      - *

                                                      Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a - * best effort basis. If a pool runs out of Spot capacity before fulfilling your target - * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest - * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than - * the number of pools that you specified. Similarly, if most of the pools have no Spot - * capacity, you might receive your full target capacity from fewer than the number of - * pools that you specified.

                                                      + *

                                                      The ID of your security group.

                                                      */ - InstancePoolsToUseCount?: number; + GroupId?: string; /** - *

                                                      Reserved.

                                                      + *

                                                      The ID of the VPC with the referencing security group.

                                                      */ - Context?: string; + ReferencingVpcId?: string; /** - *

                                                      The key-value pair for tagging the Spot Fleet request on creation. The value for - * ResourceType must be spot-fleet-request, otherwise the - * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch - * template (valid only if you use LaunchTemplateConfigs) or in - * the - * SpotFleetTagSpecification - * (valid only if you use - * LaunchSpecifications). For information about tagging after launch, see - * Tagging Your Resources.

                                                      + *

                                                      The ID of the VPC peering connection.

                                                      */ - TagSpecifications?: TagSpecification[]; + VpcPeeringConnectionId?: string; } -export namespace SpotFleetRequestConfigData { +export namespace SecurityGroupReference { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetRequestConfigData): any => ({ + export const filterSensitiveLog = (obj: SecurityGroupReference): any => ({ ...obj, }); } -/** - *

                                                      Describes a Spot Fleet request.

                                                      - */ -export interface SpotFleetRequestConfig { +export interface DescribeSecurityGroupReferencesResult { /** - *

                                                      The progress of the Spot Fleet request. - * If there is an error, the status is error. - * After all requests are placed, the status is pending_fulfillment. - * If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. - * If the size of the fleet is decreased, the status is pending_termination - * while Spot Instances are terminating.

                                                      + *

                                                      Information about the VPCs with the referencing security groups.

                                                      */ - ActivityStatus?: ActivityStatus | string; + SecurityGroupReferenceSet?: SecurityGroupReference[]; +} +export namespace DescribeSecurityGroupReferencesResult { /** - *

                                                      The creation date and time of the request.

                                                      + * @internal */ - CreateTime?: Date; + export const filterSensitiveLog = (obj: DescribeSecurityGroupReferencesResult): any => ({ + ...obj, + }); +} + +export interface DescribeSecurityGroupRulesRequest { + /** + *

                                                      One or more filters.

                                                      + *
                                                        + *
                                                      • + *

                                                        + * group-id - The ID of the security group.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * security-group-rule-id - The ID of the security group rule.

                                                        + *
                                                      • + *
                                                      • + *

                                                        + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                        + *
                                                      • + *
                                                      + */ + Filters?: Filter[]; /** - *

                                                      The configuration of the Spot Fleet request.

                                                      + *

                                                      The IDs of the security group rules.

                                                      */ - SpotFleetRequestConfig?: SpotFleetRequestConfigData; + SecurityGroupRuleIds?: string[]; /** - *

                                                      The ID of the Spot Fleet request.

                                                      + *

                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                      */ - SpotFleetRequestId?: string; + DryRun?: boolean; /** - *

                                                      The state of the Spot Fleet request.

                                                      + *

                                                      The token for the next page of results.

                                                      */ - SpotFleetRequestState?: BatchState | string; + NextToken?: string; /** - *

                                                      The tags for a Spot Fleet resource.

                                                      + *

                                                      The maximum number of results to return in a single call. To retrieve the remaining + * results, make another request with the returned NextToken value. This value + * can be between 5 and 1000. If this parameter is not specified, then all results are + * returned.

                                                      */ - Tags?: Tag[]; + MaxResults?: number; } -export namespace SpotFleetRequestConfig { +export namespace DescribeSecurityGroupRulesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotFleetRequestConfig): any => ({ + export const filterSensitiveLog = (obj: DescribeSecurityGroupRulesRequest): any => ({ ...obj, }); } -/** - *

                                                      Contains the output of DescribeSpotFleetRequests.

                                                      - */ -export interface DescribeSpotFleetRequestsResponse { +export interface DescribeSecurityGroupRulesResult { /** - *

                                                      The token required to retrieve the next set of results. This value is - * null when there are no more results to return.

                                                      + *

                                                      Information about security group rules.

                                                      */ - NextToken?: string; + SecurityGroupRules?: SecurityGroupRule[]; /** - *

                                                      Information about the configuration of your Spot Fleet.

                                                      + *

                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                      */ - SpotFleetRequestConfigs?: SpotFleetRequestConfig[]; + NextToken?: string; } -export namespace DescribeSpotFleetRequestsResponse { +export namespace DescribeSecurityGroupRulesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsResponse): any => ({ + export const filterSensitiveLog = (obj: DescribeSecurityGroupRulesResult): any => ({ ...obj, }); } -/** - *

                                                      Contains the parameters for DescribeSpotInstanceRequests.

                                                      - */ -export interface DescribeSpotInstanceRequestsRequest { +export interface DescribeSecurityGroupsRequest { /** - *

                                                      One or more filters.

                                                      - *
                                                        - *
                                                      • - *

                                                        - * availability-zone-group - The Availability Zone group.

                                                        - *
                                                      • + *

                                                        The filters. If using multiple filters for rules, the results include security groups for which any combination of rules - not necessarily a single rule - match all filters.

                                                        + *
                                                          *
                                                        • - *

                                                          - * create-time - The time stamp when the Spot Instance request was - * created.

                                                          + *

                                                          + * description - The description of the security group.

                                                          *
                                                        • *
                                                        • *

                                                          - * fault-code - The fault code related to the request.

                                                          + * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound + * security group rule.

                                                          *
                                                        • *
                                                        • *

                                                          - * fault-message - The fault message related to the request.

                                                          + * egress.ip-permission.from-port - For an outbound rule, the + * start of port range for the TCP and UDP protocols, or an ICMP type + * number.

                                                          *
                                                        • *
                                                        • *

                                                          - * instance-id - The ID of the instance that fulfilled the - * request.

                                                          + * egress.ip-permission.group-id - The ID of a security group + * that has been referenced in an outbound security group rule.

                                                          *
                                                        • *
                                                        • *

                                                          - * launch-group - The Spot Instance launch group.

                                                          + * egress.ip-permission.group-name - The name of a security group + * that is referenced in an outbound security group rule.

                                                          *
                                                        • *
                                                        • *

                                                          - * launch.block-device-mapping.delete-on-termination - Indicates - * whether the EBS volume is deleted on instance termination.

                                                          + * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an + * outbound security group rule.

                                                          *
                                                        • *
                                                        • - *

                                                          - * launch.block-device-mapping.device-name - The device name for the - * volume in the block device mapping (for example, /dev/sdh or - * xvdh).

                                                          - *
                                                        • + *

                                                          + * egress.ip-permission.prefix-list-id - The ID of a prefix list to which a security group rule allows outbound access.

                                                          + * *
                                                        • *

                                                          - * launch.block-device-mapping.snapshot-id - The ID of the snapshot - * for the EBS volume.

                                                          + * egress.ip-permission.protocol - The IP protocol for an + * outbound security group rule (tcp | udp | + * icmp, a protocol number, or -1 for all protocols).

                                                          *
                                                        • *
                                                        • *

                                                          - * launch.block-device-mapping.volume-size - The size of the EBS - * volume, in GiB.

                                                          + * egress.ip-permission.to-port - For an outbound rule, the end + * of port range for the TCP and UDP protocols, or an ICMP code.

                                                          *
                                                        • *
                                                        • *

                                                          - * launch.block-device-mapping.volume-type - The type of EBS volume: - * gp2 for General Purpose SSD, io1 or - * io2 for Provisioned IOPS SSD, st1 for Throughput - * Optimized HDD, sc1for Cold HDD, or standard for - * Magnetic.

                                                          + * egress.ip-permission.user-id - The ID of an Amazon Web Services account that + * has been referenced in an outbound security group rule.

                                                          *
                                                        • *
                                                        • - *

                                                          - * launch.group-id - The ID of the security group for the - * instance.

                                                          + *

                                                          + * group-id - The ID of the security group.

                                                          *
                                                        • *
                                                        • - *

                                                          - * launch.group-name - The name of the security group for the - * instance.

                                                          + *

                                                          + * group-name - The name of the security group.

                                                          *
                                                        • *
                                                        • - *

                                                          - * launch.image-id - The ID of the AMI.

                                                          + *

                                                          + * ip-permission.cidr - An IPv4 CIDR block for an inbound security + * group rule.

                                                          *
                                                        • *
                                                        • - *

                                                          - * launch.instance-type - The type of instance (for example, - * m3.medium).

                                                          + *

                                                          + * ip-permission.from-port - For an inbound rule, the start of port + * range for the TCP and UDP protocols, or an ICMP type number.

                                                          *
                                                        • *
                                                        • - *

                                                          - * launch.kernel-id - The kernel ID.

                                                          + *

                                                          + * ip-permission.group-id - The ID of a security group that has been + * referenced in an inbound security group rule.

                                                          *
                                                        • *
                                                        • - *

                                                          - * launch.key-name - The name of the key pair the instance launched - * with.

                                                          - *
                                                        • + *

                                                          + * ip-permission.group-name - The name of a security group that is + * referenced in an inbound security group rule.

                                                          + * *
                                                        • - *

                                                          - * launch.monitoring-enabled - Whether detailed monitoring is - * enabled for the Spot Instance.

                                                          + *

                                                          + * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security + * group rule.

                                                          *
                                                        • *
                                                        • *

                                                          - * launch.ramdisk-id - The RAM disk ID.

                                                          + * ip-permission.prefix-list-id - The ID of a prefix list from which a security group rule allows inbound access.

                                                          *
                                                        • *
                                                        • - *

                                                          - * launched-availability-zone - The Availability Zone in which the - * request is launched.

                                                          + *

                                                          + * ip-permission.protocol - The IP protocol for an inbound security + * group rule (tcp | udp | icmp, a + * protocol number, or -1 for all protocols).

                                                          *
                                                        • *
                                                        • - *

                                                          - * network-interface.addresses.primary - Indicates whether the IP - * address is the primary private IP address.

                                                          + *

                                                          + * ip-permission.to-port - For an inbound rule, the end of port range + * for the TCP and UDP protocols, or an ICMP code.

                                                          *
                                                        • *
                                                        • - *

                                                          - * network-interface.delete-on-termination - Indicates whether the - * network interface is deleted when the instance is terminated.

                                                          + *

                                                          + * ip-permission.user-id - The ID of an Amazon Web Services account that has been + * referenced in an inbound security group rule.

                                                          *
                                                        • *
                                                        • - *

                                                          - * network-interface.description - A description of the network - * interface.

                                                          + *

                                                          + * owner-id - The Amazon Web Services account ID of the owner of the security group.

                                                          *
                                                        • *
                                                        • - *

                                                          - * network-interface.device-index - The index of the device for the - * network interface attachment on the instance.

                                                          + *

                                                          + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                          *
                                                        • *
                                                        • - *

                                                          - * network-interface.group-id - The ID of the security group - * associated with the network interface.

                                                          + *

                                                          + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                          *
                                                        • *
                                                        • - *

                                                          - * network-interface.network-interface-id - The ID of the network - * interface.

                                                          + *

                                                          + * vpc-id - The ID of the VPC specified when the security group was created.

                                                          *
                                                        • + *
                                                        + */ + Filters?: Filter[]; + + /** + *

                                                        The IDs of the security groups. Required for security groups in a nondefault VPC.

                                                        + *

                                                        Default: Describes all of your security groups.

                                                        + */ + GroupIds?: string[]; + + /** + *

                                                        [EC2-Classic and default VPC only] The names of the security groups. You can specify either + * the security group name or the security group ID. For security groups in a nondefault VPC, use + * the group-name filter to describe security groups by name.

                                                        + *

                                                        Default: Describes all of your security groups.

                                                        + */ + GroupNames?: string[]; + + /** + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        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 request with the returned NextToken value. This value + * can be between 5 and 1000. If this parameter is not specified, then all results are + * returned.

                                                        + */ + MaxResults?: number; +} + +export namespace DescribeSecurityGroupsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSecurityGroupsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes a security group.

                                                        + */ +export interface SecurityGroup { + /** + *

                                                        A description of the security group.

                                                        + */ + Description?: string; + + /** + *

                                                        The name of the security group.

                                                        + */ + GroupName?: string; + + /** + *

                                                        The inbound rules associated with the security group.

                                                        + */ + IpPermissions?: IpPermission[]; + + /** + *

                                                        The Amazon Web Services account ID of the owner of the security group.

                                                        + */ + OwnerId?: string; + + /** + *

                                                        The ID of the security group.

                                                        + */ + GroupId?: string; + + /** + *

                                                        [VPC only] The outbound rules associated with the security group.

                                                        + */ + IpPermissionsEgress?: IpPermission[]; + + /** + *

                                                        Any tags assigned to the security group.

                                                        + */ + Tags?: Tag[]; + + /** + *

                                                        [VPC only] The ID of the VPC for the security group.

                                                        + */ + VpcId?: string; +} + +export namespace SecurityGroup { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SecurityGroup): any => ({ + ...obj, + }); +} + +export interface DescribeSecurityGroupsResult { + /** + *

                                                        Information about the security groups.

                                                        + */ + SecurityGroups?: SecurityGroup[]; + + /** + *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + */ + NextToken?: string; +} + +export namespace DescribeSecurityGroupsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSecurityGroupsResult): any => ({ + ...obj, + }); +} + +export type SnapshotAttributeName = "createVolumePermission" | "productCodes"; + +export interface DescribeSnapshotAttributeRequest { + /** + *

                                                        The snapshot attribute you would like to view.

                                                        + */ + Attribute: SnapshotAttributeName | string | undefined; + + /** + *

                                                        The ID of the EBS snapshot.

                                                        + */ + SnapshotId: string | undefined; + + /** + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        + */ + DryRun?: boolean; +} + +export namespace DescribeSnapshotAttributeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSnapshotAttributeRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Describes the user or group to be added or removed from the list of create volume + * permissions for a volume.

                                                        + */ +export interface CreateVolumePermission { + /** + *

                                                        The group to be added or removed. The possible value is all.

                                                        + */ + Group?: PermissionGroup | string; + + /** + *

                                                        The ID of the Amazon Web Services account to be added or removed.

                                                        + */ + UserId?: string; +} + +export namespace CreateVolumePermission { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateVolumePermission): any => ({ + ...obj, + }); +} + +export interface DescribeSnapshotAttributeResult { + /** + *

                                                        The users and groups that have the permissions for creating volumes from the + * snapshot.

                                                        + */ + CreateVolumePermissions?: CreateVolumePermission[]; + + /** + *

                                                        The product codes.

                                                        + */ + ProductCodes?: ProductCode[]; + + /** + *

                                                        The ID of the EBS snapshot.

                                                        + */ + SnapshotId?: string; +} + +export namespace DescribeSnapshotAttributeResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSnapshotAttributeResult): any => ({ + ...obj, + }); +} + +export interface DescribeSnapshotsRequest { + /** + *

                                                        The filters.

                                                        + *
                                                          *
                                                        • - *

                                                          - * network-interface.private-ip-address - The primary private IP - * address of the network interface.

                                                          + *

                                                          + * description - A description of the snapshot.

                                                          *
                                                        • *
                                                        • - *

                                                          - * network-interface.subnet-id - The ID of the subnet for the - * instance.

                                                          + *

                                                          + * encrypted - Indicates whether the snapshot is encrypted + * (true | false)

                                                          *
                                                        • *
                                                        • - *

                                                          - * product-description - The product description associated with the - * instance (Linux/UNIX | Windows).

                                                          + *

                                                          + * owner-alias - The owner alias, from an Amazon-maintained list + * (amazon). + * This is not the user-configured Amazon Web Services account alias set using the IAM console. + * We recommend that you use the related parameter instead of this filter.

                                                          *
                                                        • *
                                                        • - *

                                                          - * spot-instance-request-id - The Spot Instance request ID.

                                                          + *

                                                          + * owner-id - The Amazon Web Services account ID of the owner. We recommend that + * you use the related parameter instead of this filter.

                                                          *
                                                        • *
                                                        • - *

                                                          - * spot-price - The maximum hourly price for any Spot Instance - * launched to fulfill the request.

                                                          + *

                                                          + * progress - The progress of the snapshot, as a percentage (for example, + * 80%).

                                                          *
                                                        • *
                                                        • - *

                                                          - * state - The state of the Spot Instance request (open - * | active | closed | cancelled | - * failed). Spot request status information can help you track - * your Amazon EC2 Spot Instance requests. For more information, see Spot - * request status in the Amazon EC2 User Guide for Linux Instances.

                                                          + *

                                                          + * snapshot-id - The snapshot ID.

                                                          *
                                                        • *
                                                        • - *

                                                          - * status-code - The short code describing the most recent - * evaluation of your Spot Instance request.

                                                          + *

                                                          + * start-time - The time stamp when the snapshot was initiated.

                                                          *
                                                        • *
                                                        • - *

                                                          - * status-message - The message explaining the status of the Spot - * Instance request.

                                                          + *

                                                          + * status - The status of the snapshot (pending | + * completed | error).

                                                          *
                                                        • *
                                                        • *

                                                          - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                          *
                                                        • *
                                                        • @@ -10934,22 +10497,101 @@ export interface DescribeSpotInstanceRequestsRequest { * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                          *
                                                        • *
                                                        • - *

                                                          - * type - The type of Spot Instance request (one-time | - * persistent).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * valid-from - The start date of the request.

                                                          + *

                                                          + * volume-id - The ID of the volume the snapshot is for.

                                                          *
                                                        • *
                                                        • - *

                                                          - * valid-until - The end date of the request.

                                                          + *

                                                          + * volume-size - The size of the volume, in GiB.

                                                          *
                                                        • *
                                                        */ - Filters?: Filter[]; + Filters?: Filter[]; + + /** + *

                                                        The maximum number of snapshot results returned by DescribeSnapshots in + * paginated output. When this parameter is used, DescribeSnapshots only returns + * MaxResults results in a single page along with a NextToken + * response element. The remaining results of the initial request can be seen by sending another + * DescribeSnapshots request with the returned NextToken value. This + * value can be between 5 and 1,000; if MaxResults is given a value larger than 1,000, + * only 1,000 results are returned. If this parameter is not used, then + * DescribeSnapshots returns all results. You cannot specify this parameter and + * the snapshot IDs parameter in the same request.

                                                        + */ + MaxResults?: number; + + /** + *

                                                        The NextToken value returned from a previous paginated + * DescribeSnapshots 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.

                                                        + */ + NextToken?: string; + + /** + *

                                                        Scopes the results to snapshots with the specified owners. You can specify a combination of + * Amazon Web Services account IDs, self, and amazon.

                                                        + */ + OwnerIds?: string[]; + + /** + *

                                                        The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.

                                                        + */ + RestorableByUserIds?: string[]; + + /** + *

                                                        The snapshot IDs.

                                                        + *

                                                        Default: Describes the snapshots for which you have create volume permissions.

                                                        + */ + SnapshotIds?: string[]; + + /** + *

                                                        Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                        + */ + DryRun?: boolean; +} + +export namespace DescribeSnapshotsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSnapshotsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeSnapshotsResult { + /** + *

                                                        Information about the snapshots.

                                                        + */ + Snapshots?: Snapshot[]; + + /** + *

                                                        The NextToken value to include in a future DescribeSnapshots + * request. When the results of a DescribeSnapshots request exceed + * MaxResults, this value can be used to retrieve the next page of results. This + * value is null when there are no more results to return.

                                                        + */ + NextToken?: string; +} + +export namespace DescribeSnapshotsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSnapshotsResult): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the parameters for DescribeSpotDatafeedSubscription.

                                                        + */ +export interface DescribeSpotDatafeedSubscriptionRequest { /** *

                                                        Checks whether you have the required permissions for the action, without actually * making the request, and provides an error response. If you have the required @@ -10957,2087 +10599,2301 @@ export interface DescribeSpotInstanceRequestsRequest { * UnauthorizedOperation.

                                                        */ DryRun?: boolean; +} +export namespace DescribeSpotDatafeedSubscriptionRequest { /** - *

                                                        One or more Spot Instance request IDs.

                                                        + * @internal */ - SpotInstanceRequestIds?: string[]; + export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                        Contains the output of DescribeSpotDatafeedSubscription.

                                                        + */ +export interface DescribeSpotDatafeedSubscriptionResult { + /** + *

                                                        The Spot Instance data feed subscription.

                                                        + */ + SpotDatafeedSubscription?: SpotDatafeedSubscription; +} +export namespace DescribeSpotDatafeedSubscriptionResult { /** - *

                                                        The token to request the next set of results. This value is null when - * there are no more results to return.

                                                        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: DescribeSpotDatafeedSubscriptionResult): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the parameters for DescribeSpotFleetInstances.

                                                        + */ +export interface DescribeSpotFleetInstancesRequest { /** - *

                                                        The maximum number of results to return in a single call. Specify a value between 5 - * and 1000. To retrieve the remaining results, make another call with the returned - * NextToken value.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        The maximum number of results to return in a single call. Specify a value between 1 + * and 1000. The default value is 1000. To retrieve the remaining results, make another + * call with the returned NextToken value.

                                                        */ MaxResults?: number; + + /** + *

                                                        The token for the next set of results.

                                                        + */ + NextToken?: string; + + /** + *

                                                        The ID of the Spot Fleet request.

                                                        + */ + SpotFleetRequestId: string | undefined; } -export namespace DescribeSpotInstanceRequestsRequest { +export namespace DescribeSpotFleetInstancesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesRequest): any => ({ ...obj, }); } /** - *

                                                        Describes the monitoring of an instance.

                                                        + *

                                                        Contains the output of DescribeSpotFleetInstances.

                                                        */ -export interface RunInstancesMonitoringEnabled { +export interface DescribeSpotFleetInstancesResponse { /** - *

                                                        Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is - * enabled.

                                                        + *

                                                        The running instances. This list is refreshed periodically and might be out of + * date.

                                                        */ - Enabled: boolean | undefined; + ActiveInstances?: ActiveInstance[]; + + /** + *

                                                        The token required to retrieve the next set of results. This value is + * null when there are no more results to return.

                                                        + */ + NextToken?: string; + + /** + *

                                                        The ID of the Spot Fleet request.

                                                        + */ + SpotFleetRequestId?: string; } -export namespace RunInstancesMonitoringEnabled { +export namespace DescribeSpotFleetInstancesResponse { /** * @internal */ - export const filterSensitiveLog = (obj: RunInstancesMonitoringEnabled): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetInstancesResponse): any => ({ ...obj, }); } +export enum EventType { + BATCH_CHANGE = "fleetRequestChange", + ERROR = "error", + INFORMATION = "information", + INSTANCE_CHANGE = "instanceChange", +} + /** - *

                                                        Describes the launch specification for an instance.

                                                        + *

                                                        Contains the parameters for DescribeSpotFleetRequestHistory.

                                                        */ -export interface LaunchSpecification { +export interface DescribeSpotFleetRequestHistoryRequest { /** - *

                                                        The Base64-encoded user data for the instance.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                        */ - UserData?: string; + DryRun?: boolean; /** - *

                                                        One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                        + *

                                                        The type of events to describe. By default, all events are described.

                                                        */ - SecurityGroups?: GroupIdentifier[]; + EventType?: EventType | string; /** - *

                                                        Deprecated.

                                                        + *

                                                        The maximum number of results to return in a single call. Specify a value between 1 + * and 1000. The default value is 1000. To retrieve the remaining results, make another + * call with the returned NextToken value.

                                                        */ - AddressingType?: string; + MaxResults?: number; /** - *

                                                        One or more block device mapping entries.

                                                        + *

                                                        The token for the next set of results.

                                                        */ - BlockDeviceMappings?: BlockDeviceMapping[]; + NextToken?: string; /** - *

                                                        Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                        - *

                                                        Default: false - *

                                                        + *

                                                        The ID of the Spot Fleet request.

                                                        */ - EbsOptimized?: boolean; + SpotFleetRequestId: string | undefined; /** - *

                                                        The IAM instance profile.

                                                        + *

                                                        The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                        */ - IamInstanceProfile?: IamInstanceProfileSpecification; + StartTime: Date | undefined; +} +export namespace DescribeSpotFleetRequestHistoryRequest { /** - *

                                                        The ID of the AMI.

                                                        + * @internal */ - ImageId?: string; + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryRequest): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes an event in the history of the Spot Fleet request.

                                                        + */ +export interface HistoryRecord { /** - *

                                                        The instance type.

                                                        + *

                                                        Information about the event.

                                                        */ - InstanceType?: _InstanceType | string; + EventInformation?: EventInformation; /** - *

                                                        The ID of the kernel.

                                                        + *

                                                        The event type.

                                                        + *
                                                          + *
                                                        • + *

                                                          + * error - An error with the Spot Fleet request.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * fleetRequestChange - A change in the status or configuration of + * the Spot Fleet request.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * instanceChange - An instance was launched or terminated.

                                                          + *
                                                        • + *
                                                        • + *

                                                          + * Information - An informational event.

                                                          + *
                                                        • + *
                                                        */ - KernelId?: string; + EventType?: EventType | string; /** - *

                                                        The name of the key pair.

                                                        + *

                                                        The date and time of the event, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                        */ - KeyName?: string; + Timestamp?: Date; +} +export namespace HistoryRecord { /** - *

                                                        One or more network interfaces. If you specify a network interface, you must specify - * subnet IDs and security group IDs using the network interface.

                                                        + * @internal */ - NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; + export const filterSensitiveLog = (obj: HistoryRecord): any => ({ + ...obj, + }); +} +/** + *

                                                        Contains the output of DescribeSpotFleetRequestHistory.

                                                        + */ +export interface DescribeSpotFleetRequestHistoryResponse { /** - *

                                                        The placement information for the instance.

                                                        + *

                                                        Information about the events in the history of the Spot Fleet request.

                                                        */ - Placement?: SpotPlacement; + HistoryRecords?: HistoryRecord[]; /** - *

                                                        The ID of the RAM disk.

                                                        + *

                                                        The last date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * All records up to this time were retrieved.

                                                        + *

                                                        If nextToken indicates that there are more results, this value is not + * present.

                                                        */ - RamdiskId?: string; + LastEvaluatedTime?: Date; /** - *

                                                        The ID of the subnet in which to launch the instance.

                                                        + *

                                                        The token required to retrieve the next set of results. This value is + * null when there are no more results to return.

                                                        */ - SubnetId?: string; + NextToken?: string; /** - *

                                                        Describes the monitoring of an instance.

                                                        + *

                                                        The ID of the Spot Fleet request.

                                                        */ - Monitoring?: RunInstancesMonitoringEnabled; + SpotFleetRequestId?: string; + + /** + *

                                                        The starting date and time for the events, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                        + */ + StartTime?: Date; } -export namespace LaunchSpecification { +export namespace DescribeSpotFleetRequestHistoryResponse { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestHistoryResponse): any => ({ ...obj, }); } -export type SpotInstanceState = "active" | "cancelled" | "closed" | "failed" | "open"; - /** - *

                                                        Describes the status of a Spot Instance request.

                                                        + *

                                                        Contains the parameters for DescribeSpotFleetRequests.

                                                        */ -export interface SpotInstanceStatus { +export interface DescribeSpotFleetRequestsRequest { /** - *

                                                        The status code. For a list of status codes, see Spot status codes in the Amazon EC2 User Guide for Linux Instances.

                                                        + *

                                                        Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                        + */ + DryRun?: boolean; + + /** + *

                                                        The maximum number of results to return in a single call. Specify a value between 1 + * and 1000. The default value is 1000. To retrieve the remaining results, make another + * call with the returned NextToken value.

                                                        */ - Code?: string; + MaxResults?: number; /** - *

                                                        The description for the status code.

                                                        + *

                                                        The token for the next set of results.

                                                        */ - Message?: string; + NextToken?: string; /** - *

                                                        The date and time of the most recent status update, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                        + *

                                                        The IDs of the Spot Fleet requests.

                                                        */ - UpdateTime?: Date; + SpotFleetRequestIds?: string[]; } -export namespace SpotInstanceStatus { +export namespace DescribeSpotFleetRequestsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SpotInstanceStatus): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsRequest): any => ({ ...obj, }); } +export enum ExcessCapacityTerminationPolicy { + DEFAULT = "default", + NO_TERMINATION = "noTermination", +} + /** - *

                                                        Describes a Spot Instance request.

                                                        + *

                                                        Describes whether monitoring is enabled.

                                                        */ -export interface SpotInstanceRequest { - /** - *

                                                        Deprecated.

                                                        - */ - ActualBlockHourlyPrice?: string; - +export interface SpotFleetMonitoring { /** - *

                                                        The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

                                                        + *

                                                        Enables monitoring for the instance.

                                                        + *

                                                        Default: false + *

                                                        */ - AvailabilityZoneGroup?: string; + Enabled?: boolean; +} +export namespace SpotFleetMonitoring { /** - *

                                                        Deprecated.

                                                        + * @internal */ - BlockDurationMinutes?: number; + export const filterSensitiveLog = (obj: SpotFleetMonitoring): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes a network interface.

                                                        + */ +export interface InstanceNetworkInterfaceSpecification { /** - *

                                                        The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                        + *

                                                        Indicates whether to assign a public IPv4 address to an instance you launch in a VPC. The + * public IP address can only be assigned to a network interface for eth0, and can only be + * assigned to a new network interface, not an existing one. You cannot specify more than one + * network interface in the request. If launching into a default subnet, the default value is + * true.

                                                        */ - CreateTime?: Date; + AssociatePublicIpAddress?: boolean; /** - *

                                                        The fault codes for the Spot Instance request, if any.

                                                        + *

                                                        If set to true, the interface is deleted when the instance is terminated. You can + * specify true only if creating a new network interface when launching an + * instance.

                                                        */ - Fault?: SpotInstanceStateFault; + DeleteOnTermination?: boolean; /** - *

                                                        The instance ID, if an instance has been launched to fulfill the Spot Instance request.

                                                        + *

                                                        The description of the network interface. Applies only if creating a network interface when launching an instance.

                                                        */ - InstanceId?: string; + Description?: string; /** - *

                                                        The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

                                                        + *

                                                        The position of the network interface in the attachment order. + * A primary network interface has a device index of 0.

                                                        + *

                                                        If you specify a network interface when launching an instance, + * you must specify the device index.

                                                        */ - LaunchGroup?: string; + DeviceIndex?: number; /** - *

                                                        Additional information for launching instances.

                                                        + *

                                                        The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an instance.

                                                        */ - LaunchSpecification?: LaunchSpecification; + Groups?: string[]; /** - *

                                                        The Availability Zone in which the request is launched.

                                                        + *

                                                        A number of IPv6 addresses to assign to the network interface. Amazon EC2 chooses + * the IPv6 addresses from the range of the subnet. You cannot specify this option and the + * option to assign specific IPv6 addresses in the same request. You can specify this + * option if you've specified a minimum number of instances to launch.

                                                        */ - LaunchedAvailabilityZone?: string; + Ipv6AddressCount?: number; /** - *

                                                        The product description associated with the Spot Instance.

                                                        + *

                                                        One or more IPv6 addresses to assign to the network interface. You cannot specify + * this option and the option to assign a number of IPv6 addresses in the same request. You + * cannot specify this option if you've specified a minimum number of instances to + * launch.

                                                        */ - ProductDescription?: RIProductDescription | string; + Ipv6Addresses?: InstanceIpv6Address[]; /** - *

                                                        The ID of the Spot Instance request.

                                                        + *

                                                        The ID of the network interface.

                                                        + *

                                                        If you are creating a Spot Fleet, omit this parameter because you can’t specify a network interface ID in a launch specification.

                                                        */ - SpotInstanceRequestId?: string; + NetworkInterfaceId?: string; /** - *

                                                        The maximum price per hour that you are willing to pay for a Spot Instance.

                                                        + *

                                                        The private IPv4 address of the network interface. Applies only if creating a network interface when launching an instance. You cannot specify this option if you're launching + * more than one instance in a RunInstances request.

                                                        */ - SpotPrice?: string; + PrivateIpAddress?: string; /** - *

                                                        The state of the Spot Instance request. Spot status information helps track your Spot - * Instance requests. For more information, see Spot status in the - * Amazon EC2 User Guide for Linux Instances.

                                                        + *

                                                        One or more private IPv4 addresses to assign to the network interface. Only one private IPv4 address can be designated as primary. You cannot specify this option if you're + * launching more than one instance in a RunInstances request.

                                                        */ - State?: SpotInstanceState | string; + PrivateIpAddresses?: PrivateIpAddressSpecification[]; /** - *

                                                        The status code and status message describing the Spot Instance request.

                                                        + *

                                                        The number of secondary private IPv4 addresses. You can't specify this option and specify more than one private IP address using the private IP addresses option. You cannot specify this option if you're + * launching more than one instance in a RunInstances request.

                                                        */ - Status?: SpotInstanceStatus; + SecondaryPrivateIpAddressCount?: number; /** - *

                                                        Any tags assigned to the resource.

                                                        + *

                                                        The ID of the subnet associated with the network interface. Applies only if creating a network interface when launching an instance.

                                                        */ - Tags?: Tag[]; + SubnetId?: string; /** - *

                                                        The Spot Instance request type.

                                                        + *

                                                        Indicates whether to assign a carrier IP address to the network interface.

                                                        + *

                                                        You can only assign a carrier IP address to a network interface that is in a subnet in a Wavelength Zone. + * For more information about carrier IP addresses, see Carrier IP addresses in the Amazon Web Services Wavelength Developer Guide.

                                                        */ - Type?: SpotInstanceType | string; + AssociateCarrierIpAddress?: boolean; /** - *

                                                        The start date of the request, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * The request becomes active at this date and time.

                                                        + *

                                                        The type of network interface.

                                                        + *

                                                        To create an Elastic Fabric Adapter (EFA), specify + * efa. For more information, see Elastic Fabric Adapter in the + * Amazon Elastic Compute Cloud User Guide.

                                                        + * + *

                                                        Valid values: interface | efa + *

                                                        */ - ValidFrom?: Date; + InterfaceType?: string; /** - *

                                                        The end date of the request, in UTC format - * (YYYY-MM-DDTHH:MM:SSZ).

                                                        - *
                                                          - *
                                                        • - *

                                                          For a persistent request, the request remains active until the validUntil date - * and time is reached. Otherwise, the request remains active until you cancel it. - *

                                                          - *
                                                        • - *
                                                        • - *

                                                          For a one-time request, the request remains active until all instances launch, - * the request is canceled, or the validUntil date and time is reached. By default, the - * request is valid for 7 days from the date the request was created.

                                                          - *
                                                        • - *
                                                        + *

                                                        The index of the network card. Some instance types support multiple network cards. + * The primary network interface must be assigned to network card index 0. + * The default is network card index 0.

                                                        + *

                                                        If you are using RequestSpotInstances to create Spot Instances, omit this parameter because + * you can’t specify the network card index when using this API. To specify the network + * card index, use RunInstances.

                                                        */ - ValidUntil?: Date; + NetworkCardIndex?: number; /** - *

                                                        The behavior when a Spot Instance is interrupted.

                                                        + *

                                                        One or more IPv4 delegated prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv4PrefixCount option.

                                                        */ - InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; -} + Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[]; -export namespace SpotInstanceRequest { /** - * @internal + *

                                                        The number of IPv4 delegated prefixes to be automatically assigned to the network interface. + * You cannot use this option if you use the Ipv4Prefix option.

                                                        */ - export const filterSensitiveLog = (obj: SpotInstanceRequest): any => ({ - ...obj, - }); -} + Ipv4PrefixCount?: number; -/** - *

                                                        Contains the output of DescribeSpotInstanceRequests.

                                                        - */ -export interface DescribeSpotInstanceRequestsResult { /** - *

                                                        One or more Spot Instance requests.

                                                        + *

                                                        One or more IPv6 delegated prefixes to be assigned to the network interface. You cannot + * use this option if you use the Ipv6PrefixCount option.

                                                        */ - SpotInstanceRequests?: SpotInstanceRequest[]; + Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[]; /** - *

                                                        The token to use to retrieve the next set of results. This value is null - * when there are no more results to return.

                                                        + *

                                                        The number of IPv6 delegated prefixes to be automatically assigned to the network interface. + * You cannot use this option if you use the Ipv6Prefix option.

                                                        */ - NextToken?: string; + Ipv6PrefixCount?: number; } -export namespace DescribeSpotInstanceRequestsResult { +export namespace InstanceNetworkInterfaceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsResult): any => ({ + export const filterSensitiveLog = (obj: InstanceNetworkInterfaceSpecification): any => ({ ...obj, }); } /** - *

                                                        Contains the parameters for DescribeSpotPriceHistory.

                                                        + *

                                                        Describes Spot Instance placement.

                                                        */ -export interface DescribeSpotPriceHistoryRequest { - /** - *

                                                        One or more filters.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * availability-zone - The Availability Zone for which prices should - * be returned.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * instance-type - The type of instance (for example, - * m3.medium).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * product-description - The product description for the Spot price - * (Linux/UNIX | Red Hat Enterprise Linux | - * SUSE Linux | Windows | Linux/UNIX (Amazon - * VPC) | Red Hat Enterprise Linux (Amazon VPC) | - * SUSE Linux (Amazon VPC) | Windows (Amazon - * VPC)).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * spot-price - The Spot price. The value must match exactly (or use - * wildcards; greater than or less than comparison is not supported).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * timestamp - The time stamp of the Spot price history, in UTC format - * (for example, - * YYYY-MM-DDTHH:MM:SSZ). - * You can use wildcards (* and ?). Greater than or less than comparison is not - * supported.

                                                          - *
                                                        • - *
                                                        - */ - Filters?: Filter[]; - +export interface SpotPlacement { /** - *

                                                        Filters the results by the specified Availability Zone.

                                                        + *

                                                        The Availability Zone.

                                                        + *

                                                        [Spot Fleet only] To specify multiple Availability Zones, separate them using commas; + * for example, "us-west-2a, us-west-2b".

                                                        */ AvailabilityZone?: string; /** - *

                                                        Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                        - */ - DryRun?: boolean; - - /** - *

                                                        The date and time, up to the current date, from which to stop retrieving the price - * history data, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                        - */ - EndTime?: Date; - - /** - *

                                                        Filters the results by the specified instance types.

                                                        + *

                                                        The name of the placement group.

                                                        */ - InstanceTypes?: (_InstanceType | string)[]; + GroupName?: string; /** - *

                                                        The maximum number of results to return in a single call. Specify a value between 1 - * and 1000. The default value is 1000. To retrieve the remaining results, make another - * call with the returned NextToken value.

                                                        + *

                                                        The tenancy of the instance (if the instance is running in a VPC). An instance with a + * tenancy of dedicated runs on single-tenant hardware. The host + * tenancy is not supported for Spot Instances.

                                                        */ - MaxResults?: number; + Tenancy?: Tenancy | string; +} +export namespace SpotPlacement { /** - *

                                                        The token for the next set of results.

                                                        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: SpotPlacement): any => ({ + ...obj, + }); +} +/** + *

                                                        The tags for a Spot Fleet resource.

                                                        + */ +export interface SpotFleetTagSpecification { /** - *

                                                        Filters the results by the specified basic product descriptions.

                                                        + *

                                                        The type of resource. Currently, the only resource type that is supported is + * instance. To tag the Spot Fleet request on creation, use the + * TagSpecifications parameter in + * SpotFleetRequestConfigData + * .

                                                        */ - ProductDescriptions?: string[]; + ResourceType?: ResourceType | string; /** - *

                                                        The date and time, up to the past 90 days, from which to start retrieving the price - * history data, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                        + *

                                                        The tags.

                                                        */ - StartTime?: Date; + Tags?: Tag[]; } -export namespace DescribeSpotPriceHistoryRequest { +export namespace SpotFleetTagSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryRequest): any => ({ + export const filterSensitiveLog = (obj: SpotFleetTagSpecification): any => ({ ...obj, }); } /** - *

                                                        Describes the maximum price per hour that you are willing to pay for a Spot - * Instance.

                                                        + *

                                                        Describes the launch specification for one or more Spot Instances. If you include + * On-Demand capacity in your fleet request or want to specify an EFA network device, you + * can't use SpotFleetLaunchSpecification; you must use LaunchTemplateConfig.

                                                        */ -export interface SpotPrice { - /** - *

                                                        The Availability Zone.

                                                        - */ - AvailabilityZone?: string; - +export interface SpotFleetLaunchSpecification { /** - *

                                                        The instance type.

                                                        + *

                                                        One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                        */ - InstanceType?: _InstanceType | string; + SecurityGroups?: GroupIdentifier[]; /** - *

                                                        A general description of the AMI.

                                                        + *

                                                        Deprecated.

                                                        */ - ProductDescription?: RIProductDescription | string; + AddressingType?: string; /** - *

                                                        The maximum price per hour that you are willing to pay for a Spot Instance.

                                                        + *

                                                        One or more block devices that are mapped to the Spot Instances. You can't specify both + * a snapshot ID and an encryption value. This is because only blank volumes can be + * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its + * encryption status is used for the volume encryption status.

                                                        */ - SpotPrice?: string; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                        The date and time the request was created, in UTC format (for example, - * YYYY-MM-DDTHH:MM:SSZ).

                                                        + *

                                                        Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                        + *

                                                        Default: false + *

                                                        */ - Timestamp?: Date; -} + EbsOptimized?: boolean; -export namespace SpotPrice { /** - * @internal + *

                                                        The IAM instance profile.

                                                        */ - export const filterSensitiveLog = (obj: SpotPrice): any => ({ - ...obj, - }); -} + IamInstanceProfile?: IamInstanceProfileSpecification; -/** - *

                                                        Contains the output of DescribeSpotPriceHistory.

                                                        - */ -export interface DescribeSpotPriceHistoryResult { /** - *

                                                        The token required to retrieve the next set of results. This value is null or an empty - * string when there are no more results to return.

                                                        + *

                                                        The ID of the AMI.

                                                        */ - NextToken?: string; + ImageId?: string; /** - *

                                                        The historical Spot prices.

                                                        + *

                                                        The instance type.

                                                        */ - SpotPriceHistory?: SpotPrice[]; -} + InstanceType?: _InstanceType | string; -export namespace DescribeSpotPriceHistoryResult { /** - * @internal + *

                                                        The ID of the kernel.

                                                        */ - export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryResult): any => ({ - ...obj, - }); -} + KernelId?: string; -export interface DescribeStaleSecurityGroupsRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        The name of the key pair.

                                                        */ - DryRun?: boolean; + KeyName?: string; /** - *

                                                        The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                        + *

                                                        Enable or disable monitoring for the instances.

                                                        */ - MaxResults?: number; + Monitoring?: SpotFleetMonitoring; /** - *

                                                        The token for the next set of items to return. (You received this token from a prior call.)

                                                        + *

                                                        One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

                                                        + * + *

                                                        + * SpotFleetLaunchSpecification currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use LaunchTemplateConfig.

                                                        + *
                                                        */ - NextToken?: string; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** - *

                                                        The ID of the VPC.

                                                        + *

                                                        The placement information.

                                                        */ - VpcId: string | undefined; -} + Placement?: SpotPlacement; -export namespace DescribeStaleSecurityGroupsRequest { /** - * @internal + *

                                                        The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel + * requirements for information about whether you need to specify a RAM disk. To find kernel + * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.

                                                        */ - export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsRequest): any => ({ - ...obj, - }); -} + RamdiskId?: string; -/** - *

                                                        Describes a stale rule in a security group.

                                                        - */ -export interface StaleIpPermission { /** - *

                                                        The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of - * -1 indicates all ICMP types.

                                                        + *

                                                        The maximum price per unit hour that you are willing to pay for a Spot Instance. + * If this value is not specified, the default is the Spot price specified for the fleet. + * To determine the Spot price per unit hour, divide the Spot price by the + * value of WeightedCapacity.

                                                        */ - FromPort?: number; + SpotPrice?: string; /** - *

                                                        The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

                                                        + *

                                                        The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate + * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".

                                                        */ - IpProtocol?: string; + SubnetId?: string; /** - *

                                                        The IP ranges. Not applicable for stale security group rules.

                                                        + *

                                                        The Base64-encoded user data that instances use when starting up.

                                                        */ - IpRanges?: string[]; + UserData?: string; /** - *

                                                        The prefix list IDs. Not applicable for stale security group rules.

                                                        + *

                                                        The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.

                                                        + *

                                                        If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.

                                                        */ - PrefixListIds?: string[]; + WeightedCapacity?: number; /** - *

                                                        The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of - * -1 indicates all ICMP types.

                                                        + *

                                                        The tags to apply during creation.

                                                        */ - ToPort?: number; + TagSpecifications?: SpotFleetTagSpecification[]; /** - *

                                                        The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

                                                        + *

                                                        The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

                                                        + * + *

                                                        If you specify InstanceRequirements, you can't specify + * InstanceTypes.

                                                        + *
                                                        */ - UserIdGroupPairs?: UserIdGroupPair[]; + InstanceRequirements?: InstanceRequirements; } -export namespace StaleIpPermission { +export namespace SpotFleetLaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: StaleIpPermission): any => ({ + export const filterSensitiveLog = (obj: SpotFleetLaunchSpecification): any => ({ ...obj, }); } /** - *

                                                        Describes a stale security group (a security group that contains stale rules).

                                                        + *

                                                        Describes overrides for a launch template.

                                                        */ -export interface StaleSecurityGroup { +export interface LaunchTemplateOverrides { /** - *

                                                        The description of the security group.

                                                        + *

                                                        The instance type.

                                                        */ - Description?: string; + InstanceType?: _InstanceType | string; /** - *

                                                        The ID of the security group.

                                                        + *

                                                        The maximum price per unit hour that you are willing to pay for a Spot + * Instance.

                                                        */ - GroupId?: string; + SpotPrice?: string; /** - *

                                                        The name of the security group.

                                                        + *

                                                        The ID of the subnet in which to launch the instances.

                                                        */ - GroupName?: string; + SubnetId?: string; /** - *

                                                        Information about the stale inbound rules in the security group.

                                                        + *

                                                        The Availability Zone in which to launch the instances.

                                                        */ - StaleIpPermissions?: StaleIpPermission[]; + AvailabilityZone?: string; /** - *

                                                        Information about the stale outbound rules in the security group.

                                                        + *

                                                        The number of units provided by the specified instance type.

                                                        */ - StaleIpPermissionsEgress?: StaleIpPermission[]; + WeightedCapacity?: number; /** - *

                                                        The ID of the VPC for the security group.

                                                        + *

                                                        The priority for the launch template override. The highest priority is launched + * first.

                                                        + *

                                                        If OnDemandAllocationStrategy is set to prioritized, Spot Fleet + * uses priority to determine which launch template override to use first in fulfilling + * On-Demand capacity.

                                                        + *

                                                        If the Spot AllocationStrategy is set to + * capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis + * to determine which launch template override to use in fulfilling Spot capacity, but + * optimizes for capacity first.

                                                        + *

                                                        Valid values are whole numbers starting at 0. The lower the number, the + * higher the priority. If no number is set, the launch template override has the lowest + * priority. You can set the same priority for different launch template overrides.

                                                        */ - VpcId?: string; + Priority?: number; + + /** + *

                                                        The instance requirements. When you specify instance requirements, Amazon EC2 will identify + * instance types with the provided requirements, and then use your On-Demand and Spot + * allocation strategies to launch instances from these instance types, in the same way as + * when you specify a list of instance types.

                                                        + * + *

                                                        If you specify InstanceRequirements, you can't specify + * InstanceTypes.

                                                        + *
                                                        + */ + InstanceRequirements?: InstanceRequirements; } -export namespace StaleSecurityGroup { +export namespace LaunchTemplateOverrides { /** * @internal */ - export const filterSensitiveLog = (obj: StaleSecurityGroup): any => ({ + export const filterSensitiveLog = (obj: LaunchTemplateOverrides): any => ({ ...obj, }); } -export interface DescribeStaleSecurityGroupsResult { +/** + *

                                                        Describes a launch template and overrides.

                                                        + */ +export interface LaunchTemplateConfig { /** - *

                                                        The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                        + *

                                                        The launch template.

                                                        */ - NextToken?: string; + LaunchTemplateSpecification?: FleetLaunchTemplateSpecification; + + /** + *

                                                        Any parameters that you specify override the same parameters in the launch + * template.

                                                        + */ + Overrides?: LaunchTemplateOverrides[]; +} + +export namespace LaunchTemplateConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LaunchTemplateConfig): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes a Classic Load Balancer.

                                                        + */ +export interface ClassicLoadBalancer { /** - *

                                                        Information about the stale security groups.

                                                        + *

                                                        The name of the load balancer.

                                                        */ - StaleSecurityGroupSet?: StaleSecurityGroup[]; + Name?: string; } -export namespace DescribeStaleSecurityGroupsResult { +export namespace ClassicLoadBalancer { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsResult): any => ({ + export const filterSensitiveLog = (obj: ClassicLoadBalancer): any => ({ ...obj, }); } -export interface DescribeStoreImageTasksRequest { +/** + *

                                                        Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers + * the running Spot Instances with these Classic Load Balancers.

                                                        + */ +export interface ClassicLoadBalancersConfig { /** - *

                                                        The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

                                                        + *

                                                        One or more Classic Load Balancers.

                                                        */ - ImageIds?: string[]; + ClassicLoadBalancers?: ClassicLoadBalancer[]; +} +export namespace ClassicLoadBalancersConfig { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: ClassicLoadBalancersConfig): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes a load balancer target group.

                                                        + */ +export interface TargetGroup { /** - *

                                                        The filters.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * task-state - Returns tasks in a certain state (InProgress | - * Completed | Failed)

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * bucket - Returns task information for tasks that targeted a specific - * bucket. For the filter value, specify the bucket name.

                                                          - *
                                                        • - *
                                                        + *

                                                        The Amazon Resource Name (ARN) of the target group.

                                                        */ - Filters?: Filter[]; + Arn?: string; +} +export namespace TargetGroup { /** - *

                                                        The token for the next page of results.

                                                        + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: TargetGroup): any => ({ + ...obj, + }); +} +/** + *

                                                        Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the + * running Spot Instances with these target groups.

                                                        + */ +export interface TargetGroupsConfig { /** - *

                                                        The maximum number of results to return in a single call. To retrieve the remaining - * results, make another call with the returned NextToken value. This value can be - * between 1 and 200. You cannot specify this parameter and the ImageIDs parameter - * in the same call.

                                                        + *

                                                        One or more target groups.

                                                        */ - MaxResults?: number; + TargetGroups?: TargetGroup[]; } -export namespace DescribeStoreImageTasksRequest { +export namespace TargetGroupsConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeStoreImageTasksRequest): any => ({ + export const filterSensitiveLog = (obj: TargetGroupsConfig): any => ({ ...obj, }); } /** - *

                                                        The information about the AMI store task, including the progress of the task.

                                                        + *

                                                        Describes the Classic Load Balancers and target groups to attach to a Spot Fleet + * request.

                                                        */ -export interface StoreImageTaskResult { - /** - *

                                                        The ID of the AMI that is being stored.

                                                        - */ - AmiId?: string; - +export interface LoadBalancersConfig { /** - *

                                                        The time the task started.

                                                        + *

                                                        The Classic Load Balancers.

                                                        */ - TaskStartTime?: Date; + ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig; /** - *

                                                        The name of the Amazon S3 bucket that contains the stored AMI object.

                                                        + *

                                                        The target groups.

                                                        */ - Bucket?: string; + TargetGroupsConfig?: TargetGroupsConfig; +} +export namespace LoadBalancersConfig { /** - *

                                                        The name of the stored AMI object in the bucket.

                                                        + * @internal */ - S3objectKey?: string; + export const filterSensitiveLog = (obj: LoadBalancersConfig): any => ({ + ...obj, + }); +} - /** - *

                                                        The progress of the task as a percentage.

                                                        - */ - ProgressPercentage?: number; +export enum OnDemandAllocationStrategy { + LOWEST_PRICE = "lowestPrice", + PRIORITIZED = "prioritized", +} - /** - *

                                                        The state of the store task (InProgress, Completed, or - * Failed).

                                                        - */ - StoreTaskState?: string; +export enum ReplacementStrategy { + LAUNCH = "launch", +} +/** + *

                                                        The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your + * Spot Instance is at an elevated risk of being interrupted. For more information, see + * Capacity rebalancing in the Amazon EC2 User Guide for Linux Instances.

                                                        + */ +export interface SpotCapacityRebalance { /** - *

                                                        If the tasks fails, the reason for the failure is returned. If the task succeeds, - * null is returned.

                                                        + *

                                                        The replacement strategy to use. Only available for fleets of type + * maintain. You must specify a value, otherwise you get an error.

                                                        + *

                                                        To allow Spot Fleet to launch a replacement Spot Instance when an instance rebalance + * notification is emitted for a Spot Instance in the fleet, specify + * launch.

                                                        + * + *

                                                        When a replacement instance is launched, the instance marked for rebalance is not + * automatically terminated. You can terminate it, or you can leave it running. You are + * charged for all instances while they are running.

                                                        + *
                                                        */ - StoreTaskFailureReason?: string; + ReplacementStrategy?: ReplacementStrategy | string; } -export namespace StoreImageTaskResult { +export namespace SpotCapacityRebalance { /** * @internal */ - export const filterSensitiveLog = (obj: StoreImageTaskResult): any => ({ + export const filterSensitiveLog = (obj: SpotCapacityRebalance): any => ({ ...obj, }); } -export interface DescribeStoreImageTasksResult { - /** - *

                                                        The information about the AMI store tasks.

                                                        - */ - StoreImageTaskResults?: StoreImageTaskResult[]; - +/** + *

                                                        The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

                                                        + */ +export interface SpotMaintenanceStrategies { /** - *

                                                        The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

                                                        + *

                                                        The strategy to use when Amazon EC2 emits a signal that your Spot Instance is at an + * elevated risk of being interrupted.

                                                        */ - NextToken?: string; + CapacityRebalance?: SpotCapacityRebalance; } -export namespace DescribeStoreImageTasksResult { +export namespace SpotMaintenanceStrategies { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeStoreImageTasksResult): any => ({ + export const filterSensitiveLog = (obj: SpotMaintenanceStrategies): any => ({ ...obj, }); } -export interface DescribeSubnetsRequest { +/** + *

                                                        Describes the configuration of a Spot Fleet request.

                                                        + */ +export interface SpotFleetRequestConfigData { /** - *

                                                        One or more filters.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * availability-zone - The Availability Zone for the subnet. You can also use - * availabilityZone as the filter name.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * availability-zone-id - The ID of the Availability Zone for the subnet. - * You can also use availabilityZoneId as the filter name.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * available-ip-address-count - The number of IPv4 addresses in the - * subnet that are available.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you - * specify must exactly match the subnet's CIDR block for information to be - * returned for the subnet. You can also use cidr or - * cidrBlock as the filter names.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * default-for-az - Indicates whether this is the default subnet for the - * Availability Zone. You can also use defaultForAz as the filter name.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR - * block associated with the subnet.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ipv6-cidr-block-association.association-id - An association ID - * for an IPv6 CIDR block associated with the subnet.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * ipv6-cidr-block-association.state - The state of an IPv6 CIDR - * block associated with the subnet.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * owner-id - The ID of the Amazon Web Services account that owns the subnet.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * state - The state of the subnet (pending | available).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * subnet-arn - The Amazon Resource Name (ARN) of the subnet.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * subnet-id - The ID of the subnet.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * vpc-id - The ID of the VPC for the subnet.

                                                          - *
                                                        • - *
                                                        + *

                                                        Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by + * the Spot Fleet request.

                                                        + *

                                                        If the allocation strategy is lowestPrice, Spot Fleet launches instances from + * the Spot Instance pools with the lowest price. This is the default allocation strategy.

                                                        + *

                                                        If the allocation strategy is diversified, Spot Fleet launches instances from + * all the Spot Instance pools that you specify.

                                                        + *

                                                        If the allocation strategy is capacityOptimized (recommended), Spot Fleet + * launches instances from Spot Instance pools with optimal capacity for the number of instances + * that are launching. To give certain instance types a higher chance of launching first, + * use capacityOptimizedPrioritized. Set a priority for each instance type by + * using the Priority parameter for LaunchTemplateOverrides. You + * can assign the same priority to different LaunchTemplateOverrides. EC2 + * implements the priorities on a best-effort basis, but optimizes for capacity first. + * capacityOptimizedPrioritized is supported only if your Spot Fleet uses a + * launch template. Note that if the OnDemandAllocationStrategy is set to + * prioritized, the same priority is applied when fulfilling On-Demand + * capacity.

                                                        */ - Filters?: Filter[]; + AllocationStrategy?: AllocationStrategy | string; /** - *

                                                        One or more subnet IDs.

                                                        - *

                                                        Default: Describes all your subnets.

                                                        + *

                                                        The order of the launch template overrides to use in fulfilling On-Demand capacity. If + * you specify lowestPrice, Spot Fleet uses price to determine the order, launching + * the lowest price first. If you specify prioritized, Spot Fleet uses the priority + * that you assign to each Spot Fleet launch template override, launching the highest priority + * first. If you do not specify a value, Spot Fleet defaults to lowestPrice.

                                                        */ - SubnetIds?: string[]; + OnDemandAllocationStrategy?: OnDemandAllocationStrategy | string; /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        The strategies for managing your Spot Instances that are at an elevated risk of being + * interrupted.

                                                        */ - DryRun?: boolean; + SpotMaintenanceStrategies?: SpotMaintenanceStrategies; /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        A unique, case-sensitive identifier that you provide to ensure the idempotency of your + * listings. This helps to avoid duplicate listings. For more information, see Ensuring Idempotency.

                                                        */ - NextToken?: string; + ClientToken?: string; /** - *

                                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        + *

                                                        Indicates whether running Spot Instances should be terminated if you decrease the + * target capacity of the Spot Fleet request below the current size of the Spot + * Fleet.

                                                        */ - MaxResults?: number; -} + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; -export namespace DescribeSubnetsRequest { /** - * @internal + *

                                                        The number of units fulfilled by this request compared to the set target capacity. You + * cannot set this value.

                                                        */ - export const filterSensitiveLog = (obj: DescribeSubnetsRequest): any => ({ - ...obj, - }); -} + FulfilledCapacity?: number; -export interface DescribeSubnetsResult { /** - *

                                                        Information about one or more subnets.

                                                        + *

                                                        The number of On-Demand units fulfilled by this request compared to the set target + * On-Demand capacity.

                                                        */ - Subnets?: Subnet[]; + OnDemandFulfilledCapacity?: number; /** - *

                                                        The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                        + *

                                                        The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that + * grants the Spot Fleet the permission to request, launch, terminate, and tag instances on + * your behalf. For more information, see Spot + * Fleet prerequisites in the Amazon EC2 User Guide for Linux Instances. Spot Fleet + * can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using + * CancelSpotFleetRequests or when the Spot Fleet request expires, if you set + * TerminateInstancesWithExpiration.

                                                        */ - NextToken?: string; -} + IamFleetRole: string | undefined; -export namespace DescribeSubnetsResult { /** - * @internal + *

                                                        The launch specifications for the Spot Fleet request. If you specify + * LaunchSpecifications, you can't specify + * LaunchTemplateConfigs. If you include On-Demand capacity in your + * request, you must use LaunchTemplateConfigs.

                                                        */ - export const filterSensitiveLog = (obj: DescribeSubnetsResult): any => ({ - ...obj, - }); -} + LaunchSpecifications?: SpotFleetLaunchSpecification[]; -export interface DescribeTagsRequest { /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        The launch template and overrides. If you specify LaunchTemplateConfigs, + * you can't specify LaunchSpecifications. If you include On-Demand capacity + * in your request, you must use LaunchTemplateConfigs.

                                                        */ - DryRun?: boolean; + LaunchTemplateConfigs?: LaunchTemplateConfig[]; /** - *

                                                        The filters.

                                                        - *
                                                          - *
                                                        • - *

                                                          - * key - The tag key.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * resource-id - The ID of the resource.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * tag: - The key/value combination of the tag. For example, - * specify "tag:Owner" for the filter name and "TeamA" for the filter value to find - * resources with the tag "Owner=TeamA".

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * value - The tag value.

                                                          - *
                                                        • - *
                                                        + *

                                                        The maximum price per unit hour that you are willing to pay for a Spot Instance. The + * default is the On-Demand price.

                                                        */ - Filters?: Filter[]; + SpotPrice?: string; /** - *

                                                        The maximum number of results to return in a single call. - * This value can be between 5 and 1000. - * To retrieve the remaining results, make another call with the returned NextToken value.

                                                        + *

                                                        The number of units to request for the Spot Fleet. You can choose to set the target + * capacity in terms of instances or a performance characteristic that is important to your + * application workload, such as vCPUs, memory, or I/O. If the request type is + * maintain, you can specify a target capacity of 0 and add capacity + * later.

                                                        */ - MaxResults?: number; + TargetCapacity: number | undefined; /** - *

                                                        The token to retrieve the next page of results.

                                                        + *

                                                        The number of On-Demand units to request. You can choose to set the target capacity in + * terms of instances or a performance characteristic that is important to your application + * workload, such as vCPUs, memory, or I/O. If the request type is maintain, + * you can specify a target capacity of 0 and add capacity later.

                                                        */ - NextToken?: string; -} + OnDemandTargetCapacity?: number; -export namespace DescribeTagsRequest { /** - * @internal + *

                                                        The maximum amount per hour for On-Demand Instances that you're willing to pay. You + * can use the onDemandMaxTotalPrice parameter, the + * spotMaxTotalPrice parameter, or both parameters to ensure that your + * fleet cost does not exceed your budget. If you set a maximum price per hour for the + * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the + * maximum amount you're willing to pay. When the maximum amount you're willing to pay is + * reached, the fleet stops launching instances even if it hasn’t met the target + * capacity.

                                                        */ - export const filterSensitiveLog = (obj: DescribeTagsRequest): any => ({ - ...obj, - }); -} + OnDemandMaxTotalPrice?: string; -/** - *

                                                        Describes a tag.

                                                        - */ -export interface TagDescription { /** - *

                                                        The tag key.

                                                        + *

                                                        The maximum amount per hour for Spot Instances that you're willing to pay. You can use + * the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice + * parameter, or both parameters to ensure that your fleet cost does not exceed your + * budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, + * Spot Fleet will launch instances until it reaches the maximum amount you're willing to pay. + * When the maximum amount you're willing to pay is reached, the fleet stops launching + * instances even if it hasn’t met the target capacity.

                                                        */ - Key?: string; + SpotMaxTotalPrice?: string; /** - *

                                                        The ID of the resource.

                                                        + *

                                                        Indicates whether running Spot Instances are terminated when the Spot Fleet request + * expires.

                                                        */ - ResourceId?: string; + TerminateInstancesWithExpiration?: boolean; /** - *

                                                        The resource type.

                                                        + *

                                                        The type of request. Indicates whether the Spot Fleet only requests the target + * capacity or also attempts to maintain it. When this value is request, the + * Spot Fleet only places the required requests. It does not attempt to replenish Spot + * Instances if capacity is diminished, nor does it submit requests in alternative Spot + * pools if capacity is not available. When this value is maintain, the Spot + * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet + * capacity and automatically replenishes any interrupted instances. Default: + * maintain. instant is listed but is not used by Spot + * Fleet.

                                                        */ - ResourceType?: ResourceType | string; + Type?: FleetType | string; + + /** + *

                                                        The start date and time of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * By default, Amazon EC2 starts fulfilling the request immediately.

                                                        + */ + ValidFrom?: Date; /** - *

                                                        The tag value.

                                                        + *

                                                        The end date and time of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ). + * After the end date and time, no new Spot Instance requests are placed or able to fulfill + * the request. If no value is specified, the Spot Fleet request remains until you cancel + * it.

                                                        */ - Value?: string; -} + ValidUntil?: Date; -export namespace TagDescription { /** - * @internal + *

                                                        Indicates whether Spot Fleet should replace unhealthy instances.

                                                        */ - export const filterSensitiveLog = (obj: TagDescription): any => ({ - ...obj, - }); -} + ReplaceUnhealthyInstances?: boolean; -export interface DescribeTagsResult { /** - *

                                                        The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                                                        + *

                                                        The behavior when a Spot Instance is interrupted. The default is + * terminate.

                                                        */ - NextToken?: string; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; /** - *

                                                        The tags.

                                                        + *

                                                        One or more Classic Load Balancers and target groups to attach to the Spot Fleet + * request. Spot Fleet registers the running Spot Instances with the specified Classic Load + * Balancers and target groups.

                                                        + *

                                                        With Network Load Balancers, Spot Fleet cannot register instances that have the + * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2, + * M3, and T1.

                                                        + */ + LoadBalancersConfig?: LoadBalancersConfig; + + /** + *

                                                        The number of Spot pools across which to allocate your target Spot capacity. Valid + * only when Spot AllocationStrategy is set to + * lowest-price. Spot Fleet selects the cheapest Spot pools and evenly + * allocates your target Spot capacity across the number of Spot pools that you + * specify.

                                                        + *

                                                        Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a + * best effort basis. If a pool runs out of Spot capacity before fulfilling your target + * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest + * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than + * the number of pools that you specified. Similarly, if most of the pools have no Spot + * capacity, you might receive your full target capacity from fewer than the number of + * pools that you specified.

                                                        + */ + InstancePoolsToUseCount?: number; + + /** + *

                                                        Reserved.

                                                        + */ + Context?: string; + + /** + *

                                                        The unit for the target capacity.

                                                        + *

                                                        Default: units (translates to number of instances)

                                                        + */ + TargetCapacityUnitType?: TargetCapacityUnitType | string; + + /** + *

                                                        The key-value pair for tagging the Spot Fleet request on creation. The value for + * ResourceType must be spot-fleet-request, otherwise the + * Spot Fleet request fails. To tag instances at launch, specify the tags in the launch + * template (valid only if you use LaunchTemplateConfigs) or in + * the + * SpotFleetTagSpecification + * (valid only if you use + * LaunchSpecifications). For information about tagging after launch, see + * Tagging Your Resources.

                                                        */ - Tags?: TagDescription[]; + TagSpecifications?: TagSpecification[]; } -export namespace DescribeTagsResult { +export namespace SpotFleetRequestConfigData { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTagsResult): any => ({ + export const filterSensitiveLog = (obj: SpotFleetRequestConfigData): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorFiltersRequest { +/** + *

                                                        Describes a Spot Fleet request.

                                                        + */ +export interface SpotFleetRequestConfig { /** - *

                                                        The ID of the Traffic Mirror filter.

                                                        + *

                                                        The progress of the Spot Fleet request. + * If there is an error, the status is error. + * After all requests are placed, the status is pending_fulfillment. + * If the size of the fleet is equal to or greater than its target capacity, the status is fulfilled. + * If the size of the fleet is decreased, the status is pending_termination + * while Spot Instances are terminating.

                                                        */ - TrafficMirrorFilterIds?: string[]; + ActivityStatus?: ActivityStatus | string; /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        + *

                                                        The creation date and time of the request.

                                                        */ - DryRun?: boolean; + CreateTime?: Date; - /** - *

                                                        One or more filters. The possible values are:

                                                        - *
                                                          - *
                                                        • - *

                                                          - * description: The Traffic Mirror filter description.

                                                          - *
                                                        • - *
                                                        • - *

                                                          - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                          - *
                                                        • - *
                                                        + /** + *

                                                        The configuration of the Spot Fleet request.

                                                        */ - Filters?: Filter[]; + SpotFleetRequestConfig?: SpotFleetRequestConfigData; /** - *

                                                        The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                        + *

                                                        The ID of the Spot Fleet request.

                                                        */ - MaxResults?: number; + SpotFleetRequestId?: string; /** - *

                                                        The token for the next page of results.

                                                        + *

                                                        The state of the Spot Fleet request.

                                                        */ - NextToken?: string; + SpotFleetRequestState?: BatchState | string; + + /** + *

                                                        The tags for a Spot Fleet resource.

                                                        + */ + Tags?: Tag[]; } -export namespace DescribeTrafficMirrorFiltersRequest { +export namespace SpotFleetRequestConfig { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersRequest): any => ({ + export const filterSensitiveLog = (obj: SpotFleetRequestConfig): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorFiltersResult { +/** + *

                                                        Contains the output of DescribeSpotFleetRequests.

                                                        + */ +export interface DescribeSpotFleetRequestsResponse { /** - *

                                                        Information about one or more Traffic Mirror filters.

                                                        + *

                                                        The token required to retrieve the next set of results. This value is + * null when there are no more results to return.

                                                        */ - TrafficMirrorFilters?: TrafficMirrorFilter[]; + NextToken?: string; /** - *

                                                        The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                        + *

                                                        Information about the configuration of your Spot Fleet.

                                                        */ - NextToken?: string; + SpotFleetRequestConfigs?: SpotFleetRequestConfig[]; } -export namespace DescribeTrafficMirrorFiltersResult { +export namespace DescribeSpotFleetRequestsResponse { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotFleetRequestsResponse): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorSessionsRequest { - /** - *

                                                        The ID of the Traffic Mirror session.

                                                        - */ - TrafficMirrorSessionIds?: string[]; - - /** - *

                                                        Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                        - */ - DryRun?: boolean; - +/** + *

                                                        Contains the parameters for DescribeSpotInstanceRequests.

                                                        + */ +export interface DescribeSpotInstanceRequestsRequest { /** - *

                                                        One or more filters. The possible values are:

                                                        - *
                                                          + *

                                                          One or more filters.

                                                          + *
                                                            *
                                                          • - *

                                                            - * description: The Traffic Mirror session description.

                                                            + *

                                                            + * availability-zone-group - The Availability Zone group.

                                                            *
                                                          • *
                                                          • - *

                                                            - * network-interface-id: The ID of the Traffic Mirror session network interface.

                                                            + *

                                                            + * create-time - The time stamp when the Spot Instance request was + * created.

                                                            *
                                                          • *
                                                          • - *

                                                            - * owner-id: The ID of the account that owns the Traffic Mirror session.

                                                            + *

                                                            + * fault-code - The fault code related to the request.

                                                            *
                                                          • *
                                                          • - *

                                                            - * packet-length: The assigned number of packets to mirror.

                                                            + *

                                                            + * fault-message - The fault message related to the request.

                                                            *
                                                          • *
                                                          • - *

                                                            - * session-number: The assigned session number.

                                                            + *

                                                            + * instance-id - The ID of the instance that fulfilled the + * request.

                                                            *
                                                          • *
                                                          • - *

                                                            - * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                            + *

                                                            + * launch-group - The Spot Instance launch group.

                                                            *
                                                          • *
                                                          • - *

                                                            - * traffic-mirror-session-id: The ID of the Traffic Mirror session.

                                                            + *

                                                            + * launch.block-device-mapping.delete-on-termination - Indicates + * whether the EBS volume is deleted on instance termination.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.block-device-mapping.device-name - The device name for the + * volume in the block device mapping (for example, /dev/sdh or + * xvdh).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.block-device-mapping.snapshot-id - The ID of the snapshot + * for the EBS volume.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.block-device-mapping.volume-size - The size of the EBS + * volume, in GiB.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.block-device-mapping.volume-type - The type of EBS volume: + * gp2 for General Purpose SSD, io1 or + * io2 for Provisioned IOPS SSD, st1 for Throughput + * Optimized HDD, sc1for Cold HDD, or standard for + * Magnetic.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.group-id - The ID of the security group for the + * instance.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.group-name - The name of the security group for the + * instance.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.image-id - The ID of the AMI.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.instance-type - The type of instance (for example, + * m3.medium).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.kernel-id - The kernel ID.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.key-name - The name of the key pair the instance launched + * with.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.monitoring-enabled - Whether detailed monitoring is + * enabled for the Spot Instance.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launch.ramdisk-id - The RAM disk ID.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * launched-availability-zone - The Availability Zone in which the + * request is launched.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface.addresses.primary - Indicates whether the IP + * address is the primary private IP address.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface.delete-on-termination - Indicates whether the + * network interface is deleted when the instance is terminated.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface.description - A description of the network + * interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface.device-index - The index of the device for the + * network interface attachment on the instance.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface.group-id - The ID of the security group + * associated with the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface.network-interface-id - The ID of the network + * interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface.private-ip-address - The primary private IP + * address of the network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface.subnet-id - The ID of the subnet for the + * instance.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * product-description - The product description associated with the + * instance (Linux/UNIX | Windows).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * spot-instance-request-id - The Spot Instance request ID.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * spot-price - The maximum hourly price for any Spot Instance + * launched to fulfill the request.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * state - The state of the Spot Instance request (open + * | active | closed | cancelled | + * failed). Spot request status information can help you track + * your Amazon EC2 Spot Instance requests. For more information, see Spot + * request status in the Amazon EC2 User Guide for Linux Instances.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * status-code - The short code describing the most recent + * evaluation of your Spot Instance request.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * status-message - The message explaining the status of the Spot + * Instance request.

                                                            *
                                                          • *
                                                          • *

                                                            - * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                            *
                                                          • *
                                                          • *

                                                            - * virtual-network-id: The virtual network ID of the Traffic Mirror session.

                                                            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * type - The type of Spot Instance request (one-time | + * persistent).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * valid-from - The start date of the request.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * valid-until - The end date of the request.

                                                            *
                                                          • *
                                                          */ Filters?: Filter[]; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                          */ - MaxResults?: number; + DryRun?: boolean; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          One or more Spot Instance request IDs.

                                                          + */ + SpotInstanceRequestIds?: string[]; + + /** + *

                                                          The token to request the next set of results. This value is null when + * there are no more results to return.

                                                          */ NextToken?: string; + + /** + *

                                                          The maximum number of results to return in a single call. Specify a value between 5 + * and 1000. To retrieve the remaining results, make another call with the returned + * NextToken value.

                                                          + */ + MaxResults?: number; } -export namespace DescribeTrafficMirrorSessionsRequest { +export namespace DescribeSpotInstanceRequestsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsRequest): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorSessionsResult { - /** - *

                                                          Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

                                                          - */ - TrafficMirrorSessions?: TrafficMirrorSession[]; - +/** + *

                                                          Describes the monitoring of an instance.

                                                          + */ +export interface RunInstancesMonitoringEnabled { /** - *

                                                          The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                          + *

                                                          Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is + * enabled.

                                                          */ - NextToken?: string; + Enabled: boolean | undefined; } -export namespace DescribeTrafficMirrorSessionsResult { +export namespace RunInstancesMonitoringEnabled { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsResult): any => ({ + export const filterSensitiveLog = (obj: RunInstancesMonitoringEnabled): any => ({ ...obj, }); } -export interface DescribeTrafficMirrorTargetsRequest { +/** + *

                                                          Describes the launch specification for an instance.

                                                          + */ +export interface LaunchSpecification { /** - *

                                                          The ID of the Traffic Mirror targets.

                                                          + *

                                                          The Base64-encoded user data for the instance.

                                                          */ - TrafficMirrorTargetIds?: string[]; + UserData?: string; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          One or more security groups. When requesting instances in a VPC, you must specify the IDs of the security groups. When requesting instances in EC2-Classic, you can specify the names or the IDs of the security groups.

                                                          */ - DryRun?: boolean; + SecurityGroups?: GroupIdentifier[]; /** - *

                                                          One or more filters. The possible values are:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * description: The Traffic Mirror target description.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * network-interface-id: The ID of the Traffic Mirror session network interface.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * owner-id: The ID of the account that owns the Traffic Mirror session.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                            - *
                                                          • - *
                                                          + *

                                                          Deprecated.

                                                          */ - Filters?: Filter[]; + AddressingType?: string; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          One or more block device mapping entries.

                                                          */ - MaxResults?: number; + BlockDeviceMappings?: BlockDeviceMapping[]; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

                                                          + *

                                                          Default: false + *

                                                          */ - NextToken?: string; -} + EbsOptimized?: boolean; -export namespace DescribeTrafficMirrorTargetsRequest { /** - * @internal + *

                                                          The IAM instance profile.

                                                          */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsRequest): any => ({ - ...obj, - }); -} + IamInstanceProfile?: IamInstanceProfileSpecification; -export interface DescribeTrafficMirrorTargetsResult { /** - *

                                                          Information about one or more Traffic Mirror targets.

                                                          + *

                                                          The ID of the AMI.

                                                          */ - TrafficMirrorTargets?: TrafficMirrorTarget[]; + ImageId?: string; /** - *

                                                          The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                          + *

                                                          The instance type.

                                                          */ - NextToken?: string; -} + InstanceType?: _InstanceType | string; -export namespace DescribeTrafficMirrorTargetsResult { /** - * @internal + *

                                                          The ID of the kernel.

                                                          */ - export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsResult): any => ({ - ...obj, - }); -} + KernelId?: string; -export interface DescribeTransitGatewayAttachmentsRequest { /** - *

                                                          The IDs of the attachments.

                                                          + *

                                                          The name of the key pair.

                                                          */ - TransitGatewayAttachmentIds?: string[]; + KeyName?: string; /** - *

                                                          One or more filters. The possible values are:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * association.state - The state of the association (associating | associated | - * disassociating).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * resource-id - The ID of the resource.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * resource-owner-id - The ID of the Amazon Web Services account that owns the resource.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-attachment-id - The ID of the attachment.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-id - The ID of the transit gateway.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

                                                            - *
                                                          • - *
                                                          + *

                                                          One or more network interfaces. If you specify a network interface, you must specify + * subnet IDs and security group IDs using the network interface.

                                                          */ - Filters?: Filter[]; + NetworkInterfaces?: InstanceNetworkInterfaceSpecification[]; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The placement information for the instance.

                                                          */ - MaxResults?: number; + Placement?: SpotPlacement; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The ID of the RAM disk.

                                                          */ - NextToken?: string; + RamdiskId?: string; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          The ID of the subnet in which to launch the instance.

                                                          */ - DryRun?: boolean; + SubnetId?: string; + + /** + *

                                                          Describes the monitoring of an instance.

                                                          + */ + Monitoring?: RunInstancesMonitoringEnabled; } -export namespace DescribeTransitGatewayAttachmentsRequest { +export namespace LaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchSpecification): any => ({ ...obj, }); } +export type SpotInstanceState = "active" | "cancelled" | "closed" | "failed" | "open"; + /** - *

                                                          Describes an association.

                                                          + *

                                                          Describes the status of a Spot Instance request.

                                                          */ -export interface TransitGatewayAttachmentAssociation { +export interface SpotInstanceStatus { /** - *

                                                          The ID of the route table for the transit gateway.

                                                          + *

                                                          The status code. For a list of status codes, see Spot status codes in the Amazon EC2 User Guide for Linux Instances.

                                                          */ - TransitGatewayRouteTableId?: string; + Code?: string; /** - *

                                                          The state of the association.

                                                          + *

                                                          The description for the status code.

                                                          */ - State?: TransitGatewayAssociationState | string; + Message?: string; + + /** + *

                                                          The date and time of the most recent status update, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                          + */ + UpdateTime?: Date; } -export namespace TransitGatewayAttachmentAssociation { +export namespace SpotInstanceStatus { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayAttachmentAssociation): any => ({ + export const filterSensitiveLog = (obj: SpotInstanceStatus): any => ({ ...obj, }); } /** - *

                                                          Describes an attachment between a resource and a transit gateway.

                                                          + *

                                                          Describes a Spot Instance request.

                                                          */ -export interface TransitGatewayAttachment { +export interface SpotInstanceRequest { /** - *

                                                          The ID of the attachment.

                                                          + *

                                                          Deprecated.

                                                          */ - TransitGatewayAttachmentId?: string; + ActualBlockHourlyPrice?: string; /** - *

                                                          The ID of the transit gateway.

                                                          + *

                                                          The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.

                                                          */ - TransitGatewayId?: string; + AvailabilityZoneGroup?: string; /** - *

                                                          The ID of the Amazon Web Services account that owns the transit gateway.

                                                          + *

                                                          Deprecated.

                                                          */ - TransitGatewayOwnerId?: string; + BlockDurationMinutes?: number; /** - *

                                                          The ID of the Amazon Web Services account that owns the resource.

                                                          + *

                                                          The date and time when the Spot Instance request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).

                                                          */ - ResourceOwnerId?: string; + CreateTime?: Date; /** - *

                                                          The resource type. Note that the tgw-peering resource type has been deprecated.

                                                          + *

                                                          The fault codes for the Spot Instance request, if any.

                                                          */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + Fault?: SpotInstanceStateFault; /** - *

                                                          The ID of the resource.

                                                          + *

                                                          The instance ID, if an instance has been launched to fulfill the Spot Instance request.

                                                          */ - ResourceId?: string; + InstanceId?: string; /** - *

                                                          The attachment state. Note that the initiating state has been deprecated.

                                                          + *

                                                          The instance launch group. Launch groups are Spot Instances that launch together and terminate together.

                                                          */ - State?: TransitGatewayAttachmentState | string; + LaunchGroup?: string; /** - *

                                                          The association.

                                                          + *

                                                          Additional information for launching instances.

                                                          */ - Association?: TransitGatewayAttachmentAssociation; + LaunchSpecification?: LaunchSpecification; /** - *

                                                          The creation time.

                                                          + *

                                                          The Availability Zone in which the request is launched.

                                                          */ - CreationTime?: Date; + LaunchedAvailabilityZone?: string; /** - *

                                                          The tags for the attachment.

                                                          + *

                                                          The product description associated with the Spot Instance.

                                                          */ - Tags?: Tag[]; -} + ProductDescription?: RIProductDescription | string; -export namespace TransitGatewayAttachment { /** - * @internal + *

                                                          The ID of the Spot Instance request.

                                                          */ - export const filterSensitiveLog = (obj: TransitGatewayAttachment): any => ({ - ...obj, - }); -} + SpotInstanceRequestId?: string; -export interface DescribeTransitGatewayAttachmentsResult { /** - *

                                                          Information about the attachments.

                                                          + *

                                                          The maximum price per hour that you are willing to pay for a Spot Instance.

                                                          */ - TransitGatewayAttachments?: TransitGatewayAttachment[]; + SpotPrice?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The state of the Spot Instance request. Spot status information helps track your Spot + * Instance requests. For more information, see Spot status in the + * Amazon EC2 User Guide for Linux Instances.

                                                          */ - NextToken?: string; -} + State?: SpotInstanceState | string; -export namespace DescribeTransitGatewayAttachmentsResult { /** - * @internal + *

                                                          The status code and status message describing the Spot Instance request.

                                                          */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsResult): any => ({ - ...obj, - }); -} + Status?: SpotInstanceStatus; -export interface DescribeTransitGatewayConnectPeersRequest { /** - *

                                                          The IDs of the Connect peers.

                                                          + *

                                                          Any tags assigned to the resource.

                                                          */ - TransitGatewayConnectPeerIds?: string[]; + Tags?: Tag[]; /** - *

                                                          One or more filters. The possible values are:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * state - The state of the Connect peer (pending | - * available | deleting | - * deleted).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-attachment-id - The ID of the attachment.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-connect-peer-id - The ID of the Connect peer.

                                                            - *
                                                          • - *
                                                          + *

                                                          The Spot Instance request type.

                                                          */ - Filters?: Filter[]; + Type?: SpotInstanceType | string; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The start date of the request, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * The request becomes active at this date and time.

                                                          */ - MaxResults?: number; + ValidFrom?: Date; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The end date of the request, in UTC format + * (YYYY-MM-DDTHH:MM:SSZ).

                                                          + *
                                                            + *
                                                          • + *

                                                            For a persistent request, the request remains active until the validUntil date + * and time is reached. Otherwise, the request remains active until you cancel it. + *

                                                            + *
                                                          • + *
                                                          • + *

                                                            For a one-time request, the request remains active until all instances launch, + * the request is canceled, or the validUntil date and time is reached. By default, the + * request is valid for 7 days from the date the request was created.

                                                            + *
                                                          • + *
                                                          */ - NextToken?: string; + ValidUntil?: Date; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          The behavior when a Spot Instance is interrupted.

                                                          */ - DryRun?: boolean; + InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string; } -export namespace DescribeTransitGatewayConnectPeersRequest { +export namespace SpotInstanceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectPeersRequest): any => ({ + export const filterSensitiveLog = (obj: SpotInstanceRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayConnectPeersResult { +/** + *

                                                          Contains the output of DescribeSpotInstanceRequests.

                                                          + */ +export interface DescribeSpotInstanceRequestsResult { /** - *

                                                          Information about the Connect peers.

                                                          + *

                                                          One or more Spot Instance requests.

                                                          */ - TransitGatewayConnectPeers?: TransitGatewayConnectPeer[]; + SpotInstanceRequests?: SpotInstanceRequest[]; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The token to use to retrieve the next set of results. This value is null + * when there are no more results to return.

                                                          */ NextToken?: string; } -export namespace DescribeTransitGatewayConnectPeersResult { +export namespace DescribeSpotInstanceRequestsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectPeersResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotInstanceRequestsResult): any => ({ ...obj, }); -} - -export interface DescribeTransitGatewayConnectsRequest { - /** - *

                                                          The IDs of the attachments.

                                                          - */ - TransitGatewayAttachmentIds?: string[]; +} +/** + *

                                                          Contains the parameters for DescribeSpotPriceHistory.

                                                          + */ +export interface DescribeSpotPriceHistoryRequest { /** - *

                                                          One or more filters. The possible values are:

                                                          + *

                                                          One or more filters.

                                                          *
                                                            *
                                                          • - *

                                                            - * options.protocol - The tunnel protocol (gre).

                                                            + *

                                                            + * availability-zone - The Availability Zone for which prices should + * be returned.

                                                            *
                                                          • *
                                                          • - *

                                                            - * state - The state of the attachment (initiating | - * initiatingRequest | pendingAcceptance | - * rollingBack | pending | available | - * modifying | deleting | deleted | - * failed | rejected | rejecting | - * failing).

                                                            + *

                                                            + * instance-type - The type of instance (for example, + * m3.medium).

                                                            *
                                                          • *
                                                          • *

                                                            - * transit-gateway-attachment-id - The ID of the - * Connect attachment.

                                                            + * product-description - The product description for the Spot price + * (Linux/UNIX | Red Hat Enterprise Linux | + * SUSE Linux | Windows | Linux/UNIX (Amazon + * VPC) | Red Hat Enterprise Linux (Amazon VPC) | + * SUSE Linux (Amazon VPC) | Windows (Amazon + * VPC)).

                                                            *
                                                          • *
                                                          • - *

                                                            - * transit-gateway-id - The ID of the transit gateway.

                                                            + *

                                                            + * spot-price - The Spot price. The value must match exactly (or use + * wildcards; greater than or less than comparison is not supported).

                                                            *
                                                          • *
                                                          • - *

                                                            - * transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

                                                            + *

                                                            + * timestamp - The time stamp of the Spot price history, in UTC format + * (for example, + * YYYY-MM-DDTHH:MM:SSZ). + * You can use wildcards (* and ?). Greater than or less than comparison is not + * supported.

                                                            *
                                                          • *
                                                          */ Filters?: Filter[]; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          Filters the results by the specified Availability Zone.

                                                          */ - MaxResults?: number; + AvailabilityZone?: string; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                          */ - NextToken?: string; + DryRun?: boolean; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          The date and time, up to the current date, from which to stop retrieving the price + * history data, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                          */ - DryRun?: boolean; -} + EndTime?: Date; -export namespace DescribeTransitGatewayConnectsRequest { /** - * @internal + *

                                                          Filters the results by the specified instance types.

                                                          */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectsRequest): any => ({ - ...obj, - }); -} + InstanceTypes?: (_InstanceType | string)[]; -export interface DescribeTransitGatewayConnectsResult { /** - *

                                                          Information about the Connect attachments.

                                                          + *

                                                          The maximum number of results to return in a single call. Specify a value between 1 + * and 1000. The default value is 1000. To retrieve the remaining results, make another + * call with the returned NextToken value.

                                                          */ - TransitGatewayConnects?: TransitGatewayConnect[]; + MaxResults?: number; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The token for the next set of results.

                                                          */ NextToken?: string; + + /** + *

                                                          Filters the results by the specified basic product descriptions.

                                                          + */ + ProductDescriptions?: string[]; + + /** + *

                                                          The date and time, up to the past 90 days, from which to start retrieving the price + * history data, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                          + */ + StartTime?: Date; } -export namespace DescribeTransitGatewayConnectsResult { +export namespace DescribeSpotPriceHistoryRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayMulticastDomainsRequest { +/** + *

                                                          Describes the maximum price per hour that you are willing to pay for a Spot + * Instance.

                                                          + */ +export interface SpotPrice { /** - *

                                                          The ID of the transit gateway multicast domain.

                                                          + *

                                                          The Availability Zone.

                                                          */ - TransitGatewayMulticastDomainIds?: string[]; + AvailabilityZone?: string; /** - *

                                                          One or more filters. The possible values are:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-id - The ID of the transit gateway.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

                                                            - *
                                                          • - *
                                                          + *

                                                          The instance type.

                                                          */ - Filters?: Filter[]; + InstanceType?: _InstanceType | string; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          A general description of the AMI.

                                                          */ - MaxResults?: number; + ProductDescription?: RIProductDescription | string; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The maximum price per hour that you are willing to pay for a Spot Instance.

                                                          */ - NextToken?: string; + SpotPrice?: string; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          The date and time the request was created, in UTC format (for example, + * YYYY-MM-DDTHH:MM:SSZ).

                                                          */ - DryRun?: boolean; + Timestamp?: Date; } -export namespace DescribeTransitGatewayMulticastDomainsRequest { +export namespace SpotPrice { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsRequest): any => ({ + export const filterSensitiveLog = (obj: SpotPrice): any => ({ ...obj, }); } -export interface DescribeTransitGatewayMulticastDomainsResult { +/** + *

                                                          Contains the output of DescribeSpotPriceHistory.

                                                          + */ +export interface DescribeSpotPriceHistoryResult { /** - *

                                                          Information about the transit gateway multicast domains.

                                                          + *

                                                          The token required to retrieve the next set of results. This value is null or an empty + * string when there are no more results to return.

                                                          */ - TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[]; + NextToken?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The historical Spot prices.

                                                          */ - NextToken?: string; + SpotPriceHistory?: SpotPrice[]; } -export namespace DescribeTransitGatewayMulticastDomainsResult { +export namespace DescribeSpotPriceHistoryResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeSpotPriceHistoryResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayPeeringAttachmentsRequest { - /** - *

                                                          One or more IDs of the transit gateway peering attachments.

                                                          - */ - TransitGatewayAttachmentIds?: string[]; - +export interface DescribeStaleSecurityGroupsRequest { /** - *

                                                          One or more filters. The possible values are:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * transit-gateway-attachment-id - The ID of the transit gateway attachment.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * local-owner-id - The ID of your Amazon Web Services account.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * remote-owner-id - The ID of the Amazon Web Services account in the remote Region that owns the transit gateway.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * state - The state of the peering attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-id - The ID of the transit gateway.

                                                            - *
                                                          • - *
                                                          + *

                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          */ - Filters?: Filter[]; + DryRun?: boolean; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                          */ MaxResults?: number; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The token for the next set of items to return. (You received this token from a prior call.)

                                                          */ NextToken?: string; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          The ID of the VPC.

                                                          */ - DryRun?: boolean; + VpcId: string | undefined; } -export namespace DescribeTransitGatewayPeeringAttachmentsRequest { +export namespace DescribeStaleSecurityGroupsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewayPeeringAttachmentsResult { +/** + *

                                                          Describes a stale rule in a security group.

                                                          + */ +export interface StaleIpPermission { /** - *

                                                          The transit gateway peering attachments.

                                                          + *

                                                          The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of + * -1 indicates all ICMP types.

                                                          */ - TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[]; + FromPort?: number; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers).

                                                          */ - NextToken?: string; + IpProtocol?: string; + + /** + *

                                                          The IP ranges. Not applicable for stale security group rules.

                                                          + */ + IpRanges?: string[]; + + /** + *

                                                          The prefix list IDs. Not applicable for stale security group rules.

                                                          + */ + PrefixListIds?: string[]; + + /** + *

                                                          The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of + * -1 indicates all ICMP types.

                                                          + */ + ToPort?: number; + + /** + *

                                                          The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.

                                                          + */ + UserIdGroupPairs?: UserIdGroupPair[]; } -export namespace DescribeTransitGatewayPeeringAttachmentsResult { +export namespace StaleIpPermission { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsResult): any => ({ + export const filterSensitiveLog = (obj: StaleIpPermission): any => ({ ...obj, }); } -export interface DescribeTransitGatewayRouteTablesRequest { +/** + *

                                                          Describes a stale security group (a security group that contains stale rules).

                                                          + */ +export interface StaleSecurityGroup { /** - *

                                                          The IDs of the transit gateway route tables.

                                                          + *

                                                          The description of the security group.

                                                          */ - TransitGatewayRouteTableIds?: string[]; + Description?: string; /** - *

                                                          One or more filters. The possible values are:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * default-association-route-table - Indicates whether this is the default - * association route table for the transit gateway (true | false).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * default-propagation-route-table - Indicates whether this is the default - * propagation route table for the transit gateway (true | false).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * state - The state of the route table (available | deleting | deleted | pending).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-id - The ID of the transit gateway.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                            - *
                                                          • - *
                                                          + *

                                                          The ID of the security group.

                                                          */ - Filters?: Filter[]; + GroupId?: string; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The name of the security group.

                                                          */ - MaxResults?: number; + GroupName?: string; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          Information about the stale inbound rules in the security group.

                                                          */ - NextToken?: string; + StaleIpPermissions?: StaleIpPermission[]; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          Information about the stale outbound rules in the security group.

                                                          + */ + StaleIpPermissionsEgress?: StaleIpPermission[]; + + /** + *

                                                          The ID of the VPC for the security group.

                                                          */ - DryRun?: boolean; + VpcId?: string; } -export namespace DescribeTransitGatewayRouteTablesRequest { +export namespace StaleSecurityGroup { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesRequest): any => ({ + export const filterSensitiveLog = (obj: StaleSecurityGroup): any => ({ ...obj, }); } -export interface DescribeTransitGatewayRouteTablesResult { +export interface DescribeStaleSecurityGroupsResult { /** - *

                                                          Information about the transit gateway route tables.

                                                          + *

                                                          The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                          */ - TransitGatewayRouteTables?: TransitGatewayRouteTable[]; + NextToken?: string; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          Information about the stale security groups.

                                                          */ - NextToken?: string; + StaleSecurityGroupSet?: StaleSecurityGroup[]; } -export namespace DescribeTransitGatewayRouteTablesResult { +export namespace DescribeStaleSecurityGroupsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeStaleSecurityGroupsResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewaysRequest { +export interface DescribeStoreImageTasksRequest { + /** + *

                                                          The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.

                                                          + */ + ImageIds?: string[]; + /** - *

                                                          The IDs of the transit gateways.

                                                          + *

                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          */ - TransitGatewayIds?: string[]; + DryRun?: boolean; /** - *

                                                          One or more filters. The possible values are:

                                                          + *

                                                          The filters.

                                                          *
                                                            *
                                                          • *

                                                            - * options.propagation-default-route-table-id - The ID of the default propagation route table.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * options.association-default-route-table-id - The ID of the default association route table.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * options.default-route-table-association - Indicates whether resource attachments are automatically - * associated with the default association route table (enable | disable).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate - * routes to the default propagation route table (enable | disable).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

                                                            + * task-state - Returns tasks in a certain state (InProgress | + * Completed | Failed)

                                                            *
                                                          • *
                                                          • *

                                                            - * transit-gateway-id - The ID of the transit gateway.

                                                            + * bucket - Returns task information for tasks that targeted a specific + * bucket. For the filter value, specify the bucket name.

                                                            *
                                                          • *
                                                          */ Filters?: Filter[]; - /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          - */ - MaxResults?: number; - /** *

                                                          The token for the next page of results.

                                                          */ NextToken?: string; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          The maximum number of results to return in a single call. To retrieve the remaining + * results, make another call with the returned NextToken value. This value can be + * between 1 and 200. You cannot specify this parameter and the ImageIDs parameter + * in the same call.

                                                          */ - DryRun?: boolean; + MaxResults?: number; } -export namespace DescribeTransitGatewaysRequest { +export namespace DescribeStoreImageTasksRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeStoreImageTasksRequest): any => ({ ...obj, }); } -export interface DescribeTransitGatewaysResult { - /** - *

                                                          Information about the transit gateways.

                                                          - */ - TransitGateways?: TransitGateway[]; - +/** + *

                                                          The information about the AMI store task, including the progress of the task.

                                                          + */ +export interface StoreImageTaskResult { /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The ID of the AMI that is being stored.

                                                          */ - NextToken?: string; -} + AmiId?: string; -export namespace DescribeTransitGatewaysResult { /** - * @internal + *

                                                          The time the task started.

                                                          */ - export const filterSensitiveLog = (obj: DescribeTransitGatewaysResult): any => ({ - ...obj, - }); -} + TaskStartTime?: Date; -export interface DescribeTransitGatewayVpcAttachmentsRequest { /** - *

                                                          The IDs of the attachments.

                                                          + *

                                                          The name of the Amazon S3 bucket that contains the stored AMI object.

                                                          */ - TransitGatewayAttachmentIds?: string[]; + Bucket?: string; /** - *

                                                          One or more filters. The possible values are:

                                                          - *
                                                            - *
                                                          • - *

                                                            - * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-attachment-id - The ID of the attachment.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * transit-gateway-id - The ID of the transit gateway.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * vpc-id - The ID of the VPC.

                                                            - *
                                                          • - *
                                                          + *

                                                          The name of the stored AMI object in the bucket.

                                                          */ - Filters?: Filter[]; + S3objectKey?: string; /** - *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + *

                                                          The progress of the task as a percentage.

                                                          */ - MaxResults?: number; + ProgressPercentage?: number; /** - *

                                                          The token for the next page of results.

                                                          + *

                                                          The state of the store task (InProgress, Completed, or + * Failed).

                                                          */ - NextToken?: string; + StoreTaskState?: string; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          If the tasks fails, the reason for the failure is returned. If the task succeeds, + * null is returned.

                                                          */ - DryRun?: boolean; + StoreTaskFailureReason?: string; } -export namespace DescribeTransitGatewayVpcAttachmentsRequest { +export namespace StoreImageTaskResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsRequest): any => ({ + export const filterSensitiveLog = (obj: StoreImageTaskResult): any => ({ ...obj, }); } -export interface DescribeTransitGatewayVpcAttachmentsResult { +export interface DescribeStoreImageTasksResult { /** - *

                                                          Information about the VPC attachments.

                                                          + *

                                                          The information about the AMI store tasks.

                                                          */ - TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[]; + StoreImageTaskResults?: StoreImageTaskResult[]; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                                          */ NextToken?: string; } -export namespace DescribeTransitGatewayVpcAttachmentsResult { +export namespace DescribeStoreImageTasksResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeStoreImageTasksResult): any => ({ ...obj, }); } -export interface DescribeTrunkInterfaceAssociationsRequest { - /** - *

                                                          The IDs of the associations.

                                                          - */ - AssociationIds?: string[]; - - /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          - */ - DryRun?: boolean; - +export interface DescribeSubnetsRequest { /** *

                                                          One or more filters.

                                                          *
                                                            *
                                                          • *

                                                            - * gre-key - The ID of a trunk interface association.

                                                            + * availability-zone - The Availability Zone for the subnet. You can also use + * availabilityZone as the filter name.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * availability-zone-id - The ID of the Availability Zone for the subnet. + * You can also use availabilityZoneId as the filter name.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * available-ip-address-count - The number of IPv4 addresses in the + * subnet that are available.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you + * specify must exactly match the subnet's CIDR block for information to be + * returned for the subnet. You can also use cidr or + * cidrBlock as the filter names.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * default-for-az - Indicates whether this is the default subnet for the + * Availability Zone. You can also use defaultForAz as the filter name.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR + * block associated with the subnet.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ipv6-cidr-block-association.association-id - An association ID + * for an IPv6 CIDR block associated with the subnet.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * ipv6-cidr-block-association.state - The state of an IPv6 CIDR + * block associated with the subnet.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * owner-id - The ID of the Amazon Web Services account that owns the subnet.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * state - The state of the subnet (pending | available).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * subnet-arn - The Amazon Resource Name (ARN) of the subnet.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * subnet-id - The ID of the subnet.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                            *
                                                          • *
                                                          • *

                                                            - * interface-protocol - The interface protocol. Valid values are VLAN and GRE.

                                                            + * vpc-id - The ID of the VPC for the subnet.

                                                            *
                                                          • *
                                                          */ Filters?: Filter[]; + /** + *

                                                          One or more subnet IDs.

                                                          + *

                                                          Default: Describes all your subnets.

                                                          + */ + SubnetIds?: string[]; + + /** + *

                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          + */ + DryRun?: boolean; + /** *

                                                          The token for the next page of results.

                                                          */ @@ -13045,16 +12901,37 @@ export interface DescribeTrunkInterfaceAssociationsRequest { /** *

                                                          The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ MaxResults?: number; } -export namespace DescribeTrunkInterfaceAssociationsRequest { +export namespace DescribeSubnetsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSubnetsRequest): any => ({ + ...obj, + }); +} + +export interface DescribeSubnetsResult { + /** + *

                                                          Information about one or more subnets.

                                                          + */ + Subnets?: Subnet[]; + + /** + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + */ + NextToken?: string; +} + +export namespace DescribeSubnetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrunkInterfaceAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeSubnetsResult): any => ({ ...obj, }); } diff --git a/clients/client-ec2/src/models/models_4.ts b/clients/client-ec2/src/models/models_4.ts index 6805fc113cc6..e874020471ae 100644 --- a/clients/client-ec2/src/models/models_4.ts +++ b/clients/client-ec2/src/models/models_4.ts @@ -2,9 +2,7 @@ import { SENSITIVE_STRING } from "@aws-sdk/smithy-client"; import { _InstanceType, - AddPrefixListEntry, AddressAttribute, - Affinity, AllowedPrincipal, AssociationStatus, AttributeValue, @@ -19,22 +17,26 @@ import { HostRecovery, IamInstanceProfileAssociation, InstanceEventWindow, + InstanceRequirementsRequest, Placement, - PlatformValues, + ResourceType, SelfServicePortal, SubnetAssociation, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, TargetCapacitySpecificationRequest, + TargetCapacityUnitType, TargetConfigurationRequest, TransitGatewayAssociation, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, + TransitGatewayAttachmentState, TransitGatewayMulticastDomainAssociations, + TransitGatewayPeeringAttachment, + TransitGatewayVpcAttachment, TrunkInterfaceAssociation, UnsuccessfulItem, - VolumeType, Vpc, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation, @@ -46,292 +48,244 @@ import { ConnectionNotification, DiskImageFormat, DnsEntry, - DnsNameState, - InstanceEventWindowTimeRangeRequest, - LaunchTemplate, - ManagedPrefixList, + PlatformValues, ResponseLaunchTemplateData, - ServiceConfiguration, - ServiceTypeDetail, ShutdownBehavior, State, SubnetCidrReservation, TrafficMirrorFilter, - TrafficMirrorNetworkService, + TrafficMirrorSession, + TrafficMirrorTarget, + TransitGateway, + TransitGatewayConnect, + TransitGatewayConnectPeer, + TransitGatewayMulticastDomain, TransitGatewayPrefixListReference, + TransitGatewayRouteTable, Volume, + VolumeType, VpcEndpoint, } from "./models_1"; import { - ArchitectureValues, - BootModeValues, ConversionTask, + DnsNameState, ExportTaskS3Location, FastSnapshotRestoreStateCode, Filter, FpgaImageAttribute, FpgaImageAttributeName, - ImportImageLicenseConfigurationResponse, - LaunchPermission, PaymentOption, PermissionGroup, ProductCode, + ServiceConfiguration, + ServiceTypeDetail, VpnConnection, VpnGateway, } from "./models_2"; import { + ArchitectureType, + ArchitectureValues, AttributeBooleanValue, - CreateVolumePermission, - ExcessCapacityTerminationPolicy, - HttpTokensState, + BootModeValues, + ImportImageLicenseConfigurationResponse, InstanceAttributeName, - InstanceMetadataEndpointState, - InstanceMetadataOptionsResponse, - InstanceMetadataProtocolState, - InstanceStatusEvent, - LaunchTemplateConfig, - ReservedInstancesConfiguration, - SnapshotAttributeName, + LaunchPermission, SnapshotDetail, SnapshotTaskDetail, + VirtualizationType, } from "./models_3"; -export interface DescribeTrunkInterfaceAssociationsResult { +export interface DescribeTagsRequest { /** - *

                                                          Information about the trunk associations.

                                                          + *

                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          */ - InterfaceAssociations?: TrunkInterfaceAssociation[]; + DryRun?: boolean; /** - *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          + *

                                                          The filters.

                                                          + *
                                                            + *
                                                          • + *

                                                            + * key - The tag key.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * resource-id - The ID of the resource.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * resource-type - The resource type (customer-gateway | dedicated-host | dhcp-options | elastic-ip | fleet | fpga-image | host-reservation | image | instance | internet-gateway | key-pair | launch-template | natgateway | network-acl | network-interface | placement-group | reserved-instances | route-table | security-group | snapshot | spot-instances-request | subnet | volume | vpc | vpc-endpoint | vpc-endpoint-service | vpc-peering-connection | vpn-connection | vpn-gateway).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * tag: - The key/value combination of the tag. For example, + * specify "tag:Owner" for the filter name and "TeamA" for the filter value to find + * resources with the tag "Owner=TeamA".

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * value - The tag value.

                                                            + *
                                                          • + *
                                                          + */ + Filters?: Filter[]; + + /** + *

                                                          The maximum number of results to return in a single call. + * This value can be between 5 and 1000. + * To retrieve the remaining results, make another call with the returned NextToken value.

                                                          + */ + MaxResults?: number; + + /** + *

                                                          The token to retrieve the next page of results.

                                                          */ NextToken?: string; } -export namespace DescribeTrunkInterfaceAssociationsResult { +export namespace DescribeTagsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeTrunkInterfaceAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTagsRequest): any => ({ ...obj, }); } -export type VolumeAttributeName = "autoEnableIO" | "productCodes"; +/** + *

                                                          Describes a tag.

                                                          + */ +export interface TagDescription { + /** + *

                                                          The tag key.

                                                          + */ + Key?: string; -export interface DescribeVolumeAttributeRequest { /** - *

                                                          The attribute of the volume. This parameter is required.

                                                          + *

                                                          The ID of the resource.

                                                          */ - Attribute: VolumeAttributeName | string | undefined; + ResourceId?: string; /** - *

                                                          The ID of the volume.

                                                          + *

                                                          The resource type.

                                                          */ - VolumeId: string | undefined; + ResourceType?: ResourceType | string; /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          + *

                                                          The tag value.

                                                          */ - DryRun?: boolean; + Value?: string; } -export namespace DescribeVolumeAttributeRequest { +export namespace TagDescription { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumeAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: TagDescription): any => ({ ...obj, }); } -export interface DescribeVolumeAttributeResult { - /** - *

                                                          The state of autoEnableIO attribute.

                                                          - */ - AutoEnableIO?: AttributeBooleanValue; - +export interface DescribeTagsResult { /** - *

                                                          A list of product codes.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                                                          */ - ProductCodes?: ProductCode[]; + NextToken?: string; /** - *

                                                          The ID of the volume.

                                                          + *

                                                          The tags.

                                                          */ - VolumeId?: string; + Tags?: TagDescription[]; } -export namespace DescribeVolumeAttributeResult { +export namespace DescribeTagsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumeAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTagsResult): any => ({ ...obj, }); } -export interface DescribeVolumesRequest { +export interface DescribeTrafficMirrorFiltersRequest { /** - *

                                                          The filters.

                                                          + *

                                                          The ID of the Traffic Mirror filter.

                                                          + */ + TrafficMirrorFilterIds?: string[]; + + /** + *

                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          + */ + DryRun?: boolean; + + /** + *

                                                          One or more filters. The possible values are:

                                                          *
                                                            *
                                                          • *

                                                            - * attachment.attach-time - The time stamp when the attachment - * initiated.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * attachment.delete-on-termination - Whether the volume is deleted on - * instance termination.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * attachment.device - The device name specified in the block device mapping - * (for example, /dev/sda1).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * attachment.instance-id - The ID of the instance the volume is attached - * to.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * attachment.status - The attachment state (attaching | - * attached | detaching).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * availability-zone - The Availability Zone in which the volume was - * created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * create-time - The time stamp when the volume was created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * encrypted - Indicates whether the volume is encrypted (true - * | false)

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true - * | false)

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * fast-restored - Indicates whether the volume was created from a - * snapshot that is enabled for fast snapshot restore (true | - * false).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * size - The size of the volume, in GiB.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * snapshot-id - The snapshot from which the volume was created.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * status - The state of the volume (creating | - * available | in-use | deleting | - * deleted | error).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * volume-id - The volume ID.

                                                            + * description: The Traffic Mirror filter description.

                                                            *
                                                          • *
                                                          • *

                                                            - * volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | - * st1 | sc1| standard)

                                                            + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                            *
                                                          • *
                                                          */ Filters?: Filter[]; /** - *

                                                          The volume IDs.

                                                          - */ - VolumeIds?: string[]; - - /** - *

                                                          Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                          - */ - DryRun?: boolean; - - /** - *

                                                          The maximum number of volume results returned by DescribeVolumes in paginated - * output. When this parameter is used, DescribeVolumes only returns - * MaxResults results in a single page along with a NextToken - * response element. The remaining results of the initial request can be seen by sending another - * DescribeVolumes request with the returned NextToken value. This - * value can be between 5 and 500; if MaxResults is given a value larger than 500, - * only 500 results are returned. If this parameter is not used, then - * DescribeVolumes returns all results. You cannot specify this parameter and the - * volume IDs parameter in the same request.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ MaxResults?: number; /** - *

                                                          The NextToken value returned from a previous paginated - * DescribeVolumes 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 token for the next page of results.

                                                          */ NextToken?: string; } -export namespace DescribeVolumesRequest { +export namespace DescribeTrafficMirrorFiltersRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersRequest): any => ({ ...obj, }); } -export interface DescribeVolumesResult { +export interface DescribeTrafficMirrorFiltersResult { /** - *

                                                          Information about the volumes.

                                                          + *

                                                          Information about one or more Traffic Mirror filters.

                                                          */ - Volumes?: Volume[]; + TrafficMirrorFilters?: TrafficMirrorFilter[]; /** - *

                                                          The NextToken value to include in a future DescribeVolumes - * request. When the results of a DescribeVolumes request exceed - * MaxResults, this value can be used to retrieve the next page of results. This - * value is null when there are no more results to return.

                                                          + *

                                                          The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                          */ NextToken?: string; } -export namespace DescribeVolumesResult { +export namespace DescribeTrafficMirrorFiltersResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorFiltersResult): any => ({ ...obj, }); } -export interface DescribeVolumesModificationsRequest { +export interface DescribeTrafficMirrorSessionsRequest { + /** + *

                                                          The ID of the Traffic Mirror session.

                                                          + */ + TrafficMirrorSessionIds?: string[]; + /** *

                                                          Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -340,297 +294,235 @@ export interface DescribeVolumesModificationsRequest { DryRun?: boolean; /** - *

                                                          The IDs of the volumes.

                                                          - */ - VolumeIds?: string[]; - - /** - *

                                                          The filters.

                                                          + *

                                                          One or more filters. The possible values are:

                                                          *
                                                            *
                                                          • *

                                                            - * modification-state - The current modification state (modifying | - * optimizing | completed | failed).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * original-iops - The original IOPS rate of the volume.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * original-size - The original size of the volume, in GiB.

                                                            + * description: The Traffic Mirror session description.

                                                            *
                                                          • *
                                                          • *

                                                            - * original-volume-type - The original volume type of the volume (standard | - * io1 | io2 | gp2 | sc1 | st1).

                                                            + * network-interface-id: The ID of the Traffic Mirror session network interface.

                                                            *
                                                          • *
                                                          • *

                                                            - * originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

                                                            + * owner-id: The ID of the account that owns the Traffic Mirror session.

                                                            *
                                                          • *
                                                          • *

                                                            - * start-time - The modification start time.

                                                            + * packet-length: The assigned number of packets to mirror.

                                                            *
                                                          • *
                                                          • *

                                                            - * target-iops - The target IOPS rate of the volume.

                                                            + * session-number: The assigned session number.

                                                            *
                                                          • *
                                                          • *

                                                            - * target-size - The target size of the volume, in GiB.

                                                            + * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.

                                                            *
                                                          • *
                                                          • *

                                                            - * target-volume-type - The target volume type of the volume (standard | - * io1 | io2 | gp2 | sc1 | st1).

                                                            + * traffic-mirror-session-id: The ID of the Traffic Mirror session.

                                                            *
                                                          • *
                                                          • *

                                                            - * targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

                                                            + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                            *
                                                          • *
                                                          • *

                                                            - * volume-id - The ID of the volume.

                                                            + * virtual-network-id: The virtual network ID of the Traffic Mirror session.

                                                            *
                                                          • *
                                                          */ Filters?: Filter[]; /** - *

                                                          The nextToken value returned by a previous paginated request.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - NextToken?: string; + MaxResults?: number; /** - *

                                                          The maximum number of results (up to a limit of 500) to be returned in a paginated - * request.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - MaxResults?: number; + NextToken?: string; } -export namespace DescribeVolumesModificationsRequest { +export namespace DescribeTrafficMirrorSessionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumesModificationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsRequest): any => ({ ...obj, }); } -export type VolumeModificationState = "completed" | "failed" | "modifying" | "optimizing"; - -/** - *

                                                          Describes the modification status of an EBS volume.

                                                          - *

                                                          If the volume has never been modified, some element values will be null.

                                                          - */ -export interface VolumeModification { - /** - *

                                                          The ID of the volume.

                                                          - */ - VolumeId?: string; - - /** - *

                                                          The current modification state. The modification state is null for unmodified - * volumes.

                                                          - */ - ModificationState?: VolumeModificationState | string; - - /** - *

                                                          A status message about the modification progress or failure.

                                                          - */ - StatusMessage?: string; - - /** - *

                                                          The target size of the volume, in GiB.

                                                          - */ - TargetSize?: number; - - /** - *

                                                          The target IOPS rate of the volume.

                                                          - */ - TargetIops?: number; - - /** - *

                                                          The target EBS volume type of the volume.

                                                          - */ - TargetVolumeType?: VolumeType | string; - - /** - *

                                                          The target throughput of the volume, in MiB/s.

                                                          - */ - TargetThroughput?: number; - - /** - *

                                                          The target setting for Amazon EBS Multi-Attach.

                                                          - */ - TargetMultiAttachEnabled?: boolean; - +export interface DescribeTrafficMirrorSessionsResult { /** - *

                                                          The original size of the volume, in GiB.

                                                          + *

                                                          Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.

                                                          */ - OriginalSize?: number; + TrafficMirrorSessions?: TrafficMirrorSession[]; /** - *

                                                          The original IOPS rate of the volume.

                                                          + *

                                                          The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                          */ - OriginalIops?: number; + NextToken?: string; +} +export namespace DescribeTrafficMirrorSessionsResult { /** - *

                                                          The original EBS volume type of the volume.

                                                          + * @internal */ - OriginalVolumeType?: VolumeType | string; + export const filterSensitiveLog = (obj: DescribeTrafficMirrorSessionsResult): any => ({ + ...obj, + }); +} +export interface DescribeTrafficMirrorTargetsRequest { /** - *

                                                          The original throughput of the volume, in MiB/s.

                                                          + *

                                                          The ID of the Traffic Mirror targets.

                                                          */ - OriginalThroughput?: number; + TrafficMirrorTargetIds?: string[]; /** - *

                                                          The original setting for Amazon EBS Multi-Attach.

                                                          + *

                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          */ - OriginalMultiAttachEnabled?: boolean; + DryRun?: boolean; /** - *

                                                          The modification progress, from 0 to 100 percent complete.

                                                          + *

                                                          One or more filters. The possible values are:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * description: The Traffic Mirror target description.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-interface-id: The ID of the Traffic Mirror session network interface.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * owner-id: The ID of the account that owns the Traffic Mirror session.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * traffic-mirror-target-id: The ID of the Traffic Mirror target.

                                                            + *
                                                          • + *
                                                          */ - Progress?: number; + Filters?: Filter[]; /** - *

                                                          The modification start time.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - StartTime?: Date; + MaxResults?: number; /** - *

                                                          The modification completion or failure time.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - EndTime?: Date; + NextToken?: string; } -export namespace VolumeModification { +export namespace DescribeTrafficMirrorTargetsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeModification): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsRequest): any => ({ ...obj, }); } -export interface DescribeVolumesModificationsResult { +export interface DescribeTrafficMirrorTargetsResult { /** - *

                                                          Information about the volume modifications.

                                                          + *

                                                          Information about one or more Traffic Mirror targets.

                                                          */ - VolumesModifications?: VolumeModification[]; + TrafficMirrorTargets?: TrafficMirrorTarget[]; /** - *

                                                          Token for pagination, null if there are no more results

                                                          + *

                                                          The token to use to retrieve the next page of results. The value is null when there are no more results to return.

                                                          */ NextToken?: string; } -export namespace DescribeVolumesModificationsResult { +export namespace DescribeTrafficMirrorTargetsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumesModificationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTrafficMirrorTargetsResult): any => ({ ...obj, }); } -export interface DescribeVolumeStatusRequest { +export interface DescribeTransitGatewayAttachmentsRequest { /** - *

                                                          The filters.

                                                          + *

                                                          The IDs of the attachments.

                                                          + */ + TransitGatewayAttachmentIds?: string[]; + + /** + *

                                                          One or more filters. The possible values are:

                                                          *
                                                            *
                                                          • *

                                                            - * action.code - The action code for the event (for example, - * enable-volume-io).

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * action.description - A description of the action.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * action.event-id - The event ID associated with the action.

                                                            - *
                                                          • - *
                                                          • - *

                                                            - * availability-zone - The Availability Zone of the instance.

                                                            + * association.state - The state of the association (associating | associated | + * disassociating).

                                                            *
                                                          • *
                                                          • *

                                                            - * event.description - A description of the event.

                                                            + * association.transit-gateway-route-table-id - The ID of the route table for the transit gateway.

                                                            *
                                                          • *
                                                          • *

                                                            - * event.event-id - The event ID.

                                                            + * resource-id - The ID of the resource.

                                                            *
                                                          • *
                                                          • *

                                                            - * event.event-type - The event type (for io-enabled: - * passed | failed; for io-performance: - * io-performance:degraded | io-performance:severely-degraded | - * io-performance:stalled).

                                                            + * resource-owner-id - The ID of the Amazon Web Services account that owns the resource.

                                                            *
                                                          • *
                                                          • *

                                                            - * event.not-after - The latest end time for the event.

                                                            + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

                                                            *
                                                          • *
                                                          • *

                                                            - * event.not-before - The earliest start time for the event.

                                                            + * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

                                                            *
                                                          • *
                                                          • *

                                                            - * volume-status.details-name - The cause for - * volume-status.status (io-enabled | - * io-performance).

                                                            + * transit-gateway-attachment-id - The ID of the attachment.

                                                            *
                                                          • *
                                                          • *

                                                            - * volume-status.details-status - The status of - * volume-status.details-name (for io-enabled: - * passed | failed; for io-performance: - * normal | degraded | severely-degraded | - * stalled).

                                                            + * transit-gateway-id - The ID of the transit gateway.

                                                            *
                                                          • *
                                                          • *

                                                            - * volume-status.status - The status of the volume (ok | - * impaired | warning | insufficient-data).

                                                            + * transit-gateway-owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

                                                            *
                                                          • *
                                                          */ Filters?: Filter[]; /** - *

                                                          The maximum number of volume results returned by DescribeVolumeStatus in - * paginated output. When this parameter is used, the request only returns - * MaxResults results in a single page along with a NextToken - * response element. The remaining results of the initial request can be seen by sending another - * request with the returned NextToken value. This value can be between 5 and 1,000; - * if MaxResults is given a value larger than 1,000, only 1,000 results are returned. - * If this parameter is not used, then DescribeVolumeStatus returns all results. You - * cannot specify this parameter and the volume IDs parameter in the same request.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ MaxResults?: number; /** - *

                                                          The NextToken value to include in a future DescribeVolumeStatus - * request. When the results of the request exceed MaxResults, this value can be - * used to retrieve the next page of results. This value is null when there are no - * more results to return.

                                                          + *

                                                          The token for the next page of results.

                                                          */ NextToken?: string; - /** - *

                                                          The IDs of the volumes.

                                                          - *

                                                          Default: Describes all your volumes.

                                                          - */ - VolumeIds?: string[]; - /** *

                                                          Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -639,252 +531,249 @@ export interface DescribeVolumeStatusRequest { DryRun?: boolean; } -export namespace DescribeVolumeStatusRequest { +export namespace DescribeTransitGatewayAttachmentsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumeStatusRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsRequest): any => ({ ...obj, }); } /** - *

                                                          Describes a volume status operation code.

                                                          + *

                                                          Describes an association.

                                                          */ -export interface VolumeStatusAction { - /** - *

                                                          The code identifying the operation, for example, enable-volume-io.

                                                          - */ - Code?: string; - - /** - *

                                                          A description of the operation.

                                                          - */ - Description?: string; - +export interface TransitGatewayAttachmentAssociation { /** - *

                                                          The ID of the event associated with this operation.

                                                          + *

                                                          The ID of the route table for the transit gateway.

                                                          */ - EventId?: string; + TransitGatewayRouteTableId?: string; /** - *

                                                          The event type associated with this operation.

                                                          + *

                                                          The state of the association.

                                                          */ - EventType?: string; + State?: TransitGatewayAssociationState | string; } -export namespace VolumeStatusAction { +export namespace TransitGatewayAttachmentAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeStatusAction): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayAttachmentAssociation): any => ({ ...obj, }); } /** - *

                                                          Information about the instances to which the volume is attached.

                                                          + *

                                                          Describes an attachment between a resource and a transit gateway.

                                                          */ -export interface VolumeStatusAttachmentStatus { +export interface TransitGatewayAttachment { /** - *

                                                          The maximum IOPS supported by the attached instance.

                                                          + *

                                                          The ID of the attachment.

                                                          */ - IoPerformance?: string; + TransitGatewayAttachmentId?: string; /** - *

                                                          The ID of the attached instance.

                                                          + *

                                                          The ID of the transit gateway.

                                                          */ - InstanceId?: string; -} + TransitGatewayId?: string; -export namespace VolumeStatusAttachmentStatus { /** - * @internal + *

                                                          The ID of the Amazon Web Services account that owns the transit gateway.

                                                          */ - export const filterSensitiveLog = (obj: VolumeStatusAttachmentStatus): any => ({ - ...obj, - }); -} + TransitGatewayOwnerId?: string; -/** - *

                                                          Describes a volume status event.

                                                          - */ -export interface VolumeStatusEvent { /** - *

                                                          A description of the event.

                                                          + *

                                                          The ID of the Amazon Web Services account that owns the resource.

                                                          */ - Description?: string; + ResourceOwnerId?: string; /** - *

                                                          The ID of this event.

                                                          + *

                                                          The resource type. Note that the tgw-peering resource type has been deprecated.

                                                          */ - EventId?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                          The type of this event.

                                                          + *

                                                          The ID of the resource.

                                                          */ - EventType?: string; + ResourceId?: string; /** - *

                                                          The latest end time of the event.

                                                          + *

                                                          The attachment state. Note that the initiating state has been deprecated.

                                                          */ - NotAfter?: Date; + State?: TransitGatewayAttachmentState | string; /** - *

                                                          The earliest start time of the event.

                                                          + *

                                                          The association.

                                                          */ - NotBefore?: Date; + Association?: TransitGatewayAttachmentAssociation; /** - *

                                                          The ID of the instance associated with the event.

                                                          + *

                                                          The creation time.

                                                          */ - InstanceId?: string; + CreationTime?: Date; + + /** + *

                                                          The tags for the attachment.

                                                          + */ + Tags?: Tag[]; } -export namespace VolumeStatusEvent { +export namespace TransitGatewayAttachment { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeStatusEvent): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayAttachment): any => ({ ...obj, }); } -export type VolumeStatusName = "io-enabled" | "io-performance"; - -/** - *

                                                          Describes a volume status.

                                                          - */ -export interface VolumeStatusDetails { +export interface DescribeTransitGatewayAttachmentsResult { /** - *

                                                          The name of the volume status.

                                                          + *

                                                          Information about the attachments.

                                                          */ - Name?: VolumeStatusName | string; + TransitGatewayAttachments?: TransitGatewayAttachment[]; /** - *

                                                          The intended status of the volume status.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - Status?: string; + NextToken?: string; } -export namespace VolumeStatusDetails { +export namespace DescribeTransitGatewayAttachmentsResult { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeStatusDetails): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayAttachmentsResult): any => ({ ...obj, }); } -export type VolumeStatusInfoStatus = "impaired" | "insufficient-data" | "ok"; - -/** - *

                                                          Describes the status of a volume.

                                                          - */ -export interface VolumeStatusInfo { - /** - *

                                                          The details of the volume status.

                                                          - */ - Details?: VolumeStatusDetails[]; - - /** - *

                                                          The status of the volume.

                                                          - */ - Status?: VolumeStatusInfoStatus | string; -} - -export namespace VolumeStatusInfo { - /** - * @internal - */ - export const filterSensitiveLog = (obj: VolumeStatusInfo): any => ({ - ...obj, - }); -} - -/** - *

                                                          Describes the volume status.

                                                          - */ -export interface VolumeStatusItem { - /** - *

                                                          The details of the operation.

                                                          - */ - Actions?: VolumeStatusAction[]; - - /** - *

                                                          The Availability Zone of the volume.

                                                          - */ - AvailabilityZone?: string; - +export interface DescribeTransitGatewayConnectPeersRequest { /** - *

                                                          The Amazon Resource Name (ARN) of the Outpost.

                                                          + *

                                                          The IDs of the Connect peers.

                                                          */ - OutpostArn?: string; + TransitGatewayConnectPeerIds?: string[]; /** - *

                                                          A list of events associated with the volume.

                                                          + *

                                                          One or more filters. The possible values are:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * state - The state of the Connect peer (pending | + * available | deleting | + * deleted).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * transit-gateway-attachment-id - The ID of the attachment.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * transit-gateway-connect-peer-id - The ID of the Connect peer.

                                                            + *
                                                          • + *
                                                          */ - Events?: VolumeStatusEvent[]; + Filters?: Filter[]; /** - *

                                                          The volume ID.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - VolumeId?: string; + MaxResults?: number; /** - *

                                                          The volume status.

                                                          + *

                                                          The token for the next page of results.

                                                          */ - VolumeStatus?: VolumeStatusInfo; + NextToken?: string; /** - *

                                                          Information about the instances to which the volume is attached.

                                                          + *

                                                          Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                          */ - AttachmentStatuses?: VolumeStatusAttachmentStatus[]; + DryRun?: boolean; } -export namespace VolumeStatusItem { +export namespace DescribeTransitGatewayConnectPeersRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeStatusItem): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectPeersRequest): any => ({ ...obj, }); } -export interface DescribeVolumeStatusResult { +export interface DescribeTransitGatewayConnectPeersResult { /** - *

                                                          The token to use to retrieve the next page of results. This value is null - * when there are no more results to return.

                                                          + *

                                                          Information about the Connect peers.

                                                          */ - NextToken?: string; + TransitGatewayConnectPeers?: TransitGatewayConnectPeer[]; /** - *

                                                          Information about the status of the volumes.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - VolumeStatuses?: VolumeStatusItem[]; + NextToken?: string; } -export namespace DescribeVolumeStatusResult { +export namespace DescribeTransitGatewayConnectPeersResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVolumeStatusResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectPeersResult): any => ({ ...obj, }); } -export type VpcAttributeName = "enableDnsHostnames" | "enableDnsSupport"; +export interface DescribeTransitGatewayConnectsRequest { + /** + *

                                                          The IDs of the attachments.

                                                          + */ + TransitGatewayAttachmentIds?: string[]; -export interface DescribeVpcAttributeRequest { /** - *

                                                          The VPC attribute.

                                                          + *

                                                          One or more filters. The possible values are:

                                                          + *
                                                            + *
                                                          • + *

                                                            + * options.protocol - The tunnel protocol (gre).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * state - The state of the attachment (initiating | + * initiatingRequest | pendingAcceptance | + * rollingBack | pending | available | + * modifying | deleting | deleted | + * failed | rejected | rejecting | + * failing).

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * transit-gateway-attachment-id - The ID of the + * Connect attachment.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * transit-gateway-id - The ID of the transit gateway.

                                                            + *
                                                          • + *
                                                          • + *

                                                            + * transport-transit-gateway-attachment-id - The ID of the transit gateway attachment from which the Connect attachment was created.

                                                            + *
                                                          • + *
                                                          */ - Attribute: VpcAttributeName | string | undefined; + Filters?: Filter[]; /** - *

                                                          The ID of the VPC.

                                                          + *

                                                          The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                          */ - VpcId: string | undefined; + MaxResults?: number; + + /** + *

                                                          The token for the next page of results.

                                                          + */ + NextToken?: string; /** *

                                                          Checks whether you have the required permissions for the action, without actually making the request, @@ -894,136 +783,152 @@ export interface DescribeVpcAttributeRequest { DryRun?: boolean; } -export namespace DescribeVpcAttributeRequest { +export namespace DescribeTransitGatewayConnectsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectsRequest): any => ({ ...obj, }); } -export interface DescribeVpcAttributeResult { - /** - *

                                                          The ID of the VPC.

                                                          - */ - VpcId?: string; - +export interface DescribeTransitGatewayConnectsResult { /** - *

                                                          Indicates whether the instances launched in the VPC get DNS hostnames. - * If this attribute is true, instances in the VPC get DNS hostnames; - * otherwise, they do not.

                                                          + *

                                                          Information about the Connect attachments.

                                                          */ - EnableDnsHostnames?: AttributeBooleanValue; + TransitGatewayConnects?: TransitGatewayConnect[]; /** - *

                                                          Indicates whether DNS resolution is enabled for - * the VPC. If this attribute is true, the Amazon DNS server - * resolves DNS hostnames for your instances to their corresponding - * IP addresses; otherwise, it does not.

                                                          + *

                                                          The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                          */ - EnableDnsSupport?: AttributeBooleanValue; + NextToken?: string; } -export namespace DescribeVpcAttributeResult { +export namespace DescribeTransitGatewayConnectsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcAttributeResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayConnectsResult): any => ({ ...obj, }); } -export interface DescribeVpcClassicLinkRequest { +export interface DescribeTransitGatewayMulticastDomainsRequest { /** - *

                                                          One or more filters.

                                                          - *
                                                            + *

                                                            The ID of the transit gateway multicast domain.

                                                            + */ + TransitGatewayMulticastDomainIds?: string[]; + + /** + *

                                                            One or more filters. The possible values are:

                                                            + *
                                                              *
                                                            • - *

                                                              - * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink - * (true | false).

                                                              - *
                                                            • + *

                                                              + * state - The state of the transit gateway multicast domain. Valid values are pending | available | deleting | deleted.

                                                              + * *
                                                            • - *

                                                              - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                              - *
                                                            • + *

                                                              + * transit-gateway-id - The ID of the transit gateway.

                                                              + * *
                                                            • - *

                                                              - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                              - *
                                                            • + *

                                                              + * transit-gateway-multicast-domain-id - The ID of the transit gateway multicast domain.

                                                              + * *
                                                            */ Filters?: Filter[]; + /** + *

                                                            The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                            + */ + MaxResults?: number; + + /** + *

                                                            The token for the next page of results.

                                                            + */ + NextToken?: string; + /** *

                                                            Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                            */ DryRun?: boolean; - - /** - *

                                                            One or more VPCs for which you want to describe the ClassicLink status.

                                                            - */ - VpcIds?: string[]; } -export namespace DescribeVpcClassicLinkRequest { +export namespace DescribeTransitGatewayMulticastDomainsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsRequest): any => ({ ...obj, }); } -/** - *

                                                            Describes whether a VPC is enabled for ClassicLink.

                                                            - */ -export interface VpcClassicLink { - /** - *

                                                            Indicates whether the VPC is enabled for ClassicLink.

                                                            - */ - ClassicLinkEnabled?: boolean; - +export interface DescribeTransitGatewayMulticastDomainsResult { /** - *

                                                            Any tags assigned to the VPC.

                                                            + *

                                                            Information about the transit gateway multicast domains.

                                                            */ - Tags?: Tag[]; + TransitGatewayMulticastDomains?: TransitGatewayMulticastDomain[]; /** - *

                                                            The ID of the VPC.

                                                            + *

                                                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                            */ - VpcId?: string; + NextToken?: string; } -export namespace VpcClassicLink { +export namespace DescribeTransitGatewayMulticastDomainsResult { /** * @internal */ - export const filterSensitiveLog = (obj: VpcClassicLink): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayMulticastDomainsResult): any => ({ ...obj, }); } -export interface DescribeVpcClassicLinkResult { +export interface DescribeTransitGatewayPeeringAttachmentsRequest { /** - *

                                                            The ClassicLink status of one or more VPCs.

                                                            + *

                                                            One or more IDs of the transit gateway peering attachments.

                                                            */ - Vpcs?: VpcClassicLink[]; -} + TransitGatewayAttachmentIds?: string[]; -export namespace DescribeVpcClassicLinkResult { /** - * @internal + *

                                                            One or more filters. The possible values are:

                                                            + *
                                                              + *
                                                            • + *

                                                              + * transit-gateway-attachment-id - The ID of the transit gateway attachment.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * local-owner-id - The ID of your Amazon Web Services account.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * remote-owner-id - The ID of the Amazon Web Services account in the remote Region that owns the transit gateway.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * state - The state of the peering attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting).

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                                              + *
                                                            • + *
                                                            • + *

                                                              + * transit-gateway-id - The ID of the transit gateway.

                                                              + *
                                                            • + *
                                                            */ - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkResult): any => ({ - ...obj, - }); -} + Filters?: Filter[]; -export interface DescribeVpcClassicLinkDnsSupportRequest { /** *

                                                            The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                                            @@ -1036,274 +941,297 @@ export interface DescribeVpcClassicLinkDnsSupportRequest { NextToken?: string; /** - *

                                                            One or more VPC IDs.

                                                            + *

                                                            Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                            */ - VpcIds?: string[]; + DryRun?: boolean; } -export namespace DescribeVpcClassicLinkDnsSupportRequest { +export namespace DescribeTransitGatewayPeeringAttachmentsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsRequest): any => ({ ...obj, }); } -/** - *

                                                            Describes the ClassicLink DNS support status of a VPC.

                                                            - */ -export interface ClassicLinkDnsSupport { +export interface DescribeTransitGatewayPeeringAttachmentsResult { /** - *

                                                            Indicates whether ClassicLink DNS support is enabled for the VPC.

                                                            + *

                                                            The transit gateway peering attachments.

                                                            */ - ClassicLinkDnsSupported?: boolean; + TransitGatewayPeeringAttachments?: TransitGatewayPeeringAttachment[]; - /** - *

                                                            The ID of the VPC.

                                                            - */ - VpcId?: string; -} - -export namespace ClassicLinkDnsSupport { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ClassicLinkDnsSupport): any => ({ - ...obj, - }); -} - -export interface DescribeVpcClassicLinkDnsSupportResult { /** *

                                                            The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                            */ NextToken?: string; - - /** - *

                                                            Information about the ClassicLink DNS support status of the VPCs.

                                                            - */ - Vpcs?: ClassicLinkDnsSupport[]; } -export namespace DescribeVpcClassicLinkDnsSupportResult { +export namespace DescribeTransitGatewayPeeringAttachmentsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayPeeringAttachmentsResult): any => ({ ...obj, }); } -export interface DescribeVpcEndpointConnectionNotificationsRequest { - /** - *

                                                            Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                            - */ - DryRun?: boolean; - +export interface DescribeTransitGatewayRouteTablesRequest { /** - *

                                                            The ID of the notification.

                                                            + *

                                                            The IDs of the transit gateway route tables.

                                                            */ - ConnectionNotificationId?: string; + TransitGatewayRouteTableIds?: string[]; /** - *

                                                            One or more filters.

                                                            - *
                                                              - *
                                                            • - *

                                                              - * connection-notification-arn - The ARN of the SNS topic for the - * notification.

                                                              - *
                                                            • + *

                                                              One or more filters. The possible values are:

                                                              + *
                                                                *
                                                              • - *

                                                                - * connection-notification-id - The ID of the - * notification.

                                                                + *

                                                                + * default-association-route-table - Indicates whether this is the default + * association route table for the transit gateway (true | false).

                                                                *
                                                              • *
                                                              • - *

                                                                - * connection-notification-state - The state of the notification - * (Enabled | Disabled).

                                                                + *

                                                                + * default-propagation-route-table - Indicates whether this is the default + * propagation route table for the transit gateway (true | false).

                                                                *
                                                              • *
                                                              • - *

                                                                - * connection-notification-type - The type of notification - * (Topic).

                                                                + *

                                                                + * state - The state of the route table (available | deleting | deleted | pending).

                                                                *
                                                              • *
                                                              • - *

                                                                - * service-id - The ID of the endpoint service.

                                                                + *

                                                                + * transit-gateway-id - The ID of the transit gateway.

                                                                *
                                                              • *
                                                              • - *

                                                                - * vpc-endpoint-id - The ID of the VPC endpoint.

                                                                + *

                                                                + * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                                *
                                                              • *
                                                              */ Filters?: Filter[]; /** - *

                                                              The maximum number of results to return in a single call. To retrieve the remaining - * results, make another request with the returned NextToken value.

                                                              + *

                                                              The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                              */ MaxResults?: number; /** - *

                                                              The token to request the next page of results.

                                                              + *

                                                              The token for the next page of results.

                                                              */ NextToken?: string; + + /** + *

                                                              Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                              + */ + DryRun?: boolean; } -export namespace DescribeVpcEndpointConnectionNotificationsRequest { +export namespace DescribeTransitGatewayRouteTablesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesRequest): any => ({ ...obj, }); } -export interface DescribeVpcEndpointConnectionNotificationsResult { +export interface DescribeTransitGatewayRouteTablesResult { /** - *

                                                              One or more notifications.

                                                              + *

                                                              Information about the transit gateway route tables.

                                                              */ - ConnectionNotificationSet?: ConnectionNotification[]; + TransitGatewayRouteTables?: TransitGatewayRouteTable[]; /** - *

                                                              The token to use to retrieve the next page of results. This value is - * null when there are no more results to return.

                                                              + *

                                                              The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                              */ NextToken?: string; } -export namespace DescribeVpcEndpointConnectionNotificationsResult { +export namespace DescribeTransitGatewayRouteTablesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayRouteTablesResult): any => ({ ...obj, }); } -export interface DescribeVpcEndpointConnectionsRequest { +export interface DescribeTransitGatewaysRequest { /** - *

                                                              Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                              + *

                                                              The IDs of the transit gateways.

                                                              */ - DryRun?: boolean; + TransitGatewayIds?: string[]; /** - *

                                                              One or more filters.

                                                              - *
                                                                + *

                                                                One or more filters. The possible values are:

                                                                + *
                                                                  *
                                                                • - *

                                                                  - * service-id - The ID of the service.

                                                                  + *

                                                                  + * options.propagation-default-route-table-id - The ID of the default propagation route table.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * vpc-endpoint-owner - The ID of the Amazon Web Services account ID - * that owns the endpoint.

                                                                  + * options.amazon-side-asn - The private ASN for the Amazon side of a BGP session.

                                                                  *
                                                                • *
                                                                • - *

                                                                  - * vpc-endpoint-state - The state of the endpoint - * (pendingAcceptance | pending | - * available | deleting | deleted | - * rejected | failed).

                                                                  - *
                                                                • + *

                                                                  + * options.association-default-route-table-id - The ID of the default association route table.

                                                                  + * *
                                                                • - *

                                                                  - * vpc-endpoint-id - The ID of the endpoint.

                                                                  - *
                                                                • + *

                                                                  + * options.auto-accept-shared-attachments - Indicates whether there is automatic acceptance of attachment requests (enable | disable).

                                                                  + * + *
                                                                • + *

                                                                  + * options.default-route-table-association - Indicates whether resource attachments are automatically + * associated with the default association route table (enable | disable).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * options.default-route-table-propagation - Indicates whether resource attachments automatically propagate + * routes to the default propagation route table (enable | disable).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * options.dns-support - Indicates whether DNS support is enabled (enable | disable).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol support is enabled (enable | disable).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * owner-id - The ID of the Amazon Web Services account that owns the transit gateway.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * state - The state of the transit gateway (available | deleted | deleting | modifying | pending).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * transit-gateway-id - The ID of the transit gateway.

                                                                  + *
                                                                • *
                                                                */ Filters?: Filter[]; /** - *

                                                                The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

                                                                + *

                                                                The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                */ MaxResults?: number; /** - *

                                                                The token to retrieve the next page of results.

                                                                + *

                                                                The token for the next page of results.

                                                                */ NextToken?: string; + + /** + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                + */ + DryRun?: boolean; } -export namespace DescribeVpcEndpointConnectionsRequest { +export namespace DescribeTransitGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewaysRequest): any => ({ ...obj, }); } -/** - *

                                                                Describes a VPC endpoint connection to a service.

                                                                - */ -export interface VpcEndpointConnection { +export interface DescribeTransitGatewaysResult { /** - *

                                                                The ID of the service to which the endpoint is connected.

                                                                + *

                                                                Information about the transit gateways.

                                                                */ - ServiceId?: string; + TransitGateways?: TransitGateway[]; /** - *

                                                                The ID of the VPC endpoint.

                                                                + *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                */ - VpcEndpointId?: string; + NextToken?: string; +} +export namespace DescribeTransitGatewaysResult { /** - *

                                                                The ID of the Amazon Web Services account that owns the VPC endpoint.

                                                                + * @internal */ - VpcEndpointOwner?: string; + export const filterSensitiveLog = (obj: DescribeTransitGatewaysResult): any => ({ + ...obj, + }); +} +export interface DescribeTransitGatewayVpcAttachmentsRequest { /** - *

                                                                The state of the VPC endpoint.

                                                                + *

                                                                The IDs of the attachments.

                                                                */ - VpcEndpointState?: State | string; + TransitGatewayAttachmentIds?: string[]; /** - *

                                                                The date and time that the VPC endpoint was created.

                                                                + *

                                                                One or more filters. The possible values are:

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * state - The state of the attachment. Valid values are available | deleted | deleting | failed | failing | initiatingRequest | modifying | pendingAcceptance | pending | rollingBack | rejected | rejecting.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * transit-gateway-attachment-id - The ID of the attachment.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * transit-gateway-id - The ID of the transit gateway.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * vpc-id - The ID of the VPC.

                                                                  + *
                                                                • + *
                                                                */ - CreationTimestamp?: Date; + Filters?: Filter[]; /** - *

                                                                The DNS entries for the VPC endpoint.

                                                                + *

                                                                The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                */ - DnsEntries?: DnsEntry[]; + MaxResults?: number; /** - *

                                                                The Amazon Resource Names (ARNs) of the network load balancers for the service.

                                                                + *

                                                                The token for the next page of results.

                                                                */ - NetworkLoadBalancerArns?: string[]; + NextToken?: string; /** - *

                                                                The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - GatewayLoadBalancerArns?: string[]; + DryRun?: boolean; } -export namespace VpcEndpointConnection { +export namespace DescribeTransitGatewayVpcAttachmentsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: VpcEndpointConnection): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsRequest): any => ({ ...obj, }); } -export interface DescribeVpcEndpointConnectionsResult { +export interface DescribeTransitGatewayVpcAttachmentsResult { /** - *

                                                                Information about one or more VPC endpoint connections.

                                                                + *

                                                                Information about the VPC attachments.

                                                                */ - VpcEndpointConnections?: VpcEndpointConnection[]; + TransitGatewayVpcAttachments?: TransitGatewayVpcAttachment[]; /** *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                @@ -1311,19 +1239,21 @@ export interface DescribeVpcEndpointConnectionsResult { NextToken?: string; } -export namespace DescribeVpcEndpointConnectionsResult { +export namespace DescribeTransitGatewayVpcAttachmentsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTransitGatewayVpcAttachmentsResult): any => ({ ...obj, }); } -/** - *

                                                                Contains the parameters for DescribeVpcEndpoints.

                                                                - */ -export interface DescribeVpcEndpointsRequest { +export interface DescribeTrunkInterfaceAssociationsRequest { + /** + *

                                                                The IDs of the associations.

                                                                + */ + AssociationIds?: string[]; + /** *

                                                                Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1331,260 +1261,278 @@ export interface DescribeVpcEndpointsRequest { */ DryRun?: boolean; - /** - *

                                                                One or more endpoint IDs.

                                                                - */ - VpcEndpointIds?: string[]; - /** *

                                                                One or more filters.

                                                                *
                                                                  *
                                                                • *

                                                                  - * service-name - The name of the service.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * vpc-id - The ID of the VPC in which the endpoint resides.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * vpc-endpoint-id - The ID of the endpoint.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * vpc-endpoint-state - The state of the endpoint - * (pendingAcceptance | pending | - * available | deleting | deleted | - * rejected | failed).

                                                                  + * gre-key - The ID of a trunk interface association.

                                                                  *
                                                                • *
                                                                • *

                                                                  - * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

                                                                  + * interface-protocol - The interface protocol. Valid values are VLAN and GRE.

                                                                  *
                                                                • - *
                                                                • - *

                                                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  - *
                                                                • *
                                                                */ Filters?: Filter[]; /** - *

                                                                The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                - *

                                                                Constraint: If the value is greater than 1,000, we return only 1,000 items.

                                                                + *

                                                                The token for the next page of results.

                                                                */ - MaxResults?: number; + NextToken?: string; /** - *

                                                                The token for the next set of items to return. (You received this token from a prior call.)

                                                                + *

                                                                The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                */ - NextToken?: string; + MaxResults?: number; } -export namespace DescribeVpcEndpointsRequest { +export namespace DescribeTrunkInterfaceAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeTrunkInterfaceAssociationsRequest): any => ({ ...obj, }); } -/** - *

                                                                Contains the output of DescribeVpcEndpoints.

                                                                - */ -export interface DescribeVpcEndpointsResult { +export interface DescribeTrunkInterfaceAssociationsResult { /** - *

                                                                Information about the endpoints.

                                                                + *

                                                                Information about the trunk associations.

                                                                */ - VpcEndpoints?: VpcEndpoint[]; + InterfaceAssociations?: TrunkInterfaceAssociation[]; /** - *

                                                                The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                + *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                */ NextToken?: string; } -export namespace DescribeVpcEndpointsResult { +export namespace DescribeTrunkInterfaceAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeTrunkInterfaceAssociationsResult): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServiceConfigurationsRequest { - /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                - */ - DryRun?: boolean; - - /** - *

                                                                The IDs of one or more services.

                                                                - */ - ServiceIds?: string[]; +export type VolumeAttributeName = "autoEnableIO" | "productCodes"; +export interface DescribeVolumeAttributeRequest { /** - *

                                                                One or more filters.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * service-name - The name of the service.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * service-id - The ID of the service.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * service-state - The state of the service (Pending | - * Available | Deleting | Deleted | - * Failed).

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  - *
                                                                • - *
                                                                + *

                                                                The attribute of the volume. This parameter is required.

                                                                */ - Filters?: Filter[]; + Attribute: VolumeAttributeName | string | undefined; /** - *

                                                                The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

                                                                + *

                                                                The ID of the volume.

                                                                */ - MaxResults?: number; + VolumeId: string | undefined; /** - *

                                                                The token to retrieve the next page of results.

                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - NextToken?: string; + DryRun?: boolean; } -export namespace DescribeVpcEndpointServiceConfigurationsRequest { +export namespace DescribeVolumeAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumeAttributeRequest): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServiceConfigurationsResult { +export interface DescribeVolumeAttributeResult { /** - *

                                                                Information about one or more services.

                                                                + *

                                                                The state of autoEnableIO attribute.

                                                                */ - ServiceConfigurations?: ServiceConfiguration[]; + AutoEnableIO?: AttributeBooleanValue; /** - *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                + *

                                                                A list of product codes.

                                                                */ - NextToken?: string; + ProductCodes?: ProductCode[]; + + /** + *

                                                                The ID of the volume.

                                                                + */ + VolumeId?: string; } -export namespace DescribeVpcEndpointServiceConfigurationsResult { +export namespace DescribeVolumeAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumeAttributeResult): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServicePermissionsRequest { +export interface DescribeVolumesRequest { /** - *

                                                                Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                + *

                                                                The filters.

                                                                + *
                                                                  + *
                                                                • + *

                                                                  + * attachment.attach-time - The time stamp when the attachment + * initiated.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * attachment.delete-on-termination - Whether the volume is deleted on + * instance termination.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * attachment.device - The device name specified in the block device mapping + * (for example, /dev/sda1).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * attachment.instance-id - The ID of the instance the volume is attached + * to.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * attachment.status - The attachment state (attaching | + * attached | detaching).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * availability-zone - The Availability Zone in which the volume was + * created.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * create-time - The time stamp when the volume was created.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * encrypted - Indicates whether the volume is encrypted (true + * | false)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * multi-attach-enabled - Indicates whether the volume is enabled for Multi-Attach (true + * | false)

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * fast-restored - Indicates whether the volume was created from a + * snapshot that is enabled for fast snapshot restore (true | + * false).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * size - The size of the volume, in GiB.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * snapshot-id - The snapshot from which the volume was created.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * status - The state of the volume (creating | + * available | in-use | deleting | + * deleted | error).

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * volume-id - The volume ID.

                                                                  + *
                                                                • + *
                                                                • + *

                                                                  + * volume-type - The Amazon EBS volume type (gp2 | gp3 | io1 | io2 | + * st1 | sc1| standard)

                                                                  + *
                                                                • + *
                                                                */ - DryRun?: boolean; + Filters?: Filter[]; /** - *

                                                                The ID of the service.

                                                                + *

                                                                The volume IDs.

                                                                */ - ServiceId: string | undefined; + VolumeIds?: string[]; /** - *

                                                                One or more filters.

                                                                - *
                                                                  - *
                                                                • - *

                                                                  - * principal - The ARN of the principal.

                                                                  - *
                                                                • - *
                                                                • - *

                                                                  - * principal-type - The principal type (All | - * Service | OrganizationUnit | Account - * | User | Role).

                                                                  - *
                                                                • - *
                                                                + *

                                                                Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                */ - Filters?: Filter[]; + DryRun?: boolean; /** - *

                                                                The maximum number of results to return for the request in a single page. The remaining - * results of the initial request can be seen by sending another request with the returned - * NextToken value. This value can be between 5 and 1,000; if - * MaxResults is given a value larger than 1,000, only 1,000 results are - * returned.

                                                                + *

                                                                The maximum number of volume results returned by DescribeVolumes in paginated + * output. When this parameter is used, DescribeVolumes only returns + * MaxResults results in a single page along with a NextToken + * response element. The remaining results of the initial request can be seen by sending another + * DescribeVolumes request with the returned NextToken value. This + * value can be between 5 and 500; if MaxResults is given a value larger than 500, + * only 500 results are returned. If this parameter is not used, then + * DescribeVolumes returns all results. You cannot specify this parameter and the + * volume IDs parameter in the same request.

                                                                */ MaxResults?: number; /** - *

                                                                The token to retrieve the next page of results.

                                                                + *

                                                                The NextToken value returned from a previous paginated + * DescribeVolumes 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.

                                                                */ NextToken?: string; } -export namespace DescribeVpcEndpointServicePermissionsRequest { +export namespace DescribeVolumesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumesRequest): any => ({ ...obj, }); } -export interface DescribeVpcEndpointServicePermissionsResult { +export interface DescribeVolumesResult { /** - *

                                                                Information about one or more allowed principals.

                                                                + *

                                                                Information about the volumes.

                                                                */ - AllowedPrincipals?: AllowedPrincipal[]; + Volumes?: Volume[]; /** - *

                                                                The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                + *

                                                                The NextToken value to include in a future DescribeVolumes + * request. When the results of a DescribeVolumes request exceed + * MaxResults, this value can be used to retrieve the next page of results. This + * value is null when there are no more results to return.

                                                                */ NextToken?: string; } -export namespace DescribeVpcEndpointServicePermissionsResult { +export namespace DescribeVolumesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumesResult): any => ({ ...obj, }); } -/** - *

                                                                Contains the parameters for DescribeVpcEndpointServices.

                                                                - */ -export interface DescribeVpcEndpointServicesRequest { +export interface DescribeVolumesModificationsRequest { /** *

                                                                Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -1593,652 +1541,1086 @@ export interface DescribeVpcEndpointServicesRequest { DryRun?: boolean; /** - *

                                                                One or more service names.

                                                                + *

                                                                The IDs of the volumes.

                                                                */ - ServiceNames?: string[]; + VolumeIds?: string[]; /** - *

                                                                One or more filters.

                                                                - *
                                                                  + *

                                                                  The filters.

                                                                  + *
                                                                    *
                                                                  • - *

                                                                    - * service-name - The name of the service.

                                                                    + *

                                                                    + * modification-state - The current modification state (modifying | + * optimizing | completed | failed).

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * service-type - The type of service (Interface | - * Gateway).

                                                                    + *

                                                                    + * original-iops - The original IOPS rate of the volume.

                                                                    *
                                                                  • *
                                                                  • - *

                                                                    - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                    - *
                                                                  • + *

                                                                    + * original-size - The original size of the volume, in GiB.

                                                                    + * *
                                                                  • - *

                                                                    - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                    - *
                                                                  • + *

                                                                    + * original-volume-type - The original volume type of the volume (standard | + * io1 | io2 | gp2 | sc1 | st1).

                                                                    + * + *
                                                                  • + *

                                                                    + * originalMultiAttachEnabled - Indicates whether Multi-Attach support was enabled (true | false).

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * start-time - The modification start time.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * target-iops - The target IOPS rate of the volume.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * target-size - The target size of the volume, in GiB.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * target-volume-type - The target volume type of the volume (standard | + * io1 | io2 | gp2 | sc1 | st1).

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * targetMultiAttachEnabled - Indicates whether Multi-Attach support is to be enabled (true | false).

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * volume-id - The ID of the volume.

                                                                    + *
                                                                  • *
                                                                  */ Filters?: Filter[]; /** - *

                                                                  The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                  - *

                                                                  Constraint: If the value is greater than 1,000, we return only 1,000 items.

                                                                  + *

                                                                  The nextToken value returned by a previous paginated request.

                                                                  */ - MaxResults?: number; + NextToken?: string; /** - *

                                                                  The token for the next set of items to return. (You received this token from a prior call.)

                                                                  + *

                                                                  The maximum number of results (up to a limit of 500) to be returned in a paginated + * request.

                                                                  */ - NextToken?: string; + MaxResults?: number; } -export namespace DescribeVpcEndpointServicesRequest { +export namespace DescribeVolumesModificationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumesModificationsRequest): any => ({ ...obj, }); } +export type VolumeModificationState = "completed" | "failed" | "modifying" | "optimizing"; + /** - *

                                                                  Information about the Private DNS name for interface endpoints.

                                                                  + *

                                                                  Describes the modification status of an EBS volume.

                                                                  + *

                                                                  If the volume has never been modified, some element values will be null.

                                                                  */ -export interface PrivateDnsDetails { +export interface VolumeModification { /** - *

                                                                  The private DNS name assigned to the VPC endpoint service.

                                                                  + *

                                                                  The ID of the volume.

                                                                  */ - PrivateDnsName?: string; -} + VolumeId?: string; -export namespace PrivateDnsDetails { /** - * @internal + *

                                                                  The current modification state. The modification state is null for unmodified + * volumes.

                                                                  */ - export const filterSensitiveLog = (obj: PrivateDnsDetails): any => ({ - ...obj, - }); -} + ModificationState?: VolumeModificationState | string; -/** - *

                                                                  Describes a VPC endpoint service.

                                                                  - */ -export interface ServiceDetail { /** - *

                                                                  The Amazon Resource Name (ARN) of the service.

                                                                  + *

                                                                  A status message about the modification progress or failure.

                                                                  */ - ServiceName?: string; + StatusMessage?: string; /** - *

                                                                  The ID of the endpoint service.

                                                                  + *

                                                                  The target size of the volume, in GiB.

                                                                  */ - ServiceId?: string; + TargetSize?: number; /** - *

                                                                  The type of service.

                                                                  + *

                                                                  The target IOPS rate of the volume.

                                                                  */ - ServiceType?: ServiceTypeDetail[]; + TargetIops?: number; /** - *

                                                                  The Availability Zones in which the service is available.

                                                                  + *

                                                                  The target EBS volume type of the volume.

                                                                  */ - AvailabilityZones?: string[]; + TargetVolumeType?: VolumeType | string; /** - *

                                                                  The Amazon Web Services account ID of the service owner.

                                                                  + *

                                                                  The target throughput of the volume, in MiB/s.

                                                                  */ - Owner?: string; + TargetThroughput?: number; /** - *

                                                                  The DNS names for the service.

                                                                  + *

                                                                  The target setting for Amazon EBS Multi-Attach.

                                                                  */ - BaseEndpointDnsNames?: string[]; + TargetMultiAttachEnabled?: boolean; /** - *

                                                                  The private DNS name for the service.

                                                                  + *

                                                                  The original size of the volume, in GiB.

                                                                  */ - PrivateDnsName?: string; + OriginalSize?: number; /** - *

                                                                  The private DNS names assigned to the VPC endpoint service.

                                                                  + *

                                                                  The original IOPS rate of the volume.

                                                                  */ - PrivateDnsNames?: PrivateDnsDetails[]; + OriginalIops?: number; /** - *

                                                                  Indicates whether the service supports endpoint policies.

                                                                  + *

                                                                  The original EBS volume type of the volume.

                                                                  */ - VpcEndpointPolicySupported?: boolean; + OriginalVolumeType?: VolumeType | string; /** - *

                                                                  Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

                                                                  + *

                                                                  The original throughput of the volume, in MiB/s.

                                                                  */ - AcceptanceRequired?: boolean; + OriginalThroughput?: number; /** - *

                                                                  Indicates whether the service manages its VPC endpoints. Management of the service VPC - * endpoints using the VPC endpoint API is restricted.

                                                                  + *

                                                                  The original setting for Amazon EBS Multi-Attach.

                                                                  */ - ManagesVpcEndpoints?: boolean; + OriginalMultiAttachEnabled?: boolean; /** - *

                                                                  Any tags assigned to the service.

                                                                  + *

                                                                  The modification progress, from 0 to 100 percent complete.

                                                                  */ - Tags?: Tag[]; + Progress?: number; /** - *

                                                                  The verification state of the VPC endpoint service.

                                                                  - *

                                                                  Consumers of the endpoint service cannot use the private name when the state is not verified.

                                                                  + *

                                                                  The modification start time.

                                                                  */ - PrivateDnsNameVerificationState?: DnsNameState | string; + StartTime?: Date; + + /** + *

                                                                  The modification completion or failure time.

                                                                  + */ + EndTime?: Date; } -export namespace ServiceDetail { +export namespace VolumeModification { /** * @internal */ - export const filterSensitiveLog = (obj: ServiceDetail): any => ({ + export const filterSensitiveLog = (obj: VolumeModification): any => ({ ...obj, }); } -/** - *

                                                                  Contains the output of DescribeVpcEndpointServices.

                                                                  - */ -export interface DescribeVpcEndpointServicesResult { - /** - *

                                                                  A list of supported services.

                                                                  - */ - ServiceNames?: string[]; - +export interface DescribeVolumesModificationsResult { /** - *

                                                                  Information about the service.

                                                                  + *

                                                                  Information about the volume modifications.

                                                                  */ - ServiceDetails?: ServiceDetail[]; + VolumesModifications?: VolumeModification[]; /** - *

                                                                  The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                  + *

                                                                  Token for pagination, null if there are no more results

                                                                  */ NextToken?: string; } -export namespace DescribeVpcEndpointServicesResult { +export namespace DescribeVolumesModificationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVolumesModificationsResult): any => ({ ...obj, }); } -export interface DescribeVpcPeeringConnectionsRequest { +export interface DescribeVolumeStatusRequest { /** - *

                                                                  One or more filters.

                                                                  + *

                                                                  The filters.

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter - * VPC.

                                                                    + * action.code - The action code for the event (for example, + * enable-volume-io).

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the - * accepter VPC.

                                                                    + * action.description - A description of the action.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * accepter-vpc-info.vpc-id - The ID of the accepter VPC.

                                                                    + * action.event-id - The event ID associated with the action.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * expiration-time - The expiration date and time for the VPC peering - * connection.

                                                                    + * availability-zone - The Availability Zone of the instance.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * requester-vpc-info.cidr-block - The IPv4 CIDR block of the - * requester's VPC.

                                                                    + * event.description - A description of the event.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the - * requester VPC.

                                                                    + * event.event-id - The event ID.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * requester-vpc-info.vpc-id - The ID of the requester VPC.

                                                                    + * event.event-type - The event type (for io-enabled: + * passed | failed; for io-performance: + * io-performance:degraded | io-performance:severely-degraded | + * io-performance:stalled).

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * status-code - The status of the VPC peering connection - * (pending-acceptance | failed | - * expired | provisioning | active | - * deleting | deleted | - * rejected).

                                                                    + * event.not-after - The latest end time for the event.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * status-message - A message that provides more information about the status - * of the VPC peering connection, if applicable.

                                                                    + * event.not-before - The earliest start time for the event.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                    + * volume-status.details-name - The cause for + * volume-status.status (io-enabled | + * io-performance).

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                    + * volume-status.details-status - The status of + * volume-status.details-name (for io-enabled: + * passed | failed; for io-performance: + * normal | degraded | severely-degraded | + * stalled).

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * vpc-peering-connection-id - The ID of the VPC peering connection.

                                                                    + * volume-status.status - The status of the volume (ok | + * impaired | warning | insufficient-data).

                                                                    *
                                                                  • *
                                                                  */ Filters?: Filter[]; /** - *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                  + *

                                                                  The maximum number of volume results returned by DescribeVolumeStatus in + * paginated output. When this parameter is used, the request only returns + * MaxResults results in a single page along with a NextToken + * response element. The remaining results of the initial request can be seen by sending another + * request with the returned NextToken value. This value can be between 5 and 1,000; + * if MaxResults is given a value larger than 1,000, only 1,000 results are returned. + * If this parameter is not used, then DescribeVolumeStatus returns all results. You + * cannot specify this parameter and the volume IDs parameter in the same request.

                                                                  */ - DryRun?: boolean; + MaxResults?: number; /** - *

                                                                  One or more VPC peering connection IDs.

                                                                  - *

                                                                  Default: Describes all your VPC peering connections.

                                                                  + *

                                                                  The NextToken value to include in a future DescribeVolumeStatus + * request. When the results of the request exceed MaxResults, this value can be + * used to retrieve the next page of results. This value is null when there are no + * more results to return.

                                                                  */ - VpcPeeringConnectionIds?: string[]; + NextToken?: string; /** - *

                                                                  The token for the next page of results.

                                                                  + *

                                                                  The IDs of the volumes.

                                                                  + *

                                                                  Default: Describes all your volumes.

                                                                  */ - NextToken?: string; + VolumeIds?: string[]; + /** + *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                  + */ + DryRun?: boolean; +} + +export namespace DescribeVolumeStatusRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVolumeStatusRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                  Describes a volume status operation code.

                                                                  + */ +export interface VolumeStatusAction { + /** + *

                                                                  The code identifying the operation, for example, enable-volume-io.

                                                                  + */ + Code?: string; + + /** + *

                                                                  A description of the operation.

                                                                  + */ + Description?: string; + + /** + *

                                                                  The ID of the event associated with this operation.

                                                                  + */ + EventId?: string; + + /** + *

                                                                  The event type associated with this operation.

                                                                  + */ + EventType?: string; +} + +export namespace VolumeStatusAction { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VolumeStatusAction): any => ({ + ...obj, + }); +} + +/** + *

                                                                  Information about the instances to which the volume is attached.

                                                                  + */ +export interface VolumeStatusAttachmentStatus { + /** + *

                                                                  The maximum IOPS supported by the attached instance.

                                                                  + */ + IoPerformance?: string; + + /** + *

                                                                  The ID of the attached instance.

                                                                  + */ + InstanceId?: string; +} + +export namespace VolumeStatusAttachmentStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VolumeStatusAttachmentStatus): any => ({ + ...obj, + }); +} + +/** + *

                                                                  Describes a volume status event.

                                                                  + */ +export interface VolumeStatusEvent { + /** + *

                                                                  A description of the event.

                                                                  + */ + Description?: string; + + /** + *

                                                                  The ID of this event.

                                                                  + */ + EventId?: string; + + /** + *

                                                                  The type of this event.

                                                                  + */ + EventType?: string; + + /** + *

                                                                  The latest end time of the event.

                                                                  + */ + NotAfter?: Date; + + /** + *

                                                                  The earliest start time of the event.

                                                                  + */ + NotBefore?: Date; + + /** + *

                                                                  The ID of the instance associated with the event.

                                                                  + */ + InstanceId?: string; +} + +export namespace VolumeStatusEvent { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VolumeStatusEvent): any => ({ + ...obj, + }); +} + +export type VolumeStatusName = "io-enabled" | "io-performance"; + +/** + *

                                                                  Describes a volume status.

                                                                  + */ +export interface VolumeStatusDetails { + /** + *

                                                                  The name of the volume status.

                                                                  + */ + Name?: VolumeStatusName | string; + + /** + *

                                                                  The intended status of the volume status.

                                                                  + */ + Status?: string; +} + +export namespace VolumeStatusDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VolumeStatusDetails): any => ({ + ...obj, + }); +} + +export type VolumeStatusInfoStatus = "impaired" | "insufficient-data" | "ok"; + +/** + *

                                                                  Describes the status of a volume.

                                                                  + */ +export interface VolumeStatusInfo { + /** + *

                                                                  The details of the volume status.

                                                                  + */ + Details?: VolumeStatusDetails[]; + + /** + *

                                                                  The status of the volume.

                                                                  + */ + Status?: VolumeStatusInfoStatus | string; +} + +export namespace VolumeStatusInfo { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VolumeStatusInfo): any => ({ + ...obj, + }); +} + +/** + *

                                                                  Describes the volume status.

                                                                  + */ +export interface VolumeStatusItem { + /** + *

                                                                  The details of the operation.

                                                                  + */ + Actions?: VolumeStatusAction[]; + + /** + *

                                                                  The Availability Zone of the volume.

                                                                  + */ + AvailabilityZone?: string; + + /** + *

                                                                  The Amazon Resource Name (ARN) of the Outpost.

                                                                  + */ + OutpostArn?: string; + + /** + *

                                                                  A list of events associated with the volume.

                                                                  + */ + Events?: VolumeStatusEvent[]; + + /** + *

                                                                  The volume ID.

                                                                  + */ + VolumeId?: string; + + /** + *

                                                                  The volume status.

                                                                  + */ + VolumeStatus?: VolumeStatusInfo; + + /** + *

                                                                  Information about the instances to which the volume is attached.

                                                                  + */ + AttachmentStatuses?: VolumeStatusAttachmentStatus[]; +} + +export namespace VolumeStatusItem { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VolumeStatusItem): any => ({ + ...obj, + }); +} + +export interface DescribeVolumeStatusResult { + /** + *

                                                                  The token to use to retrieve the next page of results. This value is null + * when there are no more results to return.

                                                                  + */ + NextToken?: string; + + /** + *

                                                                  Information about the status of the volumes.

                                                                  + */ + VolumeStatuses?: VolumeStatusItem[]; +} + +export namespace DescribeVolumeStatusResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVolumeStatusResult): any => ({ + ...obj, + }); +} + +export type VpcAttributeName = "enableDnsHostnames" | "enableDnsSupport"; + +export interface DescribeVpcAttributeRequest { + /** + *

                                                                  The VPC attribute.

                                                                  + */ + Attribute: VpcAttributeName | string | undefined; + + /** + *

                                                                  The ID of the VPC.

                                                                  + */ + VpcId: string | undefined; + + /** + *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                  + */ + DryRun?: boolean; +} + +export namespace DescribeVpcAttributeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcAttributeRequest): any => ({ + ...obj, + }); +} + +export interface DescribeVpcAttributeResult { + /** + *

                                                                  The ID of the VPC.

                                                                  + */ + VpcId?: string; + + /** + *

                                                                  Indicates whether the instances launched in the VPC get DNS hostnames. + * If this attribute is true, instances in the VPC get DNS hostnames; + * otherwise, they do not.

                                                                  + */ + EnableDnsHostnames?: AttributeBooleanValue; + + /** + *

                                                                  Indicates whether DNS resolution is enabled for + * the VPC. If this attribute is true, the Amazon DNS server + * resolves DNS hostnames for your instances to their corresponding + * IP addresses; otherwise, it does not.

                                                                  + */ + EnableDnsSupport?: AttributeBooleanValue; +} + +export namespace DescribeVpcAttributeResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcAttributeResult): any => ({ + ...obj, + }); +} + +export interface DescribeVpcClassicLinkRequest { + /** + *

                                                                  One or more filters.

                                                                  + *
                                                                    + *
                                                                  • + *

                                                                    + * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink + * (true | false).

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                    + *
                                                                  • + *
                                                                  + */ + Filters?: Filter[]; + + /** + *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                  + */ + DryRun?: boolean; + + /** + *

                                                                  One or more VPCs for which you want to describe the ClassicLink status.

                                                                  + */ + VpcIds?: string[]; +} + +export namespace DescribeVpcClassicLinkRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                  Describes whether a VPC is enabled for ClassicLink.

                                                                  + */ +export interface VpcClassicLink { + /** + *

                                                                  Indicates whether the VPC is enabled for ClassicLink.

                                                                  + */ + ClassicLinkEnabled?: boolean; + + /** + *

                                                                  Any tags assigned to the VPC.

                                                                  + */ + Tags?: Tag[]; + + /** + *

                                                                  The ID of the VPC.

                                                                  + */ + VpcId?: string; +} + +export namespace VpcClassicLink { + /** + * @internal + */ + export const filterSensitiveLog = (obj: VpcClassicLink): any => ({ + ...obj, + }); +} + +export interface DescribeVpcClassicLinkResult { + /** + *

                                                                  The ClassicLink status of one or more VPCs.

                                                                  + */ + Vpcs?: VpcClassicLink[]; +} + +export namespace DescribeVpcClassicLinkResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkResult): any => ({ + ...obj, + }); +} + +export interface DescribeVpcClassicLinkDnsSupportRequest { /** *

                                                                  The maximum number of results to return with a single call. * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  */ MaxResults?: number; + + /** + *

                                                                  The token for the next page of results.

                                                                  + */ + NextToken?: string; + + /** + *

                                                                  One or more VPC IDs.

                                                                  + */ + VpcIds?: string[]; } -export namespace DescribeVpcPeeringConnectionsRequest { +export namespace DescribeVpcClassicLinkDnsSupportRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportRequest): any => ({ ...obj, }); } -export interface DescribeVpcPeeringConnectionsResult { +/** + *

                                                                  Describes the ClassicLink DNS support status of a VPC.

                                                                  + */ +export interface ClassicLinkDnsSupport { /** - *

                                                                  Information about the VPC peering connections.

                                                                  + *

                                                                  Indicates whether ClassicLink DNS support is enabled for the VPC.

                                                                  */ - VpcPeeringConnections?: VpcPeeringConnection[]; + ClassicLinkDnsSupported?: boolean; + + /** + *

                                                                  The ID of the VPC.

                                                                  + */ + VpcId?: string; +} + +export namespace ClassicLinkDnsSupport { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ClassicLinkDnsSupport): any => ({ + ...obj, + }); +} +export interface DescribeVpcClassicLinkDnsSupportResult { /** *

                                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                  */ NextToken?: string; + + /** + *

                                                                  Information about the ClassicLink DNS support status of the VPCs.

                                                                  + */ + Vpcs?: ClassicLinkDnsSupport[]; } -export namespace DescribeVpcPeeringConnectionsResult { +export namespace DescribeVpcClassicLinkDnsSupportResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcClassicLinkDnsSupportResult): any => ({ ...obj, }); } -export interface DescribeVpcsRequest { +export interface DescribeVpcEndpointConnectionNotificationsRequest { + /** + *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                  + */ + DryRun?: boolean; + + /** + *

                                                                  The ID of the notification.

                                                                  + */ + ConnectionNotificationId?: string; + /** *

                                                                  One or more filters.

                                                                  *
                                                                    *
                                                                  • *

                                                                    - * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you - * specify must exactly match the VPC's CIDR block for information to be returned - * for the VPC. Must contain the slash followed by one or two digits (for example, - * /28).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * cidr-block-association.cidr-block - An IPv4 CIDR block associated with the - * VPC.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * cidr-block-association.association-id - The association ID for - * an IPv4 CIDR block associated with the VPC.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * cidr-block-association.state - The state of an IPv4 CIDR block - * associated with the VPC.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * dhcp-options-id - The ID of a set of DHCP options.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR - * block associated with the VPC.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * ipv6-cidr-block-association.association-id - The association - * ID for an IPv6 CIDR block associated with the VPC.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * ipv6-cidr-block-association.state - The state of an IPv6 CIDR - * block associated with the VPC.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * is-default - Indicates whether the VPC is the default VPC.

                                                                    + * connection-notification-arn - The ARN of the SNS topic for the + * notification.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * owner-id - The ID of the Amazon Web Services account that owns the VPC.

                                                                    + * connection-notification-id - The ID of the + * notification.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * state - The state of the VPC (pending | available).

                                                                    + * connection-notification-state - The state of the notification + * (Enabled | Disabled).

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                    + * connection-notification-type - The type of notification + * (Topic).

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                    + * service-id - The ID of the endpoint service.

                                                                    *
                                                                  • *
                                                                  • *

                                                                    - * vpc-id - The ID of the VPC.

                                                                    + * vpc-endpoint-id - The ID of the VPC endpoint.

                                                                    *
                                                                  • *
                                                                  */ Filters?: Filter[]; /** - *

                                                                  One or more VPC IDs.

                                                                  - *

                                                                  Default: Describes all your VPCs.

                                                                  - */ - VpcIds?: string[]; - - /** - *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                  + *

                                                                  The maximum number of results to return in a single call. To retrieve the remaining + * results, make another request with the returned NextToken value.

                                                                  */ - DryRun?: boolean; + MaxResults?: number; /** - *

                                                                  The token for the next page of results.

                                                                  + *

                                                                  The token to request the next page of results.

                                                                  */ NextToken?: string; - - /** - *

                                                                  The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                  - */ - MaxResults?: number; } -export namespace DescribeVpcsRequest { +export namespace DescribeVpcEndpointConnectionNotificationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsRequest): any => ({ ...obj, }); } -export interface DescribeVpcsResult { +export interface DescribeVpcEndpointConnectionNotificationsResult { /** - *

                                                                  Information about one or more VPCs.

                                                                  + *

                                                                  One or more notifications.

                                                                  */ - Vpcs?: Vpc[]; + ConnectionNotificationSet?: ConnectionNotification[]; /** - *

                                                                  The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                  + *

                                                                  The token to use to retrieve the next page of results. This value is + * null when there are no more results to return.

                                                                  */ NextToken?: string; } -export namespace DescribeVpcsResult { +export namespace DescribeVpcEndpointConnectionNotificationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpcsResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionNotificationsResult): any => ({ ...obj, }); } -/** - *

                                                                  Contains the parameters for DescribeVpnConnections.

                                                                  - */ -export interface DescribeVpnConnectionsRequest { +export interface DescribeVpcEndpointConnectionsRequest { + /** + *

                                                                  Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                  + */ + DryRun?: boolean; + /** *

                                                                  One or more filters.

                                                                  - *
                                                                    - *
                                                                  • - *

                                                                    - * customer-gateway-configuration - The configuration information - * for the customer gateway.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * customer-gateway-id - The ID of a customer gateway associated - * with the VPN connection.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * state - The state of the VPN connection (pending | - * available | deleting | - * deleted).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * option.static-routes-only - Indicates whether the connection has - * static routes only. Used for devices that do not support Border Gateway Protocol - * (BGP).

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * route.destination-cidr-block - The destination CIDR block. This - * corresponds to the subnet used in a customer data center.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * bgp-asn - The BGP Autonomous System Number (ASN) associated with - * a BGP device.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                    - *
                                                                  • - *
                                                                  • - *

                                                                    - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                    - *
                                                                  • + *
                                                                      *
                                                                    • *

                                                                      - * type - The type of VPN connection. Currently the only supported - * type is ipsec.1.

                                                                      + * service-id - The ID of the service.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      - * vpn-connection-id - The ID of the VPN connection.

                                                                      + *

                                                                      + * vpc-endpoint-owner - The ID of the Amazon Web Services account ID + * that owns the endpoint.

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      - * vpn-gateway-id - The ID of a virtual private gateway associated - * with the VPN connection.

                                                                      - *
                                                                    • + *

                                                                      + * vpc-endpoint-state - The state of the endpoint + * (pendingAcceptance | pending | + * available | deleting | deleted | + * rejected | failed).

                                                                      + * *
                                                                    • - *

                                                                      - * transit-gateway-id - The ID of a transit gateway associated with - * the VPN connection.

                                                                      - *
                                                                    • + *

                                                                      + * vpc-endpoint-id - The ID of the endpoint.

                                                                      + * *
                                                                    */ Filters?: Filter[]; /** - *

                                                                    One or more VPN connection IDs.

                                                                    - *

                                                                    Default: Describes your VPN connections.

                                                                    + *

                                                                    The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

                                                                    */ - VpnConnectionIds?: string[]; + MaxResults?: number; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                    + *

                                                                    The token to retrieve the next page of results.

                                                                    */ - DryRun?: boolean; + NextToken?: string; } -export namespace DescribeVpnConnectionsRequest { +export namespace DescribeVpcEndpointConnectionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpnConnectionsRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsRequest): any => ({ ...obj, }); } /** - *

                                                                    Contains the output of DescribeVpnConnections.

                                                                    + *

                                                                    Describes a VPC endpoint connection to a service.

                                                                    */ -export interface DescribeVpnConnectionsResult { +export interface VpcEndpointConnection { /** - *

                                                                    Information about one or more VPN connections.

                                                                    + *

                                                                    The ID of the service to which the endpoint is connected.

                                                                    */ - VpnConnections?: VpnConnection[]; + ServiceId?: string; + + /** + *

                                                                    The ID of the VPC endpoint.

                                                                    + */ + VpcEndpointId?: string; + + /** + *

                                                                    The ID of the Amazon Web Services account that owns the VPC endpoint.

                                                                    + */ + VpcEndpointOwner?: string; + + /** + *

                                                                    The state of the VPC endpoint.

                                                                    + */ + VpcEndpointState?: State | string; + + /** + *

                                                                    The date and time that the VPC endpoint was created.

                                                                    + */ + CreationTimestamp?: Date; + + /** + *

                                                                    The DNS entries for the VPC endpoint.

                                                                    + */ + DnsEntries?: DnsEntry[]; + + /** + *

                                                                    The Amazon Resource Names (ARNs) of the network load balancers for the service.

                                                                    + */ + NetworkLoadBalancerArns?: string[]; + + /** + *

                                                                    The Amazon Resource Names (ARNs) of the Gateway Load Balancers for the service.

                                                                    + */ + GatewayLoadBalancerArns?: string[]; } -export namespace DescribeVpnConnectionsResult { +export namespace VpcEndpointConnection { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpnConnectionsResult): any => ({ + export const filterSensitiveLog = (obj: VpcEndpointConnection): any => ({ + ...obj, + }); +} + +export interface DescribeVpcEndpointConnectionsResult { + /** + *

                                                                    Information about one or more VPC endpoint connections.

                                                                    + */ + VpcEndpointConnections?: VpcEndpointConnection[]; + + /** + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + */ + NextToken?: string; +} + +export namespace DescribeVpcEndpointConnectionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeVpcEndpointConnectionsResult): any => ({ ...obj, }); } /** - *

                                                                    Contains the parameters for DescribeVpnGateways.

                                                                    + *

                                                                    Contains the parameters for DescribeVpcEndpoints.

                                                                    */ -export interface DescribeVpnGatewaysRequest { +export interface DescribeVpcEndpointsRequest { + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; + + /** + *

                                                                    One or more endpoint IDs.

                                                                    + */ + VpcEndpointIds?: string[]; + /** *

                                                                    One or more filters.

                                                                    *
                                                                      *
                                                                    • *

                                                                      - * amazon-side-asn - The Autonomous System Number (ASN) for the - * Amazon side of the gateway.

                                                                      + * service-name - The name of the service.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * attachment.state - The current state of the attachment between - * the gateway and the VPC (attaching | attached | - * detaching | detached).

                                                                      + * vpc-id - The ID of the VPC in which the endpoint resides.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * attachment.vpc-id - The ID of an attached VPC.

                                                                      + * vpc-endpoint-id - The ID of the endpoint.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * availability-zone - The Availability Zone for the virtual private - * gateway (if applicable).

                                                                      + * vpc-endpoint-state - The state of the endpoint + * (pendingAcceptance | pending | + * available | deleting | deleted | + * rejected | failed).

                                                                      *
                                                                    • *
                                                                    • *

                                                                      - * state - The state of the virtual private gateway - * (pending | available | deleting | - * deleted).

                                                                      + * vpc-endpoint-type - The type of VPC endpoint (Interface | Gateway | GatewayLoadBalancer).

                                                                      *
                                                                    • *
                                                                    • - *

                                                                      - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      - *
                                                                    • + *

                                                                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      + * *
                                                                    • - *

                                                                      + *

                                                                      * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * type - The type of virtual private gateway. Currently the only - * supported type is ipsec.1.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * vpn-gateway-id - The ID of the virtual private gateway.

                                                                      - *
                                                                    • + * *
                                                                    */ Filters?: Filter[]; /** - *

                                                                    One or more virtual private gateway IDs.

                                                                    - *

                                                                    Default: Describes all your virtual private gateways.

                                                                    + *

                                                                    The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    Constraint: If the value is greater than 1,000, we return only 1,000 items.

                                                                    */ - VpnGatewayIds?: string[]; + MaxResults?: number; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a prior call.)

                                                                    */ - DryRun?: boolean; + NextToken?: string; } -export namespace DescribeVpnGatewaysRequest { +export namespace DescribeVpcEndpointsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpnGatewaysRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointsRequest): any => ({ ...obj, }); } /** - *

                                                                    Contains the output of DescribeVpnGateways.

                                                                    + *

                                                                    Contains the output of DescribeVpcEndpoints.

                                                                    */ -export interface DescribeVpnGatewaysResult { +export interface DescribeVpcEndpointsResult { /** - *

                                                                    Information about one or more virtual private gateways.

                                                                    + *

                                                                    Information about the endpoints.

                                                                    */ - VpnGateways?: VpnGateway[]; + VpcEndpoints?: VpcEndpoint[]; + + /** + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                    + */ + NextToken?: string; } -export namespace DescribeVpnGatewaysResult { +export namespace DescribeVpcEndpointsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeVpnGatewaysResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointsResult): any => ({ ...obj, }); } -export interface DetachClassicLinkVpcRequest { +export interface DescribeVpcEndpointServiceConfigurationsRequest { /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -2247,599 +2629,778 @@ export interface DetachClassicLinkVpcRequest { DryRun?: boolean; /** - *

                                                                    The ID of the instance to unlink from the VPC.

                                                                    - */ - InstanceId: string | undefined; - - /** - *

                                                                    The ID of the VPC to which the instance is linked.

                                                                    - */ - VpcId: string | undefined; -} - -export namespace DetachClassicLinkVpcRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DetachClassicLinkVpcRequest): any => ({ - ...obj, - }); -} - -export interface DetachClassicLinkVpcResult { - /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    - */ - Return?: boolean; -} - -export namespace DetachClassicLinkVpcResult { - /** - * @internal + *

                                                                    The IDs of one or more services.

                                                                    */ - export const filterSensitiveLog = (obj: DetachClassicLinkVpcResult): any => ({ - ...obj, - }); -} + ServiceIds?: string[]; -export interface DetachInternetGatewayRequest { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    One or more filters.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * service-name - The name of the service.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * service-id - The ID of the service.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * service-state - The state of the service (Pending | + * Available | Deleting | Deleted | + * Failed).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      + *
                                                                    • + *
                                                                    */ - DryRun?: boolean; + Filters?: Filter[]; /** - *

                                                                    The ID of the internet gateway.

                                                                    + *

                                                                    The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

                                                                    */ - InternetGatewayId: string | undefined; + MaxResults?: number; /** - *

                                                                    The ID of the VPC.

                                                                    + *

                                                                    The token to retrieve the next page of results.

                                                                    */ - VpcId: string | undefined; + NextToken?: string; } -export namespace DetachInternetGatewayRequest { +export namespace DescribeVpcEndpointServiceConfigurationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DetachInternetGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsRequest): any => ({ ...obj, }); } -/** - *

                                                                    Contains the parameters for DetachNetworkInterface.

                                                                    - */ -export interface DetachNetworkInterfaceRequest { - /** - *

                                                                    The ID of the attachment.

                                                                    - */ - AttachmentId: string | undefined; - +export interface DescribeVpcEndpointServiceConfigurationsResult { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    Information about one or more services.

                                                                    */ - DryRun?: boolean; + ServiceConfigurations?: ServiceConfiguration[]; /** - *

                                                                    Specifies whether to force a detachment.

                                                                    - * - *
                                                                      - *
                                                                    • - *

                                                                      Use the Force parameter only as a last resort to detach a network interface from a failed instance.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      If you force the detachment of a network interface, the instance metadata - * might not get updated. This means that the attributes associated - * with the detached network interface might still be visible. The - * instance metadata will get updated when you stop and start the - * instance.

                                                                      - *
                                                                    • - *
                                                                    - *
                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - Force?: boolean; + NextToken?: string; } -export namespace DetachNetworkInterfaceRequest { +export namespace DescribeVpcEndpointServiceConfigurationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DetachNetworkInterfaceRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServiceConfigurationsResult): any => ({ ...obj, }); } -export interface DetachVolumeRequest { +export interface DescribeVpcEndpointServicePermissionsRequest { /** - *

                                                                    The device name.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - Device?: string; + DryRun?: boolean; /** - *

                                                                    Forces detachment if the previous detachment attempt did not occur cleanly (for example, - * logging into an instance, unmounting the volume, and detaching normally). This option can lead - * to data loss or a corrupted file system. Use this option only as a last resort to detach a - * volume from a failed instance. The instance won't have an opportunity to flush file system - * caches or file system metadata. If you use this option, you must perform file system check and - * repair procedures.

                                                                    + *

                                                                    The ID of the service.

                                                                    */ - Force?: boolean; + ServiceId: string | undefined; /** - *

                                                                    The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

                                                                    + *

                                                                    One or more filters.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * principal - The ARN of the principal.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * principal-type - The principal type (All | + * Service | OrganizationUnit | Account + * | User | Role).

                                                                      + *
                                                                    • + *
                                                                    */ - InstanceId?: string; + Filters?: Filter[]; /** - *

                                                                    The ID of the volume.

                                                                    + *

                                                                    The maximum number of results to return for the request in a single page. The remaining + * results of the initial request can be seen by sending another request with the returned + * NextToken value. This value can be between 5 and 1,000; if + * MaxResults is given a value larger than 1,000, only 1,000 results are + * returned.

                                                                    */ - VolumeId: string | undefined; + MaxResults?: number; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The token to retrieve the next page of results.

                                                                    */ - DryRun?: boolean; + NextToken?: string; } -export namespace DetachVolumeRequest { +export namespace DescribeVpcEndpointServicePermissionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DetachVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsRequest): any => ({ ...obj, }); } -/** - *

                                                                    Contains the parameters for DetachVpnGateway.

                                                                    - */ -export interface DetachVpnGatewayRequest { - /** - *

                                                                    The ID of the VPC.

                                                                    - */ - VpcId: string | undefined; - +export interface DescribeVpcEndpointServicePermissionsResult { /** - *

                                                                    The ID of the virtual private gateway.

                                                                    + *

                                                                    Information about one or more allowed principals.

                                                                    */ - VpnGatewayId: string | undefined; + AllowedPrincipals?: AllowedPrincipal[]; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - DryRun?: boolean; + NextToken?: string; } -export namespace DetachVpnGatewayRequest { +export namespace DescribeVpcEndpointServicePermissionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DetachVpnGatewayRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicePermissionsResult): any => ({ ...obj, }); } -export interface DisableEbsEncryptionByDefaultRequest { +/** + *

                                                                    Contains the parameters for DescribeVpcEndpointServices.

                                                                    + */ +export interface DescribeVpcEndpointServicesRequest { /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; -} -export namespace DisableEbsEncryptionByDefaultRequest { /** - * @internal + *

                                                                    One or more service names.

                                                                    */ - export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultRequest): any => ({ - ...obj, - }); -} + ServiceNames?: string[]; -export interface DisableEbsEncryptionByDefaultResult { /** - *

                                                                    The updated status of encryption by default.

                                                                    + *

                                                                    One or more filters.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * service-name - The name of the service.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * service-type - The type of service (Interface | + * Gateway).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      + *
                                                                    • + *
                                                                    */ - EbsEncryptionByDefault?: boolean; -} + Filters?: Filter[]; -export namespace DisableEbsEncryptionByDefaultResult { /** - * @internal + *

                                                                    The maximum number of items to return for this request. The request returns a token that you can specify in a subsequent call to get the next set of results.

                                                                    + *

                                                                    Constraint: If the value is greater than 1,000, we return only 1,000 items.

                                                                    */ - export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultResult): any => ({ - ...obj, - }); -} + MaxResults?: number; -export interface DisableFastSnapshotRestoresRequest { /** - *

                                                                    One or more Availability Zones. For example, us-east-2a.

                                                                    + *

                                                                    The token for the next set of items to return. (You received this token from a prior call.)

                                                                    */ - AvailabilityZones: string[] | undefined; + NextToken?: string; +} +export namespace DescribeVpcEndpointServicesRequest { /** - *

                                                                    The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

                                                                    + * @internal */ - SourceSnapshotIds: string[] | undefined; + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                    Information about the Private DNS name for interface endpoints.

                                                                    + */ +export interface PrivateDnsDetails { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The private DNS name assigned to the VPC endpoint service.

                                                                    */ - DryRun?: boolean; + PrivateDnsName?: string; } -export namespace DisableFastSnapshotRestoresRequest { +export namespace PrivateDnsDetails { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresRequest): any => ({ + export const filterSensitiveLog = (obj: PrivateDnsDetails): any => ({ ...obj, }); } /** - *

                                                                    Describes fast snapshot restores that were successfully disabled.

                                                                    + *

                                                                    Describes a VPC endpoint service.

                                                                    */ -export interface DisableFastSnapshotRestoreSuccessItem { +export interface ServiceDetail { /** - *

                                                                    The ID of the snapshot.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the service.

                                                                    */ - SnapshotId?: string; + ServiceName?: string; /** - *

                                                                    The Availability Zone.

                                                                    + *

                                                                    The ID of the endpoint service.

                                                                    */ - AvailabilityZone?: string; + ServiceId?: string; /** - *

                                                                    The state of fast snapshot restores for the snapshot.

                                                                    + *

                                                                    The type of service.

                                                                    */ - State?: FastSnapshotRestoreStateCode | string; + ServiceType?: ServiceTypeDetail[]; /** - *

                                                                    The reason for the state transition. The possible values are as follows:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The Availability Zones in which the service is available.

                                                                    + */ + AvailabilityZones?: string[]; + + /** + *

                                                                    The Amazon Web Services account ID of the service owner.

                                                                    */ - StateTransitionReason?: string; + Owner?: string; /** - *

                                                                    The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                                                                    + *

                                                                    The DNS names for the service.

                                                                    */ - OwnerId?: string; + BaseEndpointDnsNames?: string[]; /** - *

                                                                    The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                                    + *

                                                                    The private DNS name for the service.

                                                                    */ - OwnerAlias?: string; + PrivateDnsName?: string; /** - *

                                                                    The time at which fast snapshot restores entered the enabling state.

                                                                    + *

                                                                    The private DNS names assigned to the VPC endpoint service.

                                                                    */ - EnablingTime?: Date; + PrivateDnsNames?: PrivateDnsDetails[]; /** - *

                                                                    The time at which fast snapshot restores entered the optimizing state.

                                                                    + *

                                                                    Indicates whether the service supports endpoint policies.

                                                                    */ - OptimizingTime?: Date; + VpcEndpointPolicySupported?: boolean; /** - *

                                                                    The time at which fast snapshot restores entered the enabled state.

                                                                    + *

                                                                    Indicates whether VPC endpoint connection requests to the service must be accepted by the service owner.

                                                                    */ - EnabledTime?: Date; + AcceptanceRequired?: boolean; /** - *

                                                                    The time at which fast snapshot restores entered the disabling state.

                                                                    + *

                                                                    Indicates whether the service manages its VPC endpoints. Management of the service VPC + * endpoints using the VPC endpoint API is restricted.

                                                                    */ - DisablingTime?: Date; + ManagesVpcEndpoints?: boolean; /** - *

                                                                    The time at which fast snapshot restores entered the disabled state.

                                                                    + *

                                                                    Any tags assigned to the service.

                                                                    */ - DisabledTime?: Date; + Tags?: Tag[]; + + /** + *

                                                                    The verification state of the VPC endpoint service.

                                                                    + *

                                                                    Consumers of the endpoint service cannot use the private name when the state is not verified.

                                                                    + */ + PrivateDnsNameVerificationState?: DnsNameState | string; } -export namespace DisableFastSnapshotRestoreSuccessItem { +export namespace ServiceDetail { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreSuccessItem): any => ({ + export const filterSensitiveLog = (obj: ServiceDetail): any => ({ ...obj, }); } /** - *

                                                                    Describes an error that occurred when disabling fast snapshot restores.

                                                                    + *

                                                                    Contains the output of DescribeVpcEndpointServices.

                                                                    */ -export interface DisableFastSnapshotRestoreStateError { +export interface DescribeVpcEndpointServicesResult { /** - *

                                                                    The error code.

                                                                    + *

                                                                    A list of supported services.

                                                                    */ - Code?: string; + ServiceNames?: string[]; /** - *

                                                                    The error message.

                                                                    + *

                                                                    Information about the service.

                                                                    */ - Message?: string; + ServiceDetails?: ServiceDetail[]; + + /** + *

                                                                    The token to use when requesting the next set of items. If there are no additional items to return, the string is empty.

                                                                    + */ + NextToken?: string; } -export namespace DisableFastSnapshotRestoreStateError { +export namespace DescribeVpcEndpointServicesResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateError): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcEndpointServicesResult): any => ({ ...obj, }); } -/** - *

                                                                    Contains information about an error that occurred when disabling fast snapshot restores.

                                                                    - */ -export interface DisableFastSnapshotRestoreStateErrorItem { +export interface DescribeVpcPeeringConnectionsRequest { /** - *

                                                                    The Availability Zone.

                                                                    + *

                                                                    One or more filters.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter + * VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * accepter-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the + * accepter VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * accepter-vpc-info.vpc-id - The ID of the accepter VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * expiration-time - The expiration date and time for the VPC peering + * connection.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * requester-vpc-info.cidr-block - The IPv4 CIDR block of the + * requester's VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * requester-vpc-info.owner-id - The ID of the Amazon Web Services account that owns the + * requester VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * requester-vpc-info.vpc-id - The ID of the requester VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * status-code - The status of the VPC peering connection + * (pending-acceptance | failed | + * expired | provisioning | active | + * deleting | deleted | + * rejected).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * status-message - A message that provides more information about the status + * of the VPC peering connection, if applicable.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * vpc-peering-connection-id - The ID of the VPC peering connection.

                                                                      + *
                                                                    • + *
                                                                    */ - AvailabilityZone?: string; + Filters?: Filter[]; /** - *

                                                                    The error.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - Error?: DisableFastSnapshotRestoreStateError; -} + DryRun?: boolean; -export namespace DisableFastSnapshotRestoreStateErrorItem { /** - * @internal + *

                                                                    One or more VPC peering connection IDs.

                                                                    + *

                                                                    Default: Describes all your VPC peering connections.

                                                                    */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateErrorItem): any => ({ - ...obj, - }); -} + VpcPeeringConnectionIds?: string[]; -/** - *

                                                                    Contains information about the errors that occurred when disabling fast snapshot restores.

                                                                    - */ -export interface DisableFastSnapshotRestoreErrorItem { /** - *

                                                                    The ID of the snapshot.

                                                                    + *

                                                                    The token for the next page of results.

                                                                    */ - SnapshotId?: string; + NextToken?: string; /** - *

                                                                    The errors.

                                                                    + *

                                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    */ - FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[]; + MaxResults?: number; } -export namespace DisableFastSnapshotRestoreErrorItem { +export namespace DescribeVpcPeeringConnectionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreErrorItem): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsRequest): any => ({ ...obj, }); } -export interface DisableFastSnapshotRestoresResult { +export interface DescribeVpcPeeringConnectionsResult { /** - *

                                                                    Information about the snapshots for which fast snapshot restores were successfully disabled.

                                                                    + *

                                                                    Information about the VPC peering connections.

                                                                    */ - Successful?: DisableFastSnapshotRestoreSuccessItem[]; + VpcPeeringConnections?: VpcPeeringConnection[]; /** - *

                                                                    Information about the snapshots for which fast snapshot restores could not be disabled.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - Unsuccessful?: DisableFastSnapshotRestoreErrorItem[]; + NextToken?: string; } -export namespace DisableFastSnapshotRestoresResult { +export namespace DescribeVpcPeeringConnectionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresResult): any => ({ - ...obj, - }); -} + export const filterSensitiveLog = (obj: DescribeVpcPeeringConnectionsResult): any => ({ + ...obj, + }); +} + +export interface DescribeVpcsRequest { + /** + *

                                                                    One or more filters.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you + * specify must exactly match the VPC's CIDR block for information to be returned + * for the VPC. Must contain the slash followed by one or two digits (for example, + * /28).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * cidr-block-association.cidr-block - An IPv4 CIDR block associated with the + * VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * cidr-block-association.association-id - The association ID for + * an IPv4 CIDR block associated with the VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * cidr-block-association.state - The state of an IPv4 CIDR block + * associated with the VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * dhcp-options-id - The ID of a set of DHCP options.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR + * block associated with the VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * ipv6-cidr-block-association.ipv6-pool - The ID of the IPv6 address pool from which the IPv6 CIDR block is allocated.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * ipv6-cidr-block-association.association-id - The association + * ID for an IPv6 CIDR block associated with the VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * ipv6-cidr-block-association.state - The state of an IPv6 CIDR + * block associated with the VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * is-default - Indicates whether the VPC is the default VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * owner-id - The ID of the Amazon Web Services account that owns the VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * state - The state of the VPC (pending | available).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * vpc-id - The ID of the VPC.

                                                                      + *
                                                                    • + *
                                                                    + */ + Filters?: Filter[]; -export interface DisableImageDeprecationRequest { /** - *

                                                                    The ID of the AMI.

                                                                    + *

                                                                    One or more VPC IDs.

                                                                    + *

                                                                    Default: Describes all your VPCs.

                                                                    */ - ImageId: string | undefined; + VpcIds?: string[]; /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; -} -export namespace DisableImageDeprecationRequest { /** - * @internal + *

                                                                    The token for the next page of results.

                                                                    */ - export const filterSensitiveLog = (obj: DisableImageDeprecationRequest): any => ({ - ...obj, - }); -} + NextToken?: string; -export interface DisableImageDeprecationResult { /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + *

                                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    */ - Return?: boolean; + MaxResults?: number; } -export namespace DisableImageDeprecationResult { +export namespace DescribeVpcsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableImageDeprecationResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcsRequest): any => ({ ...obj, }); } -export interface DisableSerialConsoleAccessRequest { - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    - */ - DryRun?: boolean; -} - -export namespace DisableSerialConsoleAccessRequest { +export interface DescribeVpcsResult { /** - * @internal + *

                                                                    Information about one or more VPCs.

                                                                    */ - export const filterSensitiveLog = (obj: DisableSerialConsoleAccessRequest): any => ({ - ...obj, - }); -} + Vpcs?: Vpc[]; -export interface DisableSerialConsoleAccessResult { /** - *

                                                                    If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - SerialConsoleAccessEnabled?: boolean; + NextToken?: string; } -export namespace DisableSerialConsoleAccessResult { +export namespace DescribeVpcsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableSerialConsoleAccessResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVpcsResult): any => ({ ...obj, }); } -export interface DisableTransitGatewayRouteTablePropagationRequest { +/** + *

                                                                    Contains the parameters for DescribeVpnConnections.

                                                                    + */ +export interface DescribeVpnConnectionsRequest { /** - *

                                                                    The ID of the propagation route table.

                                                                    + *

                                                                    One or more filters.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * customer-gateway-configuration - The configuration information + * for the customer gateway.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * customer-gateway-id - The ID of a customer gateway associated + * with the VPN connection.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * state - The state of the VPN connection (pending | + * available | deleting | + * deleted).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * option.static-routes-only - Indicates whether the connection has + * static routes only. Used for devices that do not support Border Gateway Protocol + * (BGP).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * route.destination-cidr-block - The destination CIDR block. This + * corresponds to the subnet used in a customer data center.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * bgp-asn - The BGP Autonomous System Number (ASN) associated with + * a BGP device.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * type - The type of VPN connection. Currently the only supported + * type is ipsec.1.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * vpn-connection-id - The ID of the VPN connection.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * vpn-gateway-id - The ID of a virtual private gateway associated + * with the VPN connection.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * transit-gateway-id - The ID of a transit gateway associated with + * the VPN connection.

                                                                      + *
                                                                    • + *
                                                                    */ - TransitGatewayRouteTableId: string | undefined; + Filters?: Filter[]; /** - *

                                                                    The ID of the attachment.

                                                                    + *

                                                                    One or more VPN connection IDs.

                                                                    + *

                                                                    Default: Describes your VPN connections.

                                                                    */ - TransitGatewayAttachmentId: string | undefined; + VpnConnectionIds?: string[]; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                    */ DryRun?: boolean; } -export namespace DisableTransitGatewayRouteTablePropagationRequest { +export namespace DescribeVpnConnectionsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpnConnectionsRequest): any => ({ ...obj, }); } -export type TransitGatewayPropagationState = "disabled" | "disabling" | "enabled" | "enabling"; - /** - *

                                                                    Describes route propagation.

                                                                    + *

                                                                    Contains the output of DescribeVpnConnections.

                                                                    */ -export interface TransitGatewayPropagation { - /** - *

                                                                    The ID of the attachment.

                                                                    - */ - TransitGatewayAttachmentId?: string; - - /** - *

                                                                    The ID of the resource.

                                                                    - */ - ResourceId?: string; - - /** - *

                                                                    The resource type. Note that the tgw-peering resource type has been deprecated.

                                                                    - */ - ResourceType?: TransitGatewayAttachmentResourceType | string; - - /** - *

                                                                    The ID of the transit gateway route table.

                                                                    - */ - TransitGatewayRouteTableId?: string; - - /** - *

                                                                    The state.

                                                                    - */ - State?: TransitGatewayPropagationState | string; -} - -export namespace TransitGatewayPropagation { - /** - * @internal - */ - export const filterSensitiveLog = (obj: TransitGatewayPropagation): any => ({ - ...obj, - }); -} - -export interface DisableTransitGatewayRouteTablePropagationResult { +export interface DescribeVpnConnectionsResult { /** - *

                                                                    Information about route propagation.

                                                                    + *

                                                                    Information about one or more VPN connections.

                                                                    */ - Propagation?: TransitGatewayPropagation; + VpnConnections?: VpnConnection[]; } -export namespace DisableTransitGatewayRouteTablePropagationResult { +export namespace DescribeVpnConnectionsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationResult): any => ({ + export const filterSensitiveLog = (obj: DescribeVpnConnectionsResult): any => ({ ...obj, }); } /** - *

                                                                    Contains the parameters for DisableVgwRoutePropagation.

                                                                    + *

                                                                    Contains the parameters for DescribeVpnGateways.

                                                                    */ -export interface DisableVgwRoutePropagationRequest { +export interface DescribeVpnGatewaysRequest { /** - *

                                                                    The ID of the virtual private gateway.

                                                                    + *

                                                                    One or more filters.

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * amazon-side-asn - The Autonomous System Number (ASN) for the + * Amazon side of the gateway.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * attachment.state - The current state of the attachment between + * the gateway and the VPC (attaching | attached | + * detaching | detached).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * attachment.vpc-id - The ID of an attached VPC.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * availability-zone - The Availability Zone for the virtual private + * gateway (if applicable).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * state - The state of the virtual private gateway + * (pending | available | deleting | + * deleted).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * type - The type of virtual private gateway. Currently the only + * supported type is ipsec.1.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * vpn-gateway-id - The ID of the virtual private gateway.

                                                                      + *
                                                                    • + *
                                                                    */ - GatewayId: string | undefined; + Filters?: Filter[]; /** - *

                                                                    The ID of the route table.

                                                                    + *

                                                                    One or more virtual private gateway IDs.

                                                                    + *

                                                                    Default: Describes all your virtual private gateways.

                                                                    */ - RouteTableId: string | undefined; + VpnGatewayIds?: string[]; /** *

                                                                    Checks whether you have the required permissions for the action, without actually @@ -2850,314 +3411,273 @@ export interface DisableVgwRoutePropagationRequest { DryRun?: boolean; } -export namespace DisableVgwRoutePropagationRequest { +export namespace DescribeVpnGatewaysRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableVgwRoutePropagationRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpnGatewaysRequest): any => ({ ...obj, }); } -export interface DisableVpcClassicLinkRequest { - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    - */ - DryRun?: boolean; - +/** + *

                                                                    Contains the output of DescribeVpnGateways.

                                                                    + */ +export interface DescribeVpnGatewaysResult { /** - *

                                                                    The ID of the VPC.

                                                                    + *

                                                                    Information about one or more virtual private gateways.

                                                                    */ - VpcId: string | undefined; + VpnGateways?: VpnGateway[]; } -export namespace DisableVpcClassicLinkRequest { +export namespace DescribeVpnGatewaysResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableVpcClassicLinkRequest): any => ({ + export const filterSensitiveLog = (obj: DescribeVpnGatewaysResult): any => ({ ...obj, }); } -export interface DisableVpcClassicLinkResult { +export interface DetachClassicLinkVpcRequest { /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - Return?: boolean; -} + DryRun?: boolean; -export namespace DisableVpcClassicLinkResult { /** - * @internal + *

                                                                    The ID of the instance to unlink from the VPC.

                                                                    */ - export const filterSensitiveLog = (obj: DisableVpcClassicLinkResult): any => ({ - ...obj, - }); -} + InstanceId: string | undefined; -export interface DisableVpcClassicLinkDnsSupportRequest { /** - *

                                                                    The ID of the VPC.

                                                                    + *

                                                                    The ID of the VPC to which the instance is linked.

                                                                    */ - VpcId?: string; + VpcId: string | undefined; } -export namespace DisableVpcClassicLinkDnsSupportRequest { +export namespace DetachClassicLinkVpcRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportRequest): any => ({ + export const filterSensitiveLog = (obj: DetachClassicLinkVpcRequest): any => ({ ...obj, }); } -export interface DisableVpcClassicLinkDnsSupportResult { +export interface DetachClassicLinkVpcResult { /** *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    */ Return?: boolean; } -export namespace DisableVpcClassicLinkDnsSupportResult { +export namespace DetachClassicLinkVpcResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportResult): any => ({ + export const filterSensitiveLog = (obj: DetachClassicLinkVpcResult): any => ({ ...obj, }); } -export interface DisassociateAddressRequest { - /** - *

                                                                    [EC2-VPC] The association ID. Required for EC2-VPC.

                                                                    - */ - AssociationId?: string; - - /** - *

                                                                    [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                                    - */ - PublicIp?: string; - +export interface DetachInternetGatewayRequest { /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; -} - -export namespace DisassociateAddressRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DisassociateAddressRequest): any => ({ - ...obj, - }); -} - -export interface DisassociateClientVpnTargetNetworkRequest { - /** - *

                                                                    The ID of the Client VPN endpoint from which to disassociate the target network.

                                                                    - */ - ClientVpnEndpointId: string | undefined; - - /** - *

                                                                    The ID of the target network association.

                                                                    - */ - AssociationId: string | undefined; - - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    - */ - DryRun?: boolean; -} - -export namespace DisassociateClientVpnTargetNetworkRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkRequest): any => ({ - ...obj, - }); -} -export interface DisassociateClientVpnTargetNetworkResult { /** - *

                                                                    The ID of the target network association.

                                                                    + *

                                                                    The ID of the internet gateway.

                                                                    */ - AssociationId?: string; + InternetGatewayId: string | undefined; /** - *

                                                                    The current state of the target network association.

                                                                    + *

                                                                    The ID of the VPC.

                                                                    */ - Status?: AssociationStatus; + VpcId: string | undefined; } -export namespace DisassociateClientVpnTargetNetworkResult { +export namespace DetachInternetGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkResult): any => ({ + export const filterSensitiveLog = (obj: DetachInternetGatewayRequest): any => ({ ...obj, }); } -export interface DisassociateEnclaveCertificateIamRoleRequest { +/** + *

                                                                    Contains the parameters for DetachNetworkInterface.

                                                                    + */ +export interface DetachNetworkInterfaceRequest { /** - *

                                                                    The ARN of the ACM certificate from which to disassociate the IAM role.

                                                                    + *

                                                                    The ID of the attachment.

                                                                    */ - CertificateArn?: string; + AttachmentId: string | undefined; /** - *

                                                                    The ARN of the IAM role to disassociate.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - RoleArn?: string; + DryRun?: boolean; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    Specifies whether to force a detachment.

                                                                    + * + *
                                                                      + *
                                                                    • + *

                                                                      Use the Force parameter only as a last resort to detach a network interface from a failed instance.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      If you use the Force parameter to detach a network interface, you might not be able to attach a different network interface to the same index on the instance without first stopping and starting the instance.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      If you force the detachment of a network interface, the instance metadata + * might not get updated. This means that the attributes associated + * with the detached network interface might still be visible. The + * instance metadata will get updated when you stop and start the + * instance.

                                                                      + *
                                                                    • + *
                                                                    + *
                                                                    */ - DryRun?: boolean; + Force?: boolean; } -export namespace DisassociateEnclaveCertificateIamRoleRequest { +export namespace DetachNetworkInterfaceRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateEnclaveCertificateIamRoleRequest): any => ({ + export const filterSensitiveLog = (obj: DetachNetworkInterfaceRequest): any => ({ ...obj, }); } -export interface DisassociateEnclaveCertificateIamRoleResult { +export interface DetachVolumeRequest { /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + *

                                                                    The device name.

                                                                    */ - Return?: boolean; -} + Device?: string; -export namespace DisassociateEnclaveCertificateIamRoleResult { /** - * @internal + *

                                                                    Forces detachment if the previous detachment attempt did not occur cleanly (for example, + * logging into an instance, unmounting the volume, and detaching normally). This option can lead + * to data loss or a corrupted file system. Use this option only as a last resort to detach a + * volume from a failed instance. The instance won't have an opportunity to flush file system + * caches or file system metadata. If you use this option, you must perform file system check and + * repair procedures.

                                                                    */ - export const filterSensitiveLog = (obj: DisassociateEnclaveCertificateIamRoleResult): any => ({ - ...obj, - }); -} + Force?: boolean; -export interface DisassociateIamInstanceProfileRequest { /** - *

                                                                    The ID of the IAM instance profile association.

                                                                    + *

                                                                    The ID of the instance. If you are detaching a Multi-Attach enabled volume, you must specify an instance ID.

                                                                    */ - AssociationId: string | undefined; -} + InstanceId?: string; -export namespace DisassociateIamInstanceProfileRequest { /** - * @internal + *

                                                                    The ID of the volume.

                                                                    */ - export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileRequest): any => ({ - ...obj, - }); -} + VolumeId: string | undefined; -export interface DisassociateIamInstanceProfileResult { /** - *

                                                                    Information about the IAM instance profile association.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - IamInstanceProfileAssociation?: IamInstanceProfileAssociation; + DryRun?: boolean; } -export namespace DisassociateIamInstanceProfileResult { +export namespace DetachVolumeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileResult): any => ({ + export const filterSensitiveLog = (obj: DetachVolumeRequest): any => ({ ...obj, }); } /** - *

                                                                    The targets to disassociate from the specified event window.

                                                                    + *

                                                                    Contains the parameters for DetachVpnGateway.

                                                                    */ -export interface InstanceEventWindowDisassociationRequest { +export interface DetachVpnGatewayRequest { /** - *

                                                                    The IDs of the instances to disassociate from the event window.

                                                                    + *

                                                                    The ID of the VPC.

                                                                    */ - InstanceIds?: string[]; + VpcId: string | undefined; /** - *

                                                                    The instance tags to disassociate from the event window. Any instances associated with - * the tags will be disassociated from the event window.

                                                                    + *

                                                                    The ID of the virtual private gateway.

                                                                    */ - InstanceTags?: Tag[]; + VpnGatewayId: string | undefined; /** - *

                                                                    The IDs of the Dedicated Hosts to disassociate from the event window.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                    */ - DedicatedHostIds?: string[]; + DryRun?: boolean; } -export namespace InstanceEventWindowDisassociationRequest { +export namespace DetachVpnGatewayRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceEventWindowDisassociationRequest): any => ({ + export const filterSensitiveLog = (obj: DetachVpnGatewayRequest): any => ({ ...obj, }); } -export interface DisassociateInstanceEventWindowRequest { +export interface DisableEbsEncryptionByDefaultRequest { /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; - - /** - *

                                                                    The ID of the event window.

                                                                    - */ - InstanceEventWindowId: string | undefined; - - /** - *

                                                                    One or more targets to disassociate from the specified event window.

                                                                    - */ - AssociationTarget: InstanceEventWindowDisassociationRequest | undefined; } -export namespace DisassociateInstanceEventWindowRequest { +export namespace DisableEbsEncryptionByDefaultRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateInstanceEventWindowRequest): any => ({ + export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultRequest): any => ({ ...obj, }); } -export interface DisassociateInstanceEventWindowResult { +export interface DisableEbsEncryptionByDefaultResult { /** - *

                                                                    Information about the event window.

                                                                    + *

                                                                    The updated status of encryption by default.

                                                                    */ - InstanceEventWindow?: InstanceEventWindow; + EbsEncryptionByDefault?: boolean; } -export namespace DisassociateInstanceEventWindowResult { +export namespace DisableEbsEncryptionByDefaultResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateInstanceEventWindowResult): any => ({ + export const filterSensitiveLog = (obj: DisableEbsEncryptionByDefaultResult): any => ({ ...obj, }); } -export interface DisassociateRouteTableRequest { +export interface DisableFastSnapshotRestoresRequest { /** - *

                                                                    The association ID representing the current association between the route table and subnet or gateway.

                                                                    + *

                                                                    One or more Availability Zones. For example, us-east-2a.

                                                                    */ - AssociationId: string | undefined; + AvailabilityZones: string[] | undefined; + + /** + *

                                                                    The IDs of one or more snapshots. For example, snap-1234567890abcdef0.

                                                                    + */ + SourceSnapshotIds: string[] | undefined; /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -3167,285 +3687,272 @@ export interface DisassociateRouteTableRequest { DryRun?: boolean; } -export namespace DisassociateRouteTableRequest { +export namespace DisableFastSnapshotRestoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresRequest): any => ({ ...obj, }); } -export interface DisassociateSubnetCidrBlockRequest { +/** + *

                                                                    Describes fast snapshot restores that were successfully disabled.

                                                                    + */ +export interface DisableFastSnapshotRestoreSuccessItem { /** - *

                                                                    The association ID for the CIDR block.

                                                                    + *

                                                                    The ID of the snapshot.

                                                                    */ - AssociationId: string | undefined; -} + SnapshotId?: string; -export namespace DisassociateSubnetCidrBlockRequest { /** - * @internal + *

                                                                    The Availability Zone.

                                                                    */ - export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockRequest): any => ({ - ...obj, - }); -} + AvailabilityZone?: string; -export interface DisassociateSubnetCidrBlockResult { /** - *

                                                                    Information about the IPv6 CIDR block association.

                                                                    + *

                                                                    The state of fast snapshot restores for the snapshot.

                                                                    */ - Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; + State?: FastSnapshotRestoreStateCode | string; /** - *

                                                                    The ID of the subnet.

                                                                    + *

                                                                    The reason for the state transition. The possible values are as follows:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * Client.UserInitiated - The state successfully transitioned to enabling or + * disabling.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned + * to optimizing, enabled, or disabled.

                                                                      + *
                                                                    • + *
                                                                    */ - SubnetId?: string; -} + StateTransitionReason?: string; -export namespace DisassociateSubnetCidrBlockResult { /** - * @internal + *

                                                                    The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                                                                    */ - export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockResult): any => ({ - ...obj, - }); -} + OwnerId?: string; -export interface DisassociateTransitGatewayMulticastDomainRequest { /** - *

                                                                    The ID of the transit gateway multicast domain.

                                                                    + *

                                                                    The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                                    */ - TransitGatewayMulticastDomainId?: string; + OwnerAlias?: string; /** - *

                                                                    The ID of the attachment.

                                                                    + *

                                                                    The time at which fast snapshot restores entered the enabling state.

                                                                    */ - TransitGatewayAttachmentId?: string; + EnablingTime?: Date; /** - *

                                                                    The IDs of the subnets;

                                                                    + *

                                                                    The time at which fast snapshot restores entered the optimizing state.

                                                                    */ - SubnetIds?: string[]; + OptimizingTime?: Date; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The time at which fast snapshot restores entered the enabled state.

                                                                    */ - DryRun?: boolean; -} + EnabledTime?: Date; -export namespace DisassociateTransitGatewayMulticastDomainRequest { /** - * @internal + *

                                                                    The time at which fast snapshot restores entered the disabling state.

                                                                    */ - export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainRequest): any => ({ - ...obj, - }); -} + DisablingTime?: Date; -export interface DisassociateTransitGatewayMulticastDomainResult { /** - *

                                                                    Information about the association.

                                                                    + *

                                                                    The time at which fast snapshot restores entered the disabled state.

                                                                    */ - Associations?: TransitGatewayMulticastDomainAssociations; + DisabledTime?: Date; } -export namespace DisassociateTransitGatewayMulticastDomainResult { +export namespace DisableFastSnapshotRestoreSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainResult): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreSuccessItem): any => ({ ...obj, }); } -export interface DisassociateTransitGatewayRouteTableRequest { - /** - *

                                                                    The ID of the transit gateway route table.

                                                                    - */ - TransitGatewayRouteTableId: string | undefined; - +/** + *

                                                                    Describes an error that occurred when disabling fast snapshot restores.

                                                                    + */ +export interface DisableFastSnapshotRestoreStateError { /** - *

                                                                    The ID of the attachment.

                                                                    + *

                                                                    The error code.

                                                                    */ - TransitGatewayAttachmentId: string | undefined; + Code?: string; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The error message.

                                                                    */ - DryRun?: boolean; + Message?: string; } -export namespace DisassociateTransitGatewayRouteTableRequest { +export namespace DisableFastSnapshotRestoreStateError { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableRequest): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateError): any => ({ ...obj, }); } -export interface DisassociateTransitGatewayRouteTableResult { +/** + *

                                                                    Contains information about an error that occurred when disabling fast snapshot restores.

                                                                    + */ +export interface DisableFastSnapshotRestoreStateErrorItem { /** - *

                                                                    Information about the association.

                                                                    + *

                                                                    The Availability Zone.

                                                                    */ - Association?: TransitGatewayAssociation; + AvailabilityZone?: string; + + /** + *

                                                                    The error.

                                                                    + */ + Error?: DisableFastSnapshotRestoreStateError; } -export namespace DisassociateTransitGatewayRouteTableResult { +export namespace DisableFastSnapshotRestoreStateErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableResult): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreStateErrorItem): any => ({ ...obj, }); } -export interface DisassociateTrunkInterfaceRequest { - /** - *

                                                                    The ID of the association

                                                                    - */ - AssociationId: string | undefined; - +/** + *

                                                                    Contains information about the errors that occurred when disabling fast snapshot restores.

                                                                    + */ +export interface DisableFastSnapshotRestoreErrorItem { /** - *

                                                                    Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

                                                                    + *

                                                                    The ID of the snapshot.

                                                                    */ - ClientToken?: string; + SnapshotId?: string; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The errors.

                                                                    */ - DryRun?: boolean; + FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[]; } -export namespace DisassociateTrunkInterfaceRequest { +export namespace DisableFastSnapshotRestoreErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateTrunkInterfaceRequest): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoreErrorItem): any => ({ ...obj, }); } -export interface DisassociateTrunkInterfaceResult { +export interface DisableFastSnapshotRestoresResult { /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + *

                                                                    Information about the snapshots for which fast snapshot restores were successfully disabled.

                                                                    */ - Return?: boolean; + Successful?: DisableFastSnapshotRestoreSuccessItem[]; /** - *

                                                                    Unique, case-sensitive identifier that you provide to ensure the idempotency of the - * request. For more information, see How to Ensure - * Idempotency.

                                                                    + *

                                                                    Information about the snapshots for which fast snapshot restores could not be disabled.

                                                                    */ - ClientToken?: string; + Unsuccessful?: DisableFastSnapshotRestoreErrorItem[]; } -export namespace DisassociateTrunkInterfaceResult { +export namespace DisableFastSnapshotRestoresResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateTrunkInterfaceResult): any => ({ + export const filterSensitiveLog = (obj: DisableFastSnapshotRestoresResult): any => ({ ...obj, }); } -export interface DisassociateVpcCidrBlockRequest { +export interface DisableImageDeprecationRequest { /** - *

                                                                    The association ID for the CIDR block.

                                                                    + *

                                                                    The ID of the AMI.

                                                                    */ - AssociationId: string | undefined; + ImageId: string | undefined; + + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; } -export namespace DisassociateVpcCidrBlockRequest { +export namespace DisableImageDeprecationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockRequest): any => ({ + export const filterSensitiveLog = (obj: DisableImageDeprecationRequest): any => ({ ...obj, }); } -export interface DisassociateVpcCidrBlockResult { - /** - *

                                                                    Information about the IPv6 CIDR block association.

                                                                    - */ - Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; - - /** - *

                                                                    Information about the IPv4 CIDR block association.

                                                                    - */ - CidrBlockAssociation?: VpcCidrBlockAssociation; - +export interface DisableImageDeprecationResult { /** - *

                                                                    The ID of the VPC.

                                                                    + *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    */ - VpcId?: string; + Return?: boolean; } -export namespace DisassociateVpcCidrBlockResult { +export namespace DisableImageDeprecationResult { /** * @internal */ - export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockResult): any => ({ + export const filterSensitiveLog = (obj: DisableImageDeprecationResult): any => ({ ...obj, }); } -export interface EnableEbsEncryptionByDefaultRequest { +export interface DisableSerialConsoleAccessRequest { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; } -export namespace EnableEbsEncryptionByDefaultRequest { +export namespace DisableSerialConsoleAccessRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultRequest): any => ({ + export const filterSensitiveLog = (obj: DisableSerialConsoleAccessRequest): any => ({ ...obj, }); } -export interface EnableEbsEncryptionByDefaultResult { +export interface DisableSerialConsoleAccessResult { /** - *

                                                                    The updated status of encryption by default.

                                                                    + *

                                                                    If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

                                                                    */ - EbsEncryptionByDefault?: boolean; + SerialConsoleAccessEnabled?: boolean; } -export namespace EnableEbsEncryptionByDefaultResult { +export namespace DisableSerialConsoleAccessResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultResult): any => ({ + export const filterSensitiveLog = (obj: DisableSerialConsoleAccessResult): any => ({ ...obj, }); } -export interface EnableFastSnapshotRestoresRequest { +export interface DisableTransitGatewayRouteTablePropagationRequest { /** - *

                                                                    One or more Availability Zones. For example, us-east-2a.

                                                                    + *

                                                                    The ID of the propagation route table.

                                                                    */ - AvailabilityZones: string[] | undefined; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                                    The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify - * a snapshot that was shared with you from another Amazon Web Services account.

                                                                    + *

                                                                    The ID of the attachment.

                                                                    */ - SourceSnapshotIds: string[] | undefined; + TransitGatewayAttachmentId: string | undefined; /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -3455,352 +3962,355 @@ export interface EnableFastSnapshotRestoresRequest { DryRun?: boolean; } -export namespace EnableFastSnapshotRestoresRequest { +export namespace DisableTransitGatewayRouteTablePropagationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresRequest): any => ({ + export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationRequest): any => ({ ...obj, }); } +export type TransitGatewayPropagationState = "disabled" | "disabling" | "enabled" | "enabling"; + /** - *

                                                                    Describes fast snapshot restores that were successfully enabled.

                                                                    + *

                                                                    Describes route propagation.

                                                                    */ -export interface EnableFastSnapshotRestoreSuccessItem { +export interface TransitGatewayPropagation { /** - *

                                                                    The ID of the snapshot.

                                                                    + *

                                                                    The ID of the attachment.

                                                                    */ - SnapshotId?: string; + TransitGatewayAttachmentId?: string; /** - *

                                                                    The Availability Zone.

                                                                    + *

                                                                    The ID of the resource.

                                                                    */ - AvailabilityZone?: string; + ResourceId?: string; /** - *

                                                                    The state of fast snapshot restores.

                                                                    + *

                                                                    The resource type. Note that the tgw-peering resource type has been deprecated.

                                                                    */ - State?: FastSnapshotRestoreStateCode | string; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                                    The reason for the state transition. The possible values are as follows:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * Client.UserInitiated - The state successfully transitioned to enabling or - * disabling.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned - * to optimizing, enabled, or disabled.

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The ID of the transit gateway route table.

                                                                    */ - StateTransitionReason?: string; + TransitGatewayRouteTableId?: string; /** - *

                                                                    The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                                                                    + *

                                                                    The state.

                                                                    */ - OwnerId?: string; + State?: TransitGatewayPropagationState | string; +} +export namespace TransitGatewayPropagation { /** - *

                                                                    The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                                    + * @internal */ - OwnerAlias?: string; + export const filterSensitiveLog = (obj: TransitGatewayPropagation): any => ({ + ...obj, + }); +} +export interface DisableTransitGatewayRouteTablePropagationResult { /** - *

                                                                    The time at which fast snapshot restores entered the enabling state.

                                                                    + *

                                                                    Information about route propagation.

                                                                    */ - EnablingTime?: Date; + Propagation?: TransitGatewayPropagation; +} +export namespace DisableTransitGatewayRouteTablePropagationResult { /** - *

                                                                    The time at which fast snapshot restores entered the optimizing state.

                                                                    + * @internal */ - OptimizingTime?: Date; + export const filterSensitiveLog = (obj: DisableTransitGatewayRouteTablePropagationResult): any => ({ + ...obj, + }); +} +/** + *

                                                                    Contains the parameters for DisableVgwRoutePropagation.

                                                                    + */ +export interface DisableVgwRoutePropagationRequest { /** - *

                                                                    The time at which fast snapshot restores entered the enabled state.

                                                                    + *

                                                                    The ID of the virtual private gateway.

                                                                    */ - EnabledTime?: Date; + GatewayId: string | undefined; /** - *

                                                                    The time at which fast snapshot restores entered the disabling state.

                                                                    + *

                                                                    The ID of the route table.

                                                                    */ - DisablingTime?: Date; + RouteTableId: string | undefined; /** - *

                                                                    The time at which fast snapshot restores entered the disabled state.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                    */ - DisabledTime?: Date; + DryRun?: boolean; } -export namespace EnableFastSnapshotRestoreSuccessItem { +export namespace DisableVgwRoutePropagationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreSuccessItem): any => ({ + export const filterSensitiveLog = (obj: DisableVgwRoutePropagationRequest): any => ({ ...obj, }); } -/** - *

                                                                    Describes an error that occurred when enabling fast snapshot restores.

                                                                    - */ -export interface EnableFastSnapshotRestoreStateError { +export interface DisableVpcClassicLinkRequest { /** - *

                                                                    The error code.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - Code?: string; + DryRun?: boolean; /** - *

                                                                    The error message.

                                                                    + *

                                                                    The ID of the VPC.

                                                                    */ - Message?: string; + VpcId: string | undefined; } -export namespace EnableFastSnapshotRestoreStateError { +export namespace DisableVpcClassicLinkRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateError): any => ({ + export const filterSensitiveLog = (obj: DisableVpcClassicLinkRequest): any => ({ ...obj, }); } -/** - *

                                                                    Contains information about an error that occurred when enabling fast snapshot restores.

                                                                    - */ -export interface EnableFastSnapshotRestoreStateErrorItem { - /** - *

                                                                    The Availability Zone.

                                                                    - */ - AvailabilityZone?: string; - +export interface DisableVpcClassicLinkResult { /** - *

                                                                    The error.

                                                                    + *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    */ - Error?: EnableFastSnapshotRestoreStateError; + Return?: boolean; } -export namespace EnableFastSnapshotRestoreStateErrorItem { +export namespace DisableVpcClassicLinkResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateErrorItem): any => ({ + export const filterSensitiveLog = (obj: DisableVpcClassicLinkResult): any => ({ ...obj, }); } -/** - *

                                                                    Contains information about the errors that occurred when enabling fast snapshot restores.

                                                                    - */ -export interface EnableFastSnapshotRestoreErrorItem { +export interface DisableVpcClassicLinkDnsSupportRequest { /** - *

                                                                    The ID of the snapshot.

                                                                    + *

                                                                    The ID of the VPC.

                                                                    */ - SnapshotId?: string; + VpcId?: string; +} +export namespace DisableVpcClassicLinkDnsSupportRequest { /** - *

                                                                    The errors.

                                                                    + * @internal */ - FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; + export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportRequest): any => ({ + ...obj, + }); } -export namespace EnableFastSnapshotRestoreErrorItem { +export interface DisableVpcClassicLinkDnsSupportResult { + /** + *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + */ + Return?: boolean; +} + +export namespace DisableVpcClassicLinkDnsSupportResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreErrorItem): any => ({ + export const filterSensitiveLog = (obj: DisableVpcClassicLinkDnsSupportResult): any => ({ ...obj, }); } -export interface EnableFastSnapshotRestoresResult { +export interface DisassociateAddressRequest { /** - *

                                                                    Information about the snapshots for which fast snapshot restores were successfully enabled.

                                                                    + *

                                                                    [EC2-VPC] The association ID. Required for EC2-VPC.

                                                                    */ - Successful?: EnableFastSnapshotRestoreSuccessItem[]; + AssociationId?: string; /** - *

                                                                    Information about the snapshots for which fast snapshot restores could not be enabled.

                                                                    + *

                                                                    [EC2-Classic] The Elastic IP address. Required for EC2-Classic.

                                                                    */ - Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; + PublicIp?: string; + + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; } -export namespace EnableFastSnapshotRestoresResult { +export namespace DisassociateAddressRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateAddressRequest): any => ({ ...obj, }); } -export interface EnableImageDeprecationRequest { +export interface DisassociateClientVpnTargetNetworkRequest { /** - *

                                                                    The ID of the AMI.

                                                                    + *

                                                                    The ID of the Client VPN endpoint from which to disassociate the target network.

                                                                    */ - ImageId: string | undefined; + ClientVpnEndpointId: string | undefined; /** - *

                                                                    The date and time to deprecate the AMI, in UTC, in the following format: - * YYYY-MM-DDTHH:MM:SSZ. - * If you specify a value for seconds, Amazon EC2 rounds the seconds to the - * nearest minute.

                                                                    - *

                                                                    You can’t specify a date in the past. The upper limit for DeprecateAt is 10 - * years from now.

                                                                    + *

                                                                    The ID of the target network association.

                                                                    */ - DeprecateAt: Date | undefined; + AssociationId: string | undefined; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; } -export namespace EnableImageDeprecationRequest { +export namespace DisassociateClientVpnTargetNetworkRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableImageDeprecationRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkRequest): any => ({ ...obj, }); } -export interface EnableImageDeprecationResult { +export interface DisassociateClientVpnTargetNetworkResult { /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + *

                                                                    The ID of the target network association.

                                                                    */ - Return?: boolean; + AssociationId?: string; + + /** + *

                                                                    The current state of the target network association.

                                                                    + */ + Status?: AssociationStatus; } -export namespace EnableImageDeprecationResult { +export namespace DisassociateClientVpnTargetNetworkResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableImageDeprecationResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateClientVpnTargetNetworkResult): any => ({ ...obj, }); } -export interface EnableSerialConsoleAccessRequest { +export interface DisassociateEnclaveCertificateIamRoleRequest { + /** + *

                                                                    The ARN of the ACM certificate from which to disassociate the IAM role.

                                                                    + */ + CertificateArn?: string; + + /** + *

                                                                    The ARN of the IAM role to disassociate.

                                                                    + */ + RoleArn?: string; + /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; } -export namespace EnableSerialConsoleAccessRequest { +export namespace DisassociateEnclaveCertificateIamRoleRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableSerialConsoleAccessRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateEnclaveCertificateIamRoleRequest): any => ({ ...obj, }); } -export interface EnableSerialConsoleAccessResult { +export interface DisassociateEnclaveCertificateIamRoleResult { /** - *

                                                                    If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

                                                                    + *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    */ - SerialConsoleAccessEnabled?: boolean; + Return?: boolean; } -export namespace EnableSerialConsoleAccessResult { +export namespace DisassociateEnclaveCertificateIamRoleResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableSerialConsoleAccessResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateEnclaveCertificateIamRoleResult): any => ({ ...obj, }); } -export interface EnableTransitGatewayRouteTablePropagationRequest { - /** - *

                                                                    The ID of the propagation route table.

                                                                    - */ - TransitGatewayRouteTableId: string | undefined; - - /** - *

                                                                    The ID of the attachment.

                                                                    - */ - TransitGatewayAttachmentId: string | undefined; - +export interface DisassociateIamInstanceProfileRequest { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the IAM instance profile association.

                                                                    */ - DryRun?: boolean; + AssociationId: string | undefined; } -export namespace EnableTransitGatewayRouteTablePropagationRequest { +export namespace DisassociateIamInstanceProfileRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileRequest): any => ({ ...obj, }); } -export interface EnableTransitGatewayRouteTablePropagationResult { +export interface DisassociateIamInstanceProfileResult { /** - *

                                                                    Information about route propagation.

                                                                    + *

                                                                    Information about the IAM instance profile association.

                                                                    */ - Propagation?: TransitGatewayPropagation; + IamInstanceProfileAssociation?: IamInstanceProfileAssociation; } -export namespace EnableTransitGatewayRouteTablePropagationResult { +export namespace DisassociateIamInstanceProfileResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateIamInstanceProfileResult): any => ({ ...obj, }); } /** - *

                                                                    Contains the parameters for EnableVgwRoutePropagation.

                                                                    + *

                                                                    The targets to disassociate from the specified event window.

                                                                    */ -export interface EnableVgwRoutePropagationRequest { +export interface InstanceEventWindowDisassociationRequest { /** - *

                                                                    The ID of the virtual private gateway that is attached to a VPC. The virtual private - * gateway must be attached to the same VPC that the routing tables are associated with. - *

                                                                    + *

                                                                    The IDs of the instances to disassociate from the event window.

                                                                    */ - GatewayId: string | undefined; + InstanceIds?: string[]; /** - *

                                                                    The ID of the route table. The routing table must be associated with the same VPC that - * the virtual private gateway is attached to.

                                                                    + *

                                                                    The instance tags to disassociate from the event window. Any instances associated with + * the tags will be disassociated from the event window.

                                                                    */ - RouteTableId: string | undefined; + InstanceTags?: Tag[]; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                    + *

                                                                    The IDs of the Dedicated Hosts to disassociate from the event window.

                                                                    */ - DryRun?: boolean; + DedicatedHostIds?: string[]; } -export namespace EnableVgwRoutePropagationRequest { +export namespace InstanceEventWindowDisassociationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVgwRoutePropagationRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceEventWindowDisassociationRequest): any => ({ ...obj, }); } -export interface EnableVolumeIORequest { +export interface DisassociateInstanceEventWindowRequest { /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -3809,235 +4319,206 @@ export interface EnableVolumeIORequest { DryRun?: boolean; /** - *

                                                                    The ID of the volume.

                                                                    - */ - VolumeId: string | undefined; -} - -export namespace EnableVolumeIORequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: EnableVolumeIORequest): any => ({ - ...obj, - }); -} - -export interface EnableVpcClassicLinkRequest { - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the event window.

                                                                    */ - DryRun?: boolean; + InstanceEventWindowId: string | undefined; /** - *

                                                                    The ID of the VPC.

                                                                    + *

                                                                    One or more targets to disassociate from the specified event window.

                                                                    */ - VpcId: string | undefined; + AssociationTarget: InstanceEventWindowDisassociationRequest | undefined; } -export namespace EnableVpcClassicLinkRequest { +export namespace DisassociateInstanceEventWindowRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateInstanceEventWindowRequest): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkResult { +export interface DisassociateInstanceEventWindowResult { /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + *

                                                                    Information about the event window.

                                                                    */ - Return?: boolean; + InstanceEventWindow?: InstanceEventWindow; } -export namespace EnableVpcClassicLinkResult { +export namespace DisassociateInstanceEventWindowResult { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateInstanceEventWindowResult): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkDnsSupportRequest { +export interface DisassociateRouteTableRequest { /** - *

                                                                    The ID of the VPC.

                                                                    + *

                                                                    The association ID representing the current association between the route table and subnet or gateway.

                                                                    */ - VpcId?: string; + AssociationId: string | undefined; + + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; } -export namespace EnableVpcClassicLinkDnsSupportRequest { +export namespace DisassociateRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateRouteTableRequest): any => ({ ...obj, }); } -export interface EnableVpcClassicLinkDnsSupportResult { +export interface DisassociateSubnetCidrBlockRequest { /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + *

                                                                    The association ID for the CIDR block.

                                                                    */ - Return?: boolean; + AssociationId: string | undefined; } -export namespace EnableVpcClassicLinkDnsSupportResult { +export namespace DisassociateSubnetCidrBlockRequest { /** * @internal */ - export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockRequest): any => ({ ...obj, }); } -export interface ExportClientVpnClientCertificateRevocationListRequest { +export interface DisassociateSubnetCidrBlockResult { /** - *

                                                                    The ID of the Client VPN endpoint.

                                                                    + *

                                                                    Information about the IPv6 CIDR block association.

                                                                    */ - ClientVpnEndpointId: string | undefined; + Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the subnet.

                                                                    */ - DryRun?: boolean; + SubnetId?: string; } -export namespace ExportClientVpnClientCertificateRevocationListRequest { +export namespace DisassociateSubnetCidrBlockResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateSubnetCidrBlockResult): any => ({ ...obj, }); } -export type ClientCertificateRevocationListStatusCode = "active" | "pending"; +export interface DisassociateTransitGatewayMulticastDomainRequest { + /** + *

                                                                    The ID of the transit gateway multicast domain.

                                                                    + */ + TransitGatewayMulticastDomainId?: string; -/** - *

                                                                    Describes the state of a client certificate revocation list.

                                                                    - */ -export interface ClientCertificateRevocationListStatus { /** - *

                                                                    The state of the client certificate revocation list.

                                                                    + *

                                                                    The ID of the attachment.

                                                                    */ - Code?: ClientCertificateRevocationListStatusCode | string; + TransitGatewayAttachmentId?: string; /** - *

                                                                    A message about the status of the client certificate revocation list, if applicable.

                                                                    + *

                                                                    The IDs of the subnets;

                                                                    */ - Message?: string; + SubnetIds?: string[]; + + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; } -export namespace ClientCertificateRevocationListStatus { +export namespace DisassociateTransitGatewayMulticastDomainRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ClientCertificateRevocationListStatus): any => ({ + export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainRequest): any => ({ ...obj, }); } -export interface ExportClientVpnClientCertificateRevocationListResult { - /** - *

                                                                    Information about the client certificate revocation list.

                                                                    - */ - CertificateRevocationList?: string; - +export interface DisassociateTransitGatewayMulticastDomainResult { /** - *

                                                                    The current state of the client certificate revocation list.

                                                                    + *

                                                                    Information about the association.

                                                                    */ - Status?: ClientCertificateRevocationListStatus; + Associations?: TransitGatewayMulticastDomainAssociations; } -export namespace ExportClientVpnClientCertificateRevocationListResult { +export namespace DisassociateTransitGatewayMulticastDomainResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateTransitGatewayMulticastDomainResult): any => ({ ...obj, }); } -export interface ExportClientVpnClientConfigurationRequest { - /** - *

                                                                    The ID of the Client VPN endpoint.

                                                                    - */ - ClientVpnEndpointId: string | undefined; - +export interface DisassociateTransitGatewayRouteTableRequest { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the transit gateway route table.

                                                                    */ - DryRun?: boolean; -} + TransitGatewayRouteTableId: string | undefined; -export namespace ExportClientVpnClientConfigurationRequest { /** - * @internal + *

                                                                    The ID of the attachment.

                                                                    */ - export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationRequest): any => ({ - ...obj, - }); -} + TransitGatewayAttachmentId: string | undefined; -export interface ExportClientVpnClientConfigurationResult { /** - *

                                                                    The contents of the Client VPN endpoint configuration file.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - ClientConfiguration?: string; + DryRun?: boolean; } -export namespace ExportClientVpnClientConfigurationResult { +export namespace DisassociateTransitGatewayRouteTableRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationResult): any => ({ + export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableRequest): any => ({ ...obj, }); } -/** - *

                                                                    Describes the destination for an export image task.

                                                                    - */ -export interface ExportTaskS3LocationRequest { - /** - *

                                                                    The destination Amazon S3 bucket.

                                                                    - */ - S3Bucket: string | undefined; - +export interface DisassociateTransitGatewayRouteTableResult { /** - *

                                                                    The prefix (logical hierarchy) in the bucket.

                                                                    + *

                                                                    Information about the association.

                                                                    */ - S3Prefix?: string; + Association?: TransitGatewayAssociation; } -export namespace ExportTaskS3LocationRequest { +export namespace DisassociateTransitGatewayRouteTableResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTaskS3LocationRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateTransitGatewayRouteTableResult): any => ({ ...obj, }); } -export interface ExportImageRequest { - /** - *

                                                                    Token to enable idempotency for export image requests.

                                                                    - */ - ClientToken?: string; - +export interface DisassociateTrunkInterfaceRequest { /** - *

                                                                    A description of the image being exported. The maximum length is 255 characters.

                                                                    + *

                                                                    The ID of the association

                                                                    */ - Description?: string; + AssociationId: string | undefined; /** - *

                                                                    The disk image format.

                                                                    + *

                                                                    Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                                                                    */ - DiskImageFormat: DiskImageFormat | string | undefined; + ClientToken?: string; /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -4045,156 +4526,127 @@ export interface ExportImageRequest { * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; +} +export namespace DisassociateTrunkInterfaceRequest { /** - *

                                                                    The ID of the image.

                                                                    - */ - ImageId: string | undefined; - - /** - *

                                                                    Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE - * and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

                                                                    + * @internal */ - S3ExportLocation: ExportTaskS3LocationRequest | undefined; + export const filterSensitiveLog = (obj: DisassociateTrunkInterfaceRequest): any => ({ + ...obj, + }); +} +export interface DisassociateTrunkInterfaceResult { /** - *

                                                                    The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

                                                                    + *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    */ - RoleName?: string; + Return?: boolean; /** - *

                                                                    The tags to apply to the export image task during creation.

                                                                    + *

                                                                    Unique, case-sensitive identifier that you provide to ensure the idempotency of the + * request. For more information, see How to Ensure + * Idempotency.

                                                                    */ - TagSpecifications?: TagSpecification[]; + ClientToken?: string; } -export namespace ExportImageRequest { +export namespace DisassociateTrunkInterfaceResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportImageRequest): any => ({ + export const filterSensitiveLog = (obj: DisassociateTrunkInterfaceResult): any => ({ ...obj, }); } -export interface ExportImageResult { - /** - *

                                                                    A description of the image being exported.

                                                                    - */ - Description?: string; - +export interface DisassociateVpcCidrBlockRequest { /** - *

                                                                    The disk image format for the exported image.

                                                                    + *

                                                                    The association ID for the CIDR block.

                                                                    */ - DiskImageFormat?: DiskImageFormat | string; + AssociationId: string | undefined; +} +export namespace DisassociateVpcCidrBlockRequest { /** - *

                                                                    The ID of the export image task.

                                                                    + * @internal */ - ExportImageTaskId?: string; + export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockRequest): any => ({ + ...obj, + }); +} +export interface DisassociateVpcCidrBlockResult { /** - *

                                                                    The ID of the image.

                                                                    + *

                                                                    Information about the IPv6 CIDR block association.

                                                                    */ - ImageId?: string; + Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation; /** - *

                                                                    The name of the role that grants VM Import/Export permission to export images to your Amazon - * S3 bucket.

                                                                    + *

                                                                    Information about the IPv4 CIDR block association.

                                                                    */ - RoleName?: string; + CidrBlockAssociation?: VpcCidrBlockAssociation; /** - *

                                                                    The percent complete of the export image task.

                                                                    + *

                                                                    The ID of the VPC.

                                                                    */ - Progress?: string; + VpcId?: string; +} +export namespace DisassociateVpcCidrBlockResult { /** - *

                                                                    Information about the destination Amazon S3 bucket.

                                                                    + * @internal */ - S3ExportLocation?: ExportTaskS3Location; + export const filterSensitiveLog = (obj: DisassociateVpcCidrBlockResult): any => ({ + ...obj, + }); +} +export interface EnableEbsEncryptionByDefaultRequest { /** - *

                                                                    The status of the export image task. The possible values are active, completed, - * deleting, and deleted.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - Status?: string; + DryRun?: boolean; +} +export namespace EnableEbsEncryptionByDefaultRequest { /** - *

                                                                    The status message for the export image task.

                                                                    + * @internal */ - StatusMessage?: string; + export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultRequest): any => ({ + ...obj, + }); +} +export interface EnableEbsEncryptionByDefaultResult { /** - *

                                                                    Any tags assigned to the export image task.

                                                                    + *

                                                                    The updated status of encryption by default.

                                                                    */ - Tags?: Tag[]; + EbsEncryptionByDefault?: boolean; } -export namespace ExportImageResult { +export namespace EnableEbsEncryptionByDefaultResult { /** * @internal */ - export const filterSensitiveLog = (obj: ExportImageResult): any => ({ + export const filterSensitiveLog = (obj: EnableEbsEncryptionByDefaultResult): any => ({ ...obj, }); } -export interface ExportTransitGatewayRoutesRequest { - /** - *

                                                                    The ID of the route table.

                                                                    - */ - TransitGatewayRouteTableId: string | undefined; - +export interface EnableFastSnapshotRestoresRequest { /** - *

                                                                    One or more filters. The possible values are:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * attachment.resource-id - The resource id of the transit gateway attachment.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * route-search.exact-match - The exact match of the specified filter.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * route-search.longest-prefix-match - The longest prefix that matches the route.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * state - The state of the route (active | blackhole).

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * transit-gateway-route-destination-cidr-block - The CIDR range.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * type - The type of route (propagated | - * static).

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    One or more Availability Zones. For example, us-east-2a.

                                                                    */ - Filters?: Filter[]; + AvailabilityZones: string[] | undefined; /** - *

                                                                    The name of the S3 bucket.

                                                                    + *

                                                                    The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You can specify + * a snapshot that was shared with you from another Amazon Web Services account.

                                                                    */ - S3Bucket: string | undefined; + SourceSnapshotIds: string[] | undefined; /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -4204,804 +4656,787 @@ export interface ExportTransitGatewayRoutesRequest { DryRun?: boolean; } -export namespace ExportTransitGatewayRoutesRequest { +export namespace EnableFastSnapshotRestoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresRequest): any => ({ ...obj, }); } -export interface ExportTransitGatewayRoutesResult { +/** + *

                                                                    Describes fast snapshot restores that were successfully enabled.

                                                                    + */ +export interface EnableFastSnapshotRestoreSuccessItem { /** - *

                                                                    The URL of the exported file in Amazon S3. For example, - * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

                                                                    + *

                                                                    The ID of the snapshot.

                                                                    */ - S3Location?: string; -} + SnapshotId?: string; -export namespace ExportTransitGatewayRoutesResult { /** - * @internal + *

                                                                    The Availability Zone.

                                                                    */ - export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesResult): any => ({ - ...obj, - }); -} + AvailabilityZone?: string; -export interface GetAssociatedEnclaveCertificateIamRolesRequest { /** - *

                                                                    The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon - * S3 object information.

                                                                    + *

                                                                    The state of fast snapshot restores.

                                                                    */ - CertificateArn?: string; + State?: FastSnapshotRestoreStateCode | string; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The reason for the state transition. The possible values are as follows:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * Client.UserInitiated - The state successfully transitioned to enabling or + * disabling.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * Client.UserInitiated - Lifecycle state transition - The state successfully transitioned + * to optimizing, enabled, or disabled.

                                                                      + *
                                                                    • + *
                                                                    */ - DryRun?: boolean; -} + StateTransitionReason?: string; -export namespace GetAssociatedEnclaveCertificateIamRolesRequest { /** - * @internal + *

                                                                    The ID of the Amazon Web Services account that enabled fast snapshot restores on the snapshot.

                                                                    */ - export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesRequest): any => ({ - ...obj, - }); -} + OwnerId?: string; -/** - *

                                                                    Information about the associated IAM roles.

                                                                    - */ -export interface AssociatedRole { /** - *

                                                                    The ARN of the associated IAM role.

                                                                    + *

                                                                    The Amazon Web Services owner alias that enabled fast snapshot restores on the snapshot. This is intended for future use.

                                                                    */ - AssociatedRoleArn?: string; + OwnerAlias?: string; /** - *

                                                                    The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

                                                                    + *

                                                                    The time at which fast snapshot restores entered the enabling state.

                                                                    */ - CertificateS3BucketName?: string; + EnablingTime?: Date; /** - *

                                                                    The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle - * is stored. The object key is formated as follows: role_arn/certificate_arn. - *

                                                                    + *

                                                                    The time at which fast snapshot restores entered the optimizing state.

                                                                    */ - CertificateS3ObjectKey?: string; + OptimizingTime?: Date; /** - *

                                                                    The ID of the KMS customer master key (CMK) used to encrypt the private key.

                                                                    + *

                                                                    The time at which fast snapshot restores entered the enabled state.

                                                                    */ - EncryptionKmsKeyId?: string; -} + EnabledTime?: Date; -export namespace AssociatedRole { /** - * @internal + *

                                                                    The time at which fast snapshot restores entered the disabling state.

                                                                    */ - export const filterSensitiveLog = (obj: AssociatedRole): any => ({ - ...obj, - }); -} + DisablingTime?: Date; -export interface GetAssociatedEnclaveCertificateIamRolesResult { /** - *

                                                                    Information about the associated IAM roles.

                                                                    + *

                                                                    The time at which fast snapshot restores entered the disabled state.

                                                                    */ - AssociatedRoles?: AssociatedRole[]; + DisabledTime?: Date; } -export namespace GetAssociatedEnclaveCertificateIamRolesResult { +export namespace EnableFastSnapshotRestoreSuccessItem { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesResult): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreSuccessItem): any => ({ ...obj, }); } -export interface GetAssociatedIpv6PoolCidrsRequest { +/** + *

                                                                    Describes an error that occurred when enabling fast snapshot restores.

                                                                    + */ +export interface EnableFastSnapshotRestoreStateError { /** - *

                                                                    The ID of the IPv6 address pool.

                                                                    + *

                                                                    The error code.

                                                                    */ - PoolId: string | undefined; + Code?: string; /** - *

                                                                    The token for the next page of results.

                                                                    + *

                                                                    The error message.

                                                                    */ - NextToken?: string; + Message?: string; +} + +export namespace EnableFastSnapshotRestoreStateError { + /** + * @internal + */ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateError): any => ({ + ...obj, + }); +} +/** + *

                                                                    Contains information about an error that occurred when enabling fast snapshot restores.

                                                                    + */ +export interface EnableFastSnapshotRestoreStateErrorItem { /** - *

                                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    + *

                                                                    The Availability Zone.

                                                                    */ - MaxResults?: number; + AvailabilityZone?: string; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The error.

                                                                    */ - DryRun?: boolean; + Error?: EnableFastSnapshotRestoreStateError; } -export namespace GetAssociatedIpv6PoolCidrsRequest { +export namespace EnableFastSnapshotRestoreStateErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsRequest): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreStateErrorItem): any => ({ ...obj, }); } /** - *

                                                                    Describes an IPv6 CIDR block association.

                                                                    + *

                                                                    Contains information about the errors that occurred when enabling fast snapshot restores.

                                                                    */ -export interface Ipv6CidrAssociation { +export interface EnableFastSnapshotRestoreErrorItem { /** - *

                                                                    The IPv6 CIDR block.

                                                                    + *

                                                                    The ID of the snapshot.

                                                                    */ - Ipv6Cidr?: string; + SnapshotId?: string; /** - *

                                                                    The resource that's associated with the IPv6 CIDR block.

                                                                    + *

                                                                    The errors.

                                                                    */ - AssociatedResource?: string; + FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[]; } -export namespace Ipv6CidrAssociation { +export namespace EnableFastSnapshotRestoreErrorItem { /** * @internal */ - export const filterSensitiveLog = (obj: Ipv6CidrAssociation): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoreErrorItem): any => ({ ...obj, }); } -export interface GetAssociatedIpv6PoolCidrsResult { +export interface EnableFastSnapshotRestoresResult { /** - *

                                                                    Information about the IPv6 CIDR block associations.

                                                                    + *

                                                                    Information about the snapshots for which fast snapshot restores were successfully enabled.

                                                                    */ - Ipv6CidrAssociations?: Ipv6CidrAssociation[]; + Successful?: EnableFastSnapshotRestoreSuccessItem[]; /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + *

                                                                    Information about the snapshots for which fast snapshot restores could not be enabled.

                                                                    */ - NextToken?: string; + Unsuccessful?: EnableFastSnapshotRestoreErrorItem[]; } -export namespace GetAssociatedIpv6PoolCidrsResult { +export namespace EnableFastSnapshotRestoresResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsResult): any => ({ + export const filterSensitiveLog = (obj: EnableFastSnapshotRestoresResult): any => ({ ...obj, }); } -export interface GetCapacityReservationUsageRequest { - /** - *

                                                                    The ID of the Capacity Reservation.

                                                                    - */ - CapacityReservationId: string | undefined; - +export interface EnableImageDeprecationRequest { /** - *

                                                                    The token to use to retrieve the next page of results.

                                                                    + *

                                                                    The ID of the AMI.

                                                                    */ - NextToken?: string; + ImageId: string | undefined; /** - *

                                                                    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                                                    - *

                                                                    Valid range: Minimum value of 1. Maximum value of 1000.

                                                                    + *

                                                                    The date and time to deprecate the AMI, in UTC, in the following format: + * YYYY-MM-DDTHH:MM:SSZ. + * If you specify a value for seconds, Amazon EC2 rounds the seconds to the + * nearest minute.

                                                                    + *

                                                                    You can’t specify a date in the past. The upper limit for DeprecateAt is 10 + * years from now.

                                                                    */ - MaxResults?: number; + DeprecateAt: Date | undefined; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; } -export namespace GetCapacityReservationUsageRequest { +export namespace EnableImageDeprecationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetCapacityReservationUsageRequest): any => ({ + export const filterSensitiveLog = (obj: EnableImageDeprecationRequest): any => ({ ...obj, }); } -/** - *

                                                                    Information about the Capacity Reservation usage.

                                                                    - */ -export interface InstanceUsage { +export interface EnableImageDeprecationResult { /** - *

                                                                    The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

                                                                    + *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    */ - AccountId?: string; + Return?: boolean; +} +export namespace EnableImageDeprecationResult { /** - *

                                                                    The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

                                                                    + * @internal */ - UsedInstanceCount?: number; + export const filterSensitiveLog = (obj: EnableImageDeprecationResult): any => ({ + ...obj, + }); } -export namespace InstanceUsage { +export interface EnableSerialConsoleAccessRequest { + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; +} + +export namespace EnableSerialConsoleAccessRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceUsage): any => ({ + export const filterSensitiveLog = (obj: EnableSerialConsoleAccessRequest): any => ({ ...obj, }); } -export interface GetCapacityReservationUsageResult { +export interface EnableSerialConsoleAccessResult { /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + *

                                                                    If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

                                                                    */ - NextToken?: string; + SerialConsoleAccessEnabled?: boolean; +} +export namespace EnableSerialConsoleAccessResult { /** - *

                                                                    The ID of the Capacity Reservation.

                                                                    + * @internal */ - CapacityReservationId?: string; + export const filterSensitiveLog = (obj: EnableSerialConsoleAccessResult): any => ({ + ...obj, + }); +} +export interface EnableTransitGatewayRouteTablePropagationRequest { /** - *

                                                                    The type of instance for which the Capacity Reservation reserves capacity.

                                                                    + *

                                                                    The ID of the propagation route table.

                                                                    */ - InstanceType?: string; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                                    The number of instances for which the Capacity Reservation reserves capacity.

                                                                    + *

                                                                    The ID of the attachment.

                                                                    */ - TotalInstanceCount?: number; + TransitGatewayAttachmentId: string | undefined; /** - *

                                                                    The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - AvailableInstanceCount?: number; + DryRun?: boolean; +} +export namespace EnableTransitGatewayRouteTablePropagationRequest { /** - *

                                                                    The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * active - The Capacity Reservation is active and the capacity is available for your use.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * expired - The Capacity Reservation expired automatically at the date and time specified - * in your request. The reserved capacity is no longer available for your use.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no - * longer available for your use.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * pending - The Capacity Reservation request was successful but the capacity - * provisioning is still pending.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * failed - The Capacity Reservation request has failed. A request might fail - * due to invalid request parameters, capacity constraints, or instance limit constraints. - * Failed requests are retained for 60 minutes.

                                                                      - *
                                                                    • - *
                                                                    + * @internal */ - State?: CapacityReservationState | string; + export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationRequest): any => ({ + ...obj, + }); +} +export interface EnableTransitGatewayRouteTablePropagationResult { /** - *

                                                                    Information about the Capacity Reservation usage.

                                                                    + *

                                                                    Information about route propagation.

                                                                    */ - InstanceUsages?: InstanceUsage[]; + Propagation?: TransitGatewayPropagation; } -export namespace GetCapacityReservationUsageResult { +export namespace EnableTransitGatewayRouteTablePropagationResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetCapacityReservationUsageResult): any => ({ + export const filterSensitiveLog = (obj: EnableTransitGatewayRouteTablePropagationResult): any => ({ ...obj, }); } -export interface GetCoipPoolUsageRequest { +/** + *

                                                                    Contains the parameters for EnableVgwRoutePropagation.

                                                                    + */ +export interface EnableVgwRoutePropagationRequest { /** - *

                                                                    The ID of the address pool.

                                                                    + *

                                                                    The ID of the virtual private gateway that is attached to a VPC. The virtual private + * gateway must be attached to the same VPC that the routing tables are associated with. + *

                                                                    */ - PoolId: string | undefined; + GatewayId: string | undefined; /** - *

                                                                    The filters. The following are the possible values:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * coip-address-usage.allocation-id - *

                                                                      - *
                                                                    • - *
                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * coip-address-usage.aws-account-id - *

                                                                      - *
                                                                    • - *
                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * coip-address-usage.aws-service - *

                                                                      - *
                                                                    • - *
                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * coip-address-usage.co-ip - *

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The ID of the route table. The routing table must be associated with the same VPC that + * the virtual private gateway is attached to.

                                                                    */ - Filters?: Filter[]; + RouteTableId: string | undefined; /** - *

                                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                    */ - MaxResults?: number; + DryRun?: boolean; +} +export namespace EnableVgwRoutePropagationRequest { /** - *

                                                                    The token for the next page of results.

                                                                    + * @internal */ - NextToken?: string; + export const filterSensitiveLog = (obj: EnableVgwRoutePropagationRequest): any => ({ + ...obj, + }); +} +export interface EnableVolumeIORequest { /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; + + /** + *

                                                                    The ID of the volume.

                                                                    + */ + VolumeId: string | undefined; } -export namespace GetCoipPoolUsageRequest { +export namespace EnableVolumeIORequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetCoipPoolUsageRequest): any => ({ + export const filterSensitiveLog = (obj: EnableVolumeIORequest): any => ({ ...obj, }); } -/** - *

                                                                    Describes address usage for a customer-owned address pool.

                                                                    - */ -export interface CoipAddressUsage { +export interface EnableVpcClassicLinkRequest { /** - *

                                                                    The allocation ID of the address.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - AllocationId?: string; + DryRun?: boolean; /** - *

                                                                    The Amazon Web Services account ID.

                                                                    + *

                                                                    The ID of the VPC.

                                                                    */ - AwsAccountId?: string; + VpcId: string | undefined; +} +export namespace EnableVpcClassicLinkRequest { /** - *

                                                                    The Amazon Web Services service.

                                                                    + * @internal */ - AwsService?: string; + export const filterSensitiveLog = (obj: EnableVpcClassicLinkRequest): any => ({ + ...obj, + }); +} +export interface EnableVpcClassicLinkResult { /** - *

                                                                    The customer-owned IP address.

                                                                    + *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    */ - CoIp?: string; + Return?: boolean; } -export namespace CoipAddressUsage { +export namespace EnableVpcClassicLinkResult { /** * @internal */ - export const filterSensitiveLog = (obj: CoipAddressUsage): any => ({ + export const filterSensitiveLog = (obj: EnableVpcClassicLinkResult): any => ({ ...obj, }); } -export interface GetCoipPoolUsageResult { +export interface EnableVpcClassicLinkDnsSupportRequest { /** - *

                                                                    The ID of the customer-owned address pool.

                                                                    + *

                                                                    The ID of the VPC.

                                                                    */ - CoipPoolId?: string; + VpcId?: string; +} +export namespace EnableVpcClassicLinkDnsSupportRequest { /** - *

                                                                    Information about the address usage.

                                                                    + * @internal */ - CoipAddressUsages?: CoipAddressUsage[]; + export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportRequest): any => ({ + ...obj, + }); +} +export interface EnableVpcClassicLinkDnsSupportResult { /** - *

                                                                    The ID of the local gateway route table.

                                                                    + *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    */ - LocalGatewayRouteTableId?: string; + Return?: boolean; } -export namespace GetCoipPoolUsageResult { +export namespace EnableVpcClassicLinkDnsSupportResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetCoipPoolUsageResult): any => ({ + export const filterSensitiveLog = (obj: EnableVpcClassicLinkDnsSupportResult): any => ({ ...obj, }); } -export interface GetConsoleOutputRequest { +export interface ExportClientVpnClientCertificateRevocationListRequest { /** - *

                                                                    The ID of the instance.

                                                                    + *

                                                                    The ID of the Client VPN endpoint.

                                                                    */ - InstanceId: string | undefined; + ClientVpnEndpointId: string | undefined; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; - - /** - *

                                                                    When enabled, retrieves the latest console output for the instance.

                                                                    - *

                                                                    Default: disabled (false)

                                                                    - */ - Latest?: boolean; } -export namespace GetConsoleOutputRequest { +export namespace ExportClientVpnClientCertificateRevocationListRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleOutputRequest): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListRequest): any => ({ ...obj, }); } -export interface GetConsoleOutputResult { - /** - *

                                                                    The ID of the instance.

                                                                    - */ - InstanceId?: string; +export type ClientCertificateRevocationListStatusCode = "active" | "pending"; +/** + *

                                                                    Describes the state of a client certificate revocation list.

                                                                    + */ +export interface ClientCertificateRevocationListStatus { /** - *

                                                                    The console output, base64-encoded. If you are using a command line tool, the tool - * decodes the output for you.

                                                                    + *

                                                                    The state of the client certificate revocation list.

                                                                    */ - Output?: string; + Code?: ClientCertificateRevocationListStatusCode | string; /** - *

                                                                    The time at which the output was last updated.

                                                                    + *

                                                                    A message about the status of the client certificate revocation list, if applicable.

                                                                    */ - Timestamp?: Date; + Message?: string; } -export namespace GetConsoleOutputResult { +export namespace ClientCertificateRevocationListStatus { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleOutputResult): any => ({ + export const filterSensitiveLog = (obj: ClientCertificateRevocationListStatus): any => ({ ...obj, }); } -export interface GetConsoleScreenshotRequest { - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    - */ - DryRun?: boolean; - +export interface ExportClientVpnClientCertificateRevocationListResult { /** - *

                                                                    The ID of the instance.

                                                                    + *

                                                                    Information about the client certificate revocation list.

                                                                    */ - InstanceId: string | undefined; + CertificateRevocationList?: string; /** - *

                                                                    When set to true, acts as keystroke input and wakes up an instance that's - * in standby or "sleep" mode.

                                                                    + *

                                                                    The current state of the client certificate revocation list.

                                                                    */ - WakeUp?: boolean; + Status?: ClientCertificateRevocationListStatus; } -export namespace GetConsoleScreenshotRequest { +export namespace ExportClientVpnClientCertificateRevocationListResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleScreenshotRequest): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientCertificateRevocationListResult): any => ({ ...obj, }); } -export interface GetConsoleScreenshotResult { +export interface ExportClientVpnClientConfigurationRequest { /** - *

                                                                    The data that comprises the image.

                                                                    + *

                                                                    The ID of the Client VPN endpoint.

                                                                    */ - ImageData?: string; + ClientVpnEndpointId: string | undefined; /** - *

                                                                    The ID of the instance.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    */ - InstanceId?: string; + DryRun?: boolean; } -export namespace GetConsoleScreenshotResult { +export namespace ExportClientVpnClientConfigurationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetConsoleScreenshotResult): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationRequest): any => ({ ...obj, }); } -export type UnlimitedSupportedInstanceFamily = "t2" | "t3" | "t3a" | "t4g"; - -export interface GetDefaultCreditSpecificationRequest { - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    - */ - DryRun?: boolean; - +export interface ExportClientVpnClientConfigurationResult { /** - *

                                                                    The instance family.

                                                                    + *

                                                                    The contents of the Client VPN endpoint configuration file.

                                                                    */ - InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; + ClientConfiguration?: string; } -export namespace GetDefaultCreditSpecificationRequest { +export namespace ExportClientVpnClientConfigurationResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: ExportClientVpnClientConfigurationResult): any => ({ ...obj, }); } /** - *

                                                                    Describes the default credit option for CPU usage of a burstable performance instance family.

                                                                    + *

                                                                    Describes the destination for an export image task.

                                                                    */ -export interface InstanceFamilyCreditSpecification { +export interface ExportTaskS3LocationRequest { /** - *

                                                                    The instance family.

                                                                    + *

                                                                    The destination Amazon S3 bucket.

                                                                    */ - InstanceFamily?: UnlimitedSupportedInstanceFamily | string; + S3Bucket: string | undefined; /** - *

                                                                    The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

                                                                    + *

                                                                    The prefix (logical hierarchy) in the bucket.

                                                                    */ - CpuCredits?: string; + S3Prefix?: string; } -export namespace InstanceFamilyCreditSpecification { +export namespace ExportTaskS3LocationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceFamilyCreditSpecification): any => ({ + export const filterSensitiveLog = (obj: ExportTaskS3LocationRequest): any => ({ ...obj, }); } -export interface GetDefaultCreditSpecificationResult { +export interface ExportImageRequest { /** - *

                                                                    The default credit option for CPU usage of the instance family.

                                                                    + *

                                                                    Token to enable idempotency for export image requests.

                                                                    */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; -} + ClientToken?: string; -export namespace GetDefaultCreditSpecificationResult { /** - * @internal + *

                                                                    A description of the image being exported. The maximum length is 255 characters.

                                                                    */ - export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationResult): any => ({ - ...obj, - }); -} + Description?: string; + + /** + *

                                                                    The disk image format.

                                                                    + */ + DiskImageFormat: DiskImageFormat | string | undefined; -export interface GetEbsDefaultKmsKeyIdRequest { /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                    */ DryRun?: boolean; -} -export namespace GetEbsDefaultKmsKeyIdRequest { /** - * @internal + *

                                                                    The ID of the image.

                                                                    */ - export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdRequest): any => ({ - ...obj, - }); -} + ImageId: string | undefined; -export interface GetEbsDefaultKmsKeyIdResult { /** - *

                                                                    The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

                                                                    + *

                                                                    Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE + * and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

                                                                    */ - KmsKeyId?: string; -} + S3ExportLocation: ExportTaskS3LocationRequest | undefined; -export namespace GetEbsDefaultKmsKeyIdResult { /** - * @internal + *

                                                                    The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket. If this parameter is not specified, the default role is named 'vmimport'.

                                                                    */ - export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdResult): any => ({ - ...obj, - }); -} + RoleName?: string; -export interface GetEbsEncryptionByDefaultRequest { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The tags to apply to the export image task during creation.

                                                                    */ - DryRun?: boolean; + TagSpecifications?: TagSpecification[]; } -export namespace GetEbsEncryptionByDefaultRequest { +export namespace ExportImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ + export const filterSensitiveLog = (obj: ExportImageRequest): any => ({ ...obj, }); } -export interface GetEbsEncryptionByDefaultResult { +export interface ExportImageResult { /** - *

                                                                    Indicates whether encryption by default is enabled.

                                                                    + *

                                                                    A description of the image being exported.

                                                                    */ - EbsEncryptionByDefault?: boolean; -} + Description?: string; -export namespace GetEbsEncryptionByDefaultResult { /** - * @internal + *

                                                                    The disk image format for the exported image.

                                                                    */ - export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultResult): any => ({ - ...obj, - }); -} + DiskImageFormat?: DiskImageFormat | string; -export enum PartitionLoadFrequency { - DAILY = "daily", - MONTHLY = "monthly", - NONE = "none", - WEEKLY = "weekly", -} + /** + *

                                                                    The ID of the export image task.

                                                                    + */ + ExportImageTaskId?: string; + + /** + *

                                                                    The ID of the image.

                                                                    + */ + ImageId?: string; -/** - *

                                                                    Describes integration options for Amazon Athena.

                                                                    - */ -export interface AthenaIntegration { /** - *

                                                                    The location in Amazon S3 to store the generated CloudFormation template.

                                                                    + *

                                                                    The name of the role that grants VM Import/Export permission to export images to your Amazon + * S3 bucket.

                                                                    */ - IntegrationResultS3DestinationArn: string | undefined; + RoleName?: string; /** - *

                                                                    The schedule for adding new partitions to the table.

                                                                    + *

                                                                    The percent complete of the export image task.

                                                                    */ - PartitionLoadFrequency: PartitionLoadFrequency | string | undefined; + Progress?: string; /** - *

                                                                    The start date for the partition.

                                                                    + *

                                                                    Information about the destination Amazon S3 bucket.

                                                                    */ - PartitionStartDate?: Date; + S3ExportLocation?: ExportTaskS3Location; /** - *

                                                                    The end date for the partition.

                                                                    + *

                                                                    The status of the export image task. The possible values are active, completed, + * deleting, and deleted.

                                                                    */ - PartitionEndDate?: Date; -} + Status?: string; -export namespace AthenaIntegration { /** - * @internal + *

                                                                    The status message for the export image task.

                                                                    */ - export const filterSensitiveLog = (obj: AthenaIntegration): any => ({ - ...obj, - }); -} + StatusMessage?: string; -/** - *

                                                                    Describes service integrations with VPC Flow logs.

                                                                    - */ -export interface IntegrateServices { /** - *

                                                                    Information about the integration with Amazon Athena.

                                                                    + *

                                                                    Any tags assigned to the export image task.

                                                                    */ - AthenaIntegrations?: AthenaIntegration[]; + Tags?: Tag[]; } -export namespace IntegrateServices { +export namespace ExportImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: IntegrateServices): any => ({ + export const filterSensitiveLog = (obj: ExportImageResult): any => ({ ...obj, }); } -export interface GetFlowLogsIntegrationTemplateRequest { +export interface ExportTransitGatewayRoutesRequest { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the route table.

                                                                    */ - DryRun?: boolean; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                                    The ID of the flow log.

                                                                    + *

                                                                    One or more filters. The possible values are:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * attachment.transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * attachment.resource-id - The resource id of the transit gateway attachment.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * route-search.exact-match - The exact match of the specified filter.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * route-search.longest-prefix-match - The longest prefix that matches the route.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * route-search.subnet-of-match - The routes with a subnet that match the specified CIDR filter.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * route-search.supernet-of-match - The routes with a CIDR that encompass the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * state - The state of the route (active | blackhole).

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * transit-gateway-route-destination-cidr-block - The CIDR range.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * type - The type of route (propagated | + * static).

                                                                      + *
                                                                    • + *
                                                                    */ - FlowLogId: string | undefined; + Filters?: Filter[]; /** - *

                                                                    To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

                                                                    + *

                                                                    The name of the S3 bucket.

                                                                    */ - ConfigDeliveryS3DestinationArn: string | undefined; + S3Bucket: string | undefined; /** - *

                                                                    Information about the service integration.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - IntegrateServices: IntegrateServices | undefined; + DryRun?: boolean; } -export namespace GetFlowLogsIntegrationTemplateRequest { +export namespace ExportTransitGatewayRoutesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesRequest): any => ({ ...obj, }); } -export interface GetFlowLogsIntegrationTemplateResult { +export interface ExportTransitGatewayRoutesResult { /** - *

                                                                    The generated CloudFormation template.

                                                                    + *

                                                                    The URL of the exported file in Amazon S3. For example, + * s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

                                                                    */ - Result?: string; + S3Location?: string; } -export namespace GetFlowLogsIntegrationTemplateResult { +export namespace ExportTransitGatewayRoutesResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateResult): any => ({ + export const filterSensitiveLog = (obj: ExportTransitGatewayRoutesResult): any => ({ ...obj, }); } -export interface GetGroupsForCapacityReservationRequest { - /** - *

                                                                    The ID of the Capacity Reservation.

                                                                    - */ - CapacityReservationId: string | undefined; - - /** - *

                                                                    The token to use to retrieve the next page of results.

                                                                    - */ - NextToken?: string; - +export interface GetAssociatedEnclaveCertificateIamRolesRequest { /** - *

                                                                    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                                                    + *

                                                                    The ARN of the ACM certificate for which to view the associated IAM roles, encryption keys, and Amazon + * S3 object information.

                                                                    */ - MaxResults?: number; + CertificateArn?: string; /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    @@ -5009,224 +5444,313 @@ export interface GetGroupsForCapacityReservationRequest { DryRun?: boolean; } -export namespace GetGroupsForCapacityReservationRequest { +export namespace GetAssociatedEnclaveCertificateIamRolesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationRequest): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesRequest): any => ({ ...obj, }); } /** - *

                                                                    Describes a resource group to which a Capacity Reservation has been added.

                                                                    + *

                                                                    Information about the associated IAM roles.

                                                                    */ -export interface CapacityReservationGroup { +export interface AssociatedRole { /** - *

                                                                    The ARN of the resource group.

                                                                    + *

                                                                    The ARN of the associated IAM role.

                                                                    */ - GroupArn?: string; + AssociatedRoleArn?: string; /** - *

                                                                    The ID of the Amazon Web Services account that owns the resource group.

                                                                    + *

                                                                    The name of the Amazon S3 bucket in which the Amazon S3 object is stored.

                                                                    */ - OwnerId?: string; + CertificateS3BucketName?: string; + + /** + *

                                                                    The key of the Amazon S3 object ey where the certificate, certificate chain, and encrypted private key bundle + * is stored. The object key is formated as follows: role_arn/certificate_arn. + *

                                                                    + */ + CertificateS3ObjectKey?: string; + + /** + *

                                                                    The ID of the KMS customer master key (CMK) used to encrypt the private key.

                                                                    + */ + EncryptionKmsKeyId?: string; } -export namespace CapacityReservationGroup { +export namespace AssociatedRole { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationGroup): any => ({ + export const filterSensitiveLog = (obj: AssociatedRole): any => ({ ...obj, }); } -export interface GetGroupsForCapacityReservationResult { - /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    - */ - NextToken?: string; - +export interface GetAssociatedEnclaveCertificateIamRolesResult { /** - *

                                                                    Information about the resource groups to which the Capacity Reservation has been added.

                                                                    + *

                                                                    Information about the associated IAM roles.

                                                                    */ - CapacityReservationGroups?: CapacityReservationGroup[]; + AssociatedRoles?: AssociatedRole[]; } -export namespace GetGroupsForCapacityReservationResult { +export namespace GetAssociatedEnclaveCertificateIamRolesResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationResult): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedEnclaveCertificateIamRolesResult): any => ({ ...obj, }); } -export interface GetHostReservationPurchasePreviewRequest { +export interface GetAssociatedIpv6PoolCidrsRequest { /** - *

                                                                    The IDs of the Dedicated Hosts with which the reservation is associated.

                                                                    + *

                                                                    The ID of the IPv6 address pool.

                                                                    */ - HostIdSet: string[] | undefined; + PoolId: string | undefined; /** - *

                                                                    The offering ID of the reservation.

                                                                    + *

                                                                    The token for the next page of results.

                                                                    */ - OfferingId: string | undefined; + NextToken?: string; + + /** + *

                                                                    The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    + */ + MaxResults?: number; + + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; } -export namespace GetHostReservationPurchasePreviewRequest { +export namespace GetAssociatedIpv6PoolCidrsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewRequest): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsRequest): any => ({ ...obj, }); } /** - *

                                                                    Describes the result of the purchase.

                                                                    + *

                                                                    Describes an IPv6 CIDR block association.

                                                                    */ -export interface Purchase { - /** - *

                                                                    The currency in which the UpfrontPrice and HourlyPrice - * amounts are specified. At this time, the only supported currency is - * USD.

                                                                    - */ - CurrencyCode?: CurrencyCodeValues | string; - - /** - *

                                                                    The duration of the reservation's term in seconds.

                                                                    - */ - Duration?: number; - - /** - *

                                                                    The IDs of the Dedicated Hosts associated with the reservation.

                                                                    - */ - HostIdSet?: string[]; - +export interface Ipv6CidrAssociation { /** - *

                                                                    The ID of the reservation.

                                                                    + *

                                                                    The IPv6 CIDR block.

                                                                    */ - HostReservationId?: string; + Ipv6Cidr?: string; /** - *

                                                                    The hourly price of the reservation per hour.

                                                                    + *

                                                                    The resource that's associated with the IPv6 CIDR block.

                                                                    */ - HourlyPrice?: string; + AssociatedResource?: string; +} +export namespace Ipv6CidrAssociation { /** - *

                                                                    The instance family on the Dedicated Host that the reservation can be associated - * with.

                                                                    + * @internal */ - InstanceFamily?: string; + export const filterSensitiveLog = (obj: Ipv6CidrAssociation): any => ({ + ...obj, + }); +} +export interface GetAssociatedIpv6PoolCidrsResult { /** - *

                                                                    The payment option for the reservation.

                                                                    + *

                                                                    Information about the IPv6 CIDR block associations.

                                                                    */ - PaymentOption?: PaymentOption | string; + Ipv6CidrAssociations?: Ipv6CidrAssociation[]; /** - *

                                                                    The upfront price of the reservation.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - UpfrontPrice?: string; + NextToken?: string; } -export namespace Purchase { +export namespace GetAssociatedIpv6PoolCidrsResult { /** * @internal */ - export const filterSensitiveLog = (obj: Purchase): any => ({ + export const filterSensitiveLog = (obj: GetAssociatedIpv6PoolCidrsResult): any => ({ ...obj, }); } -export interface GetHostReservationPurchasePreviewResult { +export interface GetCapacityReservationUsageRequest { /** - *

                                                                    The currency in which the totalUpfrontPrice and - * totalHourlyPrice amounts are specified. At this time, the only - * supported currency is USD.

                                                                    + *

                                                                    The ID of the Capacity Reservation.

                                                                    */ - CurrencyCode?: CurrencyCodeValues | string; + CapacityReservationId: string | undefined; /** - *

                                                                    The purchase information of the Dedicated Host reservation and the Dedicated Hosts - * associated with it.

                                                                    + *

                                                                    The token to use to retrieve the next page of results.

                                                                    */ - Purchase?: Purchase[]; + NextToken?: string; /** - *

                                                                    The potential total hourly price of the reservation per hour.

                                                                    + *

                                                                    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                                                    + *

                                                                    Valid range: Minimum value of 1. Maximum value of 1000.

                                                                    */ - TotalHourlyPrice?: string; + MaxResults?: number; /** - *

                                                                    The potential total upfront price. This is billed immediately.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    */ - TotalUpfrontPrice?: string; + DryRun?: boolean; } -export namespace GetHostReservationPurchasePreviewResult { +export namespace GetCapacityReservationUsageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewResult): any => ({ + export const filterSensitiveLog = (obj: GetCapacityReservationUsageRequest): any => ({ ...obj, }); } -export interface GetLaunchTemplateDataRequest { +/** + *

                                                                    Information about the Capacity Reservation usage.

                                                                    + */ +export interface InstanceUsage { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the Amazon Web Services account that is making use of the Capacity Reservation.

                                                                    */ - DryRun?: boolean; + AccountId?: string; /** - *

                                                                    The ID of the instance.

                                                                    + *

                                                                    The number of instances the Amazon Web Services account currently has in the Capacity Reservation.

                                                                    */ - InstanceId: string | undefined; + UsedInstanceCount?: number; } -export namespace GetLaunchTemplateDataRequest { +export namespace InstanceUsage { /** * @internal */ - export const filterSensitiveLog = (obj: GetLaunchTemplateDataRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceUsage): any => ({ ...obj, }); } -export interface GetLaunchTemplateDataResult { +export interface GetCapacityReservationUsageResult { /** - *

                                                                    The instance data.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ - LaunchTemplateData?: ResponseLaunchTemplateData; + NextToken?: string; + + /** + *

                                                                    The ID of the Capacity Reservation.

                                                                    + */ + CapacityReservationId?: string; + + /** + *

                                                                    The type of instance for which the Capacity Reservation reserves capacity.

                                                                    + */ + InstanceType?: string; + + /** + *

                                                                    The number of instances for which the Capacity Reservation reserves capacity.

                                                                    + */ + TotalInstanceCount?: number; + + /** + *

                                                                    The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation.

                                                                    + */ + AvailableInstanceCount?: number; + + /** + *

                                                                    The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * active - The Capacity Reservation is active and the capacity is available for your use.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * expired - The Capacity Reservation expired automatically at the date and time specified + * in your request. The reserved capacity is no longer available for your use.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * cancelled - The Capacity Reservation was cancelled. The reserved capacity is no + * longer available for your use.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * pending - The Capacity Reservation request was successful but the capacity + * provisioning is still pending.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      + * failed - The Capacity Reservation request has failed. A request might fail + * due to invalid request parameters, capacity constraints, or instance limit constraints. + * Failed requests are retained for 60 minutes.

                                                                      + *
                                                                    • + *
                                                                    + */ + State?: CapacityReservationState | string; + + /** + *

                                                                    Information about the Capacity Reservation usage.

                                                                    + */ + InstanceUsages?: InstanceUsage[]; } -export namespace GetLaunchTemplateDataResult { +export namespace GetCapacityReservationUsageResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ + export const filterSensitiveLog = (obj: GetCapacityReservationUsageResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListAssociationsRequest { +export interface GetCoipPoolUsageRequest { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the address pool.

                                                                    */ - DryRun?: boolean; + PoolId: string | undefined; /** - *

                                                                    The ID of the prefix list.

                                                                    + *

                                                                    The filters. The following are the possible values:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * coip-address-usage.allocation-id + *

                                                                      + *
                                                                    • + *
                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * coip-address-usage.aws-account-id + *

                                                                      + *
                                                                    • + *
                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * coip-address-usage.aws-service + *

                                                                      + *
                                                                    • + *
                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      + * coip-address-usage.co-ip + *

                                                                      + *
                                                                    • + *
                                                                    */ - PrefixListId: string | undefined; + Filters?: Filter[]; /** *

                                                                    The maximum number of results to return with a single call. @@ -5238,63 +5762,90 @@ export interface GetManagedPrefixListAssociationsRequest { *

                                                                    The token for the next page of results.

                                                                    */ NextToken?: string; + + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; } -export namespace GetManagedPrefixListAssociationsRequest { +export namespace GetCoipPoolUsageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetCoipPoolUsageRequest): any => ({ ...obj, }); } /** - *

                                                                    Describes the resource with which a prefix list is associated.

                                                                    + *

                                                                    Describes address usage for a customer-owned address pool.

                                                                    */ -export interface PrefixListAssociation { +export interface CoipAddressUsage { /** - *

                                                                    The ID of the resource.

                                                                    + *

                                                                    The allocation ID of the address.

                                                                    */ - ResourceId?: string; + AllocationId?: string; /** - *

                                                                    The owner of the resource.

                                                                    + *

                                                                    The Amazon Web Services account ID.

                                                                    */ - ResourceOwner?: string; + AwsAccountId?: string; + + /** + *

                                                                    The Amazon Web Services service.

                                                                    + */ + AwsService?: string; + + /** + *

                                                                    The customer-owned IP address.

                                                                    + */ + CoIp?: string; } -export namespace PrefixListAssociation { +export namespace CoipAddressUsage { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixListAssociation): any => ({ + export const filterSensitiveLog = (obj: CoipAddressUsage): any => ({ ...obj, }); } -export interface GetManagedPrefixListAssociationsResult { +export interface GetCoipPoolUsageResult { /** - *

                                                                    Information about the associations.

                                                                    + *

                                                                    The ID of the customer-owned address pool.

                                                                    */ - PrefixListAssociations?: PrefixListAssociation[]; + CoipPoolId?: string; /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + *

                                                                    Information about the address usage.

                                                                    */ - NextToken?: string; + CoipAddressUsages?: CoipAddressUsage[]; + + /** + *

                                                                    The ID of the local gateway route table.

                                                                    + */ + LocalGatewayRouteTableId?: string; } -export namespace GetManagedPrefixListAssociationsResult { +export namespace GetCoipPoolUsageResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: GetCoipPoolUsageResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListEntriesRequest { +export interface GetConsoleOutputRequest { + /** + *

                                                                    The ID of the instance.

                                                                    + */ + InstanceId: string | undefined; + /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -5303,701 +5854,665 @@ export interface GetManagedPrefixListEntriesRequest { DryRun?: boolean; /** - *

                                                                    The ID of the prefix list.

                                                                    - */ - PrefixListId: string | undefined; - - /** - *

                                                                    The version of the prefix list for which to return the entries. The default is the current version.

                                                                    - */ - TargetVersion?: number; - - /** - *

                                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    - */ - MaxResults?: number; - - /** - *

                                                                    The token for the next page of results.

                                                                    + *

                                                                    When enabled, retrieves the latest console output for the instance.

                                                                    + *

                                                                    Default: disabled (false)

                                                                    */ - NextToken?: string; + Latest?: boolean; } -export namespace GetManagedPrefixListEntriesRequest { +export namespace GetConsoleOutputRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesRequest): any => ({ + export const filterSensitiveLog = (obj: GetConsoleOutputRequest): any => ({ ...obj, }); } -/** - *

                                                                    Describes a prefix list entry.

                                                                    - */ -export interface PrefixListEntry { +export interface GetConsoleOutputResult { /** - *

                                                                    The CIDR block.

                                                                    + *

                                                                    The ID of the instance.

                                                                    + */ + InstanceId?: string; + + /** + *

                                                                    The console output, base64-encoded. If you are using a command line tool, the tool + * decodes the output for you.

                                                                    */ - Cidr?: string; + Output?: string; /** - *

                                                                    The description.

                                                                    + *

                                                                    The time at which the output was last updated.

                                                                    */ - Description?: string; + Timestamp?: Date; } -export namespace PrefixListEntry { +export namespace GetConsoleOutputResult { /** * @internal */ - export const filterSensitiveLog = (obj: PrefixListEntry): any => ({ + export const filterSensitiveLog = (obj: GetConsoleOutputResult): any => ({ ...obj, }); } -export interface GetManagedPrefixListEntriesResult { +export interface GetConsoleScreenshotRequest { /** - *

                                                                    Information about the prefix list entries.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - Entries?: PrefixListEntry[]; + DryRun?: boolean; /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + *

                                                                    The ID of the instance.

                                                                    */ - NextToken?: string; + InstanceId: string | undefined; + + /** + *

                                                                    When set to true, acts as keystroke input and wakes up an instance that's + * in standby or "sleep" mode.

                                                                    + */ + WakeUp?: boolean; } -export namespace GetManagedPrefixListEntriesResult { +export namespace GetConsoleScreenshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesResult): any => ({ + export const filterSensitiveLog = (obj: GetConsoleScreenshotRequest): any => ({ ...obj, }); } -export interface GetPasswordDataRequest { +export interface GetConsoleScreenshotResult { /** - *

                                                                    The ID of the Windows instance.

                                                                    + *

                                                                    The data that comprises the image.

                                                                    */ - InstanceId: string | undefined; + ImageData?: string; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the instance.

                                                                    */ - DryRun?: boolean; + InstanceId?: string; } -export namespace GetPasswordDataRequest { +export namespace GetConsoleScreenshotResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetPasswordDataRequest): any => ({ + export const filterSensitiveLog = (obj: GetConsoleScreenshotResult): any => ({ ...obj, }); } -export interface GetPasswordDataResult { - /** - *

                                                                    The ID of the Windows instance.

                                                                    - */ - InstanceId?: string; +export type UnlimitedSupportedInstanceFamily = "t2" | "t3" | "t3a" | "t4g"; +export interface GetDefaultCreditSpecificationRequest { /** - *

                                                                    The password of the instance. Returns an empty string if the password is not - * available.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - PasswordData?: string; + DryRun?: boolean; /** - *

                                                                    The time the data was last updated.

                                                                    + *

                                                                    The instance family.

                                                                    */ - Timestamp?: Date; + InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; } -export namespace GetPasswordDataResult { +export namespace GetDefaultCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetPasswordDataResult): any => ({ + export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationRequest): any => ({ ...obj, }); } /** - *

                                                                    Contains the parameters for GetReservedInstanceExchangeQuote.

                                                                    + *

                                                                    Describes the default credit option for CPU usage of a burstable performance instance family.

                                                                    */ -export interface GetReservedInstancesExchangeQuoteRequest { - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    - */ - DryRun?: boolean; - +export interface InstanceFamilyCreditSpecification { /** - *

                                                                    The IDs of the Convertible Reserved Instances to exchange.

                                                                    + *

                                                                    The instance family.

                                                                    */ - ReservedInstanceIds: string[] | undefined; + InstanceFamily?: UnlimitedSupportedInstanceFamily | string; /** - *

                                                                    The configuration of the target Convertible Reserved Instance to exchange for your - * current Convertible Reserved Instances.

                                                                    + *

                                                                    The default credit option for CPU usage of the instance family. Valid values are standard and unlimited.

                                                                    */ - TargetConfigurations?: TargetConfigurationRequest[]; + CpuCredits?: string; } -export namespace GetReservedInstancesExchangeQuoteRequest { +export namespace InstanceFamilyCreditSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceFamilyCreditSpecification): any => ({ ...obj, }); } -/** - *

                                                                    The cost associated with the Reserved Instance.

                                                                    - */ -export interface ReservationValue { +export interface GetDefaultCreditSpecificationResult { /** - *

                                                                    The hourly rate of the reservation.

                                                                    + *

                                                                    The default credit option for CPU usage of the instance family.

                                                                    */ - HourlyPrice?: string; + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; +} +export namespace GetDefaultCreditSpecificationResult { /** - *

                                                                    The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

                                                                    + * @internal */ - RemainingTotalValue?: string; + export const filterSensitiveLog = (obj: GetDefaultCreditSpecificationResult): any => ({ + ...obj, + }); +} +export interface GetEbsDefaultKmsKeyIdRequest { /** - *

                                                                    The remaining upfront cost of the reservation.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - RemainingUpfrontValue?: string; + DryRun?: boolean; } -export namespace ReservationValue { +export namespace GetEbsDefaultKmsKeyIdRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ReservationValue): any => ({ + export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdRequest): any => ({ ...obj, }); } -/** - *

                                                                    The total value of the Convertible Reserved Instance.

                                                                    - */ -export interface ReservedInstanceReservationValue { - /** - *

                                                                    The total value of the Convertible Reserved Instance that you are exchanging.

                                                                    - */ - ReservationValue?: ReservationValue; - +export interface GetEbsDefaultKmsKeyIdResult { /** - *

                                                                    The ID of the Convertible Reserved Instance that you are exchanging.

                                                                    + *

                                                                    The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

                                                                    */ - ReservedInstanceId?: string; + KmsKeyId?: string; } -export namespace ReservedInstanceReservationValue { +export namespace GetEbsDefaultKmsKeyIdResult { /** * @internal */ - export const filterSensitiveLog = (obj: ReservedInstanceReservationValue): any => ({ + export const filterSensitiveLog = (obj: GetEbsDefaultKmsKeyIdResult): any => ({ ...obj, }); } -/** - *

                                                                    Information about the Convertible Reserved Instance offering.

                                                                    - */ -export interface TargetConfiguration { - /** - *

                                                                    The number of instances the Convertible Reserved Instance offering can be applied to. This parameter is - * reserved and cannot be specified in a request

                                                                    - */ - InstanceCount?: number; - +export interface GetEbsEncryptionByDefaultRequest { /** - *

                                                                    The ID of the Convertible Reserved Instance offering.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - OfferingId?: string; + DryRun?: boolean; } -export namespace TargetConfiguration { +export namespace GetEbsEncryptionByDefaultRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TargetConfiguration): any => ({ + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultRequest): any => ({ ...obj, }); } -/** - *

                                                                    The total value of the new Convertible Reserved Instances.

                                                                    - */ -export interface TargetReservationValue { - /** - *

                                                                    The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of - * the list value, remaining upfront price, and additional upfront cost of the exchange.

                                                                    - */ - ReservationValue?: ReservationValue; - +export interface GetEbsEncryptionByDefaultResult { /** - *

                                                                    The configuration of the Convertible Reserved Instances that make up the exchange.

                                                                    + *

                                                                    Indicates whether encryption by default is enabled.

                                                                    */ - TargetConfiguration?: TargetConfiguration; + EbsEncryptionByDefault?: boolean; } -export namespace TargetReservationValue { +export namespace GetEbsEncryptionByDefaultResult { /** * @internal */ - export const filterSensitiveLog = (obj: TargetReservationValue): any => ({ + export const filterSensitiveLog = (obj: GetEbsEncryptionByDefaultResult): any => ({ ...obj, }); } +export enum PartitionLoadFrequency { + DAILY = "daily", + MONTHLY = "monthly", + NONE = "none", + WEEKLY = "weekly", +} + /** - *

                                                                    Contains the output of GetReservedInstancesExchangeQuote.

                                                                    + *

                                                                    Describes integration options for Amazon Athena.

                                                                    */ -export interface GetReservedInstancesExchangeQuoteResult { +export interface AthenaIntegration { /** - *

                                                                    The currency of the transaction.

                                                                    + *

                                                                    The location in Amazon S3 to store the generated CloudFormation template.

                                                                    */ - CurrencyCode?: string; + IntegrationResultS3DestinationArn: string | undefined; /** - *

                                                                    If true, the exchange is valid. If false, the exchange cannot be completed.

                                                                    + *

                                                                    The schedule for adding new partitions to the table.

                                                                    */ - IsValidExchange?: boolean; + PartitionLoadFrequency: PartitionLoadFrequency | string | undefined; /** - *

                                                                    The new end date of the reservation term.

                                                                    + *

                                                                    The start date for the partition.

                                                                    */ - OutputReservedInstancesWillExpireAt?: Date; + PartitionStartDate?: Date; /** - *

                                                                    The total true upfront charge for the exchange.

                                                                    + *

                                                                    The end date for the partition.

                                                                    */ - PaymentDue?: string; + PartitionEndDate?: Date; +} +export namespace AthenaIntegration { /** - *

                                                                    The cost associated with the Reserved Instance.

                                                                    + * @internal */ - ReservedInstanceValueRollup?: ReservationValue; + export const filterSensitiveLog = (obj: AthenaIntegration): any => ({ + ...obj, + }); +} +/** + *

                                                                    Describes service integrations with VPC Flow logs.

                                                                    + */ +export interface IntegrateServices { /** - *

                                                                    The configuration of your Convertible Reserved Instances.

                                                                    + *

                                                                    Information about the integration with Amazon Athena.

                                                                    */ - ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; + AthenaIntegrations?: AthenaIntegration[]; +} +export namespace IntegrateServices { /** - *

                                                                    The cost associated with the Reserved Instance.

                                                                    + * @internal */ - TargetConfigurationValueRollup?: ReservationValue; + export const filterSensitiveLog = (obj: IntegrateServices): any => ({ + ...obj, + }); +} +export interface GetFlowLogsIntegrationTemplateRequest { /** - *

                                                                    The values of the target Convertible Reserved Instances.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - TargetConfigurationValueSet?: TargetReservationValue[]; + DryRun?: boolean; /** - *

                                                                    Describes the reason why the exchange cannot be completed.

                                                                    + *

                                                                    The ID of the flow log.

                                                                    */ - ValidationFailureReason?: string; + FlowLogId: string | undefined; + + /** + *

                                                                    To store the CloudFormation template in Amazon S3, specify the location in Amazon S3.

                                                                    + */ + ConfigDeliveryS3DestinationArn: string | undefined; + + /** + *

                                                                    Information about the service integration.

                                                                    + */ + IntegrateServices: IntegrateServices | undefined; } -export namespace GetReservedInstancesExchangeQuoteResult { +export namespace GetFlowLogsIntegrationTemplateRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteResult): any => ({ + export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateRequest): any => ({ ...obj, }); } -export interface GetSerialConsoleAccessStatusRequest { +export interface GetFlowLogsIntegrationTemplateResult { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The generated CloudFormation template.

                                                                    */ - DryRun?: boolean; + Result?: string; } -export namespace GetSerialConsoleAccessStatusRequest { +export namespace GetFlowLogsIntegrationTemplateResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusRequest): any => ({ + export const filterSensitiveLog = (obj: GetFlowLogsIntegrationTemplateResult): any => ({ ...obj, }); } -export interface GetSerialConsoleAccessStatusResult { +export interface GetGroupsForCapacityReservationRequest { /** - *

                                                                    If true, access to the EC2 serial console of all instances is enabled for - * your account. If false, access to the EC2 serial console of all instances - * is disabled for your account.

                                                                    + *

                                                                    The ID of the Capacity Reservation.

                                                                    */ - SerialConsoleAccessEnabled?: boolean; + CapacityReservationId: string | undefined; + + /** + *

                                                                    The token to use to retrieve the next page of results.

                                                                    + */ + NextToken?: string; + + /** + *

                                                                    The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

                                                                    + */ + MaxResults?: number; + + /** + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + */ + DryRun?: boolean; } -export namespace GetSerialConsoleAccessStatusResult { +export namespace GetGroupsForCapacityReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusResult): any => ({ + export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationRequest): any => ({ ...obj, }); } -export interface GetSubnetCidrReservationsRequest { +/** + *

                                                                    Describes a resource group to which a Capacity Reservation has been added.

                                                                    + */ +export interface CapacityReservationGroup { /** - *

                                                                    One or more filters.

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * reservationType - The type of reservation (prefix | - * explicit).

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * subnet-id - The ID of the subnet.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. - * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The ARN of the resource group.

                                                                    */ - Filters?: Filter[]; + GroupArn?: string; /** - *

                                                                    The ID of the subnet.

                                                                    + *

                                                                    The ID of the Amazon Web Services account that owns the resource group.

                                                                    */ - SubnetId: string | undefined; + OwnerId?: string; +} +export namespace CapacityReservationGroup { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: CapacityReservationGroup): any => ({ + ...obj, + }); +} +export interface GetGroupsForCapacityReservationResult { /** - *

                                                                    The token for the next page of results.

                                                                    + *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    */ NextToken?: string; /** - *

                                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    + *

                                                                    Information about the resource groups to which the Capacity Reservation has been added.

                                                                    */ - MaxResults?: number; + CapacityReservationGroups?: CapacityReservationGroup[]; } -export namespace GetSubnetCidrReservationsRequest { +export namespace GetGroupsForCapacityReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetSubnetCidrReservationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetGroupsForCapacityReservationResult): any => ({ ...obj, }); } -export interface GetSubnetCidrReservationsResult { - /** - *

                                                                    Information about the IPv4 subnet CIDR reservations.

                                                                    - */ - SubnetIpv4CidrReservations?: SubnetCidrReservation[]; - +export interface GetHostReservationPurchasePreviewRequest { /** - *

                                                                    Information about the IPv6 subnet CIDR reservations.

                                                                    + *

                                                                    The IDs of the Dedicated Hosts with which the reservation is associated.

                                                                    */ - SubnetIpv6CidrReservations?: SubnetCidrReservation[]; + HostIdSet: string[] | undefined; /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + *

                                                                    The offering ID of the reservation.

                                                                    */ - NextToken?: string; + OfferingId: string | undefined; } -export namespace GetSubnetCidrReservationsResult { +export namespace GetHostReservationPurchasePreviewRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetSubnetCidrReservationsResult): any => ({ + export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayAttachmentPropagationsRequest { +/** + *

                                                                    Describes the result of the purchase.

                                                                    + */ +export interface Purchase { /** - *

                                                                    The ID of the attachment.

                                                                    + *

                                                                    The currency in which the UpfrontPrice and HourlyPrice + * amounts are specified. At this time, the only supported currency is + * USD.

                                                                    */ - TransitGatewayAttachmentId: string | undefined; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                                    One or more filters. The possible values are:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The duration of the reservation's term in seconds.

                                                                    */ - Filters?: Filter[]; + Duration?: number; /** - *

                                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    + *

                                                                    The IDs of the Dedicated Hosts associated with the reservation.

                                                                    */ - MaxResults?: number; + HostIdSet?: string[]; /** - *

                                                                    The token for the next page of results.

                                                                    + *

                                                                    The ID of the reservation.

                                                                    */ - NextToken?: string; + HostReservationId?: string; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The hourly price of the reservation per hour.

                                                                    */ - DryRun?: boolean; -} + HourlyPrice?: string; -export namespace GetTransitGatewayAttachmentPropagationsRequest { /** - * @internal + *

                                                                    The instance family on the Dedicated Host that the reservation can be associated + * with.

                                                                    */ - export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsRequest): any => ({ - ...obj, - }); -} + InstanceFamily?: string; -/** - *

                                                                    Describes a propagation route table.

                                                                    - */ -export interface TransitGatewayAttachmentPropagation { /** - *

                                                                    The ID of the propagation route table.

                                                                    + *

                                                                    The payment option for the reservation.

                                                                    */ - TransitGatewayRouteTableId?: string; + PaymentOption?: PaymentOption | string; /** - *

                                                                    The state of the propagation route table.

                                                                    + *

                                                                    The upfront price of the reservation.

                                                                    */ - State?: TransitGatewayPropagationState | string; + UpfrontPrice?: string; } -export namespace TransitGatewayAttachmentPropagation { +export namespace Purchase { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayAttachmentPropagation): any => ({ + export const filterSensitiveLog = (obj: Purchase): any => ({ ...obj, }); } -export interface GetTransitGatewayAttachmentPropagationsResult { +export interface GetHostReservationPurchasePreviewResult { /** - *

                                                                    Information about the propagation route tables.

                                                                    + *

                                                                    The currency in which the totalUpfrontPrice and + * totalHourlyPrice amounts are specified. At this time, the only + * supported currency is USD.

                                                                    */ - TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; + CurrencyCode?: CurrencyCodeValues | string; /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + *

                                                                    The purchase information of the Dedicated Host reservation and the Dedicated Hosts + * associated with it.

                                                                    */ - NextToken?: string; + Purchase?: Purchase[]; + + /** + *

                                                                    The potential total hourly price of the reservation per hour.

                                                                    + */ + TotalHourlyPrice?: string; + + /** + *

                                                                    The potential total upfront price. This is billed immediately.

                                                                    + */ + TotalUpfrontPrice?: string; } -export namespace GetTransitGatewayAttachmentPropagationsResult { +export namespace GetHostReservationPurchasePreviewResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsResult): any => ({ + export const filterSensitiveLog = (obj: GetHostReservationPurchasePreviewResult): any => ({ ...obj, }); } -export interface GetTransitGatewayMulticastDomainAssociationsRequest { +export interface GetInstanceTypesFromInstanceRequirementsRequest { /** - *

                                                                    The ID of the transit gateway multicast domain.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - TransitGatewayMulticastDomainId?: string; + DryRun?: boolean; /** - *

                                                                    One or more filters. The possible values are:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * resource-id - The ID of the resource.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * resource-type - The type of resource. The valid value is: vpc.

                                                                      - *
                                                                    • - *
                                                                    • - * - *

                                                                      - * state - The state of the subnet association. Valid values are - * associated | - * associating - * | disassociated | disassociating.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * subnet-id - The ID of the subnet.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The processor architecture type.

                                                                    */ - Filters?: Filter[]; + ArchitectureTypes: (ArchitectureType | string)[] | undefined; /** - *

                                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    + *

                                                                    The virtualization type.

                                                                    + */ + VirtualizationTypes: (VirtualizationType | string)[] | undefined; + + /** + *

                                                                    The attributes required for the instance types.

                                                                    + */ + InstanceRequirements: InstanceRequirementsRequest | undefined; + + /** + *

                                                                    The maximum number of results to return in a single call. Specify a value between 1 and + * 1000. The default value is 1000. To retrieve the remaining results, make another call with + * the returned NextToken value.

                                                                    */ MaxResults?: number; /** - *

                                                                    The token for the next page of results.

                                                                    + *

                                                                    The token for the next set of results.

                                                                    */ NextToken?: string; +} + +export namespace GetInstanceTypesFromInstanceRequirementsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                    The list of instance types with the specified instance attributes.

                                                                    + */ +export interface InstanceTypeInfoFromInstanceRequirements { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The matching instance type.

                                                                    */ - DryRun?: boolean; + InstanceType?: string; } -export namespace GetTransitGatewayMulticastDomainAssociationsRequest { +export namespace InstanceTypeInfoFromInstanceRequirements { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceTypeInfoFromInstanceRequirements): any => ({ ...obj, }); } -/** - *

                                                                    Describes the resources associated with the transit gateway multicast domain.

                                                                    - */ -export interface TransitGatewayMulticastDomainAssociation { +export interface GetInstanceTypesFromInstanceRequirementsResult { /** - *

                                                                    The ID of the transit gateway attachment.

                                                                    + *

                                                                    The instance types with the specified instance attributes.

                                                                    */ - TransitGatewayAttachmentId?: string; + InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[]; /** - *

                                                                    The ID of the resource.

                                                                    + *

                                                                    The token for the next set of results.

                                                                    */ - ResourceId?: string; + NextToken?: string; +} +export namespace GetInstanceTypesFromInstanceRequirementsResult { /** - *

                                                                    The type of resource, for example a VPC attachment.

                                                                    + * @internal */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + export const filterSensitiveLog = (obj: GetInstanceTypesFromInstanceRequirementsResult): any => ({ + ...obj, + }); +} +export interface GetLaunchTemplateDataRequest { /** - *

                                                                    The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                    */ - ResourceOwnerId?: string; + DryRun?: boolean; /** - *

                                                                    The subnet associated with the transit gateway multicast domain.

                                                                    + *

                                                                    The ID of the instance.

                                                                    */ - Subnet?: SubnetAssociation; + InstanceId: string | undefined; } -export namespace TransitGatewayMulticastDomainAssociation { +export namespace GetLaunchTemplateDataRequest { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainAssociation): any => ({ + export const filterSensitiveLog = (obj: GetLaunchTemplateDataRequest): any => ({ ...obj, }); } -export interface GetTransitGatewayMulticastDomainAssociationsResult { - /** - *

                                                                    Information about the multicast domain associations.

                                                                    - */ - MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; - +export interface GetLaunchTemplateDataResult { /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + *

                                                                    The instance data.

                                                                    */ - NextToken?: string; + LaunchTemplateData?: ResponseLaunchTemplateData; } -export namespace GetTransitGatewayMulticastDomainAssociationsResult { +export namespace GetLaunchTemplateDataResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: GetLaunchTemplateDataResult): any => ({ ...obj, }); } -export interface GetTransitGatewayPrefixListReferencesRequest { +export interface GetManagedPrefixListAssociationsRequest { /** - *

                                                                    The ID of the transit gateway route table.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - TransitGatewayRouteTableId: string | undefined; + DryRun?: boolean; /** - *

                                                                    One or more filters. The possible values are:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * attachment.resource-id - The ID of the resource for the attachment.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * attachment.resource-type - The type of resource for the - * attachment. Valid values are vpc | vpn | - * direct-connect-gateway | peering.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * attachment.transit-gateway-attachment-id - The ID of the attachment.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * is-blackhole - Whether traffic matching the route is blocked (true | false).

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * prefix-list-id - The ID of the prefix list.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * prefix-list-owner-id - The ID of the owner of the prefix list.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * state - The state of the prefix list reference (pending | available | modifying | deleting).

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The ID of the prefix list.

                                                                    */ - Filters?: Filter[]; + PrefixListId: string | undefined; /** *

                                                                    The maximum number of results to return with a single call. @@ -6009,29 +6524,46 @@ export interface GetTransitGatewayPrefixListReferencesRequest { *

                                                                    The token for the next page of results.

                                                                    */ NextToken?: string; +} +export namespace GetManagedPrefixListAssociationsRequest { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsRequest): any => ({ + ...obj, + }); } -export namespace GetTransitGatewayPrefixListReferencesRequest { +/** + *

                                                                    Describes the resource with which a prefix list is associated.

                                                                    + */ +export interface PrefixListAssociation { + /** + *

                                                                    The ID of the resource.

                                                                    + */ + ResourceId?: string; + + /** + *

                                                                    The owner of the resource.

                                                                    + */ + ResourceOwner?: string; +} + +export namespace PrefixListAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesRequest): any => ({ + export const filterSensitiveLog = (obj: PrefixListAssociation): any => ({ ...obj, }); } -export interface GetTransitGatewayPrefixListReferencesResult { +export interface GetManagedPrefixListAssociationsResult { /** - *

                                                                    Information about the prefix list references.

                                                                    + *

                                                                    Information about the associations.

                                                                    */ - TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; + PrefixListAssociations?: PrefixListAssociation[]; /** *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    @@ -6039,41 +6571,32 @@ export interface GetTransitGatewayPrefixListReferencesResult { NextToken?: string; } -export namespace GetTransitGatewayPrefixListReferencesResult { +export namespace GetManagedPrefixListAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesResult): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListAssociationsResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTableAssociationsRequest { +export interface GetManagedPrefixListEntriesRequest { /** - *

                                                                    The ID of the transit gateway route table.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - TransitGatewayRouteTableId: string | undefined; + DryRun?: boolean; /** - *

                                                                    One or more filters. The possible values are:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * resource-id - The ID of the resource.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * transit-gateway-attachment-id - The ID of the attachment.

                                                                      - *
                                                                    • - *
                                                                    + *

                                                                    The ID of the prefix list.

                                                                    */ - Filters?: Filter[]; + PrefixListId: string | undefined; + + /** + *

                                                                    The version of the prefix list for which to return the entries. The default is the current version.

                                                                    + */ + TargetVersion?: number; /** *

                                                                    The maximum number of results to return with a single call. @@ -6085,63 +6608,46 @@ export interface GetTransitGatewayRouteTableAssociationsRequest { *

                                                                    The token for the next page of results.

                                                                    */ NextToken?: string; - - /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    - */ - DryRun?: boolean; } -export namespace GetTransitGatewayRouteTableAssociationsRequest { +export namespace GetManagedPrefixListEntriesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesRequest): any => ({ ...obj, }); } /** - *

                                                                    Describes an association between a route table and a resource attachment.

                                                                    + *

                                                                    Describes a prefix list entry.

                                                                    */ -export interface TransitGatewayRouteTableAssociation { - /** - *

                                                                    The ID of the attachment.

                                                                    - */ - TransitGatewayAttachmentId?: string; - - /** - *

                                                                    The ID of the resource.

                                                                    - */ - ResourceId?: string; - +export interface PrefixListEntry { /** - *

                                                                    The resource type. Note that the tgw-peering resource type has been deprecated.

                                                                    + *

                                                                    The CIDR block.

                                                                    */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + Cidr?: string; /** - *

                                                                    The state of the association.

                                                                    + *

                                                                    The description.

                                                                    */ - State?: TransitGatewayAssociationState | string; + Description?: string; } -export namespace TransitGatewayRouteTableAssociation { +export namespace PrefixListEntry { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRouteTableAssociation): any => ({ + export const filterSensitiveLog = (obj: PrefixListEntry): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTableAssociationsResult { +export interface GetManagedPrefixListEntriesResult { /** - *

                                                                    Information about the associations.

                                                                    + *

                                                                    Information about the prefix list entries.

                                                                    */ - Associations?: TransitGatewayRouteTableAssociation[]; + Entries?: PrefixListEntry[]; /** *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    @@ -6149,52 +6655,20 @@ export interface GetTransitGatewayRouteTableAssociationsResult { NextToken?: string; } -export namespace GetTransitGatewayRouteTableAssociationsResult { +export namespace GetManagedPrefixListEntriesResult { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsResult): any => ({ + export const filterSensitiveLog = (obj: GetManagedPrefixListEntriesResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTablePropagationsRequest { - /** - *

                                                                    The ID of the transit gateway route table.

                                                                    - */ - TransitGatewayRouteTableId: string | undefined; - - /** - *

                                                                    One or more filters. The possible values are:

                                                                    - *
                                                                      - *
                                                                    • - *

                                                                      - * resource-id - The ID of the resource.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * resource-type - The resource type. Valid values are vpc - * | vpn | direct-connect-gateway | peering - * | connect.

                                                                      - *
                                                                    • - *
                                                                    • - *

                                                                      - * transit-gateway-attachment-id - The ID of the attachment.

                                                                      - *
                                                                    • - *
                                                                    - */ - Filters?: Filter[]; - - /** - *

                                                                    The maximum number of results to return with a single call. - * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                    - */ - MaxResults?: number; - +export interface GetPasswordDataRequest { /** - *

                                                                    The token for the next page of results.

                                                                    + *

                                                                    The ID of the Windows instance.

                                                                    */ - NextToken?: string; + InstanceId: string | undefined; /** *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, @@ -6204,1705 +6678,1787 @@ export interface GetTransitGatewayRouteTablePropagationsRequest { DryRun?: boolean; } -export namespace GetTransitGatewayRouteTablePropagationsRequest { +export namespace GetPasswordDataRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsRequest): any => ({ + export const filterSensitiveLog = (obj: GetPasswordDataRequest): any => ({ ...obj, }); } -/** - *

                                                                    Describes a route table propagation.

                                                                    - */ -export interface TransitGatewayRouteTablePropagation { - /** - *

                                                                    The ID of the attachment.

                                                                    - */ - TransitGatewayAttachmentId?: string; - +export interface GetPasswordDataResult { /** - *

                                                                    The ID of the resource.

                                                                    + *

                                                                    The ID of the Windows instance.

                                                                    */ - ResourceId?: string; + InstanceId?: string; /** - *

                                                                    The type of resource. Note that the tgw-peering resource type has been deprecated.

                                                                    + *

                                                                    The password of the instance. Returns an empty string if the password is not + * available.

                                                                    */ - ResourceType?: TransitGatewayAttachmentResourceType | string; + PasswordData?: string; /** - *

                                                                    The state of the resource.

                                                                    + *

                                                                    The time the data was last updated.

                                                                    */ - State?: TransitGatewayPropagationState | string; + Timestamp?: Date; } -export namespace TransitGatewayRouteTablePropagation { +export namespace GetPasswordDataResult { /** * @internal */ - export const filterSensitiveLog = (obj: TransitGatewayRouteTablePropagation): any => ({ + export const filterSensitiveLog = (obj: GetPasswordDataResult): any => ({ ...obj, }); } -export interface GetTransitGatewayRouteTablePropagationsResult { +/** + *

                                                                    Contains the parameters for GetReservedInstanceExchangeQuote.

                                                                    + */ +export interface GetReservedInstancesExchangeQuoteRequest { /** - *

                                                                    Information about the route table propagations.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; + DryRun?: boolean; /** - *

                                                                    The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                    + *

                                                                    The IDs of the Convertible Reserved Instances to exchange.

                                                                    */ - NextToken?: string; + ReservedInstanceIds: string[] | undefined; + + /** + *

                                                                    The configuration of the target Convertible Reserved Instance to exchange for your + * current Convertible Reserved Instances.

                                                                    + */ + TargetConfigurations?: TargetConfigurationRequest[]; } -export namespace GetTransitGatewayRouteTablePropagationsResult { +export namespace GetReservedInstancesExchangeQuoteRequest { /** * @internal */ - export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsResult): any => ({ + export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteRequest): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceSampleConfigurationRequest { - /** - *

                                                                    The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample - * configuration.

                                                                    - */ - VpnConnectionId: string | undefined; - +/** + *

                                                                    The cost associated with the Reserved Instance.

                                                                    + */ +export interface ReservationValue { /** - *

                                                                    Device identifier provided by the GetVpnConnectionDeviceTypes API.

                                                                    + *

                                                                    The hourly rate of the reservation.

                                                                    */ - VpnConnectionDeviceTypeId: string | undefined; + HourlyPrice?: string; /** - *

                                                                    The IKE version to be used in the sample configuration file for your customer gateway - * device. You can specify one of the following versions: ikev1 or - * ikev2.

                                                                    + *

                                                                    The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice * number of hours remaining).

                                                                    */ - InternetKeyExchangeVersion?: string; + RemainingTotalValue?: string; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                    + *

                                                                    The remaining upfront cost of the reservation.

                                                                    */ - DryRun?: boolean; + RemainingUpfrontValue?: string; } -export namespace GetVpnConnectionDeviceSampleConfigurationRequest { +export namespace ReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: ReservationValue): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceSampleConfigurationResult { +/** + *

                                                                    The total value of the Convertible Reserved Instance.

                                                                    + */ +export interface ReservedInstanceReservationValue { /** - *

                                                                    Sample configuration file for the specified customer gateway device.

                                                                    + *

                                                                    The total value of the Convertible Reserved Instance that you are exchanging.

                                                                    */ - VpnConnectionDeviceSampleConfiguration?: string; + ReservationValue?: ReservationValue; + + /** + *

                                                                    The ID of the Convertible Reserved Instance that you are exchanging.

                                                                    + */ + ReservedInstanceId?: string; } -export namespace GetVpnConnectionDeviceSampleConfigurationResult { +export namespace ReservedInstanceReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationResult): any => ({ + export const filterSensitiveLog = (obj: ReservedInstanceReservationValue): any => ({ ...obj, - ...(obj.VpnConnectionDeviceSampleConfiguration && { VpnConnectionDeviceSampleConfiguration: SENSITIVE_STRING }), }); } -export interface GetVpnConnectionDeviceTypesRequest { - /** - *

                                                                    The maximum number of results returned by GetVpnConnectionDeviceTypes in - * paginated output. When this parameter is used, GetVpnConnectionDeviceTypes - * only returns MaxResults results in a single page along with a - * NextToken response element. The remaining results of the initial - * request can be seen by sending another GetVpnConnectionDeviceTypes request - * with the returned NextToken value. This value can be between 200 and 1000. - * If this parameter is not used, then GetVpnConnectionDeviceTypes returns all - * results.

                                                                    - */ - MaxResults?: number; - +/** + *

                                                                    Information about the Convertible Reserved Instance offering.

                                                                    + */ +export interface TargetConfiguration { /** - *

                                                                    The NextToken value returned from a previous paginated - * GetVpnConnectionDeviceTypes 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 number of instances the Convertible Reserved Instance offering can be applied to. This parameter is + * reserved and cannot be specified in a request

                                                                    */ - NextToken?: string; + InstanceCount?: number; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                    + *

                                                                    The ID of the Convertible Reserved Instance offering.

                                                                    */ - DryRun?: boolean; + OfferingId?: string; } -export namespace GetVpnConnectionDeviceTypesRequest { +export namespace TargetConfiguration { /** * @internal */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesRequest): any => ({ + export const filterSensitiveLog = (obj: TargetConfiguration): any => ({ ...obj, }); } /** - *

                                                                    List of customer gateway devices that have a sample configuration file available for - * use. You can also see the list of device types with sample configuration files available - * under Your customer - * gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

                                                                    + *

                                                                    The total value of the new Convertible Reserved Instances.

                                                                    */ -export interface VpnConnectionDeviceType { - /** - *

                                                                    Customer gateway device identifier.

                                                                    - */ - VpnConnectionDeviceTypeId?: string; - - /** - *

                                                                    Customer gateway device vendor.

                                                                    - */ - Vendor?: string; - +export interface TargetReservationValue { /** - *

                                                                    Customer gateway device platform.

                                                                    + *

                                                                    The total value of the Convertible Reserved Instances that make up the exchange. This is the sum of + * the list value, remaining upfront price, and additional upfront cost of the exchange.

                                                                    */ - Platform?: string; + ReservationValue?: ReservationValue; /** - *

                                                                    Customer gateway device software version.

                                                                    + *

                                                                    The configuration of the Convertible Reserved Instances that make up the exchange.

                                                                    */ - Software?: string; + TargetConfiguration?: TargetConfiguration; } -export namespace VpnConnectionDeviceType { +export namespace TargetReservationValue { /** * @internal */ - export const filterSensitiveLog = (obj: VpnConnectionDeviceType): any => ({ + export const filterSensitiveLog = (obj: TargetReservationValue): any => ({ ...obj, }); } -export interface GetVpnConnectionDeviceTypesResult { +/** + *

                                                                    Contains the output of GetReservedInstancesExchangeQuote.

                                                                    + */ +export interface GetReservedInstancesExchangeQuoteResult { /** - *

                                                                    List of customer gateway devices that have a sample configuration file available for - * use.

                                                                    + *

                                                                    The currency of the transaction.

                                                                    */ - VpnConnectionDeviceTypes?: VpnConnectionDeviceType[]; + CurrencyCode?: string; /** - *

                                                                    The NextToken value to include in a future - * GetVpnConnectionDeviceTypes request. When the results of a - * GetVpnConnectionDeviceTypes request exceed MaxResults, - * this value can be used to retrieve the next page of results. This value is null when - * there are no more results to return.

                                                                    + *

                                                                    If true, the exchange is valid. If false, the exchange cannot be completed.

                                                                    */ - NextToken?: string; -} + IsValidExchange?: boolean; -export namespace GetVpnConnectionDeviceTypesResult { /** - * @internal + *

                                                                    The new end date of the reservation term.

                                                                    */ - export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesResult): any => ({ - ...obj, - }); -} + OutputReservedInstancesWillExpireAt?: Date; -export interface ImportClientVpnClientCertificateRevocationListRequest { /** - *

                                                                    The ID of the Client VPN endpoint to which the client certificate revocation list applies.

                                                                    + *

                                                                    The total true upfront charge for the exchange.

                                                                    */ - ClientVpnEndpointId: string | undefined; + PaymentDue?: string; /** - *

                                                                    The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the - * Client VPN Administrator Guide.

                                                                    + *

                                                                    The cost associated with the Reserved Instance.

                                                                    */ - CertificateRevocationList: string | undefined; + ReservedInstanceValueRollup?: ReservationValue; /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The configuration of your Convertible Reserved Instances.

                                                                    */ - DryRun?: boolean; -} + ReservedInstanceValueSet?: ReservedInstanceReservationValue[]; -export namespace ImportClientVpnClientCertificateRevocationListRequest { /** - * @internal + *

                                                                    The cost associated with the Reserved Instance.

                                                                    */ - export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListRequest): any => ({ - ...obj, - }); -} + TargetConfigurationValueRollup?: ReservationValue; -export interface ImportClientVpnClientCertificateRevocationListResult { /** - *

                                                                    Returns true if the request succeeds; otherwise, it returns an error.

                                                                    + *

                                                                    The values of the target Convertible Reserved Instances.

                                                                    */ - Return?: boolean; + TargetConfigurationValueSet?: TargetReservationValue[]; + + /** + *

                                                                    Describes the reason why the exchange cannot be completed.

                                                                    + */ + ValidationFailureReason?: string; } -export namespace ImportClientVpnClientCertificateRevocationListResult { +export namespace GetReservedInstancesExchangeQuoteResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListResult): any => ({ + export const filterSensitiveLog = (obj: GetReservedInstancesExchangeQuoteResult): any => ({ ...obj, }); } -/** - *

                                                                    Describes the client-specific data.

                                                                    - */ -export interface ClientData { - /** - *

                                                                    A user-defined comment about the disk upload.

                                                                    - */ - Comment?: string; - +export interface GetSerialConsoleAccessStatusRequest { /** - *

                                                                    The time that the disk upload ends.

                                                                    + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                    */ - UploadEnd?: Date; + DryRun?: boolean; +} +export namespace GetSerialConsoleAccessStatusRequest { /** - *

                                                                    The size of the uploaded disk image, in GiB.

                                                                    + * @internal */ - UploadSize?: number; + export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusRequest): any => ({ + ...obj, + }); +} +export interface GetSerialConsoleAccessStatusResult { /** - *

                                                                    The time that the disk upload starts.

                                                                    + *

                                                                    If true, access to the EC2 serial console of all instances is enabled for + * your account. If false, access to the EC2 serial console of all instances + * is disabled for your account.

                                                                    */ - UploadStart?: Date; + SerialConsoleAccessEnabled?: boolean; } -export namespace ClientData { +export namespace GetSerialConsoleAccessStatusResult { /** * @internal */ - export const filterSensitiveLog = (obj: ClientData): any => ({ + export const filterSensitiveLog = (obj: GetSerialConsoleAccessStatusResult): any => ({ ...obj, }); } /** - *

                                                                    Describes the Amazon S3 bucket for the disk image.

                                                                    + *

                                                                    The architecture type, virtualization type, and other attributes for the instance types. + * When you specify instance attributes, Amazon EC2 will identify instance types with those + * attributes.

                                                                    + *

                                                                    If you specify InstanceRequirementsWithMetadataRequest, you can't specify + * InstanceTypes.

                                                                    */ -export interface UserBucket { +export interface InstanceRequirementsWithMetadataRequest { /** - *

                                                                    The name of the Amazon S3 bucket where the disk image is located.

                                                                    + *

                                                                    The architecture type.

                                                                    */ - S3Bucket?: string; + ArchitectureTypes?: (ArchitectureType | string)[]; /** - *

                                                                    The file name of the disk image.

                                                                    + *

                                                                    The virtualization type.

                                                                    */ - S3Key?: string; + VirtualizationTypes?: (VirtualizationType | string)[]; + + /** + *

                                                                    The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

                                                                    + */ + InstanceRequirements?: InstanceRequirementsRequest; } -export namespace UserBucket { +export namespace InstanceRequirementsWithMetadataRequest { /** * @internal */ - export const filterSensitiveLog = (obj: UserBucket): any => ({ + export const filterSensitiveLog = (obj: InstanceRequirementsWithMetadataRequest): any => ({ ...obj, }); } -/** - *

                                                                    Describes the disk container object for an import image task.

                                                                    - */ -export interface ImageDiskContainer { +export interface GetSpotPlacementScoresRequest { /** - *

                                                                    The description of the disk image.

                                                                    + *

                                                                    The instance types. We recommend that you specify at least three instance types. If you + * specify one or two instance types, or specify variations of a single instance type (for + * example, an m3.xlarge with and without instance storage), the returned + * placement score will always be low.

                                                                    + *

                                                                    If you specify InstanceTypes, you can't specify + * InstanceRequirementsWithMetadata.

                                                                    */ - Description?: string; + InstanceTypes?: string[]; /** - *

                                                                    The block device mapping for the disk.

                                                                    + *

                                                                    The target capacity.

                                                                    */ - DeviceName?: string; + TargetCapacity: number | undefined; /** - *

                                                                    The format of the disk image being imported.

                                                                    - *

                                                                    Valid values: OVA | VHD | VHDX | VMDK | RAW - *

                                                                    + *

                                                                    The unit for the target capacity.

                                                                    + *

                                                                    Default: units (translates to number of instances)

                                                                    */ - Format?: string; + TargetCapacityUnitType?: TargetCapacityUnitType | string; /** - *

                                                                    The ID of the EBS snapshot to be used for importing the snapshot.

                                                                    + *

                                                                    Specify true so that the response returns a list of scored Availability Zones. + * Otherwise, the response returns a list of scored Regions.

                                                                    + *

                                                                    A list of scored Availability Zones is useful if you want to launch all of your Spot + * capacity into a single Availability Zone.

                                                                    */ - SnapshotId?: string; + SingleAvailabilityZone?: boolean; /** - *

                                                                    The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an - * Amazon S3 URL (s3://..)

                                                                    + *

                                                                    The Regions used to narrow down the list of Regions to be scored. Enter the Region code, + * for example, us-east-1.

                                                                    */ - Url?: string; + RegionNames?: string[]; /** - *

                                                                    The S3 bucket for the disk image.

                                                                    + *

                                                                    The attributes for the instance types. When you specify instance attributes, Amazon EC2 will + * identify instance types with those attributes.

                                                                    + *

                                                                    If you specify InstanceRequirementsWithMetadata, you can't specify + * InstanceTypes.

                                                                    */ - UserBucket?: UserBucket; -} + InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest; -export namespace ImageDiskContainer { /** - * @internal + *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                    */ - export const filterSensitiveLog = (obj: ImageDiskContainer): any => ({ - ...obj, - }); -} + DryRun?: boolean; -/** - *

                                                                    The request information of license configurations.

                                                                    - */ -export interface ImportImageLicenseConfigurationRequest { /** - *

                                                                    The ARN of a license configuration.

                                                                    + *

                                                                    The maximum number of results to return in a single call. Specify a value between 1 and + * 1000. The default value is 1000. To retrieve the remaining results, make another call with + * the returned NextToken value.

                                                                    */ - LicenseConfigurationArn?: string; + MaxResults?: number; + + /** + *

                                                                    The token for the next set of results.

                                                                    + */ + NextToken?: string; } -export namespace ImportImageLicenseConfigurationRequest { +export namespace GetSpotPlacementScoresRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationRequest): any => ({ + export const filterSensitiveLog = (obj: GetSpotPlacementScoresRequest): any => ({ ...obj, }); } -export interface ImportImageRequest { - /** - *

                                                                    The architecture of the virtual machine.

                                                                    - *

                                                                    Valid values: i386 | x86_64 | arm64 - *

                                                                    - */ - Architecture?: string; - +/** + *

                                                                    The Spot placement score for this Region or Availability Zone. The score is calculated + * based on the assumption that the capacity-optimized allocation strategy is + * used and that all of the Availability Zones in the Region can be used.

                                                                    + */ +export interface SpotPlacementScore { /** - *

                                                                    The client-specific data.

                                                                    + *

                                                                    The Region.

                                                                    */ - ClientData?: ClientData; + Region?: string; /** - *

                                                                    The token to enable idempotency for VM import requests.

                                                                    + *

                                                                    The Availability Zone.

                                                                    */ - ClientToken?: string; + AvailabilityZoneId?: string; /** - *

                                                                    A description string for the import image task.

                                                                    + *

                                                                    The placement score, on a scale from 1 to 10. A score of + * 10 indicates that your Spot request is highly likely to succeed in this + * Region or Availability Zone. A score of 1 indicates that your Spot request is + * not likely to succeed.

                                                                    */ - Description?: string; + Score?: number; +} +export namespace SpotPlacementScore { /** - *

                                                                    Information about the disk containers.

                                                                    + * @internal */ - DiskContainers?: ImageDiskContainer[]; + export const filterSensitiveLog = (obj: SpotPlacementScore): any => ({ + ...obj, + }); +} +export interface GetSpotPlacementScoresResult { /** - *

                                                                    Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                    + *

                                                                    The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale + * from 1 to 10. Each score
 reflects how likely it is that each Region or Availability Zone + * will succeed at fulfilling the specified target capacity
 at the time of the Spot + * placement score request. A score of 10 means that your Spot + * capacity request is highly likely to succeed in that Region or Availability Zone.

                                                                    + *

                                                                    If you request a Spot placement score for Regions, a high score assumes that your fleet + * request will be configured to use all Availability Zones and the + * capacity-optimized allocation strategy. If you request a Spot placement + * score for Availability Zones, a high score assumes that your fleet request will be + * configured to use a single Availability Zone and the capacity-optimized + * allocation strategy.

                                                                    + *

                                                                    Different
 Regions or Availability Zones might return the same score.

                                                                    + * + *

                                                                    The Spot placement score serves as a recommendation only. No score guarantees that your + * Spot request will be fully or partially fulfilled.

                                                                    + *
                                                                    */ - DryRun?: boolean; + SpotPlacementScores?: SpotPlacementScore[]; /** - *

                                                                    Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used - * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

                                                                    + *

                                                                    The token for the next set of results.

                                                                    */ - Encrypted?: boolean; + NextToken?: string; +} +export namespace GetSpotPlacementScoresResult { /** - *

                                                                    The target hypervisor platform.

                                                                    - *

                                                                    Valid values: xen - *

                                                                    + * @internal */ - Hypervisor?: string; + export const filterSensitiveLog = (obj: GetSpotPlacementScoresResult): any => ({ + ...obj, + }); +} +export interface GetSubnetCidrReservationsRequest { /** - *

                                                                    An identifier for the symmetric KMS key to use when creating the - * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this - * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

                                                                    - *

                                                                    The KMS key identifier may be provided in any of the following formats:

                                                                    - *
                                                                      + *

                                                                      One or more filters.

                                                                      + *
                                                                        *
                                                                      • - *

                                                                        Key ID

                                                                        + *

                                                                        + * reservationType - The type of reservation (prefix | + * explicit).

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        + *

                                                                        + * subnet-id - The ID of the subnet.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                                                                        + *

                                                                        + * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. + * For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        + *

                                                                        + * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

                                                                        *
                                                                      • *
                                                                      - *

                                                                      Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even - * though you provided an invalid identifier. This action will eventually report failure.

                                                                      - *

                                                                      The specified KMS key must exist in the Region that the AMI is being copied to.

                                                                      - *

                                                                      Amazon EBS does not support asymmetric KMS keys.

                                                                      */ - KmsKeyId?: string; + Filters?: Filter[]; /** - *

                                                                      The license type to be used for the Amazon Machine Image (AMI) after importing.

                                                                      - *

                                                                      By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify - * AWS to replace the source-system license with an Amazon Web Services license, if appropriate. Specify BYOL - * to retain the source-system license, if appropriate.

                                                                      - *

                                                                      To use BYOL, you must have existing licenses with rights to use these licenses in a third party - * cloud, such as Amazon Web Services. For more information, see Prerequisites in the - * VM Import/Export User Guide.

                                                                      + *

                                                                      The ID of the subnet.

                                                                      */ - LicenseType?: string; + SubnetId: string | undefined; /** - *

                                                                      The operating system of the virtual machine.

                                                                      - *

                                                                      Valid values: Windows | Linux - *

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - Platform?: string; + DryRun?: boolean; /** - *

                                                                      The name of the role to use when not using the default role, 'vmimport'.

                                                                      + *

                                                                      The token for the next page of results.

                                                                      */ - RoleName?: string; + NextToken?: string; /** - *

                                                                      The ARNs of the license configurations.

                                                                      + *

                                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                      */ - LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; + MaxResults?: number; +} +export namespace GetSubnetCidrReservationsRequest { /** - *

                                                                      The tags to apply to the import image task during creation.

                                                                      + * @internal */ - TagSpecifications?: TagSpecification[]; + export const filterSensitiveLog = (obj: GetSubnetCidrReservationsRequest): any => ({ + ...obj, + }); +} +export interface GetSubnetCidrReservationsResult { /** - *

                                                                      The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

                                                                      + *

                                                                      Information about the IPv4 subnet CIDR reservations.

                                                                      */ - UsageOperation?: string; + SubnetIpv4CidrReservations?: SubnetCidrReservation[]; /** - *

                                                                      The boot mode of the virtual machine.

                                                                      + *

                                                                      Information about the IPv6 subnet CIDR reservations.

                                                                      */ - BootMode?: BootModeValues | string; + SubnetIpv6CidrReservations?: SubnetCidrReservation[]; + + /** + *

                                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                      + */ + NextToken?: string; } -export namespace ImportImageRequest { +export namespace GetSubnetCidrReservationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageRequest): any => ({ + export const filterSensitiveLog = (obj: GetSubnetCidrReservationsResult): any => ({ ...obj, }); } -export interface ImportImageResult { +export interface GetTransitGatewayAttachmentPropagationsRequest { /** - *

                                                                      The architecture of the virtual machine.

                                                                      + *

                                                                      The ID of the attachment.

                                                                      */ - Architecture?: string; + TransitGatewayAttachmentId: string | undefined; /** - *

                                                                      A description of the import task.

                                                                      + *

                                                                      One or more filters. The possible values are:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        + * transit-gateway-route-table-id - The ID of the transit gateway route table.

                                                                        + *
                                                                      • + *
                                                                      */ - Description?: string; + Filters?: Filter[]; /** - *

                                                                      Indicates whether the AMI is encrypted.

                                                                      + *

                                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                      */ - Encrypted?: boolean; + MaxResults?: number; /** - *

                                                                      The target hypervisor of the import task.

                                                                      + *

                                                                      The token for the next page of results.

                                                                      */ - Hypervisor?: string; + NextToken?: string; /** - *

                                                                      The ID of the Amazon Machine Image (AMI) created by the import task.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - ImageId?: string; + DryRun?: boolean; +} +export namespace GetTransitGatewayAttachmentPropagationsRequest { /** - *

                                                                      The task ID of the import image task.

                                                                      + * @internal */ - ImportTaskId?: string; + export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Describes a propagation route table.

                                                                      + */ +export interface TransitGatewayAttachmentPropagation { + /** + *

                                                                      The ID of the propagation route table.

                                                                      + */ + TransitGatewayRouteTableId?: string; /** - *

                                                                      The identifier for the symmetric KMS key that was used to create the encrypted AMI.

                                                                      + *

                                                                      The state of the propagation route table.

                                                                      */ - KmsKeyId?: string; + State?: TransitGatewayPropagationState | string; +} +export namespace TransitGatewayAttachmentPropagation { /** - *

                                                                      The license type of the virtual machine.

                                                                      + * @internal */ - LicenseType?: string; + export const filterSensitiveLog = (obj: TransitGatewayAttachmentPropagation): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayAttachmentPropagationsResult { /** - *

                                                                      The operating system of the virtual machine.

                                                                      + *

                                                                      Information about the propagation route tables.

                                                                      */ - Platform?: string; + TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[]; /** - *

                                                                      The progress of the task.

                                                                      + *

                                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                      */ - Progress?: string; + NextToken?: string; +} +export namespace GetTransitGatewayAttachmentPropagationsResult { /** - *

                                                                      Information about the snapshots.

                                                                      + * @internal */ - SnapshotDetails?: SnapshotDetail[]; + export const filterSensitiveLog = (obj: GetTransitGatewayAttachmentPropagationsResult): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayMulticastDomainAssociationsRequest { /** - *

                                                                      A brief status of the task.

                                                                      + *

                                                                      The ID of the transit gateway multicast domain.

                                                                      */ - Status?: string; + TransitGatewayMulticastDomainId?: string; /** - *

                                                                      A detailed status message of the import task.

                                                                      + *

                                                                      One or more filters. The possible values are:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        + * resource-id - The ID of the resource.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * resource-type - The type of resource. The valid value is: vpc.

                                                                        + *
                                                                      • + *
                                                                      • + * + *

                                                                        + * state - The state of the subnet association. Valid values are + * associated | + * associating + * | disassociated | disassociating.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * subnet-id - The ID of the subnet.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * transit-gateway-attachment-id - The id of the transit gateway attachment.

                                                                        + *
                                                                      • + *
                                                                      */ - StatusMessage?: string; + Filters?: Filter[]; /** - *

                                                                      The ARNs of the license configurations.

                                                                      + *

                                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                      */ - LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; + MaxResults?: number; /** - *

                                                                      Any tags assigned to the import image task.

                                                                      + *

                                                                      The token for the next page of results.

                                                                      */ - Tags?: Tag[]; + NextToken?: string; /** - *

                                                                      The usage operation value.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - UsageOperation?: string; + DryRun?: boolean; } -export namespace ImportImageResult { +export namespace GetTransitGatewayMulticastDomainAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportImageResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsRequest): any => ({ ...obj, }); } /** - *

                                                                      Describes a disk image.

                                                                      + *

                                                                      Describes the resources associated with the transit gateway multicast domain.

                                                                      */ -export interface DiskImageDetail { +export interface TransitGatewayMulticastDomainAssociation { /** - *

                                                                      The size of the disk image, in GiB.

                                                                      + *

                                                                      The ID of the transit gateway attachment.

                                                                      */ - Bytes: number | undefined; + TransitGatewayAttachmentId?: string; /** - *

                                                                      The disk image format.

                                                                      + *

                                                                      The ID of the resource.

                                                                      */ - Format: DiskImageFormat | string | undefined; + ResourceId?: string; /** - *

                                                                      A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. - * For information about creating a presigned URL for an Amazon S3 object, read the "Query String Request Authentication - * Alternative" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer - * Guide.

                                                                      - *

                                                                      For information about the import manifest referenced by this API action, see VM Import Manifest.

                                                                      + *

                                                                      The type of resource, for example a VPC attachment.

                                                                      */ - ImportManifestUrl: string | undefined; -} + ResourceType?: TransitGatewayAttachmentResourceType | string; -export namespace DiskImageDetail { /** - * @internal + *

                                                                      The ID of the Amazon Web Services account that owns the transit gateway multicast domain association resource.

                                                                      */ - export const filterSensitiveLog = (obj: DiskImageDetail): any => ({ - ...obj, - }); -} + ResourceOwnerId?: string; -/** - *

                                                                      Describes an EBS volume.

                                                                      - */ -export interface VolumeDetail { /** - *

                                                                      The size of the volume, in GiB.

                                                                      + *

                                                                      The subnet associated with the transit gateway multicast domain.

                                                                      */ - Size: number | undefined; + Subnet?: SubnetAssociation; } -export namespace VolumeDetail { +export namespace TransitGatewayMulticastDomainAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: VolumeDetail): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayMulticastDomainAssociation): any => ({ ...obj, }); } -/** - *

                                                                      Describes a disk image.

                                                                      - */ -export interface DiskImage { - /** - *

                                                                      A description of the disk image.

                                                                      - */ - Description?: string; - +export interface GetTransitGatewayMulticastDomainAssociationsResult { /** - *

                                                                      Information about the disk image.

                                                                      + *

                                                                      Information about the multicast domain associations.

                                                                      */ - Image?: DiskImageDetail; + MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[]; /** - *

                                                                      Information about the volume.

                                                                      + *

                                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                      */ - Volume?: VolumeDetail; + NextToken?: string; } -export namespace DiskImage { +export namespace GetTransitGatewayMulticastDomainAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: DiskImage): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayMulticastDomainAssociationsResult): any => ({ ...obj, }); } -/** - *

                                                                      Describes the user data for an instance.

                                                                      - */ -export interface UserData { +export interface GetTransitGatewayPrefixListReferencesRequest { /** - *

                                                                      The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you - * can load the text from a file. Otherwise, you must provide Base64-encoded text.

                                                                      + *

                                                                      The ID of the transit gateway route table.

                                                                      */ - Data?: string; -} + TransitGatewayRouteTableId: string | undefined; -export namespace UserData { /** - * @internal + *

                                                                      One or more filters. The possible values are:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        + * attachment.resource-id - The ID of the resource for the attachment.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * attachment.resource-type - The type of resource for the + * attachment. Valid values are vpc | vpn | + * direct-connect-gateway | peering.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * attachment.transit-gateway-attachment-id - The ID of the attachment.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * is-blackhole - Whether traffic matching the route is blocked (true | false).

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * prefix-list-id - The ID of the prefix list.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * prefix-list-owner-id - The ID of the owner of the prefix list.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * state - The state of the prefix list reference (pending | available | modifying | deleting).

                                                                        + *
                                                                      • + *
                                                                      */ - export const filterSensitiveLog = (obj: UserData): any => ({ - ...obj, - }); -} + Filters?: Filter[]; -/** - *

                                                                      Describes the launch specification for VM import.

                                                                      - */ -export interface ImportInstanceLaunchSpecification { /** - *

                                                                      Reserved.

                                                                      + *

                                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                      */ - AdditionalInfo?: string; + MaxResults?: number; /** - *

                                                                      The architecture of the instance.

                                                                      + *

                                                                      The token for the next page of results.

                                                                      */ - Architecture?: ArchitectureValues | string; + NextToken?: string; /** - *

                                                                      The security group IDs.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - GroupIds?: string[]; + DryRun?: boolean; +} +export namespace GetTransitGatewayPrefixListReferencesRequest { /** - *

                                                                      The security group names.

                                                                      + * @internal */ - GroupNames?: string[]; + export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesRequest): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayPrefixListReferencesResult { /** - *

                                                                      Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the - * operating system command for system shutdown).

                                                                      + *

                                                                      Information about the prefix list references.

                                                                      */ - InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; + TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[]; /** - *

                                                                      The instance type. For more information about the instance types that you can import, see Instance Types in the - * VM Import/Export User Guide.

                                                                      + *

                                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                      */ - InstanceType?: _InstanceType | string; + NextToken?: string; +} +export namespace GetTransitGatewayPrefixListReferencesResult { /** - *

                                                                      Indicates whether monitoring is enabled.

                                                                      + * @internal */ - Monitoring?: boolean; + export const filterSensitiveLog = (obj: GetTransitGatewayPrefixListReferencesResult): any => ({ + ...obj, + }); +} +export interface GetTransitGatewayRouteTableAssociationsRequest { /** - *

                                                                      The placement information for the instance.

                                                                      + *

                                                                      The ID of the transit gateway route table.

                                                                      + */ + TransitGatewayRouteTableId: string | undefined; + + /** + *

                                                                      One or more filters. The possible values are:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        + * resource-id - The ID of the resource.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * transit-gateway-attachment-id - The ID of the attachment.

                                                                        + *
                                                                      • + *
                                                                      */ - Placement?: Placement; + Filters?: Filter[]; /** - *

                                                                      [EC2-VPC] An available IP address from the IP address range of the subnet.

                                                                      + *

                                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                      */ - PrivateIpAddress?: string; + MaxResults?: number; /** - *

                                                                      [EC2-VPC] The ID of the subnet in which to launch the instance.

                                                                      + *

                                                                      The token for the next page of results.

                                                                      */ - SubnetId?: string; + NextToken?: string; /** - *

                                                                      The Base64-encoded user data to make available to the instance.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - UserData?: UserData; + DryRun?: boolean; } -export namespace ImportInstanceLaunchSpecification { +export namespace GetTransitGatewayRouteTableAssociationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceLaunchSpecification): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsRequest): any => ({ ...obj, - ...(obj.UserData && { UserData: SENSITIVE_STRING }), }); } -export interface ImportInstanceRequest { - /** - *

                                                                      A description for the instance being imported.

                                                                      - */ - Description?: string; - +/** + *

                                                                      Describes an association between a route table and a resource attachment.

                                                                      + */ +export interface TransitGatewayRouteTableAssociation { /** - *

                                                                      The disk image.

                                                                      + *

                                                                      The ID of the attachment.

                                                                      */ - DiskImages?: DiskImage[]; + TransitGatewayAttachmentId?: string; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The ID of the resource.

                                                                      */ - DryRun?: boolean; + ResourceId?: string; /** - *

                                                                      The launch specification.

                                                                      + *

                                                                      The resource type. Note that the tgw-peering resource type has been deprecated.

                                                                      */ - LaunchSpecification?: ImportInstanceLaunchSpecification; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                                      The instance operating system.

                                                                      + *

                                                                      The state of the association.

                                                                      */ - Platform: PlatformValues | string | undefined; + State?: TransitGatewayAssociationState | string; } -export namespace ImportInstanceRequest { +export namespace TransitGatewayRouteTableAssociation { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceRequest): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRouteTableAssociation): any => ({ ...obj, - ...(obj.LaunchSpecification && { - LaunchSpecification: ImportInstanceLaunchSpecification.filterSensitiveLog(obj.LaunchSpecification), - }), }); } -export interface ImportInstanceResult { +export interface GetTransitGatewayRouteTableAssociationsResult { /** - *

                                                                      Information about the conversion task.

                                                                      + *

                                                                      Information about the associations.

                                                                      */ - ConversionTask?: ConversionTask; + Associations?: TransitGatewayRouteTableAssociation[]; + + /** + *

                                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                      + */ + NextToken?: string; } -export namespace ImportInstanceResult { +export namespace GetTransitGatewayRouteTableAssociationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportInstanceResult): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTableAssociationsResult): any => ({ ...obj, }); } -export interface ImportKeyPairRequest { +export interface GetTransitGatewayRouteTablePropagationsRequest { /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The ID of the transit gateway route table.

                                                                      */ - DryRun?: boolean; + TransitGatewayRouteTableId: string | undefined; /** - *

                                                                      A unique name for the key pair.

                                                                      + *

                                                                      One or more filters. The possible values are:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        + * resource-id - The ID of the resource.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * resource-type - The resource type. Valid values are vpc + * | vpn | direct-connect-gateway | peering + * | connect.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * transit-gateway-attachment-id - The ID of the attachment.

                                                                        + *
                                                                      • + *
                                                                      */ - KeyName: string | undefined; + Filters?: Filter[]; /** - *

                                                                      The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

                                                                      + *

                                                                      The maximum number of results to return with a single call. + * To retrieve the remaining results, make another call with the returned nextToken value.

                                                                      */ - PublicKeyMaterial: Uint8Array | undefined; + MaxResults?: number; /** - *

                                                                      The tags to apply to the imported key pair.

                                                                      + *

                                                                      The token for the next page of results.

                                                                      */ - TagSpecifications?: TagSpecification[]; + NextToken?: string; + + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; } -export namespace ImportKeyPairRequest { +export namespace GetTransitGatewayRouteTablePropagationsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportKeyPairRequest): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsRequest): any => ({ ...obj, }); } -export interface ImportKeyPairResult { +/** + *

                                                                      Describes a route table propagation.

                                                                      + */ +export interface TransitGatewayRouteTablePropagation { /** - *

                                                                      The MD5 public key fingerprint as specified in section 4 of RFC 4716.

                                                                      + *

                                                                      The ID of the attachment.

                                                                      */ - KeyFingerprint?: string; + TransitGatewayAttachmentId?: string; /** - *

                                                                      The key pair name that you provided.

                                                                      + *

                                                                      The ID of the resource.

                                                                      */ - KeyName?: string; + ResourceId?: string; /** - *

                                                                      The ID of the resulting key pair.

                                                                      + *

                                                                      The type of resource. Note that the tgw-peering resource type has been deprecated.

                                                                      */ - KeyPairId?: string; + ResourceType?: TransitGatewayAttachmentResourceType | string; /** - *

                                                                      The tags applied to the imported key pair.

                                                                      + *

                                                                      The state of the resource.

                                                                      */ - Tags?: Tag[]; + State?: TransitGatewayPropagationState | string; } -export namespace ImportKeyPairResult { +export namespace TransitGatewayRouteTablePropagation { /** * @internal */ - export const filterSensitiveLog = (obj: ImportKeyPairResult): any => ({ + export const filterSensitiveLog = (obj: TransitGatewayRouteTablePropagation): any => ({ ...obj, }); } -/** - *

                                                                      The disk container object for the import snapshot request.

                                                                      - */ -export interface SnapshotDiskContainer { - /** - *

                                                                      The description of the disk image being imported.

                                                                      - */ - Description?: string; - - /** - *

                                                                      The format of the disk image being imported.

                                                                      - *

                                                                      Valid values: VHD | VMDK | RAW - *

                                                                      - */ - Format?: string; - +export interface GetTransitGatewayRouteTablePropagationsResult { /** - *

                                                                      The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon - * S3 URL (s3://..).

                                                                      + *

                                                                      Information about the route table propagations.

                                                                      */ - Url?: string; + TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[]; /** - *

                                                                      The Amazon S3 bucket for the disk image.

                                                                      + *

                                                                      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

                                                                      */ - UserBucket?: UserBucket; + NextToken?: string; } -export namespace SnapshotDiskContainer { +export namespace GetTransitGatewayRouteTablePropagationsResult { /** * @internal */ - export const filterSensitiveLog = (obj: SnapshotDiskContainer): any => ({ + export const filterSensitiveLog = (obj: GetTransitGatewayRouteTablePropagationsResult): any => ({ ...obj, }); } -export interface ImportSnapshotRequest { +export interface GetVpnConnectionDeviceSampleConfigurationRequest { /** - *

                                                                      The client-specific data.

                                                                      + *

                                                                      The VpnConnectionId specifies the Site-to-Site VPN connection used for the sample + * configuration.

                                                                      */ - ClientData?: ClientData; + VpnConnectionId: string | undefined; /** - *

                                                                      Token to enable idempotency for VM import requests.

                                                                      + *

                                                                      Device identifier provided by the GetVpnConnectionDeviceTypes API.

                                                                      */ - ClientToken?: string; + VpnConnectionDeviceTypeId: string | undefined; /** - *

                                                                      The description string for the import snapshot task.

                                                                      + *

                                                                      The IKE version to be used in the sample configuration file for your customer gateway + * device. You can specify one of the following versions: ikev1 or + * ikev2.

                                                                      */ - Description?: string; + InternetKeyExchangeVersion?: string; /** - *

                                                                      Information about the disk container.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                      */ - DiskContainer?: SnapshotDiskContainer; + DryRun?: boolean; +} +export namespace GetVpnConnectionDeviceSampleConfigurationRequest { /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationRequest): any => ({ + ...obj, + }); +} +export interface GetVpnConnectionDeviceSampleConfigurationResult { /** - *

                                                                      Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is - * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the - * Amazon Elastic Compute Cloud User Guide.

                                                                      + *

                                                                      Sample configuration file for the specified customer gateway device.

                                                                      */ - Encrypted?: boolean; + VpnConnectionDeviceSampleConfiguration?: string; +} +export namespace GetVpnConnectionDeviceSampleConfigurationResult { /** - *

                                                                      An identifier for the symmetric KMS key to use when creating the - * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this - * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is - * specified, the Encrypted flag must also be set.

                                                                      - *

                                                                      The KMS key identifier may be provided in any of the following formats:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        Key ID

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        - *
                                                                      • - *
                                                                      - *

                                                                      Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even - * though you provided an invalid identifier. This action will eventually report failure.

                                                                      - *

                                                                      The specified KMS key must exist in the Region that the snapshot is being copied to.

                                                                      - *

                                                                      Amazon EBS does not support asymmetric KMS keys.

                                                                      + * @internal + */ + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceSampleConfigurationResult): any => ({ + ...obj, + ...(obj.VpnConnectionDeviceSampleConfiguration && { VpnConnectionDeviceSampleConfiguration: SENSITIVE_STRING }), + }); +} + +export interface GetVpnConnectionDeviceTypesRequest { + /** + *

                                                                      The maximum number of results returned by GetVpnConnectionDeviceTypes in + * paginated output. When this parameter is used, GetVpnConnectionDeviceTypes + * only returns MaxResults results in a single page along with a + * NextToken response element. The remaining results of the initial + * request can be seen by sending another GetVpnConnectionDeviceTypes request + * with the returned NextToken value. This value can be between 200 and 1000. + * If this parameter is not used, then GetVpnConnectionDeviceTypes returns all + * results.

                                                                      */ - KmsKeyId?: string; + MaxResults?: number; /** - *

                                                                      The name of the role to use when not using the default role, 'vmimport'.

                                                                      + *

                                                                      The NextToken value returned from a previous paginated + * GetVpnConnectionDeviceTypes 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.

                                                                      */ - RoleName?: string; + NextToken?: string; /** - *

                                                                      The tags to apply to the import snapshot task during creation.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                      */ - TagSpecifications?: TagSpecification[]; + DryRun?: boolean; } -export namespace ImportSnapshotRequest { +export namespace GetVpnConnectionDeviceTypesRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportSnapshotRequest): any => ({ + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesRequest): any => ({ ...obj, }); } -export interface ImportSnapshotResult { +/** + *

                                                                      List of customer gateway devices that have a sample configuration file available for + * use. You can also see the list of device types with sample configuration files available + * under Your customer + * gateway device in the Amazon Web Services Site-to-Site VPN User Guide.

                                                                      + */ +export interface VpnConnectionDeviceType { /** - *

                                                                      A description of the import snapshot task.

                                                                      + *

                                                                      Customer gateway device identifier.

                                                                      */ - Description?: string; + VpnConnectionDeviceTypeId?: string; /** - *

                                                                      The ID of the import snapshot task.

                                                                      + *

                                                                      Customer gateway device vendor.

                                                                      */ - ImportTaskId?: string; + Vendor?: string; /** - *

                                                                      Information about the import snapshot task.

                                                                      + *

                                                                      Customer gateway device platform.

                                                                      */ - SnapshotTaskDetail?: SnapshotTaskDetail; + Platform?: string; /** - *

                                                                      Any tags assigned to the import snapshot task.

                                                                      + *

                                                                      Customer gateway device software version.

                                                                      */ - Tags?: Tag[]; + Software?: string; } -export namespace ImportSnapshotResult { +export namespace VpnConnectionDeviceType { /** * @internal */ - export const filterSensitiveLog = (obj: ImportSnapshotResult): any => ({ + export const filterSensitiveLog = (obj: VpnConnectionDeviceType): any => ({ ...obj, }); } -export interface ImportVolumeRequest { +export interface GetVpnConnectionDeviceTypesResult { /** - *

                                                                      The Availability Zone for the resulting EBS volume.

                                                                      + *

                                                                      List of customer gateway devices that have a sample configuration file available for + * use.

                                                                      */ - AvailabilityZone: string | undefined; + VpnConnectionDeviceTypes?: VpnConnectionDeviceType[]; /** - *

                                                                      A description of the volume.

                                                                      + *

                                                                      The NextToken value to include in a future + * GetVpnConnectionDeviceTypes request. When the results of a + * GetVpnConnectionDeviceTypes request exceed MaxResults, + * this value can be used to retrieve the next page of results. This value is null when + * there are no more results to return.

                                                                      */ - Description?: string; + NextToken?: string; +} +export namespace GetVpnConnectionDeviceTypesResult { /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + * @internal */ - DryRun?: boolean; + export const filterSensitiveLog = (obj: GetVpnConnectionDeviceTypesResult): any => ({ + ...obj, + }); +} +export interface ImportClientVpnClientCertificateRevocationListRequest { /** - *

                                                                      The disk image.

                                                                      + *

                                                                      The ID of the Client VPN endpoint to which the client certificate revocation list applies.

                                                                      */ - Image: DiskImageDetail | undefined; + ClientVpnEndpointId: string | undefined; /** - *

                                                                      The volume size.

                                                                      + *

                                                                      The client certificate revocation list file. For more information, see Generate a Client Certificate Revocation List in the + * Client VPN Administrator Guide.

                                                                      */ - Volume: VolumeDetail | undefined; + CertificateRevocationList: string | undefined; + + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; } -export namespace ImportVolumeRequest { +export namespace ImportClientVpnClientCertificateRevocationListRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ImportVolumeRequest): any => ({ + export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListRequest): any => ({ ...obj, }); } -export interface ImportVolumeResult { +export interface ImportClientVpnClientCertificateRevocationListResult { /** - *

                                                                      Information about the conversion task.

                                                                      + *

                                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                                      */ - ConversionTask?: ConversionTask; + Return?: boolean; } -export namespace ImportVolumeResult { +export namespace ImportClientVpnClientCertificateRevocationListResult { /** * @internal */ - export const filterSensitiveLog = (obj: ImportVolumeResult): any => ({ + export const filterSensitiveLog = (obj: ImportClientVpnClientCertificateRevocationListResult): any => ({ ...obj, }); } -export interface ModifyAddressAttributeRequest { +/** + *

                                                                      Describes the client-specific data.

                                                                      + */ +export interface ClientData { /** - *

                                                                      [EC2-VPC] The allocation ID.

                                                                      + *

                                                                      A user-defined comment about the disk upload.

                                                                      */ - AllocationId: string | undefined; + Comment?: string; /** - *

                                                                      The domain name to modify for the IP address.

                                                                      + *

                                                                      The time that the disk upload ends.

                                                                      */ - DomainName?: string; + UploadEnd?: Date; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The size of the uploaded disk image, in GiB.

                                                                      */ - DryRun?: boolean; + UploadSize?: number; + + /** + *

                                                                      The time that the disk upload starts.

                                                                      + */ + UploadStart?: Date; } -export namespace ModifyAddressAttributeRequest { +export namespace ClientData { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAddressAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ClientData): any => ({ ...obj, }); } -export interface ModifyAddressAttributeResult { +/** + *

                                                                      Describes the Amazon S3 bucket for the disk image.

                                                                      + */ +export interface UserBucket { /** - *

                                                                      Information about the Elastic IP address.

                                                                      + *

                                                                      The name of the Amazon S3 bucket where the disk image is located.

                                                                      */ - Address?: AddressAttribute; + S3Bucket?: string; + + /** + *

                                                                      The file name of the disk image.

                                                                      + */ + S3Key?: string; } -export namespace ModifyAddressAttributeResult { +export namespace UserBucket { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAddressAttributeResult): any => ({ + export const filterSensitiveLog = (obj: UserBucket): any => ({ ...obj, }); } -export type ModifyAvailabilityZoneOptInStatus = "not-opted-in" | "opted-in"; +/** + *

                                                                      Describes the disk container object for an import image task.

                                                                      + */ +export interface ImageDiskContainer { + /** + *

                                                                      The description of the disk image.

                                                                      + */ + Description?: string; -export interface ModifyAvailabilityZoneGroupRequest { /** - *

                                                                      The name of the Availability Zone group, Local Zone group, or Wavelength Zone - * group.

                                                                      + *

                                                                      The block device mapping for the disk.

                                                                      */ - GroupName: string | undefined; + DeviceName?: string; /** - *

                                                                      Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The - * only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

                                                                      + *

                                                                      The format of the disk image being imported.

                                                                      + *

                                                                      Valid values: OVA | VHD | VHDX | VMDK | RAW + *

                                                                      */ - OptInStatus: ModifyAvailabilityZoneOptInStatus | string | undefined; + Format?: string; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The ID of the EBS snapshot to be used for importing the snapshot.

                                                                      */ - DryRun?: boolean; + SnapshotId?: string; + + /** + *

                                                                      The URL to the Amazon S3-based disk image being imported. The URL can either be a https URL (https://..) or an + * Amazon S3 URL (s3://..)

                                                                      + */ + Url?: string; + + /** + *

                                                                      The S3 bucket for the disk image.

                                                                      + */ + UserBucket?: UserBucket; } -export namespace ModifyAvailabilityZoneGroupRequest { +export namespace ImageDiskContainer { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupRequest): any => ({ + export const filterSensitiveLog = (obj: ImageDiskContainer): any => ({ ...obj, }); } -export interface ModifyAvailabilityZoneGroupResult { +/** + *

                                                                      The request information of license configurations.

                                                                      + */ +export interface ImportImageLicenseConfigurationRequest { /** - *

                                                                      Is true if the request succeeds, and an error otherwise.

                                                                      + *

                                                                      The ARN of a license configuration.

                                                                      */ - Return?: boolean; + LicenseConfigurationArn?: string; } -export namespace ModifyAvailabilityZoneGroupResult { +export namespace ImportImageLicenseConfigurationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupResult): any => ({ + export const filterSensitiveLog = (obj: ImportImageLicenseConfigurationRequest): any => ({ ...obj, }); } -export interface ModifyCapacityReservationRequest { +export interface ImportImageRequest { /** - *

                                                                      The ID of the Capacity Reservation.

                                                                      + *

                                                                      The architecture of the virtual machine.

                                                                      + *

                                                                      Valid values: i386 | x86_64 | arm64 + *

                                                                      */ - CapacityReservationId: string | undefined; + Architecture?: string; /** - *

                                                                      The number of instances for which to reserve capacity. The number of instances can't be increased or - * decreased by more than 1000 in a single request.

                                                                      + *

                                                                      The client-specific data.

                                                                      */ - InstanceCount?: number; + ClientData?: ClientData; /** - *

                                                                      The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity - * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to - * expired when it reaches its end date and time.

                                                                      - *

                                                                      The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify - * 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

                                                                      - *

                                                                      You must provide an EndDate value if EndDateType is - * limited. Omit EndDate if EndDateType is - * unlimited.

                                                                      + *

                                                                      The token to enable idempotency for VM import requests.

                                                                      */ - EndDate?: Date; + ClientToken?: string; /** - *

                                                                      Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end - * types:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        - * unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not - * provide an EndDate value if EndDateType is - * unlimited.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        - * limited - The Capacity Reservation expires automatically at a specified date and time. You must - * provide an EndDate value if EndDateType is - * limited.

                                                                        - *
                                                                      • - *
                                                                      + *

                                                                      A description string for the import image task.

                                                                      */ - EndDateType?: EndDateType | string; + Description?: string; /** - *

                                                                      Reserved. Capacity Reservations you have created are accepted by default.

                                                                      + *

                                                                      Information about the disk containers.

                                                                      */ - Accept?: boolean; + DiskContainers?: ImageDiskContainer[]; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ DryRun?: boolean; -} -export namespace ModifyCapacityReservationRequest { /** - * @internal + *

                                                                      Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used + * unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationRequest): any => ({ - ...obj, - }); -} + Encrypted?: boolean; -export interface ModifyCapacityReservationResult { /** - *

                                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                                      + *

                                                                      The target hypervisor platform.

                                                                      + *

                                                                      Valid values: xen + *

                                                                      */ - Return?: boolean; -} + Hypervisor?: string; -export namespace ModifyCapacityReservationResult { /** - * @internal + *

                                                                      An identifier for the symmetric KMS key to use when creating the + * encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

                                                                      + *

                                                                      The KMS key identifier may be provided in any of the following formats:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Key ID

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + * though you provided an invalid identifier. This action will eventually report failure.

                                                                      + *

                                                                      The specified KMS key must exist in the Region that the AMI is being copied to.

                                                                      + *

                                                                      Amazon EBS does not support asymmetric KMS keys.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationResult): any => ({ - ...obj, - }); -} + KmsKeyId?: string; -export interface ModifyCapacityReservationFleetRequest { /** - *

                                                                      The ID of the Capacity Reservation Fleet to modify.

                                                                      + *

                                                                      The license type to be used for the Amazon Machine Image (AMI) after importing.

                                                                      + *

                                                                      By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify + * AWS to replace the source-system license with an Amazon Web Services license, if appropriate. Specify BYOL + * to retain the source-system license, if appropriate.

                                                                      + *

                                                                      To use BYOL, you must have existing licenses with rights to use these licenses in a third party + * cloud, such as Amazon Web Services. For more information, see Prerequisites in the + * VM Import/Export User Guide.

                                                                      */ - CapacityReservationFleetId: string | undefined; + LicenseType?: string; /** - *

                                                                      The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, - * together with the instance type weights that you assign to each instance type used by the Fleet - * determine the number of instances for which the Fleet reserves capacity. Both values are based on - * units that make sense for your workload. For more information, see Total target capacity - * in the Amazon EC2 User Guide.

                                                                      + *

                                                                      The operating system of the virtual machine.

                                                                      + *

                                                                      Valid values: Windows | Linux + *

                                                                      */ - TotalTargetCapacity?: number; + Platform?: string; /** - *

                                                                      The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation - * Fleet expires, its state changes to expired and all of the Capacity Reservations in the - * Fleet expire.

                                                                      - *

                                                                      The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you - * specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed - * to expire between 13:30:55 and 14:30:55 on 5/31/2019.

                                                                      - *

                                                                      You can't specify EndDate and - * RemoveEndDate in the same request.

                                                                      + *

                                                                      The name of the role to use when not using the default role, 'vmimport'.

                                                                      */ - EndDate?: Date; + RoleName?: string; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The ARNs of the license configurations.

                                                                      */ - DryRun?: boolean; + LicenseSpecifications?: ImportImageLicenseConfigurationRequest[]; /** - *

                                                                      Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the - * end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly - * cancel it using the CancelCapacityReservationFleet action.

                                                                      - *

                                                                      You can't specify RemoveEndDate and - * EndDate in the same request.

                                                                      + *

                                                                      The tags to apply to the import image task during creation.

                                                                      */ - RemoveEndDate?: boolean; -} + TagSpecifications?: TagSpecification[]; -export namespace ModifyCapacityReservationFleetRequest { /** - * @internal + *

                                                                      The usage operation value. For more information, see Licensing options in the VM Import/Export User Guide.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetRequest): any => ({ - ...obj, - }); -} + UsageOperation?: string; -export interface ModifyCapacityReservationFleetResult { /** - *

                                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                                      + *

                                                                      The boot mode of the virtual machine.

                                                                      */ - Return?: boolean; + BootMode?: BootModeValues | string; } -export namespace ModifyCapacityReservationFleetResult { +export namespace ImportImageRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetResult): any => ({ + export const filterSensitiveLog = (obj: ImportImageRequest): any => ({ ...obj, }); } -/** - *

                                                                      Information about the DNS server to be used.

                                                                      - */ -export interface DnsServersOptionsModifyStructure { - /** - *

                                                                      The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to - * two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values - * overwrite the existing values.

                                                                      - */ - CustomDnsServers?: string[]; - +export interface ImportImageResult { /** - *

                                                                      Indicates whether DNS servers should be used. Specify False to delete the existing DNS - * servers.

                                                                      + *

                                                                      The architecture of the virtual machine.

                                                                      */ - Enabled?: boolean; -} + Architecture?: string; -export namespace DnsServersOptionsModifyStructure { /** - * @internal + *

                                                                      A description of the import task.

                                                                      */ - export const filterSensitiveLog = (obj: DnsServersOptionsModifyStructure): any => ({ - ...obj, - }); -} + Description?: string; -export interface ModifyClientVpnEndpointRequest { /** - *

                                                                      The ID of the Client VPN endpoint to modify.

                                                                      + *

                                                                      Indicates whether the AMI is encrypted.

                                                                      */ - ClientVpnEndpointId: string | undefined; + Encrypted?: boolean; /** - *

                                                                      The ARN of the server certificate to be used. The server certificate must be provisioned in - * Certificate Manager (ACM).

                                                                      + *

                                                                      The target hypervisor of the import task.

                                                                      */ - ServerCertificateArn?: string; + Hypervisor?: string; /** - *

                                                                      Information about the client connection logging options.

                                                                      - *

                                                                      If you enable client connection logging, data about client connections is sent to a - * Cloudwatch Logs log stream. The following information is logged:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        Client connection requests

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Client connection results (successful and unsuccessful)

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Reasons for unsuccessful client connection requests

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Client connection termination time

                                                                        - *
                                                                      • - *
                                                                      + *

                                                                      The ID of the Amazon Machine Image (AMI) created by the import task.

                                                                      */ - ConnectionLogOptions?: ConnectionLogOptions; + ImageId?: string; /** - *

                                                                      Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have - * up to two DNS servers.

                                                                      + *

                                                                      The task ID of the import image task.

                                                                      */ - DnsServers?: DnsServersOptionsModifyStructure; + ImportTaskId?: string; /** - *

                                                                      The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

                                                                      - *

                                                                      Valid Values: 443 | 1194 - *

                                                                      - *

                                                                      Default Value: 443 - *

                                                                      + *

                                                                      The identifier for the symmetric KMS key that was used to create the encrypted AMI.

                                                                      */ - VpnPort?: number; + KmsKeyId?: string; /** - *

                                                                      A brief description of the Client VPN endpoint.

                                                                      + *

                                                                      The license type of the virtual machine.

                                                                      */ - Description?: string; + LicenseType?: string; /** - *

                                                                      Indicates whether the VPN is split-tunnel.

                                                                      - *

                                                                      For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the - * Client VPN Administrator Guide.

                                                                      + *

                                                                      The operating system of the virtual machine.

                                                                      */ - SplitTunnel?: boolean; + Platform?: string; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The progress of the task.

                                                                      */ - DryRun?: boolean; + Progress?: string; /** - *

                                                                      The IDs of one or more security groups to apply to the target network.

                                                                      + *

                                                                      Information about the snapshots.

                                                                      */ - SecurityGroupIds?: string[]; + SnapshotDetails?: SnapshotDetail[]; /** - *

                                                                      The ID of the VPC to associate with the Client VPN endpoint.

                                                                      + *

                                                                      A brief status of the task.

                                                                      */ - VpcId?: string; + Status?: string; /** - *

                                                                      Specify whether to enable the self-service portal for the Client VPN endpoint.

                                                                      + *

                                                                      A detailed status message of the import task.

                                                                      */ - SelfServicePortal?: SelfServicePortal | string; + StatusMessage?: string; /** - *

                                                                      The options for managing connection authorization for new client connections.

                                                                      + *

                                                                      The ARNs of the license configurations.

                                                                      */ - ClientConnectOptions?: ClientConnectOptions; -} + LicenseSpecifications?: ImportImageLicenseConfigurationResponse[]; -export namespace ModifyClientVpnEndpointRequest { /** - * @internal + *

                                                                      Any tags assigned to the import image task.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyClientVpnEndpointRequest): any => ({ - ...obj, - }); -} + Tags?: Tag[]; -export interface ModifyClientVpnEndpointResult { /** - *

                                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                                      + *

                                                                      The usage operation value.

                                                                      */ - Return?: boolean; + UsageOperation?: string; } -export namespace ModifyClientVpnEndpointResult { +export namespace ImportImageResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyClientVpnEndpointResult): any => ({ + export const filterSensitiveLog = (obj: ImportImageResult): any => ({ ...obj, }); } -export interface ModifyDefaultCreditSpecificationRequest { +/** + *

                                                                      Describes a disk image.

                                                                      + */ +export interface DiskImageDetail { /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The size of the disk image, in GiB.

                                                                      */ - DryRun?: boolean; + Bytes: number | undefined; /** - *

                                                                      The instance family.

                                                                      + *

                                                                      The disk image format.

                                                                      */ - InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; + Format: DiskImageFormat | string | undefined; /** - *

                                                                      The credit option for CPU usage of the instance family.

                                                                      - *

                                                                      Valid Values: standard | unlimited - *

                                                                      + *

                                                                      A presigned URL for the import manifest stored in Amazon S3 and presented here as an Amazon S3 presigned URL. + * For information about creating a presigned URL for an Amazon S3 object, read the "Query String Request Authentication + * Alternative" section of the Authenticating REST Requests topic in the Amazon Simple Storage Service Developer + * Guide.

                                                                      + *

                                                                      For information about the import manifest referenced by this API action, see VM Import Manifest.

                                                                      */ - CpuCredits: string | undefined; + ImportManifestUrl: string | undefined; } -export namespace ModifyDefaultCreditSpecificationRequest { +export namespace DiskImageDetail { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: DiskImageDetail): any => ({ ...obj, }); } -export interface ModifyDefaultCreditSpecificationResult { +/** + *

                                                                      Describes an EBS volume.

                                                                      + */ +export interface VolumeDetail { /** - *

                                                                      The default credit option for CPU usage of the instance family.

                                                                      + *

                                                                      The size of the volume, in GiB.

                                                                      */ - InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; + Size: number | undefined; } -export namespace ModifyDefaultCreditSpecificationResult { +export namespace VolumeDetail { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationResult): any => ({ + export const filterSensitiveLog = (obj: VolumeDetail): any => ({ ...obj, }); } -export interface ModifyEbsDefaultKmsKeyIdRequest { +/** + *

                                                                      Describes a disk image.

                                                                      + */ +export interface DiskImage { /** - *

                                                                      The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. - * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is - * specified, the encrypted state must be true.

                                                                      - *

                                                                      You can specify the KMS key using any of the following:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Key alias. For example, alias/ExampleAlias.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        - *
                                                                      • - *
                                                                      - *

                                                                      Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, - * the action can appear to complete, but eventually fails.

                                                                      - *

                                                                      Amazon EBS does not support asymmetric KMS keys.

                                                                      + *

                                                                      A description of the disk image.

                                                                      */ - KmsKeyId: string | undefined; + Description?: string; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      Information about the disk image.

                                                                      */ - DryRun?: boolean; + Image?: DiskImageDetail; + + /** + *

                                                                      Information about the volume.

                                                                      + */ + Volume?: VolumeDetail; } -export namespace ModifyEbsDefaultKmsKeyIdRequest { +export namespace DiskImage { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdRequest): any => ({ + export const filterSensitiveLog = (obj: DiskImage): any => ({ ...obj, }); } -export interface ModifyEbsDefaultKmsKeyIdResult { +/** + *

                                                                      Describes the user data for an instance.

                                                                      + */ +export interface UserData { /** - *

                                                                      The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

                                                                      + *

                                                                      The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you + * can load the text from a file. Otherwise, you must provide Base64-encoded text.

                                                                      */ - KmsKeyId?: string; + Data?: string; } -export namespace ModifyEbsDefaultKmsKeyIdResult { +export namespace UserData { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdResult): any => ({ + export const filterSensitiveLog = (obj: UserData): any => ({ ...obj, }); } -export interface ModifyFleetRequest { +/** + *

                                                                      Describes the launch specification for VM import.

                                                                      + */ +export interface ImportInstanceLaunchSpecification { /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      Reserved.

                                                                      */ - DryRun?: boolean; + AdditionalInfo?: string; /** - *

                                                                      Indicates whether running instances should be terminated if the total target capacity of - * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

                                                                      + *

                                                                      The architecture of the instance.

                                                                      */ - ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; + Architecture?: ArchitectureValues | string; /** - *

                                                                      The launch template and overrides.

                                                                      + *

                                                                      The security group IDs.

                                                                      */ - LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; + GroupIds?: string[]; /** - *

                                                                      The ID of the EC2 Fleet.

                                                                      + *

                                                                      The security group names.

                                                                      */ - FleetId: string | undefined; + GroupNames?: string[]; /** - *

                                                                      The size of the EC2 Fleet.

                                                                      + *

                                                                      Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the + * operating system command for system shutdown).

                                                                      */ - TargetCapacitySpecification?: TargetCapacitySpecificationRequest; + InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string; /** - *

                                                                      Reserved.

                                                                      + *

                                                                      The instance type. For more information about the instance types that you can import, see Instance Types in the + * VM Import/Export User Guide.

                                                                      */ - Context?: string; -} + InstanceType?: _InstanceType | string; -export namespace ModifyFleetRequest { /** - * @internal + *

                                                                      Indicates whether monitoring is enabled.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyFleetRequest): any => ({ - ...obj, - }); -} + Monitoring?: boolean; -export interface ModifyFleetResult { /** - *

                                                                      Is true if the request succeeds, and an error otherwise.

                                                                      + *

                                                                      The placement information for the instance.

                                                                      */ - Return?: boolean; -} + Placement?: Placement; -export namespace ModifyFleetResult { /** - * @internal + *

                                                                      [EC2-VPC] An available IP address from the IP address range of the subnet.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyFleetResult): any => ({ - ...obj, - }); -} + PrivateIpAddress?: string; -/** - *

                                                                      Describes a load permission.

                                                                      - */ -export interface LoadPermissionRequest { /** - *

                                                                      The name of the group.

                                                                      + *

                                                                      [EC2-VPC] The ID of the subnet in which to launch the instance.

                                                                      */ - Group?: PermissionGroup | string; + SubnetId?: string; /** - *

                                                                      The Amazon Web Services account ID.

                                                                      + *

                                                                      The Base64-encoded user data to make available to the instance.

                                                                      */ - UserId?: string; + UserData?: UserData; } -export namespace LoadPermissionRequest { +export namespace ImportInstanceLaunchSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: LoadPermissionRequest): any => ({ + export const filterSensitiveLog = (obj: ImportInstanceLaunchSpecification): any => ({ ...obj, + ...(obj.UserData && { UserData: SENSITIVE_STRING }), }); } -/** - *

                                                                      Describes modifications to the load permissions of an Amazon FPGA image (AFI).

                                                                      - */ -export interface LoadPermissionModifications { - /** - *

                                                                      The load permissions to add.

                                                                      - */ - Add?: LoadPermissionRequest[]; - +export interface ImportInstanceRequest { /** - *

                                                                      The load permissions to remove.

                                                                      + *

                                                                      A description for the instance being imported.

                                                                      */ - Remove?: LoadPermissionRequest[]; -} + Description?: string; -export namespace LoadPermissionModifications { /** - * @internal + *

                                                                      The disk image.

                                                                      */ - export const filterSensitiveLog = (obj: LoadPermissionModifications): any => ({ - ...obj, - }); -} - -export type OperationType = "add" | "remove"; + DiskImages?: DiskImage[]; -export interface ModifyFpgaImageAttributeRequest { /** *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -7911,422 +8467,370 @@ export interface ModifyFpgaImageAttributeRequest { DryRun?: boolean; /** - *

                                                                      The ID of the AFI.

                                                                      - */ - FpgaImageId: string | undefined; - - /** - *

                                                                      The name of the attribute.

                                                                      - */ - Attribute?: FpgaImageAttributeName | string; - - /** - *

                                                                      The operation type.

                                                                      + *

                                                                      The launch specification.

                                                                      */ - OperationType?: OperationType | string; + LaunchSpecification?: ImportInstanceLaunchSpecification; /** - *

                                                                      The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

                                                                      + *

                                                                      The instance operating system.

                                                                      */ - UserIds?: string[]; + Platform: PlatformValues | string | undefined; +} +export namespace ImportInstanceRequest { /** - *

                                                                      The user groups. This parameter is valid only when modifying the loadPermission attribute.

                                                                      + * @internal */ - UserGroups?: string[]; + export const filterSensitiveLog = (obj: ImportInstanceRequest): any => ({ + ...obj, + ...(obj.LaunchSpecification && { + LaunchSpecification: ImportInstanceLaunchSpecification.filterSensitiveLog(obj.LaunchSpecification), + }), + }); +} +export interface ImportInstanceResult { /** - *

                                                                      The product codes. After you add a product code to an AFI, it can't be removed. - * This parameter is valid only when modifying the productCodes attribute.

                                                                      + *

                                                                      Information about the conversion task.

                                                                      */ - ProductCodes?: string[]; + ConversionTask?: ConversionTask; +} +export namespace ImportInstanceResult { /** - *

                                                                      The load permission for the AFI.

                                                                      + * @internal */ - LoadPermission?: LoadPermissionModifications; + export const filterSensitiveLog = (obj: ImportInstanceResult): any => ({ + ...obj, + }); +} +export interface ImportKeyPairRequest { /** - *

                                                                      A description for the AFI.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - Description?: string; + DryRun?: boolean; /** - *

                                                                      A name for the AFI.

                                                                      + *

                                                                      A unique name for the key pair.

                                                                      */ - Name?: string; -} + KeyName: string | undefined; -export namespace ModifyFpgaImageAttributeRequest { /** - * @internal + *

                                                                      The public key. For API calls, the text must be base64-encoded. For command line tools, base64 encoding is performed for you.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeRequest): any => ({ - ...obj, - }); -} + PublicKeyMaterial: Uint8Array | undefined; -export interface ModifyFpgaImageAttributeResult { /** - *

                                                                      Information about the attribute.

                                                                      + *

                                                                      The tags to apply to the imported key pair.

                                                                      */ - FpgaImageAttribute?: FpgaImageAttribute; + TagSpecifications?: TagSpecification[]; } -export namespace ModifyFpgaImageAttributeResult { +export namespace ImportKeyPairRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeResult): any => ({ + export const filterSensitiveLog = (obj: ImportKeyPairRequest): any => ({ ...obj, }); } -export interface ModifyHostsRequest { - /** - *

                                                                      Specify whether to enable or disable auto-placement.

                                                                      - */ - AutoPlacement?: AutoPlacement | string; - +export interface ImportKeyPairResult { /** - *

                                                                      The IDs of the Dedicated Hosts to modify.

                                                                      + *

                                                                      The MD5 public key fingerprint as specified in section 4 of RFC 4716.

                                                                      */ - HostIds: string[] | undefined; + KeyFingerprint?: string; /** - *

                                                                      Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, - * see - * Host recovery in the Amazon EC2 User Guide.

                                                                      + *

                                                                      The key pair name that you provided.

                                                                      */ - HostRecovery?: HostRecovery | string; + KeyName?: string; /** - *

                                                                      Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to - * modify a Dedicated Host to support only a specific instance type.

                                                                      - * - *

                                                                      If you want to modify a Dedicated Host to support multiple instance types in its current instance - * family, omit this parameter and specify InstanceFamily - * instead. You cannot specify InstanceType and - * InstanceFamily in the same request.

                                                                      + *

                                                                      The ID of the resulting key pair.

                                                                      */ - InstanceType?: string; + KeyPairId?: string; /** - *

                                                                      Specifies the instance family to be supported by the Dedicated Host. Specify this parameter - * to modify a Dedicated Host to support multiple instance types within its current - * instance family.

                                                                      - * - *

                                                                      If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter - * and specify InstanceType instead. You cannot specify - * InstanceFamily and InstanceType - * in the same request.

                                                                      + *

                                                                      The tags applied to the imported key pair.

                                                                      */ - InstanceFamily?: string; + Tags?: Tag[]; } -export namespace ModifyHostsRequest { +export namespace ImportKeyPairResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyHostsRequest): any => ({ + export const filterSensitiveLog = (obj: ImportKeyPairResult): any => ({ ...obj, }); } -export interface ModifyHostsResult { +/** + *

                                                                      The disk container object for the import snapshot request.

                                                                      + */ +export interface SnapshotDiskContainer { /** - *

                                                                      The IDs of the Dedicated Hosts that were successfully modified.

                                                                      + *

                                                                      The description of the disk image being imported.

                                                                      */ - Successful?: string[]; + Description?: string; /** - *

                                                                      The IDs of the Dedicated Hosts that could not be modified. Check whether the - * setting you requested can be used.

                                                                      + *

                                                                      The format of the disk image being imported.

                                                                      + *

                                                                      Valid values: VHD | VMDK | RAW + *

                                                                      */ - Unsuccessful?: UnsuccessfulItem[]; + Format?: string; + + /** + *

                                                                      The URL to the Amazon S3-based disk image being imported. It can either be a https URL (https://..) or an Amazon + * S3 URL (s3://..).

                                                                      + */ + Url?: string; + + /** + *

                                                                      The Amazon S3 bucket for the disk image.

                                                                      + */ + UserBucket?: UserBucket; } -export namespace ModifyHostsResult { +export namespace SnapshotDiskContainer { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyHostsResult): any => ({ + export const filterSensitiveLog = (obj: SnapshotDiskContainer): any => ({ ...obj, }); } -export interface ModifyIdentityIdFormatRequest { +export interface ImportSnapshotRequest { /** - *

                                                                      The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify - * all to modify the ID format for all IAM users, IAM roles, and the root user of - * the account.

                                                                      + *

                                                                      The client-specific data.

                                                                      */ - PrincipalArn: string | undefined; + ClientData?: ClientData; /** - *

                                                                      The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | internet-gateway | network-acl - * | network-acl-association | network-interface | - * network-interface-attachment | prefix-list | - * route-table | route-table-association | - * security-group | subnet | - * subnet-cidr-block-association | vpc | - * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

                                                                      - *

                                                                      Alternatively, use the all-current option to include all resource types that are - * currently within their opt-in period for longer IDs.

                                                                      + *

                                                                      Token to enable idempotency for VM import requests.

                                                                      */ - Resource: string | undefined; + ClientToken?: string; /** - *

                                                                      Indicates whether the resource should use longer IDs (17-character IDs)

                                                                      + *

                                                                      The description string for the import snapshot task.

                                                                      */ - UseLongIds: boolean | undefined; -} + Description?: string; -export namespace ModifyIdentityIdFormatRequest { /** - * @internal + *

                                                                      Information about the disk container.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyIdentityIdFormatRequest): any => ({ - ...obj, - }); -} + DiskContainer?: SnapshotDiskContainer; -export interface ModifyIdFormatRequest { /** - *

                                                                      The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | - * elastic-ip-allocation | elastic-ip-association | - * export-task | flow-log | image | - * import-task | internet-gateway | network-acl - * | network-acl-association | network-interface | - * network-interface-attachment | prefix-list | - * route-table | route-table-association | - * security-group | subnet | - * subnet-cidr-block-association | vpc | - * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

                                                                      - *

                                                                      Alternatively, use the all-current option to include all resource types that are - * currently within their opt-in period for longer IDs.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - Resource: string | undefined; + DryRun?: boolean; /** - *

                                                                      Indicate whether the resource should use longer IDs (17-character IDs).

                                                                      + *

                                                                      Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is + * used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the + * Amazon Elastic Compute Cloud User Guide.

                                                                      */ - UseLongIds: boolean | undefined; -} + Encrypted?: boolean; -export namespace ModifyIdFormatRequest { /** - * @internal + *

                                                                      An identifier for the symmetric KMS key to use when creating the + * encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this + * parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is + * specified, the Encrypted flag must also be set.

                                                                      + *

                                                                      The KMS key identifier may be provided in any of the following formats:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Key ID

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        ARN using key alias. The alias ARN contains the arn:aws:kms namespace, followed by the Region of the key, the Amazon Web Services account ID of the key owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even + * though you provided an invalid identifier. This action will eventually report failure.

                                                                      + *

                                                                      The specified KMS key must exist in the Region that the snapshot is being copied to.

                                                                      + *

                                                                      Amazon EBS does not support asymmetric KMS keys.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyIdFormatRequest): any => ({ - ...obj, - }); -} + KmsKeyId?: string; -/** - *

                                                                      Describes a launch permission modification.

                                                                      - */ -export interface LaunchPermissionModifications { /** - *

                                                                      The Amazon Web Services account ID to add to the list of launch permissions for the AMI.

                                                                      + *

                                                                      The name of the role to use when not using the default role, 'vmimport'.

                                                                      */ - Add?: LaunchPermission[]; + RoleName?: string; /** - *

                                                                      The Amazon Web Services account ID to remove from the list of launch permissions for the AMI.

                                                                      + *

                                                                      The tags to apply to the import snapshot task during creation.

                                                                      */ - Remove?: LaunchPermission[]; + TagSpecifications?: TagSpecification[]; } -export namespace LaunchPermissionModifications { +export namespace ImportSnapshotRequest { /** * @internal */ - export const filterSensitiveLog = (obj: LaunchPermissionModifications): any => ({ + export const filterSensitiveLog = (obj: ImportSnapshotRequest): any => ({ ...obj, }); } -/** - *

                                                                      Contains the parameters for ModifyImageAttribute.

                                                                      - */ -export interface ModifyImageAttributeRequest { +export interface ImportSnapshotResult { /** - *

                                                                      The name of the attribute to modify. - * The valid values are description and launchPermission.

                                                                      + *

                                                                      A description of the import snapshot task.

                                                                      */ - Attribute?: string; + Description?: string; /** - *

                                                                      A new description for the AMI.

                                                                      + *

                                                                      The ID of the import snapshot task.

                                                                      */ - Description?: AttributeValue; + ImportTaskId?: string; /** - *

                                                                      The ID of the AMI.

                                                                      + *

                                                                      Information about the import snapshot task.

                                                                      */ - ImageId: string | undefined; + SnapshotTaskDetail?: SnapshotTaskDetail; /** - *

                                                                      A new launch permission for the AMI.

                                                                      + *

                                                                      Any tags assigned to the import snapshot task.

                                                                      */ - LaunchPermission?: LaunchPermissionModifications; + Tags?: Tag[]; +} +export namespace ImportSnapshotResult { /** - *

                                                                      The operation type. - * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                      + * @internal */ - OperationType?: OperationType | string; + export const filterSensitiveLog = (obj: ImportSnapshotResult): any => ({ + ...obj, + }); +} +export interface ImportVolumeRequest { /** - *

                                                                      Not supported.

                                                                      + *

                                                                      The Availability Zone for the resulting EBS volume.

                                                                      */ - ProductCodes?: string[]; + AvailabilityZone: string | undefined; /** - *

                                                                      The user groups. - * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                      + *

                                                                      A description of the volume.

                                                                      */ - UserGroups?: string[]; + Description?: string; /** - *

                                                                      The Amazon Web Services account IDs. - * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - UserIds?: string[]; + DryRun?: boolean; /** - *

                                                                      The value of the attribute being modified. - * This parameter can be used only when the Attribute parameter is description.

                                                                      + *

                                                                      The disk image.

                                                                      */ - Value?: string; + Image: DiskImageDetail | undefined; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The volume size.

                                                                      */ - DryRun?: boolean; + Volume: VolumeDetail | undefined; } -export namespace ModifyImageAttributeRequest { +export namespace ImportVolumeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyImageAttributeRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                      Describes information used to set up an EBS volume specified in a block device - * mapping.

                                                                      - */ -export interface EbsInstanceBlockDeviceSpecification { - /** - *

                                                                      Indicates whether the volume is deleted on instance termination.

                                                                      - */ - DeleteOnTermination?: boolean; + export const filterSensitiveLog = (obj: ImportVolumeRequest): any => ({ + ...obj, + }); +} +export interface ImportVolumeResult { /** - *

                                                                      The ID of the EBS volume.

                                                                      + *

                                                                      Information about the conversion task.

                                                                      */ - VolumeId?: string; + ConversionTask?: ConversionTask; } -export namespace EbsInstanceBlockDeviceSpecification { +export namespace ImportVolumeResult { /** * @internal */ - export const filterSensitiveLog = (obj: EbsInstanceBlockDeviceSpecification): any => ({ + export const filterSensitiveLog = (obj: ImportVolumeResult): any => ({ ...obj, }); } -/** - *

                                                                      Describes a block device mapping entry.

                                                                      - */ -export interface InstanceBlockDeviceMappingSpecification { - /** - *

                                                                      The device name (for example, /dev/sdh or xvdh).

                                                                      - */ - DeviceName?: string; - +export interface ModifyAddressAttributeRequest { /** - *

                                                                      Parameters used to automatically set up EBS volumes when the instance is - * launched.

                                                                      + *

                                                                      [EC2-VPC] The allocation ID.

                                                                      */ - Ebs?: EbsInstanceBlockDeviceSpecification; + AllocationId: string | undefined; /** - *

                                                                      suppress the specified device included in the block device mapping.

                                                                      + *

                                                                      The domain name to modify for the IP address.

                                                                      */ - NoDevice?: string; + DomainName?: string; /** - *

                                                                      The virtual device name.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - VirtualName?: string; + DryRun?: boolean; } -export namespace InstanceBlockDeviceMappingSpecification { +export namespace ModifyAddressAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceBlockDeviceMappingSpecification): any => ({ + export const filterSensitiveLog = (obj: ModifyAddressAttributeRequest): any => ({ ...obj, }); } -export interface BlobAttributeValue { - Value?: Uint8Array; +export interface ModifyAddressAttributeResult { + /** + *

                                                                      Information about the Elastic IP address.

                                                                      + */ + Address?: AddressAttribute; } -export namespace BlobAttributeValue { +export namespace ModifyAddressAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: BlobAttributeValue): any => ({ + export const filterSensitiveLog = (obj: ModifyAddressAttributeResult): any => ({ ...obj, }); } -export interface ModifyInstanceAttributeRequest { - /** - *

                                                                      Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

                                                                      - */ - SourceDestCheck?: AttributeBooleanValue; - - /** - *

                                                                      The name of the attribute.

                                                                      - */ - Attribute?: InstanceAttributeName | string; +export type ModifyAvailabilityZoneOptInStatus = "not-opted-in" | "opted-in"; +export interface ModifyAvailabilityZoneGroupRequest { /** - *

                                                                      Modifies the DeleteOnTermination attribute for volumes that are currently - * attached. The volume must be owned by the caller. If no value is specified for - * DeleteOnTermination, the default is true and the volume is - * deleted when the instance is terminated.

                                                                      - *

                                                                      To add instance store volumes to an Amazon EBS-backed instance, you must add them when - * you launch the instance. For more information, see Updating the block device mapping when launching an instance in the - * Amazon EC2 User Guide.

                                                                      + *

                                                                      The name of the Availability Zone group, Local Zone group, or Wavelength Zone + * group.

                                                                      */ - BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; + GroupName: string | undefined; /** - *

                                                                      If the value is true, you can't terminate the instance using the Amazon - * EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot - * Instances.

                                                                      + *

                                                                      Indicates whether you are opted in to the Local Zone group or Wavelength Zone group. The + * only valid value is opted-in. You must contact Amazon Web Services Support to opt out of a Local Zone or Wavelength Zone group.

                                                                      */ - DisableApiTermination?: AttributeBooleanValue; + OptInStatus: ModifyAvailabilityZoneOptInStatus | string | undefined; /** *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, @@ -8334,338 +8838,324 @@ export interface ModifyInstanceAttributeRequest { * Otherwise, it is UnauthorizedOperation.

                                                                      */ DryRun?: boolean; +} +export namespace ModifyAvailabilityZoneGroupRequest { /** - *

                                                                      Specifies whether the instance is optimized for Amazon EBS I/O. This optimization - * provides dedicated throughput to Amazon EBS and an optimized configuration stack to - * provide optimal EBS I/O performance. This optimization isn't available with all instance - * types. Additional usage charges apply when using an EBS Optimized instance.

                                                                      - */ - EbsOptimized?: AttributeBooleanValue; - - /** - *

                                                                      Set to true to enable enhanced networking with ENA for the - * instance.

                                                                      - *

                                                                      This option is supported only for HVM instances. Specifying this option with a PV - * instance can make it unreachable.

                                                                      + * @internal */ - EnaSupport?: AttributeBooleanValue; + export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupRequest): any => ({ + ...obj, + }); +} +export interface ModifyAvailabilityZoneGroupResult { /** - *

                                                                      [EC2-VPC] Replaces the security groups of the instance with the specified security groups. - * You must specify at least one security group, even if it's just the default security group for the VPC. You must - * specify the security group ID, not the security group name.

                                                                      + *

                                                                      Is true if the request succeeds, and an error otherwise.

                                                                      */ - Groups?: string[]; + Return?: boolean; +} +export namespace ModifyAvailabilityZoneGroupResult { /** - *

                                                                      The ID of the instance.

                                                                      + * @internal */ - InstanceId: string | undefined; + export const filterSensitiveLog = (obj: ModifyAvailabilityZoneGroupResult): any => ({ + ...obj, + }); +} +export interface ModifyCapacityReservationRequest { /** - *

                                                                      Specifies whether an instance stops or terminates when you initiate shutdown from the - * instance (using the operating system command for system shutdown).

                                                                      + *

                                                                      The ID of the Capacity Reservation.

                                                                      */ - InstanceInitiatedShutdownBehavior?: AttributeValue; + CapacityReservationId: string | undefined; /** - *

                                                                      Changes the instance type to the specified value. For more information, see Instance - * types in the Amazon EC2 User Guide. If the instance type is not valid, - * the error returned is InvalidInstanceAttributeValue.

                                                                      + *

                                                                      The number of instances for which to reserve capacity. The number of instances can't be increased or + * decreased by more than 1000 in a single request.

                                                                      */ - InstanceType?: AttributeValue; + InstanceCount?: number; /** - *

                                                                      Changes the instance's kernel to the specified value. We recommend that you use - * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

                                                                      + *

                                                                      The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity + * is released and you can no longer launch instances into it. The Capacity Reservation's state changes to + * expired when it reaches its end date and time.

                                                                      + *

                                                                      The Capacity Reservation is cancelled within an hour from the specified time. For example, if you specify + * 5/31/2019, 13:30:55, the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.

                                                                      + *

                                                                      You must provide an EndDate value if EndDateType is + * limited. Omit EndDate if EndDateType is + * unlimited.

                                                                      */ - Kernel?: AttributeValue; + EndDate?: Date; /** - *

                                                                      Changes the instance's RAM disk to the specified value. We recommend that you use - * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

                                                                      + *

                                                                      Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end + * types:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        + * unlimited - The Capacity Reservation remains active until you explicitly cancel it. Do not + * provide an EndDate value if EndDateType is + * unlimited.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * limited - The Capacity Reservation expires automatically at a specified date and time. You must + * provide an EndDate value if EndDateType is + * limited.

                                                                        + *
                                                                      • + *
                                                                      */ - Ramdisk?: AttributeValue; + EndDateType?: EndDateType | string; /** - *

                                                                      Set to simple to enable enhanced networking with the Intel 82599 Virtual - * Function interface for the instance.

                                                                      - *

                                                                      There is no way to disable enhanced networking with the Intel 82599 Virtual Function - * interface at this time.

                                                                      - *

                                                                      This option is supported only for HVM instances. Specifying this option with a PV - * instance can make it unreachable.

                                                                      + *

                                                                      Reserved. Capacity Reservations you have created are accepted by default.

                                                                      */ - SriovNetSupport?: AttributeValue; + Accept?: boolean; /** - *

                                                                      Changes the instance's user data to the specified value. If you are using an Amazon Web Services SDK - * or command line tool, base64-encoding is performed for you, and you can load the text - * from a file. Otherwise, you must provide base64-encoded text.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      */ - UserData?: BlobAttributeValue; + DryRun?: boolean; /** - *

                                                                      A new value for the attribute. Use only with the kernel, - * ramdisk, userData, disableApiTermination, or - * instanceInitiatedShutdownBehavior attribute.

                                                                      + *

                                                                      Reserved for future use.

                                                                      */ - Value?: string; + AdditionalInfo?: string; } -export namespace ModifyInstanceAttributeRequest { +export namespace ModifyCapacityReservationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationRequest): any => ({ ...obj, }); } -/** - *

                                                                      Describes an instance's Capacity Reservation targeting option. You can specify only one parameter - * at a time. If you specify CapacityReservationPreference and - * CapacityReservationTarget, the request fails.

                                                                      - *

                                                                      Use the CapacityReservationPreference parameter to configure the instance - * to run as an On-Demand Instance or to run in any open Capacity Reservation that has - * matching attributes (instance type, platform, Availability Zone). Use the - * CapacityReservationTarget parameter to explicitly target a specific - * Capacity Reservation or a Capacity Reservation group.

                                                                      - */ -export interface CapacityReservationSpecification { - /** - *

                                                                      Indicates the instance's Capacity Reservation preferences. Possible preferences include:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        - * open - The instance can run in any open Capacity Reservation that has matching attributes - * (instance type, platform, Availability Zone).

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        - * none - The instance avoids running in a Capacity Reservation even if one is available. The - * instance runs as an On-Demand Instance.

                                                                        - *
                                                                      • - *
                                                                      - */ - CapacityReservationPreference?: CapacityReservationPreference | string; - +export interface ModifyCapacityReservationResult { /** - *

                                                                      Information about the target Capacity Reservation or Capacity Reservation group.

                                                                      + *

                                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                                      */ - CapacityReservationTarget?: CapacityReservationTarget; + Return?: boolean; } -export namespace CapacityReservationSpecification { +export namespace ModifyCapacityReservationResult { /** * @internal */ - export const filterSensitiveLog = (obj: CapacityReservationSpecification): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationResult): any => ({ ...obj, }); } -export interface ModifyInstanceCapacityReservationAttributesRequest { +export interface ModifyCapacityReservationFleetRequest { /** - *

                                                                      The ID of the instance to be modified.

                                                                      + *

                                                                      The ID of the Capacity Reservation Fleet to modify.

                                                                      + */ + CapacityReservationFleetId: string | undefined; + + /** + *

                                                                      The total number of capacity units to be reserved by the Capacity Reservation Fleet. This value, + * together with the instance type weights that you assign to each instance type used by the Fleet + * determine the number of instances for which the Fleet reserves capacity. Both values are based on + * units that make sense for your workload. For more information, see Total target capacity + * in the Amazon EC2 User Guide.

                                                                      + */ + TotalTargetCapacity?: number; + + /** + *

                                                                      The date and time at which the Capacity Reservation Fleet expires. When the Capacity Reservation + * Fleet expires, its state changes to expired and all of the Capacity Reservations in the + * Fleet expire.

                                                                      + *

                                                                      The Capacity Reservation Fleet expires within an hour after the specified time. For example, if you + * specify 5/31/2019, 13:30:55, the Capacity Reservation Fleet is guaranteed + * to expire between 13:30:55 and 14:30:55 on 5/31/2019.

                                                                      + *

                                                                      You can't specify EndDate and + * RemoveEndDate in the same request.

                                                                      */ - InstanceId: string | undefined; + EndDate?: Date; /** - *

                                                                      Information about the Capacity Reservation targeting option.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      */ - CapacityReservationSpecification: CapacityReservationSpecification | undefined; + DryRun?: boolean; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      Indicates whether to remove the end date from the Capacity Reservation Fleet. If you remove the + * end date, the Capacity Reservation Fleet does not expire and it remains active until you explicitly + * cancel it using the CancelCapacityReservationFleet action.

                                                                      + *

                                                                      You can't specify RemoveEndDate and + * EndDate in the same request.

                                                                      */ - DryRun?: boolean; + RemoveEndDate?: boolean; } -export namespace ModifyInstanceCapacityReservationAttributesRequest { +export namespace ModifyCapacityReservationFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetRequest): any => ({ ...obj, }); } -export interface ModifyInstanceCapacityReservationAttributesResult { +export interface ModifyCapacityReservationFleetResult { /** *

                                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                                      */ Return?: boolean; } -export namespace ModifyInstanceCapacityReservationAttributesResult { +export namespace ModifyCapacityReservationFleetResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesResult): any => ({ + export const filterSensitiveLog = (obj: ModifyCapacityReservationFleetResult): any => ({ ...obj, }); } /** - *

                                                                      Describes the credit option for CPU usage of a burstable performance instance.

                                                                      + *

                                                                      Information about the DNS server to be used.

                                                                      */ -export interface InstanceCreditSpecificationRequest { +export interface DnsServersOptionsModifyStructure { /** - *

                                                                      The ID of the instance.

                                                                      + *

                                                                      The IPv4 address range, in CIDR notation, of the DNS servers to be used. You can specify up to + * two DNS servers. Ensure that the DNS servers can be reached by the clients. The specified values + * overwrite the existing values.

                                                                      */ - InstanceId?: string; + CustomDnsServers?: string[]; /** - *

                                                                      The credit option for CPU usage of the instance. Valid values are - * standard and unlimited.

                                                                      - *

                                                                      T3 instances with host tenancy do not support the unlimited - * CPU credit option.

                                                                      + *

                                                                      Indicates whether DNS servers should be used. Specify False to delete the existing DNS + * servers.

                                                                      */ - CpuCredits?: string; + Enabled?: boolean; } -export namespace InstanceCreditSpecificationRequest { +export namespace DnsServersOptionsModifyStructure { /** * @internal */ - export const filterSensitiveLog = (obj: InstanceCreditSpecificationRequest): any => ({ + export const filterSensitiveLog = (obj: DnsServersOptionsModifyStructure): any => ({ ...obj, }); } -export interface ModifyInstanceCreditSpecificationRequest { +export interface ModifyClientVpnEndpointRequest { /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The ID of the Client VPN endpoint to modify.

                                                                      */ - DryRun?: boolean; + ClientVpnEndpointId: string | undefined; /** - *

                                                                      A unique, case-sensitive token that you provide to ensure idempotency of your - * modification request. For more information, see Ensuring - * Idempotency.

                                                                      + *

                                                                      The ARN of the server certificate to be used. The server certificate must be provisioned in + * Certificate Manager (ACM).

                                                                      */ - ClientToken?: string; + ServerCertificateArn?: string; /** - *

                                                                      Information about the credit option for CPU usage.

                                                                      + *

                                                                      Information about the client connection logging options.

                                                                      + *

                                                                      If you enable client connection logging, data about client connections is sent to a + * Cloudwatch Logs log stream. The following information is logged:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Client connection requests

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Client connection results (successful and unsuccessful)

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Reasons for unsuccessful client connection requests

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Client connection termination time

                                                                        + *
                                                                      • + *
                                                                      */ - InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; -} + ConnectionLogOptions?: ConnectionLogOptions; -export namespace ModifyInstanceCreditSpecificationRequest { /** - * @internal + *

                                                                      Information about the DNS servers to be used by Client VPN connections. A Client VPN endpoint can have + * up to two DNS servers.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationRequest): any => ({ - ...obj, - }); -} + DnsServers?: DnsServersOptionsModifyStructure; -/** - *

                                                                      Describes the burstable performance instance whose credit option for CPU usage was - * successfully modified.

                                                                      - */ -export interface SuccessfulInstanceCreditSpecificationItem { /** - *

                                                                      The ID of the instance.

                                                                      + *

                                                                      The port number to assign to the Client VPN endpoint for TCP and UDP traffic.

                                                                      + *

                                                                      Valid Values: 443 | 1194 + *

                                                                      + *

                                                                      Default Value: 443 + *

                                                                      */ - InstanceId?: string; -} + VpnPort?: number; -export namespace SuccessfulInstanceCreditSpecificationItem { /** - * @internal + *

                                                                      A brief description of the Client VPN endpoint.

                                                                      */ - export const filterSensitiveLog = (obj: SuccessfulInstanceCreditSpecificationItem): any => ({ - ...obj, - }); -} + Description?: string; -export enum UnsuccessfulInstanceCreditSpecificationErrorCode { - INCORRECT_INSTANCE_STATE = "IncorrectInstanceState", - INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED = "InstanceCreditSpecification.NotSupported", - INSTANCE_NOT_FOUND = "InvalidInstanceID.NotFound", - INVALID_INSTANCE_ID = "InvalidInstanceID.Malformed", -} + /** + *

                                                                      Indicates whether the VPN is split-tunnel.

                                                                      + *

                                                                      For information about split-tunnel VPN endpoints, see Split-tunnel Client VPN endpoint in the + * Client VPN Administrator Guide.

                                                                      + */ + SplitTunnel?: boolean; -/** - *

                                                                      Information about the error for the burstable performance instance whose credit option - * for CPU usage was not modified.

                                                                      - */ -export interface UnsuccessfulInstanceCreditSpecificationItemError { /** - *

                                                                      The error code.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      */ - Code?: UnsuccessfulInstanceCreditSpecificationErrorCode | string; + DryRun?: boolean; /** - *

                                                                      The applicable error message.

                                                                      + *

                                                                      The IDs of one or more security groups to apply to the target network.

                                                                      */ - Message?: string; -} + SecurityGroupIds?: string[]; -export namespace UnsuccessfulInstanceCreditSpecificationItemError { /** - * @internal + *

                                                                      The ID of the VPC to associate with the Client VPN endpoint.

                                                                      */ - export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItemError): any => ({ - ...obj, - }); -} + VpcId?: string; -/** - *

                                                                      Describes the burstable performance instance whose credit option for CPU usage was not - * modified.

                                                                      - */ -export interface UnsuccessfulInstanceCreditSpecificationItem { /** - *

                                                                      The ID of the instance.

                                                                      + *

                                                                      Specify whether to enable the self-service portal for the Client VPN endpoint.

                                                                      */ - InstanceId?: string; + SelfServicePortal?: SelfServicePortal | string; /** - *

                                                                      The applicable error for the burstable performance instance whose credit option for - * CPU usage was not modified.

                                                                      + *

                                                                      The options for managing connection authorization for new client connections.

                                                                      */ - Error?: UnsuccessfulInstanceCreditSpecificationItemError; + ClientConnectOptions?: ClientConnectOptions; } -export namespace UnsuccessfulInstanceCreditSpecificationItem { +export namespace ModifyClientVpnEndpointRequest { /** * @internal */ - export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItem): any => ({ + export const filterSensitiveLog = (obj: ModifyClientVpnEndpointRequest): any => ({ ...obj, }); } -export interface ModifyInstanceCreditSpecificationResult { - /** - *

                                                                      Information about the instances whose credit option for CPU usage was successfully - * modified.

                                                                      - */ - SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[]; - +export interface ModifyClientVpnEndpointResult { /** - *

                                                                      Information about the instances whose credit option for CPU usage was not - * modified.

                                                                      + *

                                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                                      */ - UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[]; + Return?: boolean; } -export namespace ModifyInstanceCreditSpecificationResult { +export namespace ModifyClientVpnEndpointResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationResult): any => ({ + export const filterSensitiveLog = (obj: ModifyClientVpnEndpointResult): any => ({ ...obj, }); } -export interface ModifyInstanceEventStartTimeRequest { +export interface ModifyDefaultCreditSpecificationRequest { /** *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. @@ -8674,928 +9164,870 @@ export interface ModifyInstanceEventStartTimeRequest { DryRun?: boolean; /** - *

                                                                      The ID of the instance with the scheduled event.

                                                                      - */ - InstanceId: string | undefined; - - /** - *

                                                                      The ID of the event whose date and time you are modifying.

                                                                      + *

                                                                      The instance family.

                                                                      */ - InstanceEventId: string | undefined; + InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined; /** - *

                                                                      The new date and time when the event will take place.

                                                                      + *

                                                                      The credit option for CPU usage of the instance family.

                                                                      + *

                                                                      Valid Values: standard | unlimited + *

                                                                      */ - NotBefore: Date | undefined; + CpuCredits: string | undefined; } -export namespace ModifyInstanceEventStartTimeRequest { +export namespace ModifyDefaultCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationRequest): any => ({ ...obj, }); } -export interface ModifyInstanceEventStartTimeResult { +export interface ModifyDefaultCreditSpecificationResult { /** - *

                                                                      Describes a scheduled event for an instance.

                                                                      + *

                                                                      The default credit option for CPU usage of the instance family.

                                                                      */ - Event?: InstanceStatusEvent; + InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification; } -export namespace ModifyInstanceEventStartTimeResult { +export namespace ModifyDefaultCreditSpecificationResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeResult): any => ({ + export const filterSensitiveLog = (obj: ModifyDefaultCreditSpecificationResult): any => ({ ...obj, }); } -export interface ModifyInstanceEventWindowRequest { - /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      - */ - DryRun?: boolean; - - /** - *

                                                                      The name of the event window.

                                                                      - */ - Name?: string; - - /** - *

                                                                      The ID of the event window.

                                                                      - */ - InstanceEventWindowId: string | undefined; - - /** - *

                                                                      The time ranges of the event window.

                                                                      - */ - TimeRanges?: InstanceEventWindowTimeRangeRequest[]; - +export interface ModifyEbsDefaultKmsKeyIdRequest { /** - *

                                                                      The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

                                                                      - *

                                                                      Constraints:

                                                                      + *

                                                                      The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. + * If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is + * specified, the encrypted state must be true.

                                                                      + *

                                                                      You can specify the KMS key using any of the following:

                                                                      *
                                                                        *
                                                                      • - *

                                                                        Only hour and day of the week values are supported.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        For day of the week values, you can specify either integers 0 through - * 6, or alternative single values SUN through - * SAT.

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        The minute, month, and year must be specified by *.

                                                                        + *

                                                                        Key ID. For example, 1234abcd-12ab-34cd-56ef-1234567890ab.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        The hour value must be one or a multiple range, for example, 0-4 or - * 0-4,20-23.

                                                                        + *

                                                                        Key alias. For example, alias/ExampleAlias.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        Each hour range must be >= 2 hours, for example, 0-2 or - * 20-23.

                                                                        + *

                                                                        Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/1234abcd-12ab-34cd-56ef-1234567890ab.

                                                                        *
                                                                      • *
                                                                      • - *

                                                                        The event window must be >= 4 hours. The combined total time ranges in the event - * window must be >= 4 hours.

                                                                        + *

                                                                        Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.

                                                                        *
                                                                      • *
                                                                      - *

                                                                      For more information about cron expressions, see cron on the Wikipedia - * website.

                                                                      - */ - CronExpression?: string; -} - -export namespace ModifyInstanceEventWindowRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceEventWindowRequest): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceEventWindowResult { - /** - *

                                                                      Information about the event window.

                                                                      - */ - InstanceEventWindow?: InstanceEventWindow; -} - -export namespace ModifyInstanceEventWindowResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModifyInstanceEventWindowResult): any => ({ - ...obj, - }); -} - -export interface ModifyInstanceMetadataOptionsRequest { - /** - *

                                                                      The ID of the instance.

                                                                      - */ - InstanceId: string | undefined; - - /** - *

                                                                      The state of token usage for your instance metadata requests. If the parameter is not - * specified in the request, the default state is optional.

                                                                      - *

                                                                      If the state is optional, you can choose to retrieve instance metadata - * with or without a signed token header on your request. If you retrieve the IAM role - * credentials without a token, the version 1.0 role credentials are returned. If you - * retrieve the IAM role credentials using a valid signed token, the version 2.0 role - * credentials are returned.

                                                                      - *

                                                                      If the state is required, you must send a signed token header with any - * instance metadata retrieval requests. In this state, retrieving the IAM role credential - * always returns the version 2.0 credentials; the version 1.0 credentials are not - * available.

                                                                      - */ - HttpTokens?: HttpTokensState | string; - - /** - *

                                                                      The desired HTTP PUT response hop limit for instance metadata requests. The larger the - * number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.

                                                                      - *

                                                                      Possible values: Integers from 1 to 64

                                                                      - */ - HttpPutResponseHopLimit?: number; - - /** - *

                                                                      This parameter enables or disables the HTTP metadata endpoint on your instances. If - * the parameter is not specified, the existing state is maintained.

                                                                      - * - *

                                                                      If you specify a value of disabled, you will not be able to access your - * instance metadata.

                                                                      - *
                                                                      + *

                                                                      Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, + * the action can appear to complete, but eventually fails.

                                                                      + *

                                                                      Amazon EBS does not support asymmetric KMS keys.

                                                                      */ - HttpEndpoint?: InstanceMetadataEndpointState | string; + KmsKeyId: string | undefined; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ DryRun?: boolean; - - /** - *

                                                                      Enables or disables the IPv6 endpoint for the instance metadata service.

                                                                      - */ - HttpProtocolIpv6?: InstanceMetadataProtocolState | string; } -export namespace ModifyInstanceMetadataOptionsRequest { +export namespace ModifyEbsDefaultKmsKeyIdRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdRequest): any => ({ ...obj, }); } -export interface ModifyInstanceMetadataOptionsResult { - /** - *

                                                                      The ID of the instance.

                                                                      - */ - InstanceId?: string; - +export interface ModifyEbsDefaultKmsKeyIdResult { /** - *

                                                                      The metadata options for the instance.

                                                                      + *

                                                                      The Amazon Resource Name (ARN) of the default KMS key for encryption by default.

                                                                      */ - InstanceMetadataOptions?: InstanceMetadataOptionsResponse; + KmsKeyId?: string; } -export namespace ModifyInstanceMetadataOptionsResult { +export namespace ModifyEbsDefaultKmsKeyIdResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsResult): any => ({ + export const filterSensitiveLog = (obj: ModifyEbsDefaultKmsKeyIdResult): any => ({ ...obj, }); } -export type HostTenancy = "dedicated" | "host"; - -export interface ModifyInstancePlacementRequest { - /** - *

                                                                      The affinity setting for the instance.

                                                                      - */ - Affinity?: Affinity | string; - +export interface ModifyFleetRequest { /** - *

                                                                      The name of the placement group in which to place the instance. For spread placement - * groups, the instance must have a tenancy of default. For cluster and - * partition placement groups, the instance must have a tenancy of default or - * dedicated.

                                                                      - *

                                                                      To remove an instance from a placement group, specify an empty string - * ("").

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - GroupName?: string; + DryRun?: boolean; /** - *

                                                                      The ID of the Dedicated Host with which to associate the instance.

                                                                      + *

                                                                      Indicates whether running instances should be terminated if the total target capacity of + * the EC2 Fleet is decreased below the current size of the EC2 Fleet.

                                                                      */ - HostId?: string; + ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy | string; /** - *

                                                                      The ID of the instance that you are modifying.

                                                                      + *

                                                                      The launch template and overrides.

                                                                      */ - InstanceId: string | undefined; + LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[]; /** - *

                                                                      The tenancy for the instance.

                                                                      - * - * - *

                                                                      For T3 instances, you can't change the tenancy from dedicated - * to host, or from host to dedicated. - * Attempting to make one of these unsupported tenancy changes results in the - * InvalidTenancy error code.

                                                                      - *
                                                                      + *

                                                                      The ID of the EC2 Fleet.

                                                                      */ - Tenancy?: HostTenancy | string; + FleetId: string | undefined; /** - *

                                                                      Reserved for future use.

                                                                      + *

                                                                      The size of the EC2 Fleet.

                                                                      */ - PartitionNumber?: number; + TargetCapacitySpecification?: TargetCapacitySpecificationRequest; /** - *

                                                                      The ARN of the host resource group in which to place the instance.

                                                                      + *

                                                                      Reserved.

                                                                      */ - HostResourceGroupArn?: string; + Context?: string; } -export namespace ModifyInstancePlacementRequest { +export namespace ModifyFleetRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstancePlacementRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyFleetRequest): any => ({ ...obj, }); } -export interface ModifyInstancePlacementResult { +export interface ModifyFleetResult { /** *

                                                                      Is true if the request succeeds, and an error otherwise.

                                                                      */ Return?: boolean; } -export namespace ModifyInstancePlacementResult { +export namespace ModifyFleetResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyInstancePlacementResult): any => ({ + export const filterSensitiveLog = (obj: ModifyFleetResult): any => ({ ...obj, }); } -export interface ModifyLaunchTemplateRequest { +/** + *

                                                                      Describes a load permission.

                                                                      + */ +export interface LoadPermissionRequest { /** - *

                                                                      Checks whether you have the required permissions for the action, without actually - * making the request, and provides an error response. If you have the required - * permissions, the error response is DryRunOperation. Otherwise, it is - * UnauthorizedOperation.

                                                                      + *

                                                                      The name of the group.

                                                                      */ - DryRun?: boolean; + Group?: PermissionGroup | string; /** - *

                                                                      Unique, case-sensitive identifier you provide to ensure the idempotency of the - * request. For more information, see Ensuring - * Idempotency.

                                                                      - *

                                                                      Constraint: Maximum 128 ASCII characters.

                                                                      + *

                                                                      The Amazon Web Services account ID.

                                                                      */ - ClientToken?: string; + UserId?: string; +} +export namespace LoadPermissionRequest { /** - *

                                                                      The ID of the launch template. You must specify either the launch template ID or - * launch template name in the request.

                                                                      + * @internal */ - LaunchTemplateId?: string; + export const filterSensitiveLog = (obj: LoadPermissionRequest): any => ({ + ...obj, + }); +} +/** + *

                                                                      Describes modifications to the load permissions of an Amazon FPGA image (AFI).

                                                                      + */ +export interface LoadPermissionModifications { /** - *

                                                                      The name of the launch template. You must specify either the launch template ID or - * launch template name in the request.

                                                                      + *

                                                                      The load permissions to add.

                                                                      */ - LaunchTemplateName?: string; + Add?: LoadPermissionRequest[]; /** - *

                                                                      The version number of the launch template to set as the default version.

                                                                      + *

                                                                      The load permissions to remove.

                                                                      */ - DefaultVersion?: string; + Remove?: LoadPermissionRequest[]; } -export namespace ModifyLaunchTemplateRequest { +export namespace LoadPermissionModifications { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyLaunchTemplateRequest): any => ({ + export const filterSensitiveLog = (obj: LoadPermissionModifications): any => ({ ...obj, }); } -export interface ModifyLaunchTemplateResult { +export type OperationType = "add" | "remove"; + +export interface ModifyFpgaImageAttributeRequest { /** - *

                                                                      Information about the launch template.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - LaunchTemplate?: LaunchTemplate; -} + DryRun?: boolean; -export namespace ModifyLaunchTemplateResult { /** - * @internal + *

                                                                      The ID of the AFI.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyLaunchTemplateResult): any => ({ - ...obj, - }); -} + FpgaImageId: string | undefined; -/** - *

                                                                      An entry for a prefix list.

                                                                      - */ -export interface RemovePrefixListEntry { /** - *

                                                                      The CIDR block.

                                                                      + *

                                                                      The name of the attribute.

                                                                      */ - Cidr: string | undefined; -} + Attribute?: FpgaImageAttributeName | string; -export namespace RemovePrefixListEntry { /** - * @internal + *

                                                                      The operation type.

                                                                      */ - export const filterSensitiveLog = (obj: RemovePrefixListEntry): any => ({ - ...obj, - }); -} + OperationType?: OperationType | string; -export interface ModifyManagedPrefixListRequest { /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The Amazon Web Services account IDs. This parameter is valid only when modifying the loadPermission attribute.

                                                                      */ - DryRun?: boolean; + UserIds?: string[]; /** - *

                                                                      The ID of the prefix list.

                                                                      + *

                                                                      The user groups. This parameter is valid only when modifying the loadPermission attribute.

                                                                      */ - PrefixListId: string | undefined; + UserGroups?: string[]; + + /** + *

                                                                      The product codes. After you add a product code to an AFI, it can't be removed. + * This parameter is valid only when modifying the productCodes attribute.

                                                                      + */ + ProductCodes?: string[]; /** - *

                                                                      The current version of the prefix list.

                                                                      + *

                                                                      The load permission for the AFI.

                                                                      */ - CurrentVersion?: number; + LoadPermission?: LoadPermissionModifications; /** - *

                                                                      A name for the prefix list.

                                                                      + *

                                                                      A description for the AFI.

                                                                      */ - PrefixListName?: string; + Description?: string; /** - *

                                                                      One or more entries to add to the prefix list.

                                                                      + *

                                                                      A name for the AFI.

                                                                      */ - AddEntries?: AddPrefixListEntry[]; + Name?: string; +} +export namespace ModifyFpgaImageAttributeRequest { /** - *

                                                                      One or more entries to remove from the prefix list.

                                                                      + * @internal */ - RemoveEntries?: RemovePrefixListEntry[]; + export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeRequest): any => ({ + ...obj, + }); +} +export interface ModifyFpgaImageAttributeResult { /** - *

                                                                      The maximum number of entries for the prefix list. You cannot modify the entries - * of a prefix list and modify the size of a prefix list at the same time.

                                                                      - *

                                                                      If any of the resources that reference the prefix list cannot support the new - * maximum size, the modify operation fails. Check the state message for the IDs of - * the first ten resources that do not support the new maximum size.

                                                                      + *

                                                                      Information about the attribute.

                                                                      */ - MaxEntries?: number; + FpgaImageAttribute?: FpgaImageAttribute; } -export namespace ModifyManagedPrefixListRequest { +export namespace ModifyFpgaImageAttributeResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyManagedPrefixListRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyFpgaImageAttributeResult): any => ({ ...obj, }); } -export interface ModifyManagedPrefixListResult { +export interface ModifyHostsRequest { + /** + *

                                                                      Specify whether to enable or disable auto-placement.

                                                                      + */ + AutoPlacement?: AutoPlacement | string; + + /** + *

                                                                      The IDs of the Dedicated Hosts to modify.

                                                                      + */ + HostIds: string[] | undefined; + + /** + *

                                                                      Indicates whether to enable or disable host recovery for the Dedicated Host. For more information, + * see + * Host recovery in the Amazon EC2 User Guide.

                                                                      + */ + HostRecovery?: HostRecovery | string; + + /** + *

                                                                      Specifies the instance type to be supported by the Dedicated Host. Specify this parameter to + * modify a Dedicated Host to support only a specific instance type.

                                                                      + * + *

                                                                      If you want to modify a Dedicated Host to support multiple instance types in its current instance + * family, omit this parameter and specify InstanceFamily + * instead. You cannot specify InstanceType and + * InstanceFamily in the same request.

                                                                      + */ + InstanceType?: string; + /** - *

                                                                      Information about the prefix list.

                                                                      + *

                                                                      Specifies the instance family to be supported by the Dedicated Host. Specify this parameter + * to modify a Dedicated Host to support multiple instance types within its current + * instance family.

                                                                      + * + *

                                                                      If you want to modify a Dedicated Host to support a specific instance type only, omit this parameter + * and specify InstanceType instead. You cannot specify + * InstanceFamily and InstanceType + * in the same request.

                                                                      */ - PrefixList?: ManagedPrefixList; + InstanceFamily?: string; } -export namespace ModifyManagedPrefixListResult { +export namespace ModifyHostsRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyManagedPrefixListResult): any => ({ + export const filterSensitiveLog = (obj: ModifyHostsRequest): any => ({ ...obj, }); } -/** - *

                                                                      Describes an attachment change.

                                                                      - */ -export interface NetworkInterfaceAttachmentChanges { +export interface ModifyHostsResult { /** - *

                                                                      The ID of the network interface attachment.

                                                                      + *

                                                                      The IDs of the Dedicated Hosts that were successfully modified.

                                                                      */ - AttachmentId?: string; + Successful?: string[]; /** - *

                                                                      Indicates whether the network interface is deleted when the instance is terminated.

                                                                      + *

                                                                      The IDs of the Dedicated Hosts that could not be modified. Check whether the + * setting you requested can be used.

                                                                      */ - DeleteOnTermination?: boolean; + Unsuccessful?: UnsuccessfulItem[]; } -export namespace NetworkInterfaceAttachmentChanges { +export namespace ModifyHostsResult { /** * @internal */ - export const filterSensitiveLog = (obj: NetworkInterfaceAttachmentChanges): any => ({ + export const filterSensitiveLog = (obj: ModifyHostsResult): any => ({ ...obj, }); } -/** - *

                                                                      Contains the parameters for ModifyNetworkInterfaceAttribute.

                                                                      - */ -export interface ModifyNetworkInterfaceAttributeRequest { +export interface ModifyIdentityIdFormatRequest { /** - *

                                                                      Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

                                                                      + *

                                                                      The ARN of the principal, which can be an IAM user, IAM role, or the root user. Specify + * all to modify the ID format for all IAM users, IAM roles, and the root user of + * the account.

                                                                      */ - Attachment?: NetworkInterfaceAttachmentChanges; + PrincipalArn: string | undefined; /** - *

                                                                      A description for the network interface.

                                                                      + *

                                                                      The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | internet-gateway | network-acl + * | network-acl-association | network-interface | + * network-interface-attachment | prefix-list | + * route-table | route-table-association | + * security-group | subnet | + * subnet-cidr-block-association | vpc | + * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

                                                                      + *

                                                                      Alternatively, use the all-current option to include all resource types that are + * currently within their opt-in period for longer IDs.

                                                                      */ - Description?: AttributeValue; + Resource: string | undefined; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      Indicates whether the resource should use longer IDs (17-character IDs)

                                                                      */ - DryRun?: boolean; + UseLongIds: boolean | undefined; +} +export namespace ModifyIdentityIdFormatRequest { /** - *

                                                                      Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

                                                                      + * @internal */ - Groups?: string[]; + export const filterSensitiveLog = (obj: ModifyIdentityIdFormatRequest): any => ({ + ...obj, + }); +} +export interface ModifyIdFormatRequest { /** - *

                                                                      The ID of the network interface.

                                                                      + *

                                                                      The type of resource: bundle | conversion-task | customer-gateway | dhcp-options | + * elastic-ip-allocation | elastic-ip-association | + * export-task | flow-log | image | + * import-task | internet-gateway | network-acl + * | network-acl-association | network-interface | + * network-interface-attachment | prefix-list | + * route-table | route-table-association | + * security-group | subnet | + * subnet-cidr-block-association | vpc | + * vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.

                                                                      + *

                                                                      Alternatively, use the all-current option to include all resource types that are + * currently within their opt-in period for longer IDs.

                                                                      */ - NetworkInterfaceId: string | undefined; + Resource: string | undefined; /** - *

                                                                      Enable or disable source/destination checks, which ensure that the instance - * is either the source or the destination of any traffic that it receives. - * If the value is true, source/destination checks are enabled; - * otherwise, they are disabled. The default value is true. - * You must disable source/destination checks if the instance runs services - * such as network address translation, routing, or firewalls.

                                                                      + *

                                                                      Indicate whether the resource should use longer IDs (17-character IDs).

                                                                      */ - SourceDestCheck?: AttributeBooleanValue; + UseLongIds: boolean | undefined; } -export namespace ModifyNetworkInterfaceAttributeRequest { +export namespace ModifyIdFormatRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyNetworkInterfaceAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyIdFormatRequest): any => ({ ...obj, }); } /** - *

                                                                      Contains the parameters for ModifyReservedInstances.

                                                                      + *

                                                                      Describes a launch permission modification.

                                                                      */ -export interface ModifyReservedInstancesRequest { - /** - *

                                                                      The IDs of the Reserved Instances to modify.

                                                                      - */ - ReservedInstancesIds: string[] | undefined; - +export interface LaunchPermissionModifications { /** - *

                                                                      A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see - * Ensuring Idempotency.

                                                                      + *

                                                                      The Amazon Web Services account ID to add to the list of launch permissions for the AMI.

                                                                      */ - ClientToken?: string; + Add?: LaunchPermission[]; /** - *

                                                                      The configuration settings for the Reserved Instances to modify.

                                                                      + *

                                                                      The Amazon Web Services account ID to remove from the list of launch permissions for the AMI.

                                                                      */ - TargetConfigurations: ReservedInstancesConfiguration[] | undefined; + Remove?: LaunchPermission[]; } -export namespace ModifyReservedInstancesRequest { +export namespace LaunchPermissionModifications { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyReservedInstancesRequest): any => ({ + export const filterSensitiveLog = (obj: LaunchPermissionModifications): any => ({ ...obj, }); } /** - *

                                                                      Contains the output of ModifyReservedInstances.

                                                                      + *

                                                                      Contains the parameters for ModifyImageAttribute.

                                                                      */ -export interface ModifyReservedInstancesResult { +export interface ModifyImageAttributeRequest { /** - *

                                                                      The ID for the modification.

                                                                      + *

                                                                      The name of the attribute to modify. + * The valid values are description and launchPermission.

                                                                      */ - ReservedInstancesModificationId?: string; -} + Attribute?: string; -export namespace ModifyReservedInstancesResult { /** - * @internal + *

                                                                      A new description for the AMI.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyReservedInstancesResult): any => ({ - ...obj, - }); -} + Description?: AttributeValue; -/** - *

                                                                      Describes a security group rule.

                                                                      - *

                                                                      You must specify exactly one of the following parameters, based on the rule type:

                                                                      - *
                                                                        - *
                                                                      • - *

                                                                        CidrIpv4

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        CidrIpv6

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        PrefixListId

                                                                        - *
                                                                      • - *
                                                                      • - *

                                                                        ReferencedGroupId

                                                                        - *
                                                                      • - *
                                                                      - *

                                                                      When you modify a rule, you cannot change the rule type. For example, if the rule - * uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 - * address range.

                                                                      - */ -export interface SecurityGroupRuleRequest { /** - *

                                                                      The IP protocol name (tcp, udp, icmp, - * icmpv6) or number (see Protocol Numbers).

                                                                      - *

                                                                      Use -1 to specify all protocols.

                                                                      + *

                                                                      The ID of the AMI.

                                                                      */ - IpProtocol?: string; + ImageId: string | undefined; /** - *

                                                                      The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

                                                                      + *

                                                                      A new launch permission for the AMI.

                                                                      */ - FromPort?: number; + LaunchPermission?: LaunchPermissionModifications; /** - *

                                                                      The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

                                                                      + *

                                                                      The operation type. + * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                      */ - ToPort?: number; + OperationType?: OperationType | string; /** - *

                                                                      The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

                                                                      + *

                                                                      Not supported.

                                                                      */ - CidrIpv4?: string; + ProductCodes?: string[]; /** - *

                                                                      The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

                                                                      + *

                                                                      The user groups. + * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                      */ - CidrIpv6?: string; + UserGroups?: string[]; /** - *

                                                                      The ID of the prefix list.

                                                                      + *

                                                                      The Amazon Web Services account IDs. + * This parameter can be used only when the Attribute parameter is launchPermission.

                                                                      */ - PrefixListId?: string; + UserIds?: string[]; /** - *

                                                                      The ID of the security group that is referenced in the security group rule.

                                                                      + *

                                                                      The value of the attribute being modified. + * This parameter can be used only when the Attribute parameter is description.

                                                                      */ - ReferencedGroupId?: string; + Value?: string; /** - *

                                                                      The description of the security group rule.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - Description?: string; + DryRun?: boolean; } -export namespace SecurityGroupRuleRequest { +export namespace ModifyImageAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupRuleRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyImageAttributeRequest): any => ({ ...obj, }); } /** - *

                                                                      Describes an update to a security group rule.

                                                                      + *

                                                                      Describes information used to set up an EBS volume specified in a block device + * mapping.

                                                                      */ -export interface SecurityGroupRuleUpdate { +export interface EbsInstanceBlockDeviceSpecification { /** - *

                                                                      The ID of the security group rule.

                                                                      + *

                                                                      Indicates whether the volume is deleted on instance termination.

                                                                      */ - SecurityGroupRuleId?: string; + DeleteOnTermination?: boolean; /** - *

                                                                      Information about the security group rule.

                                                                      + *

                                                                      The ID of the EBS volume.

                                                                      */ - SecurityGroupRule?: SecurityGroupRuleRequest; + VolumeId?: string; } -export namespace SecurityGroupRuleUpdate { +export namespace EbsInstanceBlockDeviceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: SecurityGroupRuleUpdate): any => ({ + export const filterSensitiveLog = (obj: EbsInstanceBlockDeviceSpecification): any => ({ ...obj, }); } -export interface ModifySecurityGroupRulesRequest { +/** + *

                                                                      Describes a block device mapping entry.

                                                                      + */ +export interface InstanceBlockDeviceMappingSpecification { + /** + *

                                                                      The device name (for example, /dev/sdh or xvdh).

                                                                      + */ + DeviceName?: string; + /** - *

                                                                      The ID of the security group.

                                                                      + *

                                                                      Parameters used to automatically set up EBS volumes when the instance is + * launched.

                                                                      */ - GroupId: string | undefined; + Ebs?: EbsInstanceBlockDeviceSpecification; /** - *

                                                                      Information about the security group properties to update.

                                                                      + *

                                                                      suppress the specified device included in the block device mapping.

                                                                      */ - SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; + NoDevice?: string; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The virtual device name.

                                                                      */ - DryRun?: boolean; + VirtualName?: string; } -export namespace ModifySecurityGroupRulesRequest { +export namespace InstanceBlockDeviceMappingSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySecurityGroupRulesRequest): any => ({ + export const filterSensitiveLog = (obj: InstanceBlockDeviceMappingSpecification): any => ({ ...obj, }); } -export interface ModifySecurityGroupRulesResult { - /** - *

                                                                      Returns true if the request succeeds; otherwise, returns an error.

                                                                      - */ - Return?: boolean; +export interface BlobAttributeValue { + Value?: Uint8Array; } -export namespace ModifySecurityGroupRulesResult { +export namespace BlobAttributeValue { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySecurityGroupRulesResult): any => ({ + export const filterSensitiveLog = (obj: BlobAttributeValue): any => ({ ...obj, }); } -/** - *

                                                                      Describes modifications to the list of create volume permissions for a volume.

                                                                      - */ -export interface CreateVolumePermissionModifications { - /** - *

                                                                      Adds the specified Amazon Web Services account ID or group to the list.

                                                                      - */ - Add?: CreateVolumePermission[]; - +export interface ModifyInstanceAttributeRequest { /** - *

                                                                      Removes the specified Amazon Web Services account ID or group from the list.

                                                                      + *

                                                                      Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

                                                                      */ - Remove?: CreateVolumePermission[]; -} + SourceDestCheck?: AttributeBooleanValue; -export namespace CreateVolumePermissionModifications { /** - * @internal + *

                                                                      The name of the attribute.

                                                                      */ - export const filterSensitiveLog = (obj: CreateVolumePermissionModifications): any => ({ - ...obj, - }); -} + Attribute?: InstanceAttributeName | string; -export interface ModifySnapshotAttributeRequest { /** - *

                                                                      The snapshot attribute to modify. Only volume creation permissions can be modified.

                                                                      + *

                                                                      Modifies the DeleteOnTermination attribute for volumes that are currently + * attached. The volume must be owned by the caller. If no value is specified for + * DeleteOnTermination, the default is true and the volume is + * deleted when the instance is terminated.

                                                                      + *

                                                                      To add instance store volumes to an Amazon EBS-backed instance, you must add them when + * you launch the instance. For more information, see Updating the block device mapping when launching an instance in the + * Amazon EC2 User Guide.

                                                                      */ - Attribute?: SnapshotAttributeName | string; + BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[]; /** - *

                                                                      A JSON representation of the snapshot attribute modification.

                                                                      + *

                                                                      If the value is true, you can't terminate the instance using the Amazon + * EC2 console, CLI, or API; otherwise, you can. You cannot use this parameter for Spot + * Instances.

                                                                      */ - CreateVolumePermission?: CreateVolumePermissionModifications; + DisableApiTermination?: AttributeBooleanValue; /** - *

                                                                      The group to modify for the snapshot.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      */ - GroupNames?: string[]; + DryRun?: boolean; /** - *

                                                                      The type of operation to perform to the attribute.

                                                                      + *

                                                                      Specifies whether the instance is optimized for Amazon EBS I/O. This optimization + * provides dedicated throughput to Amazon EBS and an optimized configuration stack to + * provide optimal EBS I/O performance. This optimization isn't available with all instance + * types. Additional usage charges apply when using an EBS Optimized instance.

                                                                      */ - OperationType?: OperationType | string; + EbsOptimized?: AttributeBooleanValue; /** - *

                                                                      The ID of the snapshot.

                                                                      + *

                                                                      Set to true to enable enhanced networking with ENA for the + * instance.

                                                                      + *

                                                                      This option is supported only for HVM instances. Specifying this option with a PV + * instance can make it unreachable.

                                                                      */ - SnapshotId: string | undefined; + EnaSupport?: AttributeBooleanValue; /** - *

                                                                      The account ID to modify for the snapshot.

                                                                      + *

                                                                      [EC2-VPC] Replaces the security groups of the instance with the specified security groups. + * You must specify at least one security group, even if it's just the default security group for the VPC. You must + * specify the security group ID, not the security group name.

                                                                      */ - UserIds?: string[]; + Groups?: string[]; /** - *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, - * and provides an error response. If you have the required permissions, the error response is DryRunOperation. - * Otherwise, it is UnauthorizedOperation.

                                                                      + *

                                                                      The ID of the instance.

                                                                      */ - DryRun?: boolean; -} + InstanceId: string | undefined; -export namespace ModifySnapshotAttributeRequest { /** - * @internal + *

                                                                      Specifies whether an instance stops or terminates when you initiate shutdown from the + * instance (using the operating system command for system shutdown).

                                                                      */ - export const filterSensitiveLog = (obj: ModifySnapshotAttributeRequest): any => ({ - ...obj, - }); -} + InstanceInitiatedShutdownBehavior?: AttributeValue; -/** - *

                                                                      Contains the parameters for ModifySpotFleetRequest.

                                                                      - */ -export interface ModifySpotFleetRequestRequest { /** - *

                                                                      Indicates whether running Spot Instances should be terminated if the target capacity - * of the Spot Fleet request is decreased below the current size of the Spot Fleet.

                                                                      + *

                                                                      Changes the instance type to the specified value. For more information, see Instance + * types in the Amazon EC2 User Guide. If the instance type is not valid, + * the error returned is InvalidInstanceAttributeValue.

                                                                      */ - ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + InstanceType?: AttributeValue; /** - *

                                                                      The launch template and overrides. You can only use this parameter if you specified a - * launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you - * specified LaunchSpecifications in your Spot Fleet request, then omit this - * parameter.

                                                                      + *

                                                                      Changes the instance's kernel to the specified value. We recommend that you use + * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

                                                                      */ - LaunchTemplateConfigs?: LaunchTemplateConfig[]; + Kernel?: AttributeValue; /** - *

                                                                      The ID of the Spot Fleet request.

                                                                      + *

                                                                      Changes the instance's RAM disk to the specified value. We recommend that you use + * PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB.

                                                                      */ - SpotFleetRequestId: string | undefined; + Ramdisk?: AttributeValue; /** - *

                                                                      The size of the fleet.

                                                                      + *

                                                                      Set to simple to enable enhanced networking with the Intel 82599 Virtual + * Function interface for the instance.

                                                                      + *

                                                                      There is no way to disable enhanced networking with the Intel 82599 Virtual Function + * interface at this time.

                                                                      + *

                                                                      This option is supported only for HVM instances. Specifying this option with a PV + * instance can make it unreachable.

                                                                      */ - TargetCapacity?: number; + SriovNetSupport?: AttributeValue; /** - *

                                                                      The number of On-Demand Instances in the fleet.

                                                                      + *

                                                                      Changes the instance's user data to the specified value. If you are using an Amazon Web Services SDK + * or command line tool, base64-encoding is performed for you, and you can load the text + * from a file. Otherwise, you must provide base64-encoded text.

                                                                      */ - OnDemandTargetCapacity?: number; + UserData?: BlobAttributeValue; /** - *

                                                                      Reserved.

                                                                      + *

                                                                      A new value for the attribute. Use only with the kernel, + * ramdisk, userData, disableApiTermination, or + * instanceInitiatedShutdownBehavior attribute.

                                                                      */ - Context?: string; + Value?: string; } -export namespace ModifySpotFleetRequestRequest { +export namespace ModifyInstanceAttributeRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySpotFleetRequestRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceAttributeRequest): any => ({ ...obj, }); } /** - *

                                                                      Contains the output of ModifySpotFleetRequest.

                                                                      + *

                                                                      Describes an instance's Capacity Reservation targeting option. You can specify only one parameter + * at a time. If you specify CapacityReservationPreference and + * CapacityReservationTarget, the request fails.

                                                                      + *

                                                                      Use the CapacityReservationPreference parameter to configure the instance + * to run as an On-Demand Instance or to run in any open Capacity Reservation that has + * matching attributes (instance type, platform, Availability Zone). Use the + * CapacityReservationTarget parameter to explicitly target a specific + * Capacity Reservation or a Capacity Reservation group.

                                                                      */ -export interface ModifySpotFleetRequestResponse { +export interface CapacityReservationSpecification { /** - *

                                                                      Is true if the request succeeds, and an error otherwise.

                                                                      + *

                                                                      Indicates the instance's Capacity Reservation preferences. Possible preferences include:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        + * open - The instance can run in any open Capacity Reservation that has matching attributes + * (instance type, platform, Availability Zone).

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        + * none - The instance avoids running in a Capacity Reservation even if one is available. The + * instance runs as an On-Demand Instance.

                                                                        + *
                                                                      • + *
                                                                      */ - Return?: boolean; + CapacityReservationPreference?: CapacityReservationPreference | string; + + /** + *

                                                                      Information about the target Capacity Reservation or Capacity Reservation group.

                                                                      + */ + CapacityReservationTarget?: CapacityReservationTarget; } -export namespace ModifySpotFleetRequestResponse { +export namespace CapacityReservationSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySpotFleetRequestResponse): any => ({ + export const filterSensitiveLog = (obj: CapacityReservationSpecification): any => ({ ...obj, }); } -export interface ModifySubnetAttributeRequest { +export interface ModifyInstanceCapacityReservationAttributesRequest { /** - *

                                                                      Specify true to indicate that network interfaces created in the - * specified subnet should be assigned an IPv6 address. This includes a network interface - * that's created when launching an instance into the subnet (the instance therefore - * receives an IPv6 address).

                                                                      - *

                                                                      If you enable the IPv6 addressing feature for your subnet, your network interface - * or instance only receives an IPv6 address if it's created using version - * 2016-11-15 or later of the Amazon EC2 API.

                                                                      + *

                                                                      The ID of the instance to be modified.

                                                                      */ - AssignIpv6AddressOnCreation?: AttributeBooleanValue; + InstanceId: string | undefined; /** - *

                                                                      Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a public IPv4 address.

                                                                      + *

                                                                      Information about the Capacity Reservation targeting option.

                                                                      */ - MapPublicIpOnLaunch?: AttributeBooleanValue; + CapacityReservationSpecification: CapacityReservationSpecification | undefined; /** - *

                                                                      The ID of the subnet.

                                                                      + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      */ - SubnetId: string | undefined; + DryRun?: boolean; +} +export namespace ModifyInstanceCapacityReservationAttributesRequest { /** - *

                                                                      Specify true to indicate that network interfaces attached to instances created in the - * specified subnet should be assigned a customer-owned IPv4 address.

                                                                      - *

                                                                      When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

                                                                      + * @internal */ - MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; + export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesRequest): any => ({ + ...obj, + }); +} +export interface ModifyInstanceCapacityReservationAttributesResult { /** - *

                                                                      The customer-owned IPv4 address pool associated with the subnet.

                                                                      - *

                                                                      You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

                                                                      + *

                                                                      Returns true if the request succeeds; otherwise, it returns an error.

                                                                      */ - CustomerOwnedIpv4Pool?: string; + Return?: boolean; } -export namespace ModifySubnetAttributeRequest { +export namespace ModifyInstanceCapacityReservationAttributesResult { /** * @internal */ - export const filterSensitiveLog = (obj: ModifySubnetAttributeRequest): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceCapacityReservationAttributesResult): any => ({ ...obj, }); } -export interface ModifyTrafficMirrorFilterNetworkServicesRequest { +/** + *

                                                                      Describes the credit option for CPU usage of a burstable performance instance.

                                                                      + */ +export interface InstanceCreditSpecificationRequest { /** - *

                                                                      The ID of the Traffic Mirror filter.

                                                                      + *

                                                                      The ID of the instance.

                                                                      */ - TrafficMirrorFilterId: string | undefined; + InstanceId?: string; /** - *

                                                                      The network service, for example Amazon DNS, that you want to mirror.

                                                                      + *

                                                                      The credit option for CPU usage of the instance. Valid values are + * standard and unlimited.

                                                                      + *

                                                                      T3 instances with host tenancy do not support the unlimited + * CPU credit option.

                                                                      */ - AddNetworkServices?: (TrafficMirrorNetworkService | string)[]; + CpuCredits?: string; +} +export namespace InstanceCreditSpecificationRequest { /** - *

                                                                      The network service, for example Amazon DNS, that you no longer want to mirror.

                                                                      + * @internal */ - RemoveNetworkServices?: (TrafficMirrorNetworkService | string)[]; + export const filterSensitiveLog = (obj: InstanceCreditSpecificationRequest): any => ({ + ...obj, + }); +} +export interface ModifyInstanceCreditSpecificationRequest { /** *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, * and provides an error response. If you have the required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

                                                                      */ DryRun?: boolean; -} -export namespace ModifyTrafficMirrorFilterNetworkServicesRequest { /** - * @internal + *

                                                                      A unique, case-sensitive token that you provide to ensure idempotency of your + * modification request. For more information, see Ensuring + * Idempotency.

                                                                      */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesRequest): any => ({ - ...obj, - }); -} + ClientToken?: string; -export interface ModifyTrafficMirrorFilterNetworkServicesResult { /** - *

                                                                      The Traffic Mirror filter that the network service is associated with.

                                                                      + *

                                                                      Information about the credit option for CPU usage.

                                                                      */ - TrafficMirrorFilter?: TrafficMirrorFilter; + InstanceCreditSpecifications: InstanceCreditSpecificationRequest[] | undefined; } -export namespace ModifyTrafficMirrorFilterNetworkServicesResult { +export namespace ModifyInstanceCreditSpecificationRequest { /** * @internal */ - export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesResult): any => ({ + export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationRequest): any => ({ ...obj, }); } - -export type TrafficMirrorFilterRuleField = "description" | "destination-port-range" | "protocol" | "source-port-range"; diff --git a/clients/client-ec2/src/models/models_5.ts b/clients/client-ec2/src/models/models_5.ts index 991b37796b69..a9d0f864edd7 100644 --- a/clients/client-ec2/src/models/models_5.ts +++ b/clients/client-ec2/src/models/models_5.ts @@ -1,15 +1,18 @@ import { _InstanceType, + AddPrefixListEntry, AddressAttribute, AddressAttributeName, + Affinity, ApplianceModeSupportValue, - BlockDeviceMapping, + AttributeValue, ByoipCidr, ClientVpnAuthorizationRuleStatus, CurrencyCodeValues, DnsSupportValue, IamInstanceProfileAssociation, IamInstanceProfileSpecification, + InstanceEventWindow, IpPermission, Ipv6SupportValue, Placement, @@ -20,59 +23,70 @@ import { TransitGatewayPeeringAttachment, TransitGatewayVpcAttachment, UnsuccessfulItem, - VolumeType, } from "./models_0"; import { AutoAcceptSharedAttachmentsValue, + BlockDeviceMapping, CreditSpecificationRequest, DefaultRouteTableAssociationValue, DefaultRouteTablePropagationValue, ElasticGpuSpecification, IcmpTypeCode, - IKEVersionsRequestListValue, + InstanceEventWindowTimeRangeRequest, InstanceInterruptionBehavior, InstanceIpv6Address, + LaunchTemplate, LocalGatewayRoute, ManagedPrefixList, MarketType, - Phase1DHGroupNumbersRequestListValue, - Phase1EncryptionAlgorithmsRequestListValue, - Phase1IntegrityAlgorithmsRequestListValue, - Phase2DHGroupNumbersRequestListValue, - Phase2EncryptionAlgorithmsRequestListValue, - Phase2IntegrityAlgorithmsRequestListValue, PortRange, RuleAction, ShutdownBehavior, SpotInstanceType, TrafficDirection, + TrafficMirrorFilter, TrafficMirrorFilterRule, + TrafficMirrorNetworkService, TrafficMirrorPortRangeRequest, TrafficMirrorRuleAction, TrafficMirrorSession, TransitGateway, TransitGatewayPrefixListReference, TransitGatewayRoute, + VolumeType, VpnEcmpSupportValue, } from "./models_1"; import { - ArchitectureValues, - BootModeValues, ClientVpnConnectionStatus, Filter, + IKEVersionsRequestListValue, InstanceTagNotificationAttribute, + Phase1DHGroupNumbersRequestListValue, + Phase1EncryptionAlgorithmsRequestListValue, + Phase1IntegrityAlgorithmsRequestListValue, + Phase2DHGroupNumbersRequestListValue, + Phase2EncryptionAlgorithmsRequestListValue, + Phase2IntegrityAlgorithmsRequestListValue, VpnConnection, } from "./models_2"; import { + ArchitectureValues, AttributeBooleanValue, + BootModeValues, + CreateVolumePermission, + ExcessCapacityTerminationPolicy, HttpTokensState, InstanceAttributeName, InstanceMetadataEndpointState, + InstanceMetadataOptionsResponse, InstanceMetadataProtocolState, InstanceNetworkInterfaceSpecification, InstanceState, + InstanceStatusEvent, + LaunchTemplateConfig, Monitoring, NetworkInsightsAnalysis, + ReservedInstancesConfiguration, RunInstancesMonitoringEnabled, ScheduledInstance, SnapshotAttributeName, @@ -80,12 +94,1043 @@ import { SpotInstanceRequest, SpotPlacement, } from "./models_3"; -import { - CapacityReservationSpecification, - Purchase, - TrafficMirrorFilterRuleField, - VolumeModification, -} from "./models_4"; +import { CapacityReservationSpecification, OperationType, Purchase, VolumeModification } from "./models_4"; + +/** + *

                                                                      Describes the burstable performance instance whose credit option for CPU usage was + * successfully modified.

                                                                      + */ +export interface SuccessfulInstanceCreditSpecificationItem { + /** + *

                                                                      The ID of the instance.

                                                                      + */ + InstanceId?: string; +} + +export namespace SuccessfulInstanceCreditSpecificationItem { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SuccessfulInstanceCreditSpecificationItem): any => ({ + ...obj, + }); +} + +export enum UnsuccessfulInstanceCreditSpecificationErrorCode { + INCORRECT_INSTANCE_STATE = "IncorrectInstanceState", + INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED = "InstanceCreditSpecification.NotSupported", + INSTANCE_NOT_FOUND = "InvalidInstanceID.NotFound", + INVALID_INSTANCE_ID = "InvalidInstanceID.Malformed", +} + +/** + *

                                                                      Information about the error for the burstable performance instance whose credit option + * for CPU usage was not modified.

                                                                      + */ +export interface UnsuccessfulInstanceCreditSpecificationItemError { + /** + *

                                                                      The error code.

                                                                      + */ + Code?: UnsuccessfulInstanceCreditSpecificationErrorCode | string; + + /** + *

                                                                      The applicable error message.

                                                                      + */ + Message?: string; +} + +export namespace UnsuccessfulInstanceCreditSpecificationItemError { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItemError): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Describes the burstable performance instance whose credit option for CPU usage was not + * modified.

                                                                      + */ +export interface UnsuccessfulInstanceCreditSpecificationItem { + /** + *

                                                                      The ID of the instance.

                                                                      + */ + InstanceId?: string; + + /** + *

                                                                      The applicable error for the burstable performance instance whose credit option for + * CPU usage was not modified.

                                                                      + */ + Error?: UnsuccessfulInstanceCreditSpecificationItemError; +} + +export namespace UnsuccessfulInstanceCreditSpecificationItem { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UnsuccessfulInstanceCreditSpecificationItem): any => ({ + ...obj, + }); +} + +export interface ModifyInstanceCreditSpecificationResult { + /** + *

                                                                      Information about the instances whose credit option for CPU usage was successfully + * modified.

                                                                      + */ + SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[]; + + /** + *

                                                                      Information about the instances whose credit option for CPU usage was not + * modified.

                                                                      + */ + UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[]; +} + +export namespace ModifyInstanceCreditSpecificationResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstanceCreditSpecificationResult): any => ({ + ...obj, + }); +} + +export interface ModifyInstanceEventStartTimeRequest { + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; + + /** + *

                                                                      The ID of the instance with the scheduled event.

                                                                      + */ + InstanceId: string | undefined; + + /** + *

                                                                      The ID of the event whose date and time you are modifying.

                                                                      + */ + InstanceEventId: string | undefined; + + /** + *

                                                                      The new date and time when the event will take place.

                                                                      + */ + NotBefore: Date | undefined; +} + +export namespace ModifyInstanceEventStartTimeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeRequest): any => ({ + ...obj, + }); +} + +export interface ModifyInstanceEventStartTimeResult { + /** + *

                                                                      Describes a scheduled event for an instance.

                                                                      + */ + Event?: InstanceStatusEvent; +} + +export namespace ModifyInstanceEventStartTimeResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstanceEventStartTimeResult): any => ({ + ...obj, + }); +} + +export interface ModifyInstanceEventWindowRequest { + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; + + /** + *

                                                                      The name of the event window.

                                                                      + */ + Name?: string; + + /** + *

                                                                      The ID of the event window.

                                                                      + */ + InstanceEventWindowId: string | undefined; + + /** + *

                                                                      The time ranges of the event window.

                                                                      + */ + TimeRanges?: InstanceEventWindowTimeRangeRequest[]; + + /** + *

                                                                      The cron expression of the event window, for example, * 0-4,20-23 * * 1,5.

                                                                      + *

                                                                      Constraints:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Only hour and day of the week values are supported.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        For day of the week values, you can specify either integers 0 through + * 6, or alternative single values SUN through + * SAT.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The minute, month, and year must be specified by *.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The hour value must be one or a multiple range, for example, 0-4 or + * 0-4,20-23.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Each hour range must be >= 2 hours, for example, 0-2 or + * 20-23.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The event window must be >= 4 hours. The combined total time ranges in the event + * window must be >= 4 hours.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      For more information about cron expressions, see cron on the Wikipedia + * website.

                                                                      + */ + CronExpression?: string; +} + +export namespace ModifyInstanceEventWindowRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstanceEventWindowRequest): any => ({ + ...obj, + }); +} + +export interface ModifyInstanceEventWindowResult { + /** + *

                                                                      Information about the event window.

                                                                      + */ + InstanceEventWindow?: InstanceEventWindow; +} + +export namespace ModifyInstanceEventWindowResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstanceEventWindowResult): any => ({ + ...obj, + }); +} + +export interface ModifyInstanceMetadataOptionsRequest { + /** + *

                                                                      The ID of the instance.

                                                                      + */ + InstanceId: string | undefined; + + /** + *

                                                                      The state of token usage for your instance metadata requests. If the parameter is not + * specified in the request, the default state is optional.

                                                                      + *

                                                                      If the state is optional, you can choose to retrieve instance metadata + * with or without a signed token header on your request. If you retrieve the IAM role + * credentials without a token, the version 1.0 role credentials are returned. If you + * retrieve the IAM role credentials using a valid signed token, the version 2.0 role + * credentials are returned.

                                                                      + *

                                                                      If the state is required, you must send a signed token header with any + * instance metadata retrieval requests. In this state, retrieving the IAM role credential + * always returns the version 2.0 credentials; the version 1.0 credentials are not + * available.

                                                                      + */ + HttpTokens?: HttpTokensState | string; + + /** + *

                                                                      The desired HTTP PUT response hop limit for instance metadata requests. The larger the + * number, the further instance metadata requests can travel. If no parameter is specified, the existing state is maintained.

                                                                      + *

                                                                      Possible values: Integers from 1 to 64

                                                                      + */ + HttpPutResponseHopLimit?: number; + + /** + *

                                                                      This parameter enables or disables the HTTP metadata endpoint on your instances. If + * the parameter is not specified, the existing state is maintained.

                                                                      + * + *

                                                                      If you specify a value of disabled, you will not be able to access your + * instance metadata.

                                                                      + *
                                                                      + */ + HttpEndpoint?: InstanceMetadataEndpointState | string; + + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; + + /** + *

                                                                      Enables or disables the IPv6 endpoint for the instance metadata service.

                                                                      + */ + HttpProtocolIpv6?: InstanceMetadataProtocolState | string; +} + +export namespace ModifyInstanceMetadataOptionsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsRequest): any => ({ + ...obj, + }); +} + +export interface ModifyInstanceMetadataOptionsResult { + /** + *

                                                                      The ID of the instance.

                                                                      + */ + InstanceId?: string; + + /** + *

                                                                      The metadata options for the instance.

                                                                      + */ + InstanceMetadataOptions?: InstanceMetadataOptionsResponse; +} + +export namespace ModifyInstanceMetadataOptionsResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstanceMetadataOptionsResult): any => ({ + ...obj, + }); +} + +export type HostTenancy = "dedicated" | "host"; + +export interface ModifyInstancePlacementRequest { + /** + *

                                                                      The affinity setting for the instance.

                                                                      + */ + Affinity?: Affinity | string; + + /** + *

                                                                      The name of the placement group in which to place the instance. For spread placement + * groups, the instance must have a tenancy of default. For cluster and + * partition placement groups, the instance must have a tenancy of default or + * dedicated.

                                                                      + *

                                                                      To remove an instance from a placement group, specify an empty string + * ("").

                                                                      + */ + GroupName?: string; + + /** + *

                                                                      The ID of the Dedicated Host with which to associate the instance.

                                                                      + */ + HostId?: string; + + /** + *

                                                                      The ID of the instance that you are modifying.

                                                                      + */ + InstanceId: string | undefined; + + /** + *

                                                                      The tenancy for the instance.

                                                                      + * + * + *

                                                                      For T3 instances, you can't change the tenancy from dedicated + * to host, or from host to dedicated. + * Attempting to make one of these unsupported tenancy changes results in the + * InvalidTenancy error code.

                                                                      + *
                                                                      + */ + Tenancy?: HostTenancy | string; + + /** + *

                                                                      Reserved for future use.

                                                                      + */ + PartitionNumber?: number; + + /** + *

                                                                      The ARN of the host resource group in which to place the instance.

                                                                      + */ + HostResourceGroupArn?: string; +} + +export namespace ModifyInstancePlacementRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstancePlacementRequest): any => ({ + ...obj, + }); +} + +export interface ModifyInstancePlacementResult { + /** + *

                                                                      Is true if the request succeeds, and an error otherwise.

                                                                      + */ + Return?: boolean; +} + +export namespace ModifyInstancePlacementResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyInstancePlacementResult): any => ({ + ...obj, + }); +} + +export interface ModifyLaunchTemplateRequest { + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually + * making the request, and provides an error response. If you have the required + * permissions, the error response is DryRunOperation. Otherwise, it is + * UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; + + /** + *

                                                                      Unique, case-sensitive identifier you provide to ensure the idempotency of the + * request. For more information, see Ensuring + * Idempotency.

                                                                      + *

                                                                      Constraint: Maximum 128 ASCII characters.

                                                                      + */ + ClientToken?: string; + + /** + *

                                                                      The ID of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                                                                      + */ + LaunchTemplateId?: string; + + /** + *

                                                                      The name of the launch template. You must specify either the launch template ID or + * launch template name in the request.

                                                                      + */ + LaunchTemplateName?: string; + + /** + *

                                                                      The version number of the launch template to set as the default version.

                                                                      + */ + DefaultVersion?: string; +} + +export namespace ModifyLaunchTemplateRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyLaunchTemplateRequest): any => ({ + ...obj, + }); +} + +export interface ModifyLaunchTemplateResult { + /** + *

                                                                      Information about the launch template.

                                                                      + */ + LaunchTemplate?: LaunchTemplate; +} + +export namespace ModifyLaunchTemplateResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyLaunchTemplateResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                      An entry for a prefix list.

                                                                      + */ +export interface RemovePrefixListEntry { + /** + *

                                                                      The CIDR block.

                                                                      + */ + Cidr: string | undefined; +} + +export namespace RemovePrefixListEntry { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RemovePrefixListEntry): any => ({ + ...obj, + }); +} + +export interface ModifyManagedPrefixListRequest { + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; + + /** + *

                                                                      The ID of the prefix list.

                                                                      + */ + PrefixListId: string | undefined; + + /** + *

                                                                      The current version of the prefix list.

                                                                      + */ + CurrentVersion?: number; + + /** + *

                                                                      A name for the prefix list.

                                                                      + */ + PrefixListName?: string; + + /** + *

                                                                      One or more entries to add to the prefix list.

                                                                      + */ + AddEntries?: AddPrefixListEntry[]; + + /** + *

                                                                      One or more entries to remove from the prefix list.

                                                                      + */ + RemoveEntries?: RemovePrefixListEntry[]; + + /** + *

                                                                      The maximum number of entries for the prefix list. You cannot modify the entries + * of a prefix list and modify the size of a prefix list at the same time.

                                                                      + *

                                                                      If any of the resources that reference the prefix list cannot support the new + * maximum size, the modify operation fails. Check the state message for the IDs of + * the first ten resources that do not support the new maximum size.

                                                                      + */ + MaxEntries?: number; +} + +export namespace ModifyManagedPrefixListRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyManagedPrefixListRequest): any => ({ + ...obj, + }); +} + +export interface ModifyManagedPrefixListResult { + /** + *

                                                                      Information about the prefix list.

                                                                      + */ + PrefixList?: ManagedPrefixList; +} + +export namespace ModifyManagedPrefixListResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyManagedPrefixListResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Describes an attachment change.

                                                                      + */ +export interface NetworkInterfaceAttachmentChanges { + /** + *

                                                                      The ID of the network interface attachment.

                                                                      + */ + AttachmentId?: string; + + /** + *

                                                                      Indicates whether the network interface is deleted when the instance is terminated.

                                                                      + */ + DeleteOnTermination?: boolean; +} + +export namespace NetworkInterfaceAttachmentChanges { + /** + * @internal + */ + export const filterSensitiveLog = (obj: NetworkInterfaceAttachmentChanges): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Contains the parameters for ModifyNetworkInterfaceAttribute.

                                                                      + */ +export interface ModifyNetworkInterfaceAttributeRequest { + /** + *

                                                                      Information about the interface attachment. If modifying the 'delete on termination' attribute, you must specify the ID of the interface attachment.

                                                                      + */ + Attachment?: NetworkInterfaceAttachmentChanges; + + /** + *

                                                                      A description for the network interface.

                                                                      + */ + Description?: AttributeValue; + + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; + + /** + *

                                                                      Changes the security groups for the network interface. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name.

                                                                      + */ + Groups?: string[]; + + /** + *

                                                                      The ID of the network interface.

                                                                      + */ + NetworkInterfaceId: string | undefined; + + /** + *

                                                                      Enable or disable source/destination checks, which ensure that the instance + * is either the source or the destination of any traffic that it receives. + * If the value is true, source/destination checks are enabled; + * otherwise, they are disabled. The default value is true. + * You must disable source/destination checks if the instance runs services + * such as network address translation, routing, or firewalls.

                                                                      + */ + SourceDestCheck?: AttributeBooleanValue; +} + +export namespace ModifyNetworkInterfaceAttributeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyNetworkInterfaceAttributeRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Contains the parameters for ModifyReservedInstances.

                                                                      + */ +export interface ModifyReservedInstancesRequest { + /** + *

                                                                      The IDs of the Reserved Instances to modify.

                                                                      + */ + ReservedInstancesIds: string[] | undefined; + + /** + *

                                                                      A unique, case-sensitive token you provide to ensure idempotency of your modification request. For more information, see + * Ensuring Idempotency.

                                                                      + */ + ClientToken?: string; + + /** + *

                                                                      The configuration settings for the Reserved Instances to modify.

                                                                      + */ + TargetConfigurations: ReservedInstancesConfiguration[] | undefined; +} + +export namespace ModifyReservedInstancesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyReservedInstancesRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Contains the output of ModifyReservedInstances.

                                                                      + */ +export interface ModifyReservedInstancesResult { + /** + *

                                                                      The ID for the modification.

                                                                      + */ + ReservedInstancesModificationId?: string; +} + +export namespace ModifyReservedInstancesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyReservedInstancesResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Describes a security group rule.

                                                                      + *

                                                                      You must specify exactly one of the following parameters, based on the rule type:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        CidrIpv4

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        CidrIpv6

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        PrefixListId

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        ReferencedGroupId

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      When you modify a rule, you cannot change the rule type. For example, if the rule + * uses an IPv4 address range, you must use CidrIpv4 to specify a new IPv4 + * address range.

                                                                      + */ +export interface SecurityGroupRuleRequest { + /** + *

                                                                      The IP protocol name (tcp, udp, icmp, + * icmpv6) or number (see Protocol Numbers).

                                                                      + *

                                                                      Use -1 to specify all protocols.

                                                                      + */ + IpProtocol?: string; + + /** + *

                                                                      The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

                                                                      + */ + FromPort?: number; + + /** + *

                                                                      The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

                                                                      + */ + ToPort?: number; + + /** + *

                                                                      The IPv4 CIDR range. To specify a single IPv4 address, use the /32 prefix length.

                                                                      + */ + CidrIpv4?: string; + + /** + *

                                                                      The IPv6 CIDR range. To specify a single IPv6 address, use the /128 prefix length.

                                                                      + */ + CidrIpv6?: string; + + /** + *

                                                                      The ID of the prefix list.

                                                                      + */ + PrefixListId?: string; + + /** + *

                                                                      The ID of the security group that is referenced in the security group rule.

                                                                      + */ + ReferencedGroupId?: string; + + /** + *

                                                                      The description of the security group rule.

                                                                      + */ + Description?: string; +} + +export namespace SecurityGroupRuleRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SecurityGroupRuleRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Describes an update to a security group rule.

                                                                      + */ +export interface SecurityGroupRuleUpdate { + /** + *

                                                                      The ID of the security group rule.

                                                                      + */ + SecurityGroupRuleId?: string; + + /** + *

                                                                      Information about the security group rule.

                                                                      + */ + SecurityGroupRule?: SecurityGroupRuleRequest; +} + +export namespace SecurityGroupRuleUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SecurityGroupRuleUpdate): any => ({ + ...obj, + }); +} + +export interface ModifySecurityGroupRulesRequest { + /** + *

                                                                      The ID of the security group.

                                                                      + */ + GroupId: string | undefined; + + /** + *

                                                                      Information about the security group properties to update.

                                                                      + */ + SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined; + + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; +} + +export namespace ModifySecurityGroupRulesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifySecurityGroupRulesRequest): any => ({ + ...obj, + }); +} + +export interface ModifySecurityGroupRulesResult { + /** + *

                                                                      Returns true if the request succeeds; otherwise, returns an error.

                                                                      + */ + Return?: boolean; +} + +export namespace ModifySecurityGroupRulesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifySecurityGroupRulesResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Describes modifications to the list of create volume permissions for a volume.

                                                                      + */ +export interface CreateVolumePermissionModifications { + /** + *

                                                                      Adds the specified Amazon Web Services account ID or group to the list.

                                                                      + */ + Add?: CreateVolumePermission[]; + + /** + *

                                                                      Removes the specified Amazon Web Services account ID or group from the list.

                                                                      + */ + Remove?: CreateVolumePermission[]; +} + +export namespace CreateVolumePermissionModifications { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateVolumePermissionModifications): any => ({ + ...obj, + }); +} + +export interface ModifySnapshotAttributeRequest { + /** + *

                                                                      The snapshot attribute to modify. Only volume creation permissions can be modified.

                                                                      + */ + Attribute?: SnapshotAttributeName | string; + + /** + *

                                                                      A JSON representation of the snapshot attribute modification.

                                                                      + */ + CreateVolumePermission?: CreateVolumePermissionModifications; + + /** + *

                                                                      The group to modify for the snapshot.

                                                                      + */ + GroupNames?: string[]; + + /** + *

                                                                      The type of operation to perform to the attribute.

                                                                      + */ + OperationType?: OperationType | string; + + /** + *

                                                                      The ID of the snapshot.

                                                                      + */ + SnapshotId: string | undefined; + + /** + *

                                                                      The account ID to modify for the snapshot.

                                                                      + */ + UserIds?: string[]; + + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; +} + +export namespace ModifySnapshotAttributeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifySnapshotAttributeRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Contains the parameters for ModifySpotFleetRequest.

                                                                      + */ +export interface ModifySpotFleetRequestRequest { + /** + *

                                                                      Indicates whether running Spot Instances should be terminated if the target capacity + * of the Spot Fleet request is decreased below the current size of the Spot Fleet.

                                                                      + */ + ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | string; + + /** + *

                                                                      The launch template and overrides. You can only use this parameter if you specified a + * launch template (LaunchTemplateConfigs) in your Spot Fleet request. If you + * specified LaunchSpecifications in your Spot Fleet request, then omit this + * parameter.

                                                                      + */ + LaunchTemplateConfigs?: LaunchTemplateConfig[]; + + /** + *

                                                                      The ID of the Spot Fleet request.

                                                                      + */ + SpotFleetRequestId: string | undefined; + + /** + *

                                                                      The size of the fleet.

                                                                      + */ + TargetCapacity?: number; + + /** + *

                                                                      The number of On-Demand Instances in the fleet.

                                                                      + */ + OnDemandTargetCapacity?: number; + + /** + *

                                                                      Reserved.

                                                                      + */ + Context?: string; +} + +export namespace ModifySpotFleetRequestRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifySpotFleetRequestRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                      Contains the output of ModifySpotFleetRequest.

                                                                      + */ +export interface ModifySpotFleetRequestResponse { + /** + *

                                                                      Is true if the request succeeds, and an error otherwise.

                                                                      + */ + Return?: boolean; +} + +export namespace ModifySpotFleetRequestResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifySpotFleetRequestResponse): any => ({ + ...obj, + }); +} + +export interface ModifySubnetAttributeRequest { + /** + *

                                                                      Specify true to indicate that network interfaces created in the + * specified subnet should be assigned an IPv6 address. This includes a network interface + * that's created when launching an instance into the subnet (the instance therefore + * receives an IPv6 address).

                                                                      + *

                                                                      If you enable the IPv6 addressing feature for your subnet, your network interface + * or instance only receives an IPv6 address if it's created using version + * 2016-11-15 or later of the Amazon EC2 API.

                                                                      + */ + AssignIpv6AddressOnCreation?: AttributeBooleanValue; + + /** + *

                                                                      Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a public IPv4 address.

                                                                      + */ + MapPublicIpOnLaunch?: AttributeBooleanValue; + + /** + *

                                                                      The ID of the subnet.

                                                                      + */ + SubnetId: string | undefined; + + /** + *

                                                                      Specify true to indicate that network interfaces attached to instances created in the + * specified subnet should be assigned a customer-owned IPv4 address.

                                                                      + *

                                                                      When this value is true, you must specify the customer-owned IP pool using CustomerOwnedIpv4Pool.

                                                                      + */ + MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue; + + /** + *

                                                                      The customer-owned IPv4 address pool associated with the subnet.

                                                                      + *

                                                                      You must set this value when you specify true for MapCustomerOwnedIpOnLaunch.

                                                                      + */ + CustomerOwnedIpv4Pool?: string; +} + +export namespace ModifySubnetAttributeRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifySubnetAttributeRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTrafficMirrorFilterNetworkServicesRequest { + /** + *

                                                                      The ID of the Traffic Mirror filter.

                                                                      + */ + TrafficMirrorFilterId: string | undefined; + + /** + *

                                                                      The network service, for example Amazon DNS, that you want to mirror.

                                                                      + */ + AddNetworkServices?: (TrafficMirrorNetworkService | string)[]; + + /** + *

                                                                      The network service, for example Amazon DNS, that you no longer want to mirror.

                                                                      + */ + RemoveNetworkServices?: (TrafficMirrorNetworkService | string)[]; + + /** + *

                                                                      Checks whether you have the required permissions for the action, without actually making the request, + * and provides an error response. If you have the required permissions, the error response is DryRunOperation. + * Otherwise, it is UnauthorizedOperation.

                                                                      + */ + DryRun?: boolean; +} + +export namespace ModifyTrafficMirrorFilterNetworkServicesRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesRequest): any => ({ + ...obj, + }); +} + +export interface ModifyTrafficMirrorFilterNetworkServicesResult { + /** + *

                                                                      The Traffic Mirror filter that the network service is associated with.

                                                                      + */ + TrafficMirrorFilter?: TrafficMirrorFilter; +} + +export namespace ModifyTrafficMirrorFilterNetworkServicesResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyTrafficMirrorFilterNetworkServicesResult): any => ({ + ...obj, + }); +} + +export type TrafficMirrorFilterRuleField = "description" | "destination-port-range" | "protocol" | "source-port-range"; export interface ModifyTrafficMirrorFilterRuleRequest { /** diff --git a/clients/client-ec2/src/pagination/GetInstanceTypesFromInstanceRequirementsPaginator.ts b/clients/client-ec2/src/pagination/GetInstanceTypesFromInstanceRequirementsPaginator.ts new file mode 100644 index 000000000000..25a61cbb6165 --- /dev/null +++ b/clients/client-ec2/src/pagination/GetInstanceTypesFromInstanceRequirementsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + GetInstanceTypesFromInstanceRequirementsCommand, + GetInstanceTypesFromInstanceRequirementsCommandInput, + GetInstanceTypesFromInstanceRequirementsCommandOutput, +} from "../commands/GetInstanceTypesFromInstanceRequirementsCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: GetInstanceTypesFromInstanceRequirementsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetInstanceTypesFromInstanceRequirementsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: GetInstanceTypesFromInstanceRequirementsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getInstanceTypesFromInstanceRequirements(input, ...args); +}; +export async function* paginateGetInstanceTypesFromInstanceRequirements( + config: EC2PaginationConfiguration, + input: GetInstanceTypesFromInstanceRequirementsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetInstanceTypesFromInstanceRequirementsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/src/pagination/GetSpotPlacementScoresPaginator.ts b/clients/client-ec2/src/pagination/GetSpotPlacementScoresPaginator.ts new file mode 100644 index 000000000000..8fdcc8e7b451 --- /dev/null +++ b/clients/client-ec2/src/pagination/GetSpotPlacementScoresPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + GetSpotPlacementScoresCommand, + GetSpotPlacementScoresCommandInput, + GetSpotPlacementScoresCommandOutput, +} from "../commands/GetSpotPlacementScoresCommand"; +import { EC2 } from "../EC2"; +import { EC2Client } from "../EC2Client"; +import { EC2PaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: EC2Client, + input: GetSpotPlacementScoresCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new GetSpotPlacementScoresCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: EC2, + input: GetSpotPlacementScoresCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.getSpotPlacementScores(input, ...args); +}; +export async function* paginateGetSpotPlacementScores( + config: EC2PaginationConfiguration, + input: GetSpotPlacementScoresCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: GetSpotPlacementScoresCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof EC2) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof EC2Client) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected EC2 | EC2Client"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-ec2/src/pagination/index.ts b/clients/client-ec2/src/pagination/index.ts index 606f2424ef47..f3a141e05459 100644 --- a/clients/client-ec2/src/pagination/index.ts +++ b/clients/client-ec2/src/pagination/index.ts @@ -92,8 +92,10 @@ export * from "./DescribeVpcPeeringConnectionsPaginator"; export * from "./DescribeVpcsPaginator"; export * from "./GetAssociatedIpv6PoolCidrsPaginator"; export * from "./GetGroupsForCapacityReservationPaginator"; +export * from "./GetInstanceTypesFromInstanceRequirementsPaginator"; export * from "./GetManagedPrefixListAssociationsPaginator"; export * from "./GetManagedPrefixListEntriesPaginator"; +export * from "./GetSpotPlacementScoresPaginator"; export * from "./GetTransitGatewayAttachmentPropagationsPaginator"; export * from "./GetTransitGatewayMulticastDomainAssociationsPaginator"; export * from "./GetTransitGatewayPrefixListReferencesPaginator"; diff --git a/clients/client-ec2/src/protocols/Aws_ec2.ts b/clients/client-ec2/src/protocols/Aws_ec2.ts index 15e74a2e5ddf..9093ab627297 100644 --- a/clients/client-ec2/src/protocols/Aws_ec2.ts +++ b/clients/client-ec2/src/protocols/Aws_ec2.ts @@ -1193,6 +1193,10 @@ import { GetHostReservationPurchasePreviewCommandInput, GetHostReservationPurchasePreviewCommandOutput, } from "../commands/GetHostReservationPurchasePreviewCommand"; +import { + GetInstanceTypesFromInstanceRequirementsCommandInput, + GetInstanceTypesFromInstanceRequirementsCommandOutput, +} from "../commands/GetInstanceTypesFromInstanceRequirementsCommand"; import { GetLaunchTemplateDataCommandInput, GetLaunchTemplateDataCommandOutput, @@ -1214,6 +1218,10 @@ import { GetSerialConsoleAccessStatusCommandInput, GetSerialConsoleAccessStatusCommandOutput, } from "../commands/GetSerialConsoleAccessStatusCommand"; +import { + GetSpotPlacementScoresCommandInput, + GetSpotPlacementScoresCommandOutput, +} from "../commands/GetSpotPlacementScoresCommand"; import { GetSubnetCidrReservationsCommandInput, GetSubnetCidrReservationsCommandOutput, @@ -1607,6 +1615,13 @@ import { import { WithdrawByoipCidrCommandInput, WithdrawByoipCidrCommandOutput } from "../commands/WithdrawByoipCidrCommand"; import { _InstanceType, + AcceleratorCount, + AcceleratorCountRequest, + AcceleratorManufacturer, + AcceleratorName, + AcceleratorTotalMemoryMiB, + AcceleratorTotalMemoryMiBRequest, + AcceleratorType, AcceptReservedInstancesExchangeQuoteRequest, AcceptReservedInstancesExchangeQuoteResult, AcceptTransitGatewayMulticastDomainAssociationsRequest, @@ -1680,7 +1695,8 @@ import { AuthorizeSecurityGroupEgressResult, AuthorizeSecurityGroupIngressRequest, AuthorizeSecurityGroupIngressResult, - BlockDeviceMapping, + BaselineEbsBandwidthMbps, + BaselineEbsBandwidthMbpsRequest, BundleInstanceRequest, BundleInstanceResult, BundleTask, @@ -1727,6 +1743,7 @@ import { CopyImageResult, CopySnapshotRequest, CopySnapshotResult, + CpuManufacturer, CreateCapacityReservationFleetRequest, CreateCapacityReservationFleetResult, CreateCapacityReservationRequest, @@ -1747,28 +1764,16 @@ import { CreateDhcpOptionsResult, CreateEgressOnlyInternetGatewayRequest, CreateEgressOnlyInternetGatewayResult, - CreateFleetError, - CreateFleetInstance, CreateFleetRequest, - CreateFleetResult, - CreateFlowLogsRequest, - CreateFlowLogsResult, - CreateFpgaImageRequest, - CreateFpgaImageResult, - CreateImageRequest, - CreateImageResult, CustomerGateway, - DestinationOptionsRequest, DhcpConfiguration, DhcpOptions, DirectoryServiceAuthenticationRequest, - EbsBlockDevice, EgressOnlyInternetGateway, FailedCapacityReservationFleetCancellationResult, FederatedAuthenticationRequest, FleetCapacityReservation, FleetLaunchTemplateConfigRequest, - FleetLaunchTemplateOverrides, FleetLaunchTemplateOverridesRequest, FleetLaunchTemplateSpecification, FleetLaunchTemplateSpecificationRequest, @@ -1782,19 +1787,24 @@ import { InstanceEventWindowAssociationRequest, InstanceEventWindowAssociationTarget, InstanceEventWindowTimeRange, + InstanceGeneration, + InstanceRequirementsRequest, InternetGatewayAttachment, IpPermission, IpRange, Ipv4PrefixSpecification, Ipv6CidrBlock, Ipv6Range, - LaunchTemplateAndOverridesResponse, + LocalStorageType, + MemoryGiBPerVCpu, + MemoryGiBPerVCpuRequest, + MemoryMiBRequest, + NetworkInterfaceCountRequest, NewDhcpConfiguration, OnDemandOptionsRequest, PeeringAttachmentStatus, PeeringTgwInfo, Placement, - PlacementResponse, PrefixListId, PriceSchedule, PtrUpdateStatus, @@ -1806,7 +1816,6 @@ import { SecurityGroupRule, SpotOptionsRequest, Storage, - StorageLocation, Subnet, SubnetAssociation, SubnetCidrBlockState, @@ -1815,6 +1824,7 @@ import { TagSpecification, TargetCapacitySpecificationRequest, TargetConfigurationRequest, + TotalLocalStorageGBRequest, TransitGatewayAssociation, TransitGatewayMulticastDomainAssociations, TransitGatewayPeeringAttachment, @@ -1824,6 +1834,7 @@ import { UnsuccessfulItem, UnsuccessfulItemError, UserIdGroupPair, + VCpuCountRangeRequest, VolumeAttachment, Vpc, VpcAttachment, @@ -1836,9 +1847,19 @@ import { VpcPeeringConnectionVpcInfo, } from "../models/models_0"; import { + BlockDeviceMapping, CapacityReservationTarget, CapacityReservationTargetResponse, ConnectionNotification, + CreateFleetError, + CreateFleetInstance, + CreateFleetResult, + CreateFlowLogsRequest, + CreateFlowLogsResult, + CreateFpgaImageRequest, + CreateFpgaImageResult, + CreateImageRequest, + CreateImageResult, CreateInstanceEventWindowRequest, CreateInstanceEventWindowResult, CreateInstanceExportTaskRequest, @@ -1927,29 +1948,26 @@ import { CreateVpcEndpointConnectionNotificationResult, CreateVpcEndpointRequest, CreateVpcEndpointResult, - CreateVpcEndpointServiceConfigurationRequest, - CreateVpcEndpointServiceConfigurationResult, - CreateVpcPeeringConnectionRequest, - CreateVpcPeeringConnectionResult, CreateVpcRequest, CreateVpcResult, - CreateVpnConnectionRequest, CreditSpecification, CreditSpecificationRequest, + DestinationOptionsRequest, DnsEntry, + EbsBlockDevice, ElasticGpuSpecification, ElasticGpuSpecificationResponse, ExportTask, ExportToS3Task, ExportToS3TaskSpecification, + FleetLaunchTemplateOverrides, GroupIdentifier, IcmpTypeCode, - IKEVersionsListValue, - IKEVersionsRequestListValue, InstanceEventWindowTimeRangeRequest, InstanceExportDetails, InstanceIpv6Address, InstanceIpv6AddressRequest, + InstanceRequirements, InstanceSpecification, InternetGateway, Ipv4PrefixSpecificationRequest, @@ -1960,6 +1978,7 @@ import { KeyPair, LastError, LaunchTemplate, + LaunchTemplateAndOverridesResponse, LaunchTemplateBlockDeviceMapping, LaunchTemplateBlockDeviceMappingRequest, LaunchTemplateCapacityReservationSpecificationRequest, @@ -1996,6 +2015,7 @@ import { LocalGatewayRoute, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, + MemoryMiB, NatGateway, NatGatewayAddress, NetworkAcl, @@ -2005,26 +2025,15 @@ import { NetworkInterface, NetworkInterfaceAssociation, NetworkInterfaceAttachment, + NetworkInterfaceCount, NetworkInterfaceIpv6Address, NetworkInterfacePermission, NetworkInterfacePermissionState, NetworkInterfacePrivateIpAddress, - Phase1DHGroupNumbersListValue, - Phase1DHGroupNumbersRequestListValue, - Phase1EncryptionAlgorithmsListValue, - Phase1EncryptionAlgorithmsRequestListValue, - Phase1IntegrityAlgorithmsListValue, - Phase1IntegrityAlgorithmsRequestListValue, - Phase2DHGroupNumbersListValue, - Phase2DHGroupNumbersRequestListValue, - Phase2EncryptionAlgorithmsListValue, - Phase2EncryptionAlgorithmsRequestListValue, - Phase2IntegrityAlgorithmsListValue, - Phase2IntegrityAlgorithmsRequestListValue, PlacementGroup, + PlacementResponse, PortRange, PriceScheduleSpecification, - PrivateDnsNameConfiguration, PrivateIpAddressSpecification, PropagatingVgw, ProvisionedBandwidth, @@ -2036,13 +2045,13 @@ import { RouteTableAssociation, S3ObjectTag, SecurityGroupIdentifier, - ServiceConfiguration, - ServiceTypeDetail, Snapshot, SnapshotInfo, SpotDatafeedSubscription, SpotInstanceStateFault, + StorageLocation, SubnetCidrReservation, + TotalLocalStorageGB, TrafficMirrorFilter, TrafficMirrorFilterRule, TrafficMirrorNetworkService, @@ -2068,17 +2077,15 @@ import { TransitGatewayRouteTable, ValidationError, ValidationWarning, + VCpuCountRange, Volume, VpcEndpoint, - VpnConnectionOptionsSpecification, - VpnTunnelOptionsSpecification, } from "../models/models_1"; import { AssociatedTargetNetwork, AuthorizationRule, AvailabilityZone, AvailabilityZoneMessage, - AvailableCapacity, CapacityReservationFleet, CapacityReservationOptions, CertificateAuthentication, @@ -2093,6 +2100,11 @@ import { CoipPool, ConnectionLogResponseOptions, ConversionTask, + CreateVpcEndpointServiceConfigurationRequest, + CreateVpcEndpointServiceConfigurationResult, + CreateVpcPeeringConnectionRequest, + CreateVpcPeeringConnectionResult, + CreateVpnConnectionRequest, CreateVpnConnectionResult, CreateVpnConnectionRouteRequest, CreateVpnGatewayRequest, @@ -2275,17 +2287,6 @@ import { DescribeHostReservationsRequest, DescribeHostReservationsResult, DescribeHostsRequest, - DescribeHostsResult, - DescribeIamInstanceProfileAssociationsRequest, - DescribeIamInstanceProfileAssociationsResult, - DescribeIdentityIdFormatRequest, - DescribeIdentityIdFormatResult, - DescribeIdFormatRequest, - DescribeIdFormatResult, - DescribeImageAttributeRequest, - DescribeImagesRequest, - DescribeImagesResult, - DescribeImportImageTasksRequest, DestinationOptionsResponse, DirectoryServiceAuthentication, DiskImageDescription, @@ -2307,29 +2308,38 @@ import { FpgaImageAttribute, FpgaImageState, HistoryRecordEntry, - Host, - HostInstance, HostOffering, - HostProperties, HostReservation, IdFormat, - Image, - ImageAttribute, - ImportImageLicenseConfigurationResponse, + IKEVersionsListValue, + IKEVersionsRequestListValue, ImportInstanceTaskDetails, ImportInstanceVolumeDetailItem, ImportVolumeTaskDetails, InstanceCapacity, InstanceEventWindowStateChange, InstanceTagNotificationAttribute, - LaunchPermission, LoadPermission, OnDemandOptions, PciId, + Phase1DHGroupNumbersListValue, + Phase1DHGroupNumbersRequestListValue, + Phase1EncryptionAlgorithmsListValue, + Phase1EncryptionAlgorithmsRequestListValue, + Phase1IntegrityAlgorithmsListValue, + Phase1IntegrityAlgorithmsRequestListValue, + Phase2DHGroupNumbersListValue, + Phase2DHGroupNumbersRequestListValue, + Phase2EncryptionAlgorithmsListValue, + Phase2EncryptionAlgorithmsRequestListValue, + Phase2IntegrityAlgorithmsListValue, + Phase2IntegrityAlgorithmsRequestListValue, + PrivateDnsNameConfiguration, ProductCode, ResponseError, + ServiceConfiguration, + ServiceTypeDetail, SpotOptions, - StateReason, SuccessfulQueuedPurchaseDeletion, TargetCapacitySpecification, TargetNetwork, @@ -2337,11 +2347,12 @@ import { TransitGatewayMulticastDeregisteredGroupSources, TunnelOption, VgwTelemetry, - VirtualizationType, VpnConnection, VpnConnectionOptions, + VpnConnectionOptionsSpecification, VpnGateway, VpnStaticRoute, + VpnTunnelOptionsSpecification, } from "../models/models_2"; import { AnalysisAclRule, @@ -2353,12 +2364,24 @@ import { AnalysisSecurityGroupRule, ArchitectureType, AttributeBooleanValue, + AvailableCapacity, BootModeType, CapacityReservationSpecificationResponse, ClassicLoadBalancer, ClassicLoadBalancersConfig, CpuOptions, CreateVolumePermission, + DescribeHostsResult, + DescribeIamInstanceProfileAssociationsRequest, + DescribeIamInstanceProfileAssociationsResult, + DescribeIdentityIdFormatRequest, + DescribeIdentityIdFormatResult, + DescribeIdFormatRequest, + DescribeIdFormatResult, + DescribeImageAttributeRequest, + DescribeImagesRequest, + DescribeImagesResult, + DescribeImportImageTasksRequest, DescribeImportImageTasksResult, DescribeImportSnapshotTasksRequest, DescribeImportSnapshotTasksResult, @@ -2471,31 +2494,6 @@ import { DescribeStoreImageTasksResult, DescribeSubnetsRequest, DescribeSubnetsResult, - DescribeTagsRequest, - DescribeTagsResult, - DescribeTrafficMirrorFiltersRequest, - DescribeTrafficMirrorFiltersResult, - DescribeTrafficMirrorSessionsRequest, - DescribeTrafficMirrorSessionsResult, - DescribeTrafficMirrorTargetsRequest, - DescribeTrafficMirrorTargetsResult, - DescribeTransitGatewayAttachmentsRequest, - DescribeTransitGatewayAttachmentsResult, - DescribeTransitGatewayConnectPeersRequest, - DescribeTransitGatewayConnectPeersResult, - DescribeTransitGatewayConnectsRequest, - DescribeTransitGatewayConnectsResult, - DescribeTransitGatewayMulticastDomainsRequest, - DescribeTransitGatewayMulticastDomainsResult, - DescribeTransitGatewayPeeringAttachmentsRequest, - DescribeTransitGatewayPeeringAttachmentsResult, - DescribeTransitGatewayRouteTablesRequest, - DescribeTransitGatewayRouteTablesResult, - DescribeTransitGatewaysRequest, - DescribeTransitGatewaysResult, - DescribeTransitGatewayVpcAttachmentsRequest, - DescribeTransitGatewayVpcAttachmentsResult, - DescribeTrunkInterfaceAssociationsRequest, DiskInfo, EbsInfo, EbsInstanceBlockDevice, @@ -2513,6 +2511,12 @@ import { GpuInfo, HibernationOptions, HistoryRecord, + Host, + HostInstance, + HostProperties, + Image, + ImageAttribute, + ImportImageLicenseConfigurationResponse, ImportImageTask, ImportSnapshotTask, InferenceAcceleratorInfo, @@ -2539,6 +2543,7 @@ import { InstanceTypeOffering, Ipv6Pool, KeyPairInfo, + LaunchPermission, LaunchSpecification, LaunchTemplateConfig, LaunchTemplateOverrides, @@ -2599,15 +2604,14 @@ import { SpotPrice, StaleIpPermission, StaleSecurityGroup, + StateReason, StoreImageTaskResult, - TagDescription, TargetGroup, TargetGroupsConfig, - TransitGatewayAttachment, - TransitGatewayAttachmentAssociation, UsageClassType, UserBucketDetails, VCpuInfo, + VirtualizationType, } from "../models/models_3"; import { AssociatedRole, @@ -2619,7 +2623,31 @@ import { ClientCertificateRevocationListStatus, ClientData, CoipAddressUsage, - CreateVolumePermissionModifications, + DescribeTagsRequest, + DescribeTagsResult, + DescribeTrafficMirrorFiltersRequest, + DescribeTrafficMirrorFiltersResult, + DescribeTrafficMirrorSessionsRequest, + DescribeTrafficMirrorSessionsResult, + DescribeTrafficMirrorTargetsRequest, + DescribeTrafficMirrorTargetsResult, + DescribeTransitGatewayAttachmentsRequest, + DescribeTransitGatewayAttachmentsResult, + DescribeTransitGatewayConnectPeersRequest, + DescribeTransitGatewayConnectPeersResult, + DescribeTransitGatewayConnectsRequest, + DescribeTransitGatewayConnectsResult, + DescribeTransitGatewayMulticastDomainsRequest, + DescribeTransitGatewayMulticastDomainsResult, + DescribeTransitGatewayPeeringAttachmentsRequest, + DescribeTransitGatewayPeeringAttachmentsResult, + DescribeTransitGatewayRouteTablesRequest, + DescribeTransitGatewayRouteTablesResult, + DescribeTransitGatewaysRequest, + DescribeTransitGatewaysResult, + DescribeTransitGatewayVpcAttachmentsRequest, + DescribeTransitGatewayVpcAttachmentsResult, + DescribeTrunkInterfaceAssociationsRequest, DescribeTrunkInterfaceAssociationsResult, DescribeVolumeAttributeRequest, DescribeVolumeAttributeResult, @@ -2757,6 +2785,8 @@ import { GetGroupsForCapacityReservationResult, GetHostReservationPurchasePreviewRequest, GetHostReservationPurchasePreviewResult, + GetInstanceTypesFromInstanceRequirementsRequest, + GetInstanceTypesFromInstanceRequirementsResult, GetLaunchTemplateDataRequest, GetLaunchTemplateDataResult, GetManagedPrefixListAssociationsRequest, @@ -2769,6 +2799,8 @@ import { GetReservedInstancesExchangeQuoteResult, GetSerialConsoleAccessStatusRequest, GetSerialConsoleAccessStatusResult, + GetSpotPlacementScoresRequest, + GetSpotPlacementScoresResult, GetSubnetCidrReservationsRequest, GetSubnetCidrReservationsResult, GetTransitGatewayAttachmentPropagationsRequest, @@ -2804,6 +2836,8 @@ import { InstanceCreditSpecificationRequest, InstanceEventWindowDisassociationRequest, InstanceFamilyCreditSpecification, + InstanceRequirementsWithMetadataRequest, + InstanceTypeInfoFromInstanceRequirements, InstanceUsage, IntegrateServices, Ipv6CidrAssociation, @@ -2837,53 +2871,25 @@ import { ModifyInstanceCapacityReservationAttributesRequest, ModifyInstanceCapacityReservationAttributesResult, ModifyInstanceCreditSpecificationRequest, - ModifyInstanceCreditSpecificationResult, - ModifyInstanceEventStartTimeRequest, - ModifyInstanceEventStartTimeResult, - ModifyInstanceEventWindowRequest, - ModifyInstanceEventWindowResult, - ModifyInstanceMetadataOptionsRequest, - ModifyInstanceMetadataOptionsResult, - ModifyInstancePlacementRequest, - ModifyInstancePlacementResult, - ModifyLaunchTemplateRequest, - ModifyLaunchTemplateResult, - ModifyManagedPrefixListRequest, - ModifyManagedPrefixListResult, - ModifyNetworkInterfaceAttributeRequest, - ModifyReservedInstancesRequest, - ModifyReservedInstancesResult, - ModifySecurityGroupRulesRequest, - ModifySecurityGroupRulesResult, - ModifySnapshotAttributeRequest, - ModifySpotFleetRequestRequest, - ModifySpotFleetRequestResponse, - ModifySubnetAttributeRequest, - ModifyTrafficMirrorFilterNetworkServicesRequest, - ModifyTrafficMirrorFilterNetworkServicesResult, - NetworkInterfaceAttachmentChanges, PrefixListAssociation, PrefixListEntry, PrivateDnsDetails, Purchase, - RemovePrefixListEntry, ReservationValue, ReservedInstanceReservationValue, - SecurityGroupRuleRequest, - SecurityGroupRuleUpdate, ServiceDetail, SnapshotDiskContainer, - SuccessfulInstanceCreditSpecificationItem, + SpotPlacementScore, + TagDescription, TargetConfiguration, TargetReservationValue, - TrafficMirrorFilterRuleField, + TransitGatewayAttachment, + TransitGatewayAttachmentAssociation, TransitGatewayAttachmentPropagation, TransitGatewayMulticastDomainAssociation, TransitGatewayPropagation, TransitGatewayRouteTableAssociation, TransitGatewayRouteTablePropagation, - UnsuccessfulInstanceCreditSpecificationItem, - UnsuccessfulInstanceCreditSpecificationItemError, UserBucket, UserData, VolumeDetail, @@ -2901,6 +2907,7 @@ import { import { CidrAuthorizationContext, CpuOptionsRequest, + CreateVolumePermissionModifications, ElasticInferenceAccelerator, EnclaveOptionsRequest, HibernationOptionsRequest, @@ -2910,6 +2917,30 @@ import { InstanceStateChange, LaunchTemplateSpecification, LicenseConfigurationRequest, + ModifyInstanceCreditSpecificationResult, + ModifyInstanceEventStartTimeRequest, + ModifyInstanceEventStartTimeResult, + ModifyInstanceEventWindowRequest, + ModifyInstanceEventWindowResult, + ModifyInstanceMetadataOptionsRequest, + ModifyInstanceMetadataOptionsResult, + ModifyInstancePlacementRequest, + ModifyInstancePlacementResult, + ModifyLaunchTemplateRequest, + ModifyLaunchTemplateResult, + ModifyManagedPrefixListRequest, + ModifyManagedPrefixListResult, + ModifyNetworkInterfaceAttributeRequest, + ModifyReservedInstancesRequest, + ModifyReservedInstancesResult, + ModifySecurityGroupRulesRequest, + ModifySecurityGroupRulesResult, + ModifySnapshotAttributeRequest, + ModifySpotFleetRequestRequest, + ModifySpotFleetRequestResponse, + ModifySubnetAttributeRequest, + ModifyTrafficMirrorFilterNetworkServicesRequest, + ModifyTrafficMirrorFilterNetworkServicesResult, ModifyTrafficMirrorFilterRuleRequest, ModifyTrafficMirrorFilterRuleResult, ModifyTrafficMirrorSessionRequest, @@ -2951,6 +2982,7 @@ import { MonitorInstancesResult, MoveAddressToVpcRequest, MoveAddressToVpcResult, + NetworkInterfaceAttachmentChanges, PeeringConnectionOptions, PeeringConnectionOptionsRequest, ProvisionByoipCidrRequest, @@ -2985,6 +3017,7 @@ import { ReleaseAddressRequest, ReleaseHostsRequest, ReleaseHostsResult, + RemovePrefixListEntry, ReplaceIamInstanceProfileAssociationRequest, ReplaceIamInstanceProfileAssociationResult, ReplaceNetworkAclAssociationRequest, @@ -3042,6 +3075,8 @@ import { SearchTransitGatewayRoutesRequest, SearchTransitGatewayRoutesResult, SecurityGroupRuleDescription, + SecurityGroupRuleRequest, + SecurityGroupRuleUpdate, SendDiagnosticInterruptRequest, SpotMarketOptions, StartInstancesRequest, @@ -3052,11 +3087,13 @@ import { StartVpcEndpointServicePrivateDnsVerificationResult, StopInstancesRequest, StopInstancesResult, + SuccessfulInstanceCreditSpecificationItem, TerminateClientVpnConnectionsRequest, TerminateClientVpnConnectionsResult, TerminateConnectionStatus, TerminateInstancesRequest, TerminateInstancesResult, + TrafficMirrorFilterRuleField, TrafficMirrorSessionField, TransitGatewayMulticastGroup, TransitGatewayMulticastRegisteredGroupMembers, @@ -3066,6 +3103,8 @@ import { UnassignPrivateIpAddressesRequest, UnmonitorInstancesRequest, UnmonitorInstancesResult, + UnsuccessfulInstanceCreditSpecificationItem, + UnsuccessfulInstanceCreditSpecificationItemError, UpdateSecurityGroupRuleDescriptionsEgressRequest, UpdateSecurityGroupRuleDescriptionsEgressResult, UpdateSecurityGroupRuleDescriptionsIngressRequest, @@ -8626,6 +8665,22 @@ export const serializeAws_ec2GetHostReservationPurchasePreviewCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand = async ( + input: GetInstanceTypesFromInstanceRequirementsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetInstanceTypesFromInstanceRequirementsRequest(input, context), + Action: "GetInstanceTypesFromInstanceRequirements", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2GetLaunchTemplateDataCommand = async ( input: GetLaunchTemplateDataCommandInput, context: __SerdeContext @@ -8722,6 +8777,22 @@ export const serializeAws_ec2GetSerialConsoleAccessStatusCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_ec2GetSpotPlacementScoresCommand = async ( + input: GetSpotPlacementScoresCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_ec2GetSpotPlacementScoresRequest(input, context), + Action: "GetSpotPlacementScores", + Version: "2016-11-15", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_ec2GetSubnetCidrReservationsCommand = async ( input: GetSubnetCidrReservationsCommandInput, context: __SerdeContext @@ -26467,27 +26538,27 @@ const deserializeAws_ec2GetHostReservationPurchasePreviewCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetLaunchTemplateDataCommand = async ( +export const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetLaunchTemplateDataCommandError(output, context); + return deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetLaunchTemplateDataResult(data, context); - const response: GetLaunchTemplateDataCommandOutput = { + contents = deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsResult(data, context); + const response: GetInstanceTypesFromInstanceRequirementsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetLaunchTemplateDataCommandError = async ( +const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26513,211 +26584,27 @@ const deserializeAws_ec2GetLaunchTemplateDataCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetManagedPrefixListAssociationsCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2GetManagedPrefixListAssociationsCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2GetManagedPrefixListAssociationsResult(data, context); - const response: GetManagedPrefixListAssociationsCommandOutput = { - $metadata: deserializeMetadata(output), - ...contents, - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2GetManagedPrefixListAssociationsCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadEc2ErrorCode(output, parsedOutput.body); - switch (errorCode) { - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; - response = { - ...parsedBody.Errors.Error, - name: `${errorCode}`, - message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; - } - const message = response.message || response.Message || errorCode; - response.message = message; - delete response.Message; - return Promise.reject(Object.assign(new Error(message), response)); -}; - -export const deserializeAws_ec2GetManagedPrefixListEntriesCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2GetManagedPrefixListEntriesCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2GetManagedPrefixListEntriesResult(data, context); - const response: GetManagedPrefixListEntriesCommandOutput = { - $metadata: deserializeMetadata(output), - ...contents, - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2GetManagedPrefixListEntriesCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadEc2ErrorCode(output, parsedOutput.body); - switch (errorCode) { - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; - response = { - ...parsedBody.Errors.Error, - name: `${errorCode}`, - message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; - } - const message = response.message || response.Message || errorCode; - response.message = message; - delete response.Message; - return Promise.reject(Object.assign(new Error(message), response)); -}; - -export const deserializeAws_ec2GetPasswordDataCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2GetPasswordDataCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2GetPasswordDataResult(data, context); - const response: GetPasswordDataCommandOutput = { - $metadata: deserializeMetadata(output), - ...contents, - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2GetPasswordDataCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadEc2ErrorCode(output, parsedOutput.body); - switch (errorCode) { - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; - response = { - ...parsedBody.Errors.Error, - name: `${errorCode}`, - message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; - } - const message = response.message || response.Message || errorCode; - response.message = message; - delete response.Message; - return Promise.reject(Object.assign(new Error(message), response)); -}; - -export const deserializeAws_ec2GetReservedInstancesExchangeQuoteCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2GetReservedInstancesExchangeQuoteCommandError(output, context); - } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2GetReservedInstancesExchangeQuoteResult(data, context); - const response: GetReservedInstancesExchangeQuoteCommandOutput = { - $metadata: deserializeMetadata(output), - ...contents, - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2GetReservedInstancesExchangeQuoteCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadEc2ErrorCode(output, parsedOutput.body); - switch (errorCode) { - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; - response = { - ...parsedBody.Errors.Error, - name: `${errorCode}`, - message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; - } - const message = response.message || response.Message || errorCode; - response.message = message; - delete response.Message; - return Promise.reject(Object.assign(new Error(message), response)); -}; - -export const deserializeAws_ec2GetSerialConsoleAccessStatusCommand = async ( +export const deserializeAws_ec2GetLaunchTemplateDataCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetSerialConsoleAccessStatusCommandError(output, context); + return deserializeAws_ec2GetLaunchTemplateDataCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetSerialConsoleAccessStatusResult(data, context); - const response: GetSerialConsoleAccessStatusCommandOutput = { + contents = deserializeAws_ec2GetLaunchTemplateDataResult(data, context); + const response: GetLaunchTemplateDataCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetSerialConsoleAccessStatusCommandError = async ( +const deserializeAws_ec2GetLaunchTemplateDataCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26743,27 +26630,27 @@ const deserializeAws_ec2GetSerialConsoleAccessStatusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetSubnetCidrReservationsCommand = async ( +export const deserializeAws_ec2GetManagedPrefixListAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetSubnetCidrReservationsCommandError(output, context); + return deserializeAws_ec2GetManagedPrefixListAssociationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetSubnetCidrReservationsResult(data, context); - const response: GetSubnetCidrReservationsCommandOutput = { + contents = deserializeAws_ec2GetManagedPrefixListAssociationsResult(data, context); + const response: GetManagedPrefixListAssociationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetSubnetCidrReservationsCommandError = async ( +const deserializeAws_ec2GetManagedPrefixListAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26789,27 +26676,27 @@ const deserializeAws_ec2GetSubnetCidrReservationsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetTransitGatewayAttachmentPropagationsCommand = async ( +export const deserializeAws_ec2GetManagedPrefixListEntriesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetTransitGatewayAttachmentPropagationsCommandError(output, context); + return deserializeAws_ec2GetManagedPrefixListEntriesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetTransitGatewayAttachmentPropagationsResult(data, context); - const response: GetTransitGatewayAttachmentPropagationsCommandOutput = { + contents = deserializeAws_ec2GetManagedPrefixListEntriesResult(data, context); + const response: GetManagedPrefixListEntriesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetTransitGatewayAttachmentPropagationsCommandError = async ( +const deserializeAws_ec2GetManagedPrefixListEntriesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26835,27 +26722,27 @@ const deserializeAws_ec2GetTransitGatewayAttachmentPropagationsCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommand = async ( +export const deserializeAws_ec2GetPasswordDataCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommandError(output, context); + return deserializeAws_ec2GetPasswordDataCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsResult(data, context); - const response: GetTransitGatewayMulticastDomainAssociationsCommandOutput = { + contents = deserializeAws_ec2GetPasswordDataResult(data, context); + const response: GetPasswordDataCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommandError = async ( +const deserializeAws_ec2GetPasswordDataCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26881,27 +26768,27 @@ const deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommand = async ( +export const deserializeAws_ec2GetReservedInstancesExchangeQuoteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommandError(output, context); + return deserializeAws_ec2GetReservedInstancesExchangeQuoteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetTransitGatewayPrefixListReferencesResult(data, context); - const response: GetTransitGatewayPrefixListReferencesCommandOutput = { + contents = deserializeAws_ec2GetReservedInstancesExchangeQuoteResult(data, context); + const response: GetReservedInstancesExchangeQuoteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommandError = async ( +const deserializeAws_ec2GetReservedInstancesExchangeQuoteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26927,27 +26814,27 @@ const deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommand = async ( +export const deserializeAws_ec2GetSerialConsoleAccessStatusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommandError(output, context); + return deserializeAws_ec2GetSerialConsoleAccessStatusCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetTransitGatewayRouteTableAssociationsResult(data, context); - const response: GetTransitGatewayRouteTableAssociationsCommandOutput = { + contents = deserializeAws_ec2GetSerialConsoleAccessStatusResult(data, context); + const response: GetSerialConsoleAccessStatusCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommandError = async ( +const deserializeAws_ec2GetSerialConsoleAccessStatusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -26973,27 +26860,27 @@ const deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommand = async ( +export const deserializeAws_ec2GetSpotPlacementScoresCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommandError(output, context); + return deserializeAws_ec2GetSpotPlacementScoresCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetTransitGatewayRouteTablePropagationsResult(data, context); - const response: GetTransitGatewayRouteTablePropagationsCommandOutput = { + contents = deserializeAws_ec2GetSpotPlacementScoresResult(data, context); + const response: GetSpotPlacementScoresCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommandError = async ( +const deserializeAws_ec2GetSpotPlacementScoresCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27019,27 +26906,27 @@ const deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommand = async ( +export const deserializeAws_ec2GetSubnetCidrReservationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommandError(output, context); + return deserializeAws_ec2GetSubnetCidrReservationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationResult(data, context); - const response: GetVpnConnectionDeviceSampleConfigurationCommandOutput = { + contents = deserializeAws_ec2GetSubnetCidrReservationsResult(data, context); + const response: GetSubnetCidrReservationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommandError = async ( +const deserializeAws_ec2GetSubnetCidrReservationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27065,27 +26952,27 @@ const deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommandError = return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2GetVpnConnectionDeviceTypesCommand = async ( +export const deserializeAws_ec2GetTransitGatewayAttachmentPropagationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2GetVpnConnectionDeviceTypesCommandError(output, context); + return deserializeAws_ec2GetTransitGatewayAttachmentPropagationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2GetVpnConnectionDeviceTypesResult(data, context); - const response: GetVpnConnectionDeviceTypesCommandOutput = { + contents = deserializeAws_ec2GetTransitGatewayAttachmentPropagationsResult(data, context); + const response: GetTransitGatewayAttachmentPropagationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2GetVpnConnectionDeviceTypesCommandError = async ( +const deserializeAws_ec2GetTransitGatewayAttachmentPropagationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27111,27 +26998,27 @@ const deserializeAws_ec2GetVpnConnectionDeviceTypesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommand = async ( +export const deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommandError(output, context); + return deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ImportClientVpnClientCertificateRevocationListResult(data, context); - const response: ImportClientVpnClientCertificateRevocationListCommandOutput = { + contents = deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsResult(data, context); + const response: GetTransitGatewayMulticastDomainAssociationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommandError = async ( +const deserializeAws_ec2GetTransitGatewayMulticastDomainAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27157,27 +27044,27 @@ const deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommandErr return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ImportImageCommand = async ( +export const deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ImportImageCommandError(output, context); + return deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ImportImageResult(data, context); - const response: ImportImageCommandOutput = { + contents = deserializeAws_ec2GetTransitGatewayPrefixListReferencesResult(data, context); + const response: GetTransitGatewayPrefixListReferencesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ImportImageCommandError = async ( +const deserializeAws_ec2GetTransitGatewayPrefixListReferencesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27203,27 +27090,27 @@ const deserializeAws_ec2ImportImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ImportInstanceCommand = async ( +export const deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ImportInstanceCommandError(output, context); + return deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ImportInstanceResult(data, context); - const response: ImportInstanceCommandOutput = { + contents = deserializeAws_ec2GetTransitGatewayRouteTableAssociationsResult(data, context); + const response: GetTransitGatewayRouteTableAssociationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ImportInstanceCommandError = async ( +const deserializeAws_ec2GetTransitGatewayRouteTableAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27249,27 +27136,27 @@ const deserializeAws_ec2ImportInstanceCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ImportKeyPairCommand = async ( +export const deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ImportKeyPairCommandError(output, context); + return deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ImportKeyPairResult(data, context); - const response: ImportKeyPairCommandOutput = { + contents = deserializeAws_ec2GetTransitGatewayRouteTablePropagationsResult(data, context); + const response: GetTransitGatewayRouteTablePropagationsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ImportKeyPairCommandError = async ( +const deserializeAws_ec2GetTransitGatewayRouteTablePropagationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27295,27 +27182,27 @@ const deserializeAws_ec2ImportKeyPairCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ImportSnapshotCommand = async ( +export const deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ImportSnapshotCommandError(output, context); + return deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ImportSnapshotResult(data, context); - const response: ImportSnapshotCommandOutput = { + contents = deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationResult(data, context); + const response: GetVpnConnectionDeviceSampleConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ImportSnapshotCommandError = async ( +const deserializeAws_ec2GetVpnConnectionDeviceSampleConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27341,27 +27228,27 @@ const deserializeAws_ec2ImportSnapshotCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ImportVolumeCommand = async ( +export const deserializeAws_ec2GetVpnConnectionDeviceTypesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ImportVolumeCommandError(output, context); + return deserializeAws_ec2GetVpnConnectionDeviceTypesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ImportVolumeResult(data, context); - const response: ImportVolumeCommandOutput = { + contents = deserializeAws_ec2GetVpnConnectionDeviceTypesResult(data, context); + const response: GetVpnConnectionDeviceTypesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ImportVolumeCommandError = async ( +const deserializeAws_ec2GetVpnConnectionDeviceTypesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27387,27 +27274,27 @@ const deserializeAws_ec2ImportVolumeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyAddressAttributeCommand = async ( +export const deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyAddressAttributeCommandError(output, context); + return deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyAddressAttributeResult(data, context); - const response: ModifyAddressAttributeCommandOutput = { + contents = deserializeAws_ec2ImportClientVpnClientCertificateRevocationListResult(data, context); + const response: ImportClientVpnClientCertificateRevocationListCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyAddressAttributeCommandError = async ( +const deserializeAws_ec2ImportClientVpnClientCertificateRevocationListCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27433,27 +27320,27 @@ const deserializeAws_ec2ModifyAddressAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyAvailabilityZoneGroupCommand = async ( +export const deserializeAws_ec2ImportImageCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyAvailabilityZoneGroupCommandError(output, context); + return deserializeAws_ec2ImportImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyAvailabilityZoneGroupResult(data, context); - const response: ModifyAvailabilityZoneGroupCommandOutput = { + contents = deserializeAws_ec2ImportImageResult(data, context); + const response: ImportImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyAvailabilityZoneGroupCommandError = async ( +const deserializeAws_ec2ImportImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27479,27 +27366,27 @@ const deserializeAws_ec2ModifyAvailabilityZoneGroupCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyCapacityReservationCommand = async ( +export const deserializeAws_ec2ImportInstanceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyCapacityReservationCommandError(output, context); + return deserializeAws_ec2ImportInstanceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyCapacityReservationResult(data, context); - const response: ModifyCapacityReservationCommandOutput = { + contents = deserializeAws_ec2ImportInstanceResult(data, context); + const response: ImportInstanceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyCapacityReservationCommandError = async ( +const deserializeAws_ec2ImportInstanceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27525,27 +27412,27 @@ const deserializeAws_ec2ModifyCapacityReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyCapacityReservationFleetCommand = async ( +export const deserializeAws_ec2ImportKeyPairCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyCapacityReservationFleetCommandError(output, context); + return deserializeAws_ec2ImportKeyPairCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyCapacityReservationFleetResult(data, context); - const response: ModifyCapacityReservationFleetCommandOutput = { + contents = deserializeAws_ec2ImportKeyPairResult(data, context); + const response: ImportKeyPairCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyCapacityReservationFleetCommandError = async ( +const deserializeAws_ec2ImportKeyPairCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27571,27 +27458,27 @@ const deserializeAws_ec2ModifyCapacityReservationFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyClientVpnEndpointCommand = async ( +export const deserializeAws_ec2ImportSnapshotCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyClientVpnEndpointCommandError(output, context); + return deserializeAws_ec2ImportSnapshotCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyClientVpnEndpointResult(data, context); - const response: ModifyClientVpnEndpointCommandOutput = { + contents = deserializeAws_ec2ImportSnapshotResult(data, context); + const response: ImportSnapshotCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyClientVpnEndpointCommandError = async ( +const deserializeAws_ec2ImportSnapshotCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27617,27 +27504,27 @@ const deserializeAws_ec2ModifyClientVpnEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyDefaultCreditSpecificationCommand = async ( +export const deserializeAws_ec2ImportVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyDefaultCreditSpecificationCommandError(output, context); + return deserializeAws_ec2ImportVolumeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyDefaultCreditSpecificationResult(data, context); - const response: ModifyDefaultCreditSpecificationCommandOutput = { + contents = deserializeAws_ec2ImportVolumeResult(data, context); + const response: ImportVolumeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyDefaultCreditSpecificationCommandError = async ( +const deserializeAws_ec2ImportVolumeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27663,27 +27550,27 @@ const deserializeAws_ec2ModifyDefaultCreditSpecificationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyEbsDefaultKmsKeyIdCommand = async ( +export const deserializeAws_ec2ModifyAddressAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyEbsDefaultKmsKeyIdCommandError(output, context); + return deserializeAws_ec2ModifyAddressAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyEbsDefaultKmsKeyIdResult(data, context); - const response: ModifyEbsDefaultKmsKeyIdCommandOutput = { + contents = deserializeAws_ec2ModifyAddressAttributeResult(data, context); + const response: ModifyAddressAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyEbsDefaultKmsKeyIdCommandError = async ( +const deserializeAws_ec2ModifyAddressAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27709,27 +27596,27 @@ const deserializeAws_ec2ModifyEbsDefaultKmsKeyIdCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyFleetCommand = async ( +export const deserializeAws_ec2ModifyAvailabilityZoneGroupCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyFleetCommandError(output, context); + return deserializeAws_ec2ModifyAvailabilityZoneGroupCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyFleetResult(data, context); - const response: ModifyFleetCommandOutput = { + contents = deserializeAws_ec2ModifyAvailabilityZoneGroupResult(data, context); + const response: ModifyAvailabilityZoneGroupCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyFleetCommandError = async ( +const deserializeAws_ec2ModifyAvailabilityZoneGroupCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27755,27 +27642,27 @@ const deserializeAws_ec2ModifyFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyFpgaImageAttributeCommand = async ( +export const deserializeAws_ec2ModifyCapacityReservationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyFpgaImageAttributeCommandError(output, context); + return deserializeAws_ec2ModifyCapacityReservationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyFpgaImageAttributeResult(data, context); - const response: ModifyFpgaImageAttributeCommandOutput = { + contents = deserializeAws_ec2ModifyCapacityReservationResult(data, context); + const response: ModifyCapacityReservationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyFpgaImageAttributeCommandError = async ( +const deserializeAws_ec2ModifyCapacityReservationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27801,70 +27688,27 @@ const deserializeAws_ec2ModifyFpgaImageAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyHostsCommand = async ( +export const deserializeAws_ec2ModifyCapacityReservationFleetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyHostsCommandError(output, context); + return deserializeAws_ec2ModifyCapacityReservationFleetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyHostsResult(data, context); - const response: ModifyHostsCommandOutput = { + contents = deserializeAws_ec2ModifyCapacityReservationFleetResult(data, context); + const response: ModifyCapacityReservationFleetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyHostsCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadEc2ErrorCode(output, parsedOutput.body); - switch (errorCode) { - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; - response = { - ...parsedBody.Errors.Error, - name: `${errorCode}`, - message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; - } - const message = response.message || response.Message || errorCode; - response.message = message; - delete response.Message; - return Promise.reject(Object.assign(new Error(message), response)); -}; - -export const deserializeAws_ec2ModifyIdentityIdFormatCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyIdentityIdFormatCommandError(output, context); - } - await collectBody(output.body, context); - const response: ModifyIdentityIdFormatCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2ModifyIdentityIdFormatCommandError = async ( +const deserializeAws_ec2ModifyCapacityReservationFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27890,24 +27734,27 @@ const deserializeAws_ec2ModifyIdentityIdFormatCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyIdFormatCommand = async ( +export const deserializeAws_ec2ModifyClientVpnEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyIdFormatCommandError(output, context); + return deserializeAws_ec2ModifyClientVpnEndpointCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifyIdFormatCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyClientVpnEndpointResult(data, context); + const response: ModifyClientVpnEndpointCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyIdFormatCommandError = async ( +const deserializeAws_ec2ModifyClientVpnEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27933,24 +27780,27 @@ const deserializeAws_ec2ModifyIdFormatCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyImageAttributeCommand = async ( +export const deserializeAws_ec2ModifyDefaultCreditSpecificationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyImageAttributeCommandError(output, context); + return deserializeAws_ec2ModifyDefaultCreditSpecificationCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifyImageAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyDefaultCreditSpecificationResult(data, context); + const response: ModifyDefaultCreditSpecificationCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyImageAttributeCommandError = async ( +const deserializeAws_ec2ModifyDefaultCreditSpecificationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -27976,24 +27826,27 @@ const deserializeAws_ec2ModifyImageAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceAttributeCommand = async ( +export const deserializeAws_ec2ModifyEbsDefaultKmsKeyIdCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceAttributeCommandError(output, context); + return deserializeAws_ec2ModifyEbsDefaultKmsKeyIdCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifyInstanceAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyEbsDefaultKmsKeyIdResult(data, context); + const response: ModifyEbsDefaultKmsKeyIdCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceAttributeCommandError = async ( +const deserializeAws_ec2ModifyEbsDefaultKmsKeyIdCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28019,27 +27872,27 @@ const deserializeAws_ec2ModifyInstanceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommand = async ( +export const deserializeAws_ec2ModifyFleetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError(output, context); + return deserializeAws_ec2ModifyFleetCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceCapacityReservationAttributesResult(data, context); - const response: ModifyInstanceCapacityReservationAttributesCommandOutput = { + contents = deserializeAws_ec2ModifyFleetResult(data, context); + const response: ModifyFleetCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError = async ( +const deserializeAws_ec2ModifyFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28065,27 +27918,27 @@ const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceCreditSpecificationCommand = async ( +export const deserializeAws_ec2ModifyFpgaImageAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError(output, context); + return deserializeAws_ec2ModifyFpgaImageAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceCreditSpecificationResult(data, context); - const response: ModifyInstanceCreditSpecificationCommandOutput = { + contents = deserializeAws_ec2ModifyFpgaImageAttributeResult(data, context); + const response: ModifyFpgaImageAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError = async ( +const deserializeAws_ec2ModifyFpgaImageAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28111,27 +27964,27 @@ const deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceEventStartTimeCommand = async ( +export const deserializeAws_ec2ModifyHostsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceEventStartTimeCommandError(output, context); + return deserializeAws_ec2ModifyHostsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceEventStartTimeResult(data, context); - const response: ModifyInstanceEventStartTimeCommandOutput = { + contents = deserializeAws_ec2ModifyHostsResult(data, context); + const response: ModifyHostsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceEventStartTimeCommandError = async ( +const deserializeAws_ec2ModifyHostsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28157,27 +28010,24 @@ const deserializeAws_ec2ModifyInstanceEventStartTimeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceEventWindowCommand = async ( +export const deserializeAws_ec2ModifyIdentityIdFormatCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceEventWindowCommandError(output, context); + return deserializeAws_ec2ModifyIdentityIdFormatCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceEventWindowResult(data, context); - const response: ModifyInstanceEventWindowCommandOutput = { + await collectBody(output.body, context); + const response: ModifyIdentityIdFormatCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceEventWindowCommandError = async ( +const deserializeAws_ec2ModifyIdentityIdFormatCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28203,27 +28053,24 @@ const deserializeAws_ec2ModifyInstanceEventWindowCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstanceMetadataOptionsCommand = async ( +export const deserializeAws_ec2ModifyIdFormatCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError(output, context); + return deserializeAws_ec2ModifyIdFormatCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyInstanceMetadataOptionsResult(data, context); - const response: ModifyInstanceMetadataOptionsCommandOutput = { + await collectBody(output.body, context); + const response: ModifyIdFormatCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError = async ( +const deserializeAws_ec2ModifyIdFormatCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28249,27 +28096,24 @@ const deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyInstancePlacementCommand = async ( +export const deserializeAws_ec2ModifyImageAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyInstancePlacementCommandError(output, context); + return deserializeAws_ec2ModifyImageAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyInstancePlacementResult(data, context); - const response: ModifyInstancePlacementCommandOutput = { + await collectBody(output.body, context); + const response: ModifyImageAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyInstancePlacementCommandError = async ( +const deserializeAws_ec2ModifyImageAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28295,27 +28139,24 @@ const deserializeAws_ec2ModifyInstancePlacementCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyLaunchTemplateCommand = async ( +export const deserializeAws_ec2ModifyInstanceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyLaunchTemplateCommandError(output, context); + return deserializeAws_ec2ModifyInstanceAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyLaunchTemplateResult(data, context); - const response: ModifyLaunchTemplateCommandOutput = { + await collectBody(output.body, context); + const response: ModifyInstanceAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyLaunchTemplateCommandError = async ( +const deserializeAws_ec2ModifyInstanceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28341,27 +28182,27 @@ const deserializeAws_ec2ModifyLaunchTemplateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyManagedPrefixListCommand = async ( +export const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyManagedPrefixListCommandError(output, context); + return deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyManagedPrefixListResult(data, context); - const response: ModifyManagedPrefixListCommandOutput = { + contents = deserializeAws_ec2ModifyInstanceCapacityReservationAttributesResult(data, context); + const response: ModifyInstanceCapacityReservationAttributesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyManagedPrefixListCommandError = async ( +const deserializeAws_ec2ModifyInstanceCapacityReservationAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28387,24 +28228,27 @@ const deserializeAws_ec2ModifyManagedPrefixListCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyNetworkInterfaceAttributeCommand = async ( +export const deserializeAws_ec2ModifyInstanceCreditSpecificationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyNetworkInterfaceAttributeCommandError(output, context); + return deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifyNetworkInterfaceAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyInstanceCreditSpecificationResult(data, context); + const response: ModifyInstanceCreditSpecificationCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyNetworkInterfaceAttributeCommandError = async ( +const deserializeAws_ec2ModifyInstanceCreditSpecificationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28430,27 +28274,27 @@ const deserializeAws_ec2ModifyNetworkInterfaceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyReservedInstancesCommand = async ( +export const deserializeAws_ec2ModifyInstanceEventStartTimeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyReservedInstancesCommandError(output, context); + return deserializeAws_ec2ModifyInstanceEventStartTimeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyReservedInstancesResult(data, context); - const response: ModifyReservedInstancesCommandOutput = { + contents = deserializeAws_ec2ModifyInstanceEventStartTimeResult(data, context); + const response: ModifyInstanceEventStartTimeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyReservedInstancesCommandError = async ( +const deserializeAws_ec2ModifyInstanceEventStartTimeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28476,27 +28320,27 @@ const deserializeAws_ec2ModifyReservedInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifySecurityGroupRulesCommand = async ( +export const deserializeAws_ec2ModifyInstanceEventWindowCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifySecurityGroupRulesCommandError(output, context); + return deserializeAws_ec2ModifyInstanceEventWindowCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifySecurityGroupRulesResult(data, context); - const response: ModifySecurityGroupRulesCommandOutput = { + contents = deserializeAws_ec2ModifyInstanceEventWindowResult(data, context); + const response: ModifyInstanceEventWindowCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifySecurityGroupRulesCommandError = async ( +const deserializeAws_ec2ModifyInstanceEventWindowCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28522,24 +28366,27 @@ const deserializeAws_ec2ModifySecurityGroupRulesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifySnapshotAttributeCommand = async ( +export const deserializeAws_ec2ModifyInstanceMetadataOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifySnapshotAttributeCommandError(output, context); + return deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifySnapshotAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyInstanceMetadataOptionsResult(data, context); + const response: ModifyInstanceMetadataOptionsCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifySnapshotAttributeCommandError = async ( +const deserializeAws_ec2ModifyInstanceMetadataOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28565,27 +28412,27 @@ const deserializeAws_ec2ModifySnapshotAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifySpotFleetRequestCommand = async ( +export const deserializeAws_ec2ModifyInstancePlacementCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifySpotFleetRequestCommandError(output, context); + return deserializeAws_ec2ModifyInstancePlacementCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifySpotFleetRequestResponse(data, context); - const response: ModifySpotFleetRequestCommandOutput = { + contents = deserializeAws_ec2ModifyInstancePlacementResult(data, context); + const response: ModifyInstancePlacementCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifySpotFleetRequestCommandError = async ( +const deserializeAws_ec2ModifyInstancePlacementCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28611,24 +28458,27 @@ const deserializeAws_ec2ModifySpotFleetRequestCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifySubnetAttributeCommand = async ( +export const deserializeAws_ec2ModifyLaunchTemplateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifySubnetAttributeCommandError(output, context); + return deserializeAws_ec2ModifyLaunchTemplateCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifySubnetAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyLaunchTemplateResult(data, context); + const response: ModifyLaunchTemplateCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifySubnetAttributeCommandError = async ( +const deserializeAws_ec2ModifyLaunchTemplateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28654,27 +28504,27 @@ const deserializeAws_ec2ModifySubnetAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommand = async ( +export const deserializeAws_ec2ModifyManagedPrefixListCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommandError(output, context); + return deserializeAws_ec2ModifyManagedPrefixListCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesResult(data, context); - const response: ModifyTrafficMirrorFilterNetworkServicesCommandOutput = { + contents = deserializeAws_ec2ModifyManagedPrefixListResult(data, context); + const response: ModifyManagedPrefixListCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommandError = async ( +const deserializeAws_ec2ModifyManagedPrefixListCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28700,27 +28550,24 @@ const deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommandError = a return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyTrafficMirrorFilterRuleCommand = async ( +export const deserializeAws_ec2ModifyNetworkInterfaceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyTrafficMirrorFilterRuleCommandError(output, context); + return deserializeAws_ec2ModifyNetworkInterfaceAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyTrafficMirrorFilterRuleResult(data, context); - const response: ModifyTrafficMirrorFilterRuleCommandOutput = { + await collectBody(output.body, context); + const response: ModifyNetworkInterfaceAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyTrafficMirrorFilterRuleCommandError = async ( +const deserializeAws_ec2ModifyNetworkInterfaceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28746,27 +28593,27 @@ const deserializeAws_ec2ModifyTrafficMirrorFilterRuleCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyTrafficMirrorSessionCommand = async ( +export const deserializeAws_ec2ModifyReservedInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyTrafficMirrorSessionCommandError(output, context); + return deserializeAws_ec2ModifyReservedInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyTrafficMirrorSessionResult(data, context); - const response: ModifyTrafficMirrorSessionCommandOutput = { + contents = deserializeAws_ec2ModifyReservedInstancesResult(data, context); + const response: ModifyReservedInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyTrafficMirrorSessionCommandError = async ( +const deserializeAws_ec2ModifyReservedInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28792,27 +28639,27 @@ const deserializeAws_ec2ModifyTrafficMirrorSessionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyTransitGatewayCommand = async ( +export const deserializeAws_ec2ModifySecurityGroupRulesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyTransitGatewayCommandError(output, context); + return deserializeAws_ec2ModifySecurityGroupRulesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyTransitGatewayResult(data, context); - const response: ModifyTransitGatewayCommandOutput = { + contents = deserializeAws_ec2ModifySecurityGroupRulesResult(data, context); + const response: ModifySecurityGroupRulesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyTransitGatewayCommandError = async ( +const deserializeAws_ec2ModifySecurityGroupRulesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28838,27 +28685,24 @@ const deserializeAws_ec2ModifyTransitGatewayCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommand = async ( +export const deserializeAws_ec2ModifySnapshotAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommandError(output, context); + return deserializeAws_ec2ModifySnapshotAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceResult(data, context); - const response: ModifyTransitGatewayPrefixListReferenceCommandOutput = { + await collectBody(output.body, context); + const response: ModifySnapshotAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommandError = async ( +const deserializeAws_ec2ModifySnapshotAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28884,27 +28728,27 @@ const deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommand = async ( +export const deserializeAws_ec2ModifySpotFleetRequestCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError(output, context); + return deserializeAws_ec2ModifySpotFleetRequestCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyTransitGatewayVpcAttachmentResult(data, context); - const response: ModifyTransitGatewayVpcAttachmentCommandOutput = { + contents = deserializeAws_ec2ModifySpotFleetRequestResponse(data, context); + const response: ModifySpotFleetRequestCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError = async ( +const deserializeAws_ec2ModifySpotFleetRequestCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28930,27 +28774,70 @@ const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVolumeCommand = async ( +export const deserializeAws_ec2ModifySubnetAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVolumeCommandError(output, context); + return deserializeAws_ec2ModifySubnetAttributeCommandError(output, context); + } + await collectBody(output.body, context); + const response: ModifySubnetAttributeCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2ModifySubnetAttributeCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVolumeResult(data, context); - const response: ModifyVolumeCommandOutput = { + contents = deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesResult(data, context); + const response: ModifyTrafficMirrorFilterNetworkServicesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVolumeCommandError = async ( +const deserializeAws_ec2ModifyTrafficMirrorFilterNetworkServicesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -28976,24 +28863,27 @@ const deserializeAws_ec2ModifyVolumeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVolumeAttributeCommand = async ( +export const deserializeAws_ec2ModifyTrafficMirrorFilterRuleCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVolumeAttributeCommandError(output, context); + return deserializeAws_ec2ModifyTrafficMirrorFilterRuleCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifyVolumeAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyTrafficMirrorFilterRuleResult(data, context); + const response: ModifyTrafficMirrorFilterRuleCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVolumeAttributeCommandError = async ( +const deserializeAws_ec2ModifyTrafficMirrorFilterRuleCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29019,24 +28909,27 @@ const deserializeAws_ec2ModifyVolumeAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcAttributeCommand = async ( +export const deserializeAws_ec2ModifyTrafficMirrorSessionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcAttributeCommandError(output, context); + return deserializeAws_ec2ModifyTrafficMirrorSessionCommandError(output, context); } - await collectBody(output.body, context); - const response: ModifyVpcAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ModifyTrafficMirrorSessionResult(data, context); + const response: ModifyTrafficMirrorSessionCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcAttributeCommandError = async ( +const deserializeAws_ec2ModifyTrafficMirrorSessionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29062,27 +28955,27 @@ const deserializeAws_ec2ModifyVpcAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcEndpointCommand = async ( +export const deserializeAws_ec2ModifyTransitGatewayCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcEndpointCommandError(output, context); + return deserializeAws_ec2ModifyTransitGatewayCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcEndpointResult(data, context); - const response: ModifyVpcEndpointCommandOutput = { + contents = deserializeAws_ec2ModifyTransitGatewayResult(data, context); + const response: ModifyTransitGatewayCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcEndpointCommandError = async ( +const deserializeAws_ec2ModifyTransitGatewayCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29108,27 +29001,27 @@ const deserializeAws_ec2ModifyVpcEndpointCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommand = async ( +export const deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError(output, context); + return deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcEndpointConnectionNotificationResult(data, context); - const response: ModifyVpcEndpointConnectionNotificationCommandOutput = { + contents = deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceResult(data, context); + const response: ModifyTransitGatewayPrefixListReferenceCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError = async ( +const deserializeAws_ec2ModifyTransitGatewayPrefixListReferenceCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29154,27 +29047,27 @@ const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError = as return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommand = async ( +export const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError(output, context); + return deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcEndpointServiceConfigurationResult(data, context); - const response: ModifyVpcEndpointServiceConfigurationCommandOutput = { + contents = deserializeAws_ec2ModifyTransitGatewayVpcAttachmentResult(data, context); + const response: ModifyTransitGatewayVpcAttachmentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError = async ( +const deserializeAws_ec2ModifyTransitGatewayVpcAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29200,27 +29093,27 @@ const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommand = async ( +export const deserializeAws_ec2ModifyVolumeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError(output, context); + return deserializeAws_ec2ModifyVolumeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcEndpointServicePermissionsResult(data, context); - const response: ModifyVpcEndpointServicePermissionsCommandOutput = { + contents = deserializeAws_ec2ModifyVolumeResult(data, context); + const response: ModifyVolumeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError = async ( +const deserializeAws_ec2ModifyVolumeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29246,27 +29139,24 @@ const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand = async ( +export const deserializeAws_ec2ModifyVolumeAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError(output, context); + return deserializeAws_ec2ModifyVolumeAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcPeeringConnectionOptionsResult(data, context); - const response: ModifyVpcPeeringConnectionOptionsCommandOutput = { + await collectBody(output.body, context); + const response: ModifyVolumeAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError = async ( +const deserializeAws_ec2ModifyVolumeAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29292,27 +29182,24 @@ const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpcTenancyCommand = async ( +export const deserializeAws_ec2ModifyVpcAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpcTenancyCommandError(output, context); + return deserializeAws_ec2ModifyVpcAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ModifyVpcTenancyResult(data, context); - const response: ModifyVpcTenancyCommandOutput = { + await collectBody(output.body, context); + const response: ModifyVpcAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpcTenancyCommandError = async ( +const deserializeAws_ec2ModifyVpcAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29338,27 +29225,27 @@ const deserializeAws_ec2ModifyVpcTenancyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpnConnectionCommand = async ( +export const deserializeAws_ec2ModifyVpcEndpointCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpnConnectionCommandError(output, context); + return deserializeAws_ec2ModifyVpcEndpointCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpnConnectionResult(data, context); - const response: ModifyVpnConnectionCommandOutput = { + contents = deserializeAws_ec2ModifyVpcEndpointResult(data, context); + const response: ModifyVpcEndpointCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpnConnectionCommandError = async ( +const deserializeAws_ec2ModifyVpcEndpointCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29384,27 +29271,27 @@ const deserializeAws_ec2ModifyVpnConnectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpnConnectionOptionsCommand = async ( +export const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpnConnectionOptionsCommandError(output, context); + return deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpnConnectionOptionsResult(data, context); - const response: ModifyVpnConnectionOptionsCommandOutput = { + contents = deserializeAws_ec2ModifyVpcEndpointConnectionNotificationResult(data, context); + const response: ModifyVpcEndpointConnectionNotificationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpnConnectionOptionsCommandError = async ( +const deserializeAws_ec2ModifyVpcEndpointConnectionNotificationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29430,27 +29317,27 @@ const deserializeAws_ec2ModifyVpnConnectionOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpnTunnelCertificateCommand = async ( +export const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpnTunnelCertificateCommandError(output, context); + return deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpnTunnelCertificateResult(data, context); - const response: ModifyVpnTunnelCertificateCommandOutput = { + contents = deserializeAws_ec2ModifyVpcEndpointServiceConfigurationResult(data, context); + const response: ModifyVpcEndpointServiceConfigurationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpnTunnelCertificateCommandError = async ( +const deserializeAws_ec2ModifyVpcEndpointServiceConfigurationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29476,27 +29363,27 @@ const deserializeAws_ec2ModifyVpnTunnelCertificateCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ModifyVpnTunnelOptionsCommand = async ( +export const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ModifyVpnTunnelOptionsCommandError(output, context); + return deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ModifyVpnTunnelOptionsResult(data, context); - const response: ModifyVpnTunnelOptionsCommandOutput = { + contents = deserializeAws_ec2ModifyVpcEndpointServicePermissionsResult(data, context); + const response: ModifyVpcEndpointServicePermissionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ModifyVpnTunnelOptionsCommandError = async ( +const deserializeAws_ec2ModifyVpcEndpointServicePermissionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29522,27 +29409,27 @@ const deserializeAws_ec2ModifyVpnTunnelOptionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2MonitorInstancesCommand = async ( +export const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2MonitorInstancesCommandError(output, context); + return deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2MonitorInstancesResult(data, context); - const response: MonitorInstancesCommandOutput = { + contents = deserializeAws_ec2ModifyVpcPeeringConnectionOptionsResult(data, context); + const response: ModifyVpcPeeringConnectionOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2MonitorInstancesCommandError = async ( +const deserializeAws_ec2ModifyVpcPeeringConnectionOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29568,27 +29455,27 @@ const deserializeAws_ec2MonitorInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2MoveAddressToVpcCommand = async ( +export const deserializeAws_ec2ModifyVpcTenancyCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2MoveAddressToVpcCommandError(output, context); + return deserializeAws_ec2ModifyVpcTenancyCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2MoveAddressToVpcResult(data, context); - const response: MoveAddressToVpcCommandOutput = { + contents = deserializeAws_ec2ModifyVpcTenancyResult(data, context); + const response: ModifyVpcTenancyCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2MoveAddressToVpcCommandError = async ( +const deserializeAws_ec2ModifyVpcTenancyCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29614,27 +29501,27 @@ const deserializeAws_ec2MoveAddressToVpcCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ProvisionByoipCidrCommand = async ( +export const deserializeAws_ec2ModifyVpnConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ProvisionByoipCidrCommandError(output, context); + return deserializeAws_ec2ModifyVpnConnectionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ProvisionByoipCidrResult(data, context); - const response: ProvisionByoipCidrCommandOutput = { + contents = deserializeAws_ec2ModifyVpnConnectionResult(data, context); + const response: ModifyVpnConnectionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ProvisionByoipCidrCommandError = async ( +const deserializeAws_ec2ModifyVpnConnectionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29660,27 +29547,27 @@ const deserializeAws_ec2ProvisionByoipCidrCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2PurchaseHostReservationCommand = async ( +export const deserializeAws_ec2ModifyVpnConnectionOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2PurchaseHostReservationCommandError(output, context); + return deserializeAws_ec2ModifyVpnConnectionOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2PurchaseHostReservationResult(data, context); - const response: PurchaseHostReservationCommandOutput = { + contents = deserializeAws_ec2ModifyVpnConnectionOptionsResult(data, context); + const response: ModifyVpnConnectionOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2PurchaseHostReservationCommandError = async ( +const deserializeAws_ec2ModifyVpnConnectionOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29706,27 +29593,27 @@ const deserializeAws_ec2PurchaseHostReservationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2PurchaseReservedInstancesOfferingCommand = async ( +export const deserializeAws_ec2ModifyVpnTunnelCertificateCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError(output, context); + return deserializeAws_ec2ModifyVpnTunnelCertificateCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2PurchaseReservedInstancesOfferingResult(data, context); - const response: PurchaseReservedInstancesOfferingCommandOutput = { + contents = deserializeAws_ec2ModifyVpnTunnelCertificateResult(data, context); + const response: ModifyVpnTunnelCertificateCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError = async ( +const deserializeAws_ec2ModifyVpnTunnelCertificateCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29752,27 +29639,27 @@ const deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2PurchaseScheduledInstancesCommand = async ( +export const deserializeAws_ec2ModifyVpnTunnelOptionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2PurchaseScheduledInstancesCommandError(output, context); + return deserializeAws_ec2ModifyVpnTunnelOptionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2PurchaseScheduledInstancesResult(data, context); - const response: PurchaseScheduledInstancesCommandOutput = { + contents = deserializeAws_ec2ModifyVpnTunnelOptionsResult(data, context); + const response: ModifyVpnTunnelOptionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2PurchaseScheduledInstancesCommandError = async ( +const deserializeAws_ec2ModifyVpnTunnelOptionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29798,24 +29685,27 @@ const deserializeAws_ec2PurchaseScheduledInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RebootInstancesCommand = async ( +export const deserializeAws_ec2MonitorInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RebootInstancesCommandError(output, context); + return deserializeAws_ec2MonitorInstancesCommandError(output, context); } - await collectBody(output.body, context); - const response: RebootInstancesCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2MonitorInstancesResult(data, context); + const response: MonitorInstancesCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RebootInstancesCommandError = async ( +const deserializeAws_ec2MonitorInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29841,27 +29731,27 @@ const deserializeAws_ec2RebootInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RegisterImageCommand = async ( +export const deserializeAws_ec2MoveAddressToVpcCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RegisterImageCommandError(output, context); + return deserializeAws_ec2MoveAddressToVpcCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RegisterImageResult(data, context); - const response: RegisterImageCommandOutput = { + contents = deserializeAws_ec2MoveAddressToVpcResult(data, context); + const response: MoveAddressToVpcCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RegisterImageCommandError = async ( +const deserializeAws_ec2MoveAddressToVpcCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29887,27 +29777,27 @@ const deserializeAws_ec2RegisterImageCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommand = async ( +export const deserializeAws_ec2ProvisionByoipCidrCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError(output, context); + return deserializeAws_ec2ProvisionByoipCidrCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RegisterInstanceEventNotificationAttributesResult(data, context); - const response: RegisterInstanceEventNotificationAttributesCommandOutput = { + contents = deserializeAws_ec2ProvisionByoipCidrResult(data, context); + const response: ProvisionByoipCidrCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError = async ( +const deserializeAws_ec2ProvisionByoipCidrCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29933,27 +29823,27 @@ const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommand = async ( +export const deserializeAws_ec2PurchaseHostReservationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError(output, context); + return deserializeAws_ec2PurchaseHostReservationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersResult(data, context); - const response: RegisterTransitGatewayMulticastGroupMembersCommandOutput = { + contents = deserializeAws_ec2PurchaseHostReservationResult(data, context); + const response: PurchaseHostReservationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError = async ( +const deserializeAws_ec2PurchaseHostReservationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -29979,27 +29869,27 @@ const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommand = async ( +export const deserializeAws_ec2PurchaseReservedInstancesOfferingCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError(output, context); + return deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesResult(data, context); - const response: RegisterTransitGatewayMulticastGroupSourcesCommandOutput = { + contents = deserializeAws_ec2PurchaseReservedInstancesOfferingResult(data, context); + const response: PurchaseReservedInstancesOfferingCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError = async ( +const deserializeAws_ec2PurchaseReservedInstancesOfferingCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30025,27 +29915,27 @@ const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsCommand = async ( +export const deserializeAws_ec2PurchaseScheduledInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsCommandError(output, context); + return deserializeAws_ec2PurchaseScheduledInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsResult(data, context); - const response: RejectTransitGatewayMulticastDomainAssociationsCommandOutput = { + contents = deserializeAws_ec2PurchaseScheduledInstancesResult(data, context); + const response: PurchaseScheduledInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsCommandError = async ( +const deserializeAws_ec2PurchaseScheduledInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30071,27 +29961,70 @@ const deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsCommandEr return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommand = async ( +export const deserializeAws_ec2RebootInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError(output, context); + return deserializeAws_ec2RebootInstancesCommandError(output, context); + } + await collectBody(output.body, context); + const response: RebootInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2RebootInstancesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2RegisterImageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2RegisterImageCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectTransitGatewayPeeringAttachmentResult(data, context); - const response: RejectTransitGatewayPeeringAttachmentCommandOutput = { + contents = deserializeAws_ec2RegisterImageResult(data, context); + const response: RegisterImageCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError = async ( +const deserializeAws_ec2RegisterImageCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30117,27 +30050,27 @@ const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError = asyn return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommand = async ( +export const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError(output, context); + return deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectTransitGatewayVpcAttachmentResult(data, context); - const response: RejectTransitGatewayVpcAttachmentCommandOutput = { + contents = deserializeAws_ec2RegisterInstanceEventNotificationAttributesResult(data, context); + const response: RegisterInstanceEventNotificationAttributesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError = async ( +const deserializeAws_ec2RegisterInstanceEventNotificationAttributesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30163,27 +30096,27 @@ const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectVpcEndpointConnectionsCommand = async ( +export const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectVpcEndpointConnectionsCommandError(output, context); + return deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectVpcEndpointConnectionsResult(data, context); - const response: RejectVpcEndpointConnectionsCommandOutput = { + contents = deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersResult(data, context); + const response: RegisterTransitGatewayMulticastGroupMembersCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectVpcEndpointConnectionsCommandError = async ( +const deserializeAws_ec2RegisterTransitGatewayMulticastGroupMembersCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30209,27 +30142,27 @@ const deserializeAws_ec2RejectVpcEndpointConnectionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RejectVpcPeeringConnectionCommand = async ( +export const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RejectVpcPeeringConnectionCommandError(output, context); + return deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RejectVpcPeeringConnectionResult(data, context); - const response: RejectVpcPeeringConnectionCommandOutput = { + contents = deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesResult(data, context); + const response: RegisterTransitGatewayMulticastGroupSourcesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RejectVpcPeeringConnectionCommandError = async ( +const deserializeAws_ec2RegisterTransitGatewayMulticastGroupSourcesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30255,24 +30188,27 @@ const deserializeAws_ec2RejectVpcPeeringConnectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReleaseAddressCommand = async ( +export const deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReleaseAddressCommandError(output, context); + return deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsCommandError(output, context); } - await collectBody(output.body, context); - const response: ReleaseAddressCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsResult(data, context); + const response: RejectTransitGatewayMulticastDomainAssociationsCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReleaseAddressCommandError = async ( +const deserializeAws_ec2RejectTransitGatewayMulticastDomainAssociationsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30298,27 +30234,27 @@ const deserializeAws_ec2ReleaseAddressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReleaseHostsCommand = async ( +export const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReleaseHostsCommandError(output, context); + return deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReleaseHostsResult(data, context); - const response: ReleaseHostsCommandOutput = { + contents = deserializeAws_ec2RejectTransitGatewayPeeringAttachmentResult(data, context); + const response: RejectTransitGatewayPeeringAttachmentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReleaseHostsCommandError = async ( +const deserializeAws_ec2RejectTransitGatewayPeeringAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30344,27 +30280,27 @@ const deserializeAws_ec2ReleaseHostsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommand = async ( +export const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError(output, context); + return deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReplaceIamInstanceProfileAssociationResult(data, context); - const response: ReplaceIamInstanceProfileAssociationCommandOutput = { + contents = deserializeAws_ec2RejectTransitGatewayVpcAttachmentResult(data, context); + const response: RejectTransitGatewayVpcAttachmentCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError = async ( +const deserializeAws_ec2RejectTransitGatewayVpcAttachmentCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30390,27 +30326,27 @@ const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceNetworkAclAssociationCommand = async ( +export const deserializeAws_ec2RejectVpcEndpointConnectionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceNetworkAclAssociationCommandError(output, context); + return deserializeAws_ec2RejectVpcEndpointConnectionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReplaceNetworkAclAssociationResult(data, context); - const response: ReplaceNetworkAclAssociationCommandOutput = { + contents = deserializeAws_ec2RejectVpcEndpointConnectionsResult(data, context); + const response: RejectVpcEndpointConnectionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceNetworkAclAssociationCommandError = async ( +const deserializeAws_ec2RejectVpcEndpointConnectionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30436,24 +30372,27 @@ const deserializeAws_ec2ReplaceNetworkAclAssociationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceNetworkAclEntryCommand = async ( +export const deserializeAws_ec2RejectVpcPeeringConnectionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceNetworkAclEntryCommandError(output, context); + return deserializeAws_ec2RejectVpcPeeringConnectionCommandError(output, context); } - await collectBody(output.body, context); - const response: ReplaceNetworkAclEntryCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RejectVpcPeeringConnectionResult(data, context); + const response: RejectVpcPeeringConnectionCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceNetworkAclEntryCommandError = async ( +const deserializeAws_ec2RejectVpcPeeringConnectionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30479,24 +30418,24 @@ const deserializeAws_ec2ReplaceNetworkAclEntryCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceRouteCommand = async ( +export const deserializeAws_ec2ReleaseAddressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceRouteCommandError(output, context); + return deserializeAws_ec2ReleaseAddressCommandError(output, context); } await collectBody(output.body, context); - const response: ReplaceRouteCommandOutput = { + const response: ReleaseAddressCommandOutput = { $metadata: deserializeMetadata(output), }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceRouteCommandError = async ( +const deserializeAws_ec2ReleaseAddressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30522,27 +30461,27 @@ const deserializeAws_ec2ReplaceRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceRouteTableAssociationCommand = async ( +export const deserializeAws_ec2ReleaseHostsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceRouteTableAssociationCommandError(output, context); + return deserializeAws_ec2ReleaseHostsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReplaceRouteTableAssociationResult(data, context); - const response: ReplaceRouteTableAssociationCommandOutput = { + contents = deserializeAws_ec2ReleaseHostsResult(data, context); + const response: ReleaseHostsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceRouteTableAssociationCommandError = async ( +const deserializeAws_ec2ReleaseHostsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30568,27 +30507,27 @@ const deserializeAws_ec2ReplaceRouteTableAssociationCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReplaceTransitGatewayRouteCommand = async ( +export const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReplaceTransitGatewayRouteCommandError(output, context); + return deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ReplaceTransitGatewayRouteResult(data, context); - const response: ReplaceTransitGatewayRouteCommandOutput = { + contents = deserializeAws_ec2ReplaceIamInstanceProfileAssociationResult(data, context); + const response: ReplaceIamInstanceProfileAssociationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReplaceTransitGatewayRouteCommandError = async ( +const deserializeAws_ec2ReplaceIamInstanceProfileAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30614,24 +30553,27 @@ const deserializeAws_ec2ReplaceTransitGatewayRouteCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ReportInstanceStatusCommand = async ( +export const deserializeAws_ec2ReplaceNetworkAclAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ReportInstanceStatusCommandError(output, context); + return deserializeAws_ec2ReplaceNetworkAclAssociationCommandError(output, context); } - await collectBody(output.body, context); - const response: ReportInstanceStatusCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ReplaceNetworkAclAssociationResult(data, context); + const response: ReplaceNetworkAclAssociationCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ReportInstanceStatusCommandError = async ( +const deserializeAws_ec2ReplaceNetworkAclAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30657,27 +30599,24 @@ const deserializeAws_ec2ReportInstanceStatusCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RequestSpotFleetCommand = async ( +export const deserializeAws_ec2ReplaceNetworkAclEntryCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RequestSpotFleetCommandError(output, context); + return deserializeAws_ec2ReplaceNetworkAclEntryCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RequestSpotFleetResponse(data, context); - const response: RequestSpotFleetCommandOutput = { + await collectBody(output.body, context); + const response: ReplaceNetworkAclEntryCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RequestSpotFleetCommandError = async ( +const deserializeAws_ec2ReplaceNetworkAclEntryCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30703,27 +30642,24 @@ const deserializeAws_ec2RequestSpotFleetCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RequestSpotInstancesCommand = async ( +export const deserializeAws_ec2ReplaceRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RequestSpotInstancesCommandError(output, context); + return deserializeAws_ec2ReplaceRouteCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RequestSpotInstancesResult(data, context); - const response: RequestSpotInstancesCommandOutput = { + await collectBody(output.body, context); + const response: ReplaceRouteCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RequestSpotInstancesCommandError = async ( +const deserializeAws_ec2ReplaceRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30749,27 +30685,27 @@ const deserializeAws_ec2RequestSpotInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetAddressAttributeCommand = async ( +export const deserializeAws_ec2ReplaceRouteTableAssociationCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetAddressAttributeCommandError(output, context); + return deserializeAws_ec2ReplaceRouteTableAssociationCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ResetAddressAttributeResult(data, context); - const response: ResetAddressAttributeCommandOutput = { + contents = deserializeAws_ec2ReplaceRouteTableAssociationResult(data, context); + const response: ReplaceRouteTableAssociationCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetAddressAttributeCommandError = async ( +const deserializeAws_ec2ReplaceRouteTableAssociationCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30795,27 +30731,27 @@ const deserializeAws_ec2ResetAddressAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommand = async ( +export const deserializeAws_ec2ReplaceTransitGatewayRouteCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError(output, context); + return deserializeAws_ec2ReplaceTransitGatewayRouteCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2ResetEbsDefaultKmsKeyIdResult(data, context); - const response: ResetEbsDefaultKmsKeyIdCommandOutput = { + contents = deserializeAws_ec2ReplaceTransitGatewayRouteResult(data, context); + const response: ReplaceTransitGatewayRouteCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError = async ( +const deserializeAws_ec2ReplaceTransitGatewayRouteCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30841,27 +30777,24 @@ const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetFpgaImageAttributeCommand = async ( +export const deserializeAws_ec2ReportInstanceStatusCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetFpgaImageAttributeCommandError(output, context); + return deserializeAws_ec2ReportInstanceStatusCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2ResetFpgaImageAttributeResult(data, context); - const response: ResetFpgaImageAttributeCommandOutput = { + await collectBody(output.body, context); + const response: ReportInstanceStatusCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetFpgaImageAttributeCommandError = async ( +const deserializeAws_ec2ReportInstanceStatusCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30887,24 +30820,27 @@ const deserializeAws_ec2ResetFpgaImageAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetImageAttributeCommand = async ( +export const deserializeAws_ec2RequestSpotFleetCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetImageAttributeCommandError(output, context); + return deserializeAws_ec2RequestSpotFleetCommandError(output, context); } - await collectBody(output.body, context); - const response: ResetImageAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RequestSpotFleetResponse(data, context); + const response: RequestSpotFleetCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetImageAttributeCommandError = async ( +const deserializeAws_ec2RequestSpotFleetCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30930,24 +30866,27 @@ const deserializeAws_ec2ResetImageAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetInstanceAttributeCommand = async ( +export const deserializeAws_ec2RequestSpotInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetInstanceAttributeCommandError(output, context); + return deserializeAws_ec2RequestSpotInstancesCommandError(output, context); } - await collectBody(output.body, context); - const response: ResetInstanceAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2RequestSpotInstancesResult(data, context); + const response: RequestSpotInstancesCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetInstanceAttributeCommandError = async ( +const deserializeAws_ec2RequestSpotInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -30973,24 +30912,27 @@ const deserializeAws_ec2ResetInstanceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetNetworkInterfaceAttributeCommand = async ( +export const deserializeAws_ec2ResetAddressAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError(output, context); + return deserializeAws_ec2ResetAddressAttributeCommandError(output, context); } - await collectBody(output.body, context); - const response: ResetNetworkInterfaceAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ResetAddressAttributeResult(data, context); + const response: ResetAddressAttributeCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError = async ( +const deserializeAws_ec2ResetAddressAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31016,24 +30958,27 @@ const deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2ResetSnapshotAttributeCommand = async ( +export const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2ResetSnapshotAttributeCommandError(output, context); + return deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError(output, context); } - await collectBody(output.body, context); - const response: ResetSnapshotAttributeCommandOutput = { + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2ResetEbsDefaultKmsKeyIdResult(data, context); + const response: ResetEbsDefaultKmsKeyIdCommandOutput = { $metadata: deserializeMetadata(output), + ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2ResetSnapshotAttributeCommandError = async ( +const deserializeAws_ec2ResetEbsDefaultKmsKeyIdCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31059,27 +31004,27 @@ const deserializeAws_ec2ResetSnapshotAttributeCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RestoreAddressToClassicCommand = async ( +export const deserializeAws_ec2ResetFpgaImageAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RestoreAddressToClassicCommandError(output, context); + return deserializeAws_ec2ResetFpgaImageAttributeCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RestoreAddressToClassicResult(data, context); - const response: RestoreAddressToClassicCommandOutput = { + contents = deserializeAws_ec2ResetFpgaImageAttributeResult(data, context); + const response: ResetFpgaImageAttributeCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RestoreAddressToClassicCommandError = async ( +const deserializeAws_ec2ResetFpgaImageAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31105,27 +31050,24 @@ const deserializeAws_ec2RestoreAddressToClassicCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RestoreManagedPrefixListVersionCommand = async ( +export const deserializeAws_ec2ResetImageAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RestoreManagedPrefixListVersionCommandError(output, context); + return deserializeAws_ec2ResetImageAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RestoreManagedPrefixListVersionResult(data, context); - const response: RestoreManagedPrefixListVersionCommandOutput = { + await collectBody(output.body, context); + const response: ResetImageAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RestoreManagedPrefixListVersionCommandError = async ( +const deserializeAws_ec2ResetImageAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31151,27 +31093,24 @@ const deserializeAws_ec2RestoreManagedPrefixListVersionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RevokeClientVpnIngressCommand = async ( +export const deserializeAws_ec2ResetInstanceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RevokeClientVpnIngressCommandError(output, context); + return deserializeAws_ec2ResetInstanceAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RevokeClientVpnIngressResult(data, context); - const response: RevokeClientVpnIngressCommandOutput = { + await collectBody(output.body, context); + const response: ResetInstanceAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RevokeClientVpnIngressCommandError = async ( +const deserializeAws_ec2ResetInstanceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31197,27 +31136,24 @@ const deserializeAws_ec2RevokeClientVpnIngressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RevokeSecurityGroupEgressCommand = async ( +export const deserializeAws_ec2ResetNetworkInterfaceAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RevokeSecurityGroupEgressCommandError(output, context); + return deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RevokeSecurityGroupEgressResult(data, context); - const response: RevokeSecurityGroupEgressCommandOutput = { + await collectBody(output.body, context); + const response: ResetNetworkInterfaceAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RevokeSecurityGroupEgressCommandError = async ( +const deserializeAws_ec2ResetNetworkInterfaceAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31243,27 +31179,24 @@ const deserializeAws_ec2RevokeSecurityGroupEgressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RevokeSecurityGroupIngressCommand = async ( +export const deserializeAws_ec2ResetSnapshotAttributeCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RevokeSecurityGroupIngressCommandError(output, context); + return deserializeAws_ec2ResetSnapshotAttributeCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2RevokeSecurityGroupIngressResult(data, context); - const response: RevokeSecurityGroupIngressCommandOutput = { + await collectBody(output.body, context); + const response: ResetSnapshotAttributeCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RevokeSecurityGroupIngressCommandError = async ( +const deserializeAws_ec2ResetSnapshotAttributeCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31289,27 +31222,27 @@ const deserializeAws_ec2RevokeSecurityGroupIngressCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RunInstancesCommand = async ( +export const deserializeAws_ec2RestoreAddressToClassicCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RunInstancesCommandError(output, context); + return deserializeAws_ec2RestoreAddressToClassicCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2Reservation(data, context); - const response: RunInstancesCommandOutput = { + contents = deserializeAws_ec2RestoreAddressToClassicResult(data, context); + const response: RestoreAddressToClassicCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RunInstancesCommandError = async ( +const deserializeAws_ec2RestoreAddressToClassicCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31335,27 +31268,27 @@ const deserializeAws_ec2RunInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2RunScheduledInstancesCommand = async ( +export const deserializeAws_ec2RestoreManagedPrefixListVersionCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2RunScheduledInstancesCommandError(output, context); + return deserializeAws_ec2RestoreManagedPrefixListVersionCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2RunScheduledInstancesResult(data, context); - const response: RunScheduledInstancesCommandOutput = { + contents = deserializeAws_ec2RestoreManagedPrefixListVersionResult(data, context); + const response: RestoreManagedPrefixListVersionCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2RunScheduledInstancesCommandError = async ( +const deserializeAws_ec2RestoreManagedPrefixListVersionCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31381,27 +31314,27 @@ const deserializeAws_ec2RunScheduledInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2SearchLocalGatewayRoutesCommand = async ( +export const deserializeAws_ec2RevokeClientVpnIngressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2SearchLocalGatewayRoutesCommandError(output, context); + return deserializeAws_ec2RevokeClientVpnIngressCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2SearchLocalGatewayRoutesResult(data, context); - const response: SearchLocalGatewayRoutesCommandOutput = { + contents = deserializeAws_ec2RevokeClientVpnIngressResult(data, context); + const response: RevokeClientVpnIngressCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2SearchLocalGatewayRoutesCommandError = async ( +const deserializeAws_ec2RevokeClientVpnIngressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31427,27 +31360,27 @@ const deserializeAws_ec2SearchLocalGatewayRoutesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommand = async ( +export const deserializeAws_ec2RevokeSecurityGroupEgressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError(output, context); + return deserializeAws_ec2RevokeSecurityGroupEgressCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2SearchTransitGatewayMulticastGroupsResult(data, context); - const response: SearchTransitGatewayMulticastGroupsCommandOutput = { + contents = deserializeAws_ec2RevokeSecurityGroupEgressResult(data, context); + const response: RevokeSecurityGroupEgressCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError = async ( +const deserializeAws_ec2RevokeSecurityGroupEgressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31473,70 +31406,27 @@ const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError = async return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2SearchTransitGatewayRoutesCommand = async ( +export const deserializeAws_ec2RevokeSecurityGroupIngressCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2SearchTransitGatewayRoutesCommandError(output, context); + return deserializeAws_ec2RevokeSecurityGroupIngressCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2SearchTransitGatewayRoutesResult(data, context); - const response: SearchTransitGatewayRoutesCommandOutput = { + contents = deserializeAws_ec2RevokeSecurityGroupIngressResult(data, context); + const response: RevokeSecurityGroupIngressCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2SearchTransitGatewayRoutesCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadEc2ErrorCode(output, parsedOutput.body); - switch (errorCode) { - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; - response = { - ...parsedBody.Errors.Error, - name: `${errorCode}`, - message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; - } - const message = response.message || response.Message || errorCode; - response.message = message; - delete response.Message; - return Promise.reject(Object.assign(new Error(message), response)); -}; - -export const deserializeAws_ec2SendDiagnosticInterruptCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2SendDiagnosticInterruptCommandError(output, context); - } - await collectBody(output.body, context); - const response: SendDiagnosticInterruptCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2SendDiagnosticInterruptCommandError = async ( +const deserializeAws_ec2RevokeSecurityGroupIngressCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31562,27 +31452,27 @@ const deserializeAws_ec2SendDiagnosticInterruptCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2StartInstancesCommand = async ( +export const deserializeAws_ec2RunInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2StartInstancesCommandError(output, context); + return deserializeAws_ec2RunInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2StartInstancesResult(data, context); - const response: StartInstancesCommandOutput = { + contents = deserializeAws_ec2Reservation(data, context); + const response: RunInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2StartInstancesCommandError = async ( +const deserializeAws_ec2RunInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31608,27 +31498,27 @@ const deserializeAws_ec2StartInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2StartNetworkInsightsAnalysisCommand = async ( +export const deserializeAws_ec2RunScheduledInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2StartNetworkInsightsAnalysisCommandError(output, context); + return deserializeAws_ec2RunScheduledInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2StartNetworkInsightsAnalysisResult(data, context); - const response: StartNetworkInsightsAnalysisCommandOutput = { + contents = deserializeAws_ec2RunScheduledInstancesResult(data, context); + const response: RunScheduledInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2StartNetworkInsightsAnalysisCommandError = async ( +const deserializeAws_ec2RunScheduledInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31654,27 +31544,27 @@ const deserializeAws_ec2StartNetworkInsightsAnalysisCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommand = async ( +export const deserializeAws_ec2SearchLocalGatewayRoutesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommandError(output, context); + return deserializeAws_ec2SearchLocalGatewayRoutesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationResult(data, context); - const response: StartVpcEndpointServicePrivateDnsVerificationCommandOutput = { + contents = deserializeAws_ec2SearchLocalGatewayRoutesResult(data, context); + const response: SearchLocalGatewayRoutesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommandError = async ( +const deserializeAws_ec2SearchLocalGatewayRoutesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31700,27 +31590,27 @@ const deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommandErro return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2StopInstancesCommand = async ( +export const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2StopInstancesCommandError(output, context); + return deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2StopInstancesResult(data, context); - const response: StopInstancesCommandOutput = { + contents = deserializeAws_ec2SearchTransitGatewayMulticastGroupsResult(data, context); + const response: SearchTransitGatewayMulticastGroupsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2StopInstancesCommandError = async ( +const deserializeAws_ec2SearchTransitGatewayMulticastGroupsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31746,27 +31636,27 @@ const deserializeAws_ec2StopInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2TerminateClientVpnConnectionsCommand = async ( +export const deserializeAws_ec2SearchTransitGatewayRoutesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2TerminateClientVpnConnectionsCommandError(output, context); + return deserializeAws_ec2SearchTransitGatewayRoutesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2TerminateClientVpnConnectionsResult(data, context); - const response: TerminateClientVpnConnectionsCommandOutput = { + contents = deserializeAws_ec2SearchTransitGatewayRoutesResult(data, context); + const response: SearchTransitGatewayRoutesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2TerminateClientVpnConnectionsCommandError = async ( +const deserializeAws_ec2SearchTransitGatewayRoutesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31792,27 +31682,24 @@ const deserializeAws_ec2TerminateClientVpnConnectionsCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2TerminateInstancesCommand = async ( +export const deserializeAws_ec2SendDiagnosticInterruptCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2TerminateInstancesCommandError(output, context); + return deserializeAws_ec2SendDiagnosticInterruptCommandError(output, context); } - const data: any = await parseBody(output.body, context); - let contents: any = {}; - contents = deserializeAws_ec2TerminateInstancesResult(data, context); - const response: TerminateInstancesCommandOutput = { + await collectBody(output.body, context); + const response: SendDiagnosticInterruptCommandOutput = { $metadata: deserializeMetadata(output), - ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2TerminateInstancesCommandError = async ( +const deserializeAws_ec2SendDiagnosticInterruptCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31838,70 +31725,27 @@ const deserializeAws_ec2TerminateInstancesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2UnassignIpv6AddressesCommand = async ( +export const deserializeAws_ec2StartInstancesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2UnassignIpv6AddressesCommandError(output, context); + return deserializeAws_ec2StartInstancesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2UnassignIpv6AddressesResult(data, context); - const response: UnassignIpv6AddressesCommandOutput = { + contents = deserializeAws_ec2StartInstancesResult(data, context); + const response: StartInstancesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2UnassignIpv6AddressesCommandError = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - const parsedOutput: any = { - ...output, - body: await parseBody(output.body, context), - }; - let response: __SmithyException & __MetadataBearer & { [key: string]: any }; - let errorCode = "UnknownError"; - errorCode = loadEc2ErrorCode(output, parsedOutput.body); - switch (errorCode) { - default: - const parsedBody = parsedOutput.body; - errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; - response = { - ...parsedBody.Errors.Error, - name: `${errorCode}`, - message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, - $fault: "client", - $metadata: deserializeMetadata(output), - } as any; - } - const message = response.message || response.Message || errorCode; - response.message = message; - delete response.Message; - return Promise.reject(Object.assign(new Error(message), response)); -}; - -export const deserializeAws_ec2UnassignPrivateIpAddressesCommand = async ( - output: __HttpResponse, - context: __SerdeContext -): Promise => { - if (output.statusCode >= 300) { - return deserializeAws_ec2UnassignPrivateIpAddressesCommandError(output, context); - } - await collectBody(output.body, context); - const response: UnassignPrivateIpAddressesCommandOutput = { - $metadata: deserializeMetadata(output), - }; - return Promise.resolve(response); -}; - -const deserializeAws_ec2UnassignPrivateIpAddressesCommandError = async ( +const deserializeAws_ec2StartInstancesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -31927,27 +31771,346 @@ const deserializeAws_ec2UnassignPrivateIpAddressesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; -export const deserializeAws_ec2UnmonitorInstancesCommand = async ( +export const deserializeAws_ec2StartNetworkInsightsAnalysisCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return deserializeAws_ec2UnmonitorInstancesCommandError(output, context); + return deserializeAws_ec2StartNetworkInsightsAnalysisCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = deserializeAws_ec2UnmonitorInstancesResult(data, context); - const response: UnmonitorInstancesCommandOutput = { + contents = deserializeAws_ec2StartNetworkInsightsAnalysisResult(data, context); + const response: StartNetworkInsightsAnalysisCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; return Promise.resolve(response); }; -const deserializeAws_ec2UnmonitorInstancesCommandError = async ( +const deserializeAws_ec2StartNetworkInsightsAnalysisCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationResult(data, context); + const response: StartVpcEndpointServicePrivateDnsVerificationCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2StartVpcEndpointServicePrivateDnsVerificationCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2StopInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2StopInstancesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2StopInstancesResult(data, context); + const response: StopInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2StopInstancesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2TerminateClientVpnConnectionsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2TerminateClientVpnConnectionsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2TerminateClientVpnConnectionsResult(data, context); + const response: TerminateClientVpnConnectionsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2TerminateClientVpnConnectionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2TerminateInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2TerminateInstancesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2TerminateInstancesResult(data, context); + const response: TerminateInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2TerminateInstancesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2UnassignIpv6AddressesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2UnassignIpv6AddressesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2UnassignIpv6AddressesResult(data, context); + const response: UnassignIpv6AddressesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2UnassignIpv6AddressesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2UnassignPrivateIpAddressesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2UnassignPrivateIpAddressesCommandError(output, context); + } + await collectBody(output.body, context); + const response: UnassignPrivateIpAddressesCommandOutput = { + $metadata: deserializeMetadata(output), + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2UnassignPrivateIpAddressesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadEc2ErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode; + response = { + ...parsedBody.Errors.Error, + name: `${errorCode}`, + message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + +export const deserializeAws_ec2UnmonitorInstancesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_ec2UnmonitorInstancesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_ec2UnmonitorInstancesResult(data, context); + const response: UnmonitorInstancesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_ec2UnmonitorInstancesCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { const parsedOutput: any = { ...output, body: await parseBody(output.body, context), @@ -32111,6 +32274,95 @@ const deserializeAws_ec2WithdrawByoipCidrCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +const serializeAws_ec2AcceleratorCount = (input: AcceleratorCount, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_ec2AcceleratorCountRequest = (input: AcceleratorCountRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_ec2AcceleratorManufacturerSet = ( + input: (AcceleratorManufacturer | string)[], + context: __SerdeContext +): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_ec2AcceleratorNameSet = (input: (AcceleratorName | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_ec2AcceleratorTotalMemoryMiB = (input: AcceleratorTotalMemoryMiB, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_ec2AcceleratorTotalMemoryMiBRequest = ( + input: AcceleratorTotalMemoryMiBRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_ec2AcceleratorTypeSet = (input: (AcceleratorType | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2AcceptReservedInstancesExchangeQuoteRequest = ( input: AcceptReservedInstancesExchangeQuoteRequest, context: __SerdeContext @@ -32390,6 +32642,19 @@ const serializeAws_ec2ApplySecurityGroupsToClientVpnTargetNetworkRequest = ( return entries; }; +const serializeAws_ec2ArchitectureTypeSet = (input: (ArchitectureType | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2ArnList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -33017,6 +33282,31 @@ const serializeAws_ec2AvailabilityZoneStringList = (input: string[], context: __ return entries; }; +const serializeAws_ec2BaselineEbsBandwidthMbps = (input: BaselineEbsBandwidthMbps, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_ec2BaselineEbsBandwidthMbpsRequest = ( + input: BaselineEbsBandwidthMbpsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + const serializeAws_ec2BillingProductList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -33660,6 +33950,19 @@ const serializeAws_ec2CopySnapshotRequest = (input: CopySnapshotRequest, context return entries; }; +const serializeAws_ec2CpuManufacturerSet = (input: (CpuManufacturer | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2CpuOptionsRequest = (input: CpuOptionsRequest, context: __SerdeContext): any => { const entries: any = {}; if (input.CoreCount !== undefined && input.CoreCount !== null) { @@ -41307,6 +41610,19 @@ const serializeAws_ec2EnclaveOptionsRequest = (input: EnclaveOptionsRequest, con return entries; }; +const serializeAws_ec2ExcludedInstanceTypeSet = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2ExecutableByStringList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -41623,6 +41939,13 @@ const serializeAws_ec2FleetLaunchTemplateOverridesRequest = ( entries[loc] = value; }); } + if (input.InstanceRequirements !== undefined && input.InstanceRequirements !== null) { + const memberEntries = serializeAws_ec2InstanceRequirementsRequest(input.InstanceRequirements, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceRequirements.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -41932,6 +42255,44 @@ const serializeAws_ec2GetHostReservationPurchasePreviewRequest = ( return entries; }; +const serializeAws_ec2GetInstanceTypesFromInstanceRequirementsRequest = ( + input: GetInstanceTypesFromInstanceRequirementsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.ArchitectureTypes !== undefined && input.ArchitectureTypes !== null) { + const memberEntries = serializeAws_ec2ArchitectureTypeSet(input.ArchitectureTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ArchitectureType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.VirtualizationTypes !== undefined && input.VirtualizationTypes !== null) { + const memberEntries = serializeAws_ec2VirtualizationTypeSet(input.VirtualizationTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VirtualizationType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.InstanceRequirements !== undefined && input.InstanceRequirements !== null) { + const memberEntries = serializeAws_ec2InstanceRequirementsRequest(input.InstanceRequirements, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceRequirements.${key}`; + entries[loc] = value; + }); + } + if (input.MaxResults !== undefined && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + const serializeAws_ec2GetLaunchTemplateDataRequest = ( input: GetLaunchTemplateDataRequest, context: __SerdeContext @@ -42036,6 +42397,56 @@ const serializeAws_ec2GetSerialConsoleAccessStatusRequest = ( return entries; }; +const serializeAws_ec2GetSpotPlacementScoresRequest = ( + input: GetSpotPlacementScoresRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.InstanceTypes !== undefined && input.InstanceTypes !== null) { + const memberEntries = serializeAws_ec2InstanceTypes(input.InstanceTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.TargetCapacity !== undefined && input.TargetCapacity !== null) { + entries["TargetCapacity"] = input.TargetCapacity; + } + if (input.TargetCapacityUnitType !== undefined && input.TargetCapacityUnitType !== null) { + entries["TargetCapacityUnitType"] = input.TargetCapacityUnitType; + } + if (input.SingleAvailabilityZone !== undefined && input.SingleAvailabilityZone !== null) { + entries["SingleAvailabilityZone"] = input.SingleAvailabilityZone; + } + if (input.RegionNames !== undefined && input.RegionNames !== null) { + const memberEntries = serializeAws_ec2RegionNames(input.RegionNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `RegionName.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.InstanceRequirementsWithMetadata !== undefined && input.InstanceRequirementsWithMetadata !== null) { + const memberEntries = serializeAws_ec2InstanceRequirementsWithMetadataRequest( + input.InstanceRequirementsWithMetadata, + context + ); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceRequirementsWithMetadata.${key}`; + entries[loc] = value; + }); + } + if (input.DryRun !== undefined && input.DryRun !== null) { + entries["DryRun"] = input.DryRun; + } + if (input.MaxResults !== undefined && input.MaxResults !== null) { + entries["MaxResults"] = input.MaxResults; + } + if (input.NextToken !== undefined && input.NextToken !== null) { + entries["NextToken"] = input.NextToken; + } + return entries; +}; + const serializeAws_ec2GetSubnetCidrReservationsRequest = ( input: GetSubnetCidrReservationsRequest, context: __SerdeContext @@ -42965,6 +43376,22 @@ const serializeAws_ec2InstanceEventWindowTimeRangeRequestSet = ( return entries; }; +const serializeAws_ec2InstanceGenerationSet = ( + input: (InstanceGeneration | string)[], + context: __SerdeContext +): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2InstanceIdList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -43187,6 +43614,306 @@ const serializeAws_ec2InstanceNetworkInterfaceSpecificationList = ( return entries; }; +const serializeAws_ec2InstanceRequirements = (input: InstanceRequirements, context: __SerdeContext): any => { + const entries: any = {}; + if (input.VCpuCount !== undefined && input.VCpuCount !== null) { + const memberEntries = serializeAws_ec2VCpuCountRange(input.VCpuCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VCpuCount.${key}`; + entries[loc] = value; + }); + } + if (input.MemoryMiB !== undefined && input.MemoryMiB !== null) { + const memberEntries = serializeAws_ec2MemoryMiB(input.MemoryMiB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MemoryMiB.${key}`; + entries[loc] = value; + }); + } + if (input.CpuManufacturers !== undefined && input.CpuManufacturers !== null) { + const memberEntries = serializeAws_ec2CpuManufacturerSet(input.CpuManufacturers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CpuManufacturerSet.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.MemoryGiBPerVCpu !== undefined && input.MemoryGiBPerVCpu !== null) { + const memberEntries = serializeAws_ec2MemoryGiBPerVCpu(input.MemoryGiBPerVCpu, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MemoryGiBPerVCpu.${key}`; + entries[loc] = value; + }); + } + if (input.ExcludedInstanceTypes !== undefined && input.ExcludedInstanceTypes !== null) { + const memberEntries = serializeAws_ec2ExcludedInstanceTypeSet(input.ExcludedInstanceTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ExcludedInstanceTypeSet.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.InstanceGenerations !== undefined && input.InstanceGenerations !== null) { + const memberEntries = serializeAws_ec2InstanceGenerationSet(input.InstanceGenerations, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceGenerationSet.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if ( + input.SpotMaxPricePercentageOverLowestPrice !== undefined && + input.SpotMaxPricePercentageOverLowestPrice !== null + ) { + entries["SpotMaxPricePercentageOverLowestPrice"] = input.SpotMaxPricePercentageOverLowestPrice; + } + if ( + input.OnDemandMaxPricePercentageOverLowestPrice !== undefined && + input.OnDemandMaxPricePercentageOverLowestPrice !== null + ) { + entries["OnDemandMaxPricePercentageOverLowestPrice"] = input.OnDemandMaxPricePercentageOverLowestPrice; + } + if (input.BareMetal !== undefined && input.BareMetal !== null) { + entries["BareMetal"] = input.BareMetal; + } + if (input.BurstablePerformance !== undefined && input.BurstablePerformance !== null) { + entries["BurstablePerformance"] = input.BurstablePerformance; + } + if (input.RequireHibernateSupport !== undefined && input.RequireHibernateSupport !== null) { + entries["RequireHibernateSupport"] = input.RequireHibernateSupport; + } + if (input.NetworkInterfaceCount !== undefined && input.NetworkInterfaceCount !== null) { + const memberEntries = serializeAws_ec2NetworkInterfaceCount(input.NetworkInterfaceCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NetworkInterfaceCount.${key}`; + entries[loc] = value; + }); + } + if (input.LocalStorage !== undefined && input.LocalStorage !== null) { + entries["LocalStorage"] = input.LocalStorage; + } + if (input.LocalStorageTypes !== undefined && input.LocalStorageTypes !== null) { + const memberEntries = serializeAws_ec2LocalStorageTypeSet(input.LocalStorageTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LocalStorageTypeSet.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.TotalLocalStorageGB !== undefined && input.TotalLocalStorageGB !== null) { + const memberEntries = serializeAws_ec2TotalLocalStorageGB(input.TotalLocalStorageGB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TotalLocalStorageGB.${key}`; + entries[loc] = value; + }); + } + if (input.BaselineEbsBandwidthMbps !== undefined && input.BaselineEbsBandwidthMbps !== null) { + const memberEntries = serializeAws_ec2BaselineEbsBandwidthMbps(input.BaselineEbsBandwidthMbps, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `BaselineEbsBandwidthMbps.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorTypes !== undefined && input.AcceleratorTypes !== null) { + const memberEntries = serializeAws_ec2AcceleratorTypeSet(input.AcceleratorTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorTypeSet.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.AcceleratorCount !== undefined && input.AcceleratorCount !== null) { + const memberEntries = serializeAws_ec2AcceleratorCount(input.AcceleratorCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorCount.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorManufacturers !== undefined && input.AcceleratorManufacturers !== null) { + const memberEntries = serializeAws_ec2AcceleratorManufacturerSet(input.AcceleratorManufacturers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorManufacturerSet.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.AcceleratorNames !== undefined && input.AcceleratorNames !== null) { + const memberEntries = serializeAws_ec2AcceleratorNameSet(input.AcceleratorNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorNameSet.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.AcceleratorTotalMemoryMiB !== undefined && input.AcceleratorTotalMemoryMiB !== null) { + const memberEntries = serializeAws_ec2AcceleratorTotalMemoryMiB(input.AcceleratorTotalMemoryMiB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorTotalMemoryMiB.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2InstanceRequirementsRequest = ( + input: InstanceRequirementsRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.VCpuCount !== undefined && input.VCpuCount !== null) { + const memberEntries = serializeAws_ec2VCpuCountRangeRequest(input.VCpuCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VCpuCount.${key}`; + entries[loc] = value; + }); + } + if (input.MemoryMiB !== undefined && input.MemoryMiB !== null) { + const memberEntries = serializeAws_ec2MemoryMiBRequest(input.MemoryMiB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MemoryMiB.${key}`; + entries[loc] = value; + }); + } + if (input.CpuManufacturers !== undefined && input.CpuManufacturers !== null) { + const memberEntries = serializeAws_ec2CpuManufacturerSet(input.CpuManufacturers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `CpuManufacturer.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.MemoryGiBPerVCpu !== undefined && input.MemoryGiBPerVCpu !== null) { + const memberEntries = serializeAws_ec2MemoryGiBPerVCpuRequest(input.MemoryGiBPerVCpu, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `MemoryGiBPerVCpu.${key}`; + entries[loc] = value; + }); + } + if (input.ExcludedInstanceTypes !== undefined && input.ExcludedInstanceTypes !== null) { + const memberEntries = serializeAws_ec2ExcludedInstanceTypeSet(input.ExcludedInstanceTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ExcludedInstanceType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.InstanceGenerations !== undefined && input.InstanceGenerations !== null) { + const memberEntries = serializeAws_ec2InstanceGenerationSet(input.InstanceGenerations, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceGeneration.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if ( + input.SpotMaxPricePercentageOverLowestPrice !== undefined && + input.SpotMaxPricePercentageOverLowestPrice !== null + ) { + entries["SpotMaxPricePercentageOverLowestPrice"] = input.SpotMaxPricePercentageOverLowestPrice; + } + if ( + input.OnDemandMaxPricePercentageOverLowestPrice !== undefined && + input.OnDemandMaxPricePercentageOverLowestPrice !== null + ) { + entries["OnDemandMaxPricePercentageOverLowestPrice"] = input.OnDemandMaxPricePercentageOverLowestPrice; + } + if (input.BareMetal !== undefined && input.BareMetal !== null) { + entries["BareMetal"] = input.BareMetal; + } + if (input.BurstablePerformance !== undefined && input.BurstablePerformance !== null) { + entries["BurstablePerformance"] = input.BurstablePerformance; + } + if (input.RequireHibernateSupport !== undefined && input.RequireHibernateSupport !== null) { + entries["RequireHibernateSupport"] = input.RequireHibernateSupport; + } + if (input.NetworkInterfaceCount !== undefined && input.NetworkInterfaceCount !== null) { + const memberEntries = serializeAws_ec2NetworkInterfaceCountRequest(input.NetworkInterfaceCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `NetworkInterfaceCount.${key}`; + entries[loc] = value; + }); + } + if (input.LocalStorage !== undefined && input.LocalStorage !== null) { + entries["LocalStorage"] = input.LocalStorage; + } + if (input.LocalStorageTypes !== undefined && input.LocalStorageTypes !== null) { + const memberEntries = serializeAws_ec2LocalStorageTypeSet(input.LocalStorageTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `LocalStorageType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.TotalLocalStorageGB !== undefined && input.TotalLocalStorageGB !== null) { + const memberEntries = serializeAws_ec2TotalLocalStorageGBRequest(input.TotalLocalStorageGB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `TotalLocalStorageGB.${key}`; + entries[loc] = value; + }); + } + if (input.BaselineEbsBandwidthMbps !== undefined && input.BaselineEbsBandwidthMbps !== null) { + const memberEntries = serializeAws_ec2BaselineEbsBandwidthMbpsRequest(input.BaselineEbsBandwidthMbps, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `BaselineEbsBandwidthMbps.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorTypes !== undefined && input.AcceleratorTypes !== null) { + const memberEntries = serializeAws_ec2AcceleratorTypeSet(input.AcceleratorTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.AcceleratorCount !== undefined && input.AcceleratorCount !== null) { + const memberEntries = serializeAws_ec2AcceleratorCountRequest(input.AcceleratorCount, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorCount.${key}`; + entries[loc] = value; + }); + } + if (input.AcceleratorManufacturers !== undefined && input.AcceleratorManufacturers !== null) { + const memberEntries = serializeAws_ec2AcceleratorManufacturerSet(input.AcceleratorManufacturers, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorManufacturer.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.AcceleratorNames !== undefined && input.AcceleratorNames !== null) { + const memberEntries = serializeAws_ec2AcceleratorNameSet(input.AcceleratorNames, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorName.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.AcceleratorTotalMemoryMiB !== undefined && input.AcceleratorTotalMemoryMiB !== null) { + const memberEntries = serializeAws_ec2AcceleratorTotalMemoryMiBRequest(input.AcceleratorTotalMemoryMiB, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `AcceleratorTotalMemoryMiB.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + +const serializeAws_ec2InstanceRequirementsWithMetadataRequest = ( + input: InstanceRequirementsWithMetadataRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.ArchitectureTypes !== undefined && input.ArchitectureTypes !== null) { + const memberEntries = serializeAws_ec2ArchitectureTypeSet(input.ArchitectureTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `ArchitectureType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.VirtualizationTypes !== undefined && input.VirtualizationTypes !== null) { + const memberEntries = serializeAws_ec2VirtualizationTypeSet(input.VirtualizationTypes, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `VirtualizationType.${key.substring(key.indexOf(".") + 1)}`; + entries[loc] = value; + }); + } + if (input.InstanceRequirements !== undefined && input.InstanceRequirements !== null) { + const memberEntries = serializeAws_ec2InstanceRequirementsRequest(input.InstanceRequirements, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceRequirements.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + const serializeAws_ec2InstanceSpecification = (input: InstanceSpecification, context: __SerdeContext): any => { const entries: any = {}; if (input.InstanceId !== undefined && input.InstanceId !== null) { @@ -43224,6 +43951,19 @@ const serializeAws_ec2InstanceTypeList = (input: (_InstanceType | string)[], con return entries; }; +const serializeAws_ec2InstanceTypes = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Member.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2IntegrateServices = (input: IntegrateServices, context: __SerdeContext): any => { const entries: any = {}; if (input.AthenaIntegrations !== undefined && input.AthenaIntegrations !== null) { @@ -43974,6 +44714,13 @@ const serializeAws_ec2LaunchTemplateOverrides = (input: LaunchTemplateOverrides, if (input.Priority !== undefined && input.Priority !== null) { entries["Priority"] = __serializeFloat(input.Priority); } + if (input.InstanceRequirements !== undefined && input.InstanceRequirements !== null) { + const memberEntries = serializeAws_ec2InstanceRequirements(input.InstanceRequirements, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceRequirements.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -44295,6 +45042,63 @@ const serializeAws_ec2LocalGatewayVirtualInterfaceIdSet = (input: string[], cont return entries; }; +const serializeAws_ec2LocalStorageTypeSet = (input: (LocalStorageType | string)[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + +const serializeAws_ec2MemoryGiBPerVCpu = (input: MemoryGiBPerVCpu, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = __serializeFloat(input.Min); + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = __serializeFloat(input.Max); + } + return entries; +}; + +const serializeAws_ec2MemoryGiBPerVCpuRequest = (input: MemoryGiBPerVCpuRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = __serializeFloat(input.Min); + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = __serializeFloat(input.Max); + } + return entries; +}; + +const serializeAws_ec2MemoryMiB = (input: MemoryMiB, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_ec2MemoryMiBRequest = (input: MemoryMiBRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + const serializeAws_ec2ModifyAddressAttributeRequest = ( input: ModifyAddressAttributeRequest, context: __SerdeContext @@ -44375,6 +45179,9 @@ const serializeAws_ec2ModifyCapacityReservationRequest = ( if (input.DryRun !== undefined && input.DryRun !== null) { entries["DryRun"] = input.DryRun; } + if (input.AdditionalInfo !== undefined && input.AdditionalInfo !== null) { + entries["AdditionalInfo"] = input.AdditionalInfo; + } return entries; }; @@ -46012,6 +46819,31 @@ const serializeAws_ec2NetworkInterfaceAttachmentChanges = ( return entries; }; +const serializeAws_ec2NetworkInterfaceCount = (input: NetworkInterfaceCount, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_ec2NetworkInterfaceCountRequest = ( + input: NetworkInterfaceCountRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + const serializeAws_ec2NetworkInterfaceIdList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -46761,6 +47593,19 @@ const serializeAws_ec2RebootInstancesRequest = (input: RebootInstancesRequest, c return entries; }; +const serializeAws_ec2RegionNames = (input: string[], context: __SerdeContext): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Member.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2RegionNameStringList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -47492,6 +48337,13 @@ const serializeAws_ec2RequestLaunchTemplateData = (input: RequestLaunchTemplateD entries[loc] = value; }); } + if (input.InstanceRequirements !== undefined && input.InstanceRequirements !== null) { + const memberEntries = serializeAws_ec2InstanceRequirementsRequest(input.InstanceRequirements, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceRequirements.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -49179,6 +50031,13 @@ const serializeAws_ec2SpotFleetLaunchSpecification = ( entries[loc] = value; }); } + if (input.InstanceRequirements !== undefined && input.InstanceRequirements !== null) { + const memberEntries = serializeAws_ec2InstanceRequirements(input.InstanceRequirements, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `InstanceRequirements.${key}`; + entries[loc] = value; + }); + } return entries; }; @@ -49283,6 +50142,9 @@ const serializeAws_ec2SpotFleetRequestConfigData = ( if (input.Context !== undefined && input.Context !== null) { entries["Context"] = input.Context; } + if (input.TargetCapacityUnitType !== undefined && input.TargetCapacityUnitType !== null) { + entries["TargetCapacityUnitType"] = input.TargetCapacityUnitType; + } if (input.TagSpecifications !== undefined && input.TagSpecifications !== null) { const memberEntries = serializeAws_ec2TagSpecificationList(input.TagSpecifications, context); Object.entries(memberEntries).forEach(([key, value]) => { @@ -49630,6 +50492,9 @@ const serializeAws_ec2TargetCapacitySpecificationRequest = ( if (input.DefaultTargetCapacityType !== undefined && input.DefaultTargetCapacityType !== null) { entries["DefaultTargetCapacityType"] = input.DefaultTargetCapacityType; } + if (input.TargetCapacityUnitType !== undefined && input.TargetCapacityUnitType !== null) { + entries["TargetCapacityUnitType"] = input.TargetCapacityUnitType; + } return entries; }; @@ -49737,6 +50602,31 @@ const serializeAws_ec2TerminateInstancesRequest = (input: TerminateInstancesRequ return entries; }; +const serializeAws_ec2TotalLocalStorageGB = (input: TotalLocalStorageGB, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = __serializeFloat(input.Min); + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = __serializeFloat(input.Max); + } + return entries; +}; + +const serializeAws_ec2TotalLocalStorageGBRequest = ( + input: TotalLocalStorageGBRequest, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = __serializeFloat(input.Min); + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = __serializeFloat(input.Max); + } + return entries; +}; + const serializeAws_ec2TrafficMirrorFilterIdList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -50235,6 +51125,28 @@ const serializeAws_ec2ValueStringList = (input: string[], context: __SerdeContex return entries; }; +const serializeAws_ec2VCpuCountRange = (input: VCpuCountRange, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + +const serializeAws_ec2VCpuCountRangeRequest = (input: VCpuCountRangeRequest, context: __SerdeContext): any => { + const entries: any = {}; + if (input.Min !== undefined && input.Min !== null) { + entries["Min"] = input.Min; + } + if (input.Max !== undefined && input.Max !== null) { + entries["Max"] = input.Max; + } + return entries; +}; + const serializeAws_ec2VersionStringList = (input: string[], context: __SerdeContext): any => { const entries: any = {}; let counter = 1; @@ -50248,6 +51160,22 @@ const serializeAws_ec2VersionStringList = (input: string[], context: __SerdeCont return entries; }; +const serializeAws_ec2VirtualizationTypeSet = ( + input: (VirtualizationType | string)[], + context: __SerdeContext +): any => { + const entries: any = {}; + let counter = 1; + for (const entry of input) { + if (entry === null) { + continue; + } + entries[`Item.${counter}`] = entry; + counter++; + } + return entries; +}; + const serializeAws_ec2VolumeDetail = (input: VolumeDetail, context: __SerdeContext): any => { const entries: any = {}; if (input.Size !== undefined && input.Size !== null) { @@ -50593,6 +51521,73 @@ const serializeAws_ec2ZoneNameStringList = (input: string[], context: __SerdeCon return entries; }; +const deserializeAws_ec2AcceleratorCount = (output: any, context: __SerdeContext): AcceleratorCount => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["min"] !== undefined) { + contents.Min = __strictParseInt32(output["min"]) as number; + } + if (output["max"] !== undefined) { + contents.Max = __strictParseInt32(output["max"]) as number; + } + return contents; +}; + +const deserializeAws_ec2AcceleratorManufacturerSet = ( + output: any, + context: __SerdeContext +): (AcceleratorManufacturer | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_ec2AcceleratorNameSet = (output: any, context: __SerdeContext): (AcceleratorName | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_ec2AcceleratorTotalMemoryMiB = ( + output: any, + context: __SerdeContext +): AcceleratorTotalMemoryMiB => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["min"] !== undefined) { + contents.Min = __strictParseInt32(output["min"]) as number; + } + if (output["max"] !== undefined) { + contents.Max = __strictParseInt32(output["max"]) as number; + } + return contents; +}; + +const deserializeAws_ec2AcceleratorTypeSet = (output: any, context: __SerdeContext): (AcceleratorType | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_ec2AcceptReservedInstancesExchangeQuoteResult = ( output: any, context: __SerdeContext @@ -51901,6 +52896,20 @@ const deserializeAws_ec2AvailableInstanceCapacityList = (output: any, context: _ }); }; +const deserializeAws_ec2BaselineEbsBandwidthMbps = (output: any, context: __SerdeContext): BaselineEbsBandwidthMbps => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["min"] !== undefined) { + contents.Min = __strictParseInt32(output["min"]) as number; + } + if (output["max"] !== undefined) { + contents.Max = __strictParseInt32(output["max"]) as number; + } + return contents; +}; + const deserializeAws_ec2BlockDeviceMapping = (output: any, context: __SerdeContext): BlockDeviceMapping => { const contents: any = { DeviceName: undefined, @@ -53485,6 +54494,17 @@ const deserializeAws_ec2CoreCountList = (output: any, context: __SerdeContext): }); }; +const deserializeAws_ec2CpuManufacturerSet = (output: any, context: __SerdeContext): (CpuManufacturer | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_ec2CpuOptions = (output: any, context: __SerdeContext): CpuOptions => { const contents: any = { CoreCount: undefined, @@ -59606,6 +60626,17 @@ const deserializeAws_ec2EventInformation = (output: any, context: __SerdeContext return contents; }; +const deserializeAws_ec2ExcludedInstanceTypeSet = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_ec2Explanation = (output: any, context: __SerdeContext): Explanation => { const contents: any = { Acl: undefined, @@ -60382,6 +61413,7 @@ const deserializeAws_ec2FleetLaunchTemplateOverrides = ( WeightedCapacity: undefined, Priority: undefined, Placement: undefined, + InstanceRequirements: undefined, }; if (output["instanceType"] !== undefined) { contents.InstanceType = __expectString(output["instanceType"]); @@ -60404,6 +61436,9 @@ const deserializeAws_ec2FleetLaunchTemplateOverrides = ( if (output["placement"] !== undefined) { contents.Placement = deserializeAws_ec2PlacementResponse(output["placement"], context); } + if (output["instanceRequirements"] !== undefined) { + contents.InstanceRequirements = deserializeAws_ec2InstanceRequirements(output["instanceRequirements"], context); + } return contents; }; @@ -61010,6 +62045,29 @@ const deserializeAws_ec2GetHostReservationPurchasePreviewResult = ( return contents; }; +const deserializeAws_ec2GetInstanceTypesFromInstanceRequirementsResult = ( + output: any, + context: __SerdeContext +): GetInstanceTypesFromInstanceRequirementsResult => { + const contents: any = { + InstanceTypes: undefined, + NextToken: undefined, + }; + if (output.instanceTypeSet === "") { + contents.InstanceTypes = []; + } + if (output["instanceTypeSet"] !== undefined && output["instanceTypeSet"]["item"] !== undefined) { + contents.InstanceTypes = deserializeAws_ec2InstanceTypeInfoFromInstanceRequirementsSet( + __getArrayIfSingleItem(output["instanceTypeSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + const deserializeAws_ec2GetLaunchTemplateDataResult = ( output: any, context: __SerdeContext @@ -61168,6 +62226,29 @@ const deserializeAws_ec2GetSerialConsoleAccessStatusResult = ( return contents; }; +const deserializeAws_ec2GetSpotPlacementScoresResult = ( + output: any, + context: __SerdeContext +): GetSpotPlacementScoresResult => { + const contents: any = { + SpotPlacementScores: undefined, + NextToken: undefined, + }; + if (output.spotPlacementScoreSet === "") { + contents.SpotPlacementScores = []; + } + if (output["spotPlacementScoreSet"] !== undefined && output["spotPlacementScoreSet"]["item"] !== undefined) { + contents.SpotPlacementScores = deserializeAws_ec2SpotPlacementScores( + __getArrayIfSingleItem(output["spotPlacementScoreSet"]["item"]), + context + ); + } + if (output["nextToken"] !== undefined) { + contents.NextToken = __expectString(output["nextToken"]); + } + return contents; +}; + const deserializeAws_ec2GetSubnetCidrReservationsResult = ( output: any, context: __SerdeContext @@ -63299,6 +64380,20 @@ const deserializeAws_ec2InstanceFamilyCreditSpecification = ( return contents; }; +const deserializeAws_ec2InstanceGenerationSet = ( + output: any, + context: __SerdeContext +): (InstanceGeneration | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_ec2InstanceIdList = (output: any, context: __SerdeContext): string[] => { return (output || []) .filter((e: any) => e != null) @@ -63805,6 +64900,151 @@ const deserializeAws_ec2InstancePrivateIpAddressList = ( }); }; +const deserializeAws_ec2InstanceRequirements = (output: any, context: __SerdeContext): InstanceRequirements => { + const contents: any = { + VCpuCount: undefined, + MemoryMiB: undefined, + CpuManufacturers: undefined, + MemoryGiBPerVCpu: undefined, + ExcludedInstanceTypes: undefined, + InstanceGenerations: undefined, + SpotMaxPricePercentageOverLowestPrice: undefined, + OnDemandMaxPricePercentageOverLowestPrice: undefined, + BareMetal: undefined, + BurstablePerformance: undefined, + RequireHibernateSupport: undefined, + NetworkInterfaceCount: undefined, + LocalStorage: undefined, + LocalStorageTypes: undefined, + TotalLocalStorageGB: undefined, + BaselineEbsBandwidthMbps: undefined, + AcceleratorTypes: undefined, + AcceleratorCount: undefined, + AcceleratorManufacturers: undefined, + AcceleratorNames: undefined, + AcceleratorTotalMemoryMiB: undefined, + }; + if (output["vCpuCount"] !== undefined) { + contents.VCpuCount = deserializeAws_ec2VCpuCountRange(output["vCpuCount"], context); + } + if (output["memoryMiB"] !== undefined) { + contents.MemoryMiB = deserializeAws_ec2MemoryMiB(output["memoryMiB"], context); + } + if (output.cpuManufacturerSet === "") { + contents.CpuManufacturers = []; + } + if (output["cpuManufacturerSet"] !== undefined && output["cpuManufacturerSet"]["item"] !== undefined) { + contents.CpuManufacturers = deserializeAws_ec2CpuManufacturerSet( + __getArrayIfSingleItem(output["cpuManufacturerSet"]["item"]), + context + ); + } + if (output["memoryGiBPerVCpu"] !== undefined) { + contents.MemoryGiBPerVCpu = deserializeAws_ec2MemoryGiBPerVCpu(output["memoryGiBPerVCpu"], context); + } + if (output.excludedInstanceTypeSet === "") { + contents.ExcludedInstanceTypes = []; + } + if (output["excludedInstanceTypeSet"] !== undefined && output["excludedInstanceTypeSet"]["item"] !== undefined) { + contents.ExcludedInstanceTypes = deserializeAws_ec2ExcludedInstanceTypeSet( + __getArrayIfSingleItem(output["excludedInstanceTypeSet"]["item"]), + context + ); + } + if (output.instanceGenerationSet === "") { + contents.InstanceGenerations = []; + } + if (output["instanceGenerationSet"] !== undefined && output["instanceGenerationSet"]["item"] !== undefined) { + contents.InstanceGenerations = deserializeAws_ec2InstanceGenerationSet( + __getArrayIfSingleItem(output["instanceGenerationSet"]["item"]), + context + ); + } + if (output["spotMaxPricePercentageOverLowestPrice"] !== undefined) { + contents.SpotMaxPricePercentageOverLowestPrice = __strictParseInt32( + output["spotMaxPricePercentageOverLowestPrice"] + ) as number; + } + if (output["onDemandMaxPricePercentageOverLowestPrice"] !== undefined) { + contents.OnDemandMaxPricePercentageOverLowestPrice = __strictParseInt32( + output["onDemandMaxPricePercentageOverLowestPrice"] + ) as number; + } + if (output["bareMetal"] !== undefined) { + contents.BareMetal = __expectString(output["bareMetal"]); + } + if (output["burstablePerformance"] !== undefined) { + contents.BurstablePerformance = __expectString(output["burstablePerformance"]); + } + if (output["requireHibernateSupport"] !== undefined) { + contents.RequireHibernateSupport = __parseBoolean(output["requireHibernateSupport"]); + } + if (output["networkInterfaceCount"] !== undefined) { + contents.NetworkInterfaceCount = deserializeAws_ec2NetworkInterfaceCount(output["networkInterfaceCount"], context); + } + if (output["localStorage"] !== undefined) { + contents.LocalStorage = __expectString(output["localStorage"]); + } + if (output.localStorageTypeSet === "") { + contents.LocalStorageTypes = []; + } + if (output["localStorageTypeSet"] !== undefined && output["localStorageTypeSet"]["item"] !== undefined) { + contents.LocalStorageTypes = deserializeAws_ec2LocalStorageTypeSet( + __getArrayIfSingleItem(output["localStorageTypeSet"]["item"]), + context + ); + } + if (output["totalLocalStorageGB"] !== undefined) { + contents.TotalLocalStorageGB = deserializeAws_ec2TotalLocalStorageGB(output["totalLocalStorageGB"], context); + } + if (output["baselineEbsBandwidthMbps"] !== undefined) { + contents.BaselineEbsBandwidthMbps = deserializeAws_ec2BaselineEbsBandwidthMbps( + output["baselineEbsBandwidthMbps"], + context + ); + } + if (output.acceleratorTypeSet === "") { + contents.AcceleratorTypes = []; + } + if (output["acceleratorTypeSet"] !== undefined && output["acceleratorTypeSet"]["item"] !== undefined) { + contents.AcceleratorTypes = deserializeAws_ec2AcceleratorTypeSet( + __getArrayIfSingleItem(output["acceleratorTypeSet"]["item"]), + context + ); + } + if (output["acceleratorCount"] !== undefined) { + contents.AcceleratorCount = deserializeAws_ec2AcceleratorCount(output["acceleratorCount"], context); + } + if (output.acceleratorManufacturerSet === "") { + contents.AcceleratorManufacturers = []; + } + if ( + output["acceleratorManufacturerSet"] !== undefined && + output["acceleratorManufacturerSet"]["item"] !== undefined + ) { + contents.AcceleratorManufacturers = deserializeAws_ec2AcceleratorManufacturerSet( + __getArrayIfSingleItem(output["acceleratorManufacturerSet"]["item"]), + context + ); + } + if (output.acceleratorNameSet === "") { + contents.AcceleratorNames = []; + } + if (output["acceleratorNameSet"] !== undefined && output["acceleratorNameSet"]["item"] !== undefined) { + contents.AcceleratorNames = deserializeAws_ec2AcceleratorNameSet( + __getArrayIfSingleItem(output["acceleratorNameSet"]["item"]), + context + ); + } + if (output["acceleratorTotalMemoryMiB"] !== undefined) { + contents.AcceleratorTotalMemoryMiB = deserializeAws_ec2AcceleratorTotalMemoryMiB( + output["acceleratorTotalMemoryMiB"], + context + ); + } + return contents; +}; + const deserializeAws_ec2InstanceState = (output: any, context: __SerdeContext): InstanceState => { const contents: any = { Code: undefined, @@ -64180,6 +65420,33 @@ const deserializeAws_ec2InstanceTypeInfo = (output: any, context: __SerdeContext return contents; }; +const deserializeAws_ec2InstanceTypeInfoFromInstanceRequirements = ( + output: any, + context: __SerdeContext +): InstanceTypeInfoFromInstanceRequirements => { + const contents: any = { + InstanceType: undefined, + }; + if (output["instanceType"] !== undefined) { + contents.InstanceType = __expectString(output["instanceType"]); + } + return contents; +}; + +const deserializeAws_ec2InstanceTypeInfoFromInstanceRequirementsSet = ( + output: any, + context: __SerdeContext +): InstanceTypeInfoFromInstanceRequirements[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2InstanceTypeInfoFromInstanceRequirements(entry, context); + }); +}; + const deserializeAws_ec2InstanceTypeInfoList = (output: any, context: __SerdeContext): InstanceTypeInfo[] => { return (output || []) .filter((e: any) => e != null) @@ -65405,6 +66672,7 @@ const deserializeAws_ec2LaunchTemplateOverrides = (output: any, context: __Serde AvailabilityZone: undefined, WeightedCapacity: undefined, Priority: undefined, + InstanceRequirements: undefined, }; if (output["instanceType"] !== undefined) { contents.InstanceType = __expectString(output["instanceType"]); @@ -65424,6 +66692,9 @@ const deserializeAws_ec2LaunchTemplateOverrides = (output: any, context: __Serde if (output["priority"] !== undefined) { contents.Priority = __strictParseFloat(output["priority"]) as number; } + if (output["instanceRequirements"] !== undefined) { + contents.InstanceRequirements = deserializeAws_ec2InstanceRequirements(output["instanceRequirements"], context); + } return contents; }; @@ -66060,6 +67331,17 @@ const deserializeAws_ec2LocalGatewayVirtualInterfaceSet = ( }); }; +const deserializeAws_ec2LocalStorageTypeSet = (output: any, context: __SerdeContext): (LocalStorageType | string)[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + const deserializeAws_ec2ManagedPrefixList = (output: any, context: __SerdeContext): ManagedPrefixList => { const contents: any = { PrefixListId: undefined, @@ -66120,6 +67402,20 @@ const deserializeAws_ec2ManagedPrefixListSet = (output: any, context: __SerdeCon }); }; +const deserializeAws_ec2MemoryGiBPerVCpu = (output: any, context: __SerdeContext): MemoryGiBPerVCpu => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["min"] !== undefined) { + contents.Min = __strictParseFloat(output["min"]) as number; + } + if (output["max"] !== undefined) { + contents.Max = __strictParseFloat(output["max"]) as number; + } + return contents; +}; + const deserializeAws_ec2MemoryInfo = (output: any, context: __SerdeContext): MemoryInfo => { const contents: any = { SizeInMiB: undefined, @@ -66130,6 +67426,20 @@ const deserializeAws_ec2MemoryInfo = (output: any, context: __SerdeContext): Mem return contents; }; +const deserializeAws_ec2MemoryMiB = (output: any, context: __SerdeContext): MemoryMiB => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["min"] !== undefined) { + contents.Min = __strictParseInt32(output["min"]) as number; + } + if (output["max"] !== undefined) { + contents.Max = __strictParseInt32(output["max"]) as number; + } + return contents; +}; + const deserializeAws_ec2ModifyAddressAttributeResult = ( output: any, context: __SerdeContext @@ -67265,6 +68575,7 @@ const deserializeAws_ec2NetworkInterface = (output: any, context: __SerdeContext SubnetId: undefined, TagSet: undefined, VpcId: undefined, + DenyAllIgwTraffic: undefined, }; if (output["association"] !== undefined) { contents.Association = deserializeAws_ec2NetworkInterfaceAssociation(output["association"], context); @@ -67368,6 +68679,9 @@ const deserializeAws_ec2NetworkInterface = (output: any, context: __SerdeContext if (output["vpcId"] !== undefined) { contents.VpcId = __expectString(output["vpcId"]); } + if (output["denyAllIgwTraffic"] !== undefined) { + contents.DenyAllIgwTraffic = __parseBoolean(output["denyAllIgwTraffic"]); + } return contents; }; @@ -67449,6 +68763,20 @@ const deserializeAws_ec2NetworkInterfaceAttachment = ( return contents; }; +const deserializeAws_ec2NetworkInterfaceCount = (output: any, context: __SerdeContext): NetworkInterfaceCount => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["min"] !== undefined) { + contents.Min = __strictParseInt32(output["min"]) as number; + } + if (output["max"] !== undefined) { + contents.Max = __strictParseInt32(output["max"]) as number; + } + return contents; +}; + const deserializeAws_ec2NetworkInterfaceIpv6Address = ( output: any, context: __SerdeContext @@ -69723,6 +71051,7 @@ const deserializeAws_ec2ResponseLaunchTemplateData = ( HibernationOptions: undefined, MetadataOptions: undefined, EnclaveOptions: undefined, + InstanceRequirements: undefined, }; if (output["kernelId"] !== undefined) { contents.KernelId = __expectString(output["kernelId"]); @@ -69875,6 +71204,9 @@ const deserializeAws_ec2ResponseLaunchTemplateData = ( if (output["enclaveOptions"] !== undefined) { contents.EnclaveOptions = deserializeAws_ec2LaunchTemplateEnclaveOptions(output["enclaveOptions"], context); } + if (output["instanceRequirements"] !== undefined) { + contents.InstanceRequirements = deserializeAws_ec2InstanceRequirements(output["instanceRequirements"], context); + } return contents; }; @@ -71212,6 +72544,7 @@ const deserializeAws_ec2SpotFleetLaunchSpecification = ( UserData: undefined, WeightedCapacity: undefined, TagSpecifications: undefined, + InstanceRequirements: undefined, }; if (output.groupSet === "") { contents.SecurityGroups = []; @@ -71294,6 +72627,9 @@ const deserializeAws_ec2SpotFleetLaunchSpecification = ( context ); } + if (output["instanceRequirements"] !== undefined) { + contents.InstanceRequirements = deserializeAws_ec2InstanceRequirements(output["instanceRequirements"], context); + } return contents; }; @@ -71372,6 +72708,7 @@ const deserializeAws_ec2SpotFleetRequestConfigData = ( LoadBalancersConfig: undefined, InstancePoolsToUseCount: undefined, Context: undefined, + TargetCapacityUnitType: undefined, TagSpecifications: undefined, }; if (output["allocationStrategy"] !== undefined) { @@ -71461,6 +72798,9 @@ const deserializeAws_ec2SpotFleetRequestConfigData = ( if (output["context"] !== undefined) { contents.Context = __expectString(output["context"]); } + if (output["targetCapacityUnitType"] !== undefined) { + contents.TargetCapacityUnitType = __expectString(output["targetCapacityUnitType"]); + } if (output.TagSpecification === "") { contents.TagSpecifications = []; } @@ -71721,6 +73061,35 @@ const deserializeAws_ec2SpotPlacement = (output: any, context: __SerdeContext): return contents; }; +const deserializeAws_ec2SpotPlacementScore = (output: any, context: __SerdeContext): SpotPlacementScore => { + const contents: any = { + Region: undefined, + AvailabilityZoneId: undefined, + Score: undefined, + }; + if (output["region"] !== undefined) { + contents.Region = __expectString(output["region"]); + } + if (output["availabilityZoneId"] !== undefined) { + contents.AvailabilityZoneId = __expectString(output["availabilityZoneId"]); + } + if (output["score"] !== undefined) { + contents.Score = __strictParseInt32(output["score"]) as number; + } + return contents; +}; + +const deserializeAws_ec2SpotPlacementScores = (output: any, context: __SerdeContext): SpotPlacementScore[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_ec2SpotPlacementScore(entry, context); + }); +}; + const deserializeAws_ec2SpotPrice = (output: any, context: __SerdeContext): SpotPrice => { const contents: any = { AvailabilityZone: undefined, @@ -72376,6 +73745,7 @@ const deserializeAws_ec2TargetCapacitySpecification = ( OnDemandTargetCapacity: undefined, SpotTargetCapacity: undefined, DefaultTargetCapacityType: undefined, + TargetCapacityUnitType: undefined, }; if (output["totalTargetCapacity"] !== undefined) { contents.TotalTargetCapacity = __strictParseInt32(output["totalTargetCapacity"]) as number; @@ -72389,6 +73759,9 @@ const deserializeAws_ec2TargetCapacitySpecification = ( if (output["defaultTargetCapacityType"] !== undefined) { contents.DefaultTargetCapacityType = __expectString(output["defaultTargetCapacityType"]); } + if (output["targetCapacityUnitType"] !== undefined) { + contents.TargetCapacityUnitType = __expectString(output["targetCapacityUnitType"]); + } return contents; }; @@ -72607,6 +73980,20 @@ const deserializeAws_ec2ThreadsPerCoreList = (output: any, context: __SerdeConte }); }; +const deserializeAws_ec2TotalLocalStorageGB = (output: any, context: __SerdeContext): TotalLocalStorageGB => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["min"] !== undefined) { + contents.Min = __strictParseFloat(output["min"]) as number; + } + if (output["max"] !== undefined) { + contents.Max = __strictParseFloat(output["max"]) as number; + } + return contents; +}; + const deserializeAws_ec2TrafficMirrorFilter = (output: any, context: __SerdeContext): TrafficMirrorFilter => { const contents: any = { TrafficMirrorFilterId: undefined, @@ -74602,6 +75989,20 @@ const deserializeAws_ec2ValueStringList = (output: any, context: __SerdeContext) }); }; +const deserializeAws_ec2VCpuCountRange = (output: any, context: __SerdeContext): VCpuCountRange => { + const contents: any = { + Min: undefined, + Max: undefined, + }; + if (output["min"] !== undefined) { + contents.Min = __strictParseInt32(output["min"]) as number; + } + if (output["max"] !== undefined) { + contents.Max = __strictParseInt32(output["max"]) as number; + } + return contents; +}; + const deserializeAws_ec2VCpuInfo = (output: any, context: __SerdeContext): VCpuInfo => { const contents: any = { DefaultVCpus: undefined, @@ -75665,6 +77066,9 @@ const deserializeAws_ec2VpnConnection = (output: any, context: __SerdeContext): VpnConnectionId: undefined, VpnGatewayId: undefined, TransitGatewayId: undefined, + CoreNetworkArn: undefined, + CoreNetworkAttachmentArn: undefined, + GatewayAssociationState: undefined, Options: undefined, Routes: undefined, Tags: undefined, @@ -75694,6 +77098,15 @@ const deserializeAws_ec2VpnConnection = (output: any, context: __SerdeContext): if (output["transitGatewayId"] !== undefined) { contents.TransitGatewayId = __expectString(output["transitGatewayId"]); } + if (output["coreNetworkArn"] !== undefined) { + contents.CoreNetworkArn = __expectString(output["coreNetworkArn"]); + } + if (output["coreNetworkAttachmentArn"] !== undefined) { + contents.CoreNetworkAttachmentArn = __expectString(output["coreNetworkAttachmentArn"]); + } + if (output["gatewayAssociationState"] !== undefined) { + contents.GatewayAssociationState = __expectString(output["gatewayAssociationState"]); + } if (output["options"] !== undefined) { contents.Options = deserializeAws_ec2VpnConnectionOptions(output["options"], context); } diff --git a/clients/client-ecs/src/models/models_0.ts b/clients/client-ecs/src/models/models_0.ts index acdcd5200c9d..bb05d001748a 100644 --- a/clients/client-ecs/src/models/models_0.ts +++ b/clients/client-ecs/src/models/models_0.ts @@ -508,8 +508,8 @@ export interface ExecuteCommandLogConfiguration { s3BucketName?: string; /** - *

                                                                      Whether or not to enable encryption on the CloudWatch logs. If not specified, - * encryption will be disabled.

                                                                      + *

                                                                      Whether or not to use encryption on the S3 logs. If not specified, + * encryption is not used.

                                                                      */ s3EncryptionEnabled?: boolean; @@ -1948,6 +1948,12 @@ export interface Deployment { */ platformVersion?: string; + /** + *

                                                                      The operating system that your tasks in the service, or tasks are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                      + *

                                                                      All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX..

                                                                      + */ + platformFamily?: string; + /** *

                                                                      The VPC subnet and security group configuration for tasks that receive their own * elastic network interface by using the awsvpc networking mode.

                                                                      @@ -2170,6 +2176,12 @@ export interface TaskSet { */ platformVersion?: string; + /** + *

                                                                      The operating system that your tasks in the set are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                      + *

                                                                      All tasks in the set must have the same value.

                                                                      + */ + platformFamily?: string; + /** *

                                                                      The network configuration for the task set.

                                                                      */ @@ -2349,6 +2361,12 @@ export interface Service { */ platformVersion?: string; + /** + *

                                                                      The operating system that your tasks in the service are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                      + *

                                                                      All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX.

                                                                      + */ + platformFamily?: string; + /** *

                                                                      The task definition to use for tasks in the service. This value is specified when the * service is created with CreateService, and it can be modified with @@ -3586,8 +3604,17 @@ export enum ContainerCondition { * 20190301 or later, then they contain the required versions of the * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                      * - *

                                                                      For tasks using the Fargate launch type, this parameter requires - * that the task or service uses platform version 1.3.0 or later.

                                                                      + *

                                                                      For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Linux platform + * version 1.3.0 or later.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Windows platform + * version 1.0.0 or later.

                                                                        + *
                                                                      • + *
                                                                      *
                                                                      */ export interface ContainerDependency { @@ -3659,8 +3686,17 @@ export enum EnvironmentFileType { * same variable, they are processed from the top down. It is recommended to use unique * variable names. For more information, see Specifying environment * variables in the Amazon Elastic Container Service Developer Guide.

                                                                      - *

                                                                      This field is only valid for containers in Fargate tasks that use - * platform version 1.4.0 or later.

                                                                      + *

                                                                      This parameter is only supported for tasks hosted on Fargate using the following platform versions:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Linux platform + * version 1.4.0 or later.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Windows platform + * version 1.0.0 or later.

                                                                        + *
                                                                      • + *
                                                                      */ export interface EnvironmentFile { /** @@ -4879,8 +4915,17 @@ export interface ContainerDefinition { * ecs-init package. If your container instances are launched from version * 20190301 or later, then they contain the required versions of the * container agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                      - *

                                                                      For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later.

                                                                      + *

                                                                      For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Linux platform + * version 1.3.0 or later.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Windows platform + * version 1.0.0 or later.

                                                                        + *
                                                                      • + *
                                                                      */ dependsOn?: ContainerDependency[]; @@ -4896,8 +4941,17 @@ export interface ContainerDefinition { *

                                                                      When the ECS_CONTAINER_START_TIMEOUT container agent configuration * variable is used, it is enforced indendently from this start timeout value.

                                                                      * - *

                                                                      For tasks using the Fargate launch type, this parameter requires that - * the task or service uses platform version 1.3.0 or later.

                                                                      + *

                                                                      For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Linux platform + * version 1.3.0 or later.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Windows platform + * version 1.0.0 or later.

                                                                        + *
                                                                      • + *
                                                                      *

                                                                      For tasks using the EC2 launch type, your container instances require at * least version 1.26.0 of the container agent to enable a container start * timeout value. However, we recommend using the latest container agent version. For @@ -4914,8 +4968,18 @@ export interface ContainerDefinition { /** *

                                                                      Time duration (in seconds) to wait before the container is forcefully killed if it * doesn't exit normally on its own.

                                                                      - *

                                                                      For tasks using the Fargate launch type, the task or service requires - * platform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the + *

                                                                      For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Linux platform + * version 1.3.0 or later.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Windows platform + * version 1.0.0 or later.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      The max stop timeout value is 120 seconds and if the * parameter is not specified, the default value of 30 seconds is used.

                                                                      *

                                                                      For tasks using the EC2 launch type, if the stopTimeout * parameter is not specified, the value set for the Amazon ECS container agent configuration @@ -5225,8 +5289,17 @@ export namespace ContainerDefinition { * tasks hosted on Fargate. For more information, see Fargate task * storage in the Amazon ECS User Guide for Fargate.

                                                                      * - *

                                                                      This parameter is only supported for tasks hosted on Fargate using platform - * version 1.4.0 or later.

                                                                      + *

                                                                      This parameter is only supported for tasks hosted on Fargate using the following platform versions:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Linux platform + * version 1.4.0 or later.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Windows platform + * version 1.0.0 or later.

                                                                        + *
                                                                      • + *
                                                                      *
                                                                      */ export interface EphemeralStorage { @@ -5413,6 +5486,46 @@ export namespace ProxyConfiguration { }); } +export enum CPUArchitecture { + ARM64 = "ARM64", + X86_64 = "X86_64", +} + +export enum OSFamily { + LINUX = "LINUX", + WINDOWS_SERVER_2004_CORE = "WINDOWS_SERVER_2004_CORE", + WINDOWS_SERVER_2016_FULL = "WINDOWS_SERVER_2016_FULL", + WINDOWS_SERVER_2019_CORE = "WINDOWS_SERVER_2019_CORE", + WINDOWS_SERVER_2019_FULL = "WINDOWS_SERVER_2019_FULL", + WINDOWS_SERVER_2022_CORE = "WINDOWS_SERVER_2022_CORE", + WINDOWS_SERVER_2022_FULL = "WINDOWS_SERVER_2022_FULL", + WINDOWS_SERVER_20H2_CORE = "WINDOWS_SERVER_20H2_CORE", +} + +/** + *

                                                                      Information about the platform for the Amazon ECS service or task.

                                                                      + */ +export interface RuntimePlatform { + /** + *

                                                                      The CPU architecture.

                                                                      + */ + cpuArchitecture?: CPUArchitecture | string; + + /** + *

                                                                      The operating system.

                                                                      + */ + operatingSystemFamily?: OSFamily | string; +} + +export namespace RuntimePlatform { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RuntimePlatform): any => ({ + ...obj, + }); +} + export enum TaskDefinitionStatus { ACTIVE = "ACTIVE", INACTIVE = "INACTIVE", @@ -5873,6 +5986,12 @@ export interface TaskDefinition { */ compatibilities?: (Compatibility | string)[]; + /** + *

                                                                      The operating system that your task definitions are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                      + *

                                                                      When you specify a task in a service, this value must match the runtimePlatform value of the service.

                                                                      + */ + runtimePlatform?: RuntimePlatform; + /** *

                                                                      The task launch types the task definition was validated against. To determine which * task launch types the task definition is validated for, see the TaskDefinition$compatibilities parameter.

                                                                      @@ -6821,8 +6940,17 @@ export interface TaskOverride { /** *

                                                                      The ephemeral storage setting override for the task.

                                                                      * - *

                                                                      This parameter is only supported for tasks hosted on Fargate using platform - * version 1.4.0 or later.

                                                                      + *

                                                                      This parameter is only supported for tasks hosted on Fargate using the following platform versions:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Linux platform + * version 1.4.0 or later.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Windows platform + * version 1.0.0 or later.

                                                                        + *
                                                                      • + *
                                                                      *
                                                                      */ ephemeralStorage?: EphemeralStorage; @@ -7033,6 +7161,12 @@ export interface Task { */ platformVersion?: string; + /** + *

                                                                      The operating system that your tasks are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                      + *

                                                                      All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX..

                                                                      + */ + platformFamily?: string; + /** *

                                                                      The Unix timestamp for when the container image pull began.

                                                                      */ @@ -8817,11 +8951,26 @@ export interface RegisterTaskDefinitionRequest { * tasks hosted on Fargate. For more information, see Fargate task * storage in the Amazon ECS User Guide for Fargate.

                                                                      * - *

                                                                      This parameter is only supported for tasks hosted on Fargate using platform - * version 1.4.0 or later.

                                                                      + *

                                                                      This parameter is only supported for tasks hosted on Fargate using the following platform versions:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        Linux platform + * version 1.4.0 or later.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        Windows platform + * version 1.0.0 or later.

                                                                        + *
                                                                      • + *
                                                                      *
                                                                      */ ephemeralStorage?: EphemeralStorage; + + /** + *

                                                                      The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.

                                                                      + *

                                                                      When you specify a task definition in a service, this value must match the runtimePlatform value of the service.

                                                                      + */ + runtimePlatform?: RuntimePlatform; } export namespace RegisterTaskDefinitionRequest { diff --git a/clients/client-ecs/src/protocols/Aws_json1_1.ts b/clients/client-ecs/src/protocols/Aws_json1_1.ts index 560f0aec46c1..e85a62006ed9 100644 --- a/clients/client-ecs/src/protocols/Aws_json1_1.ts +++ b/clients/client-ecs/src/protocols/Aws_json1_1.ts @@ -303,6 +303,7 @@ import { ResourceRequirement, RunTaskRequest, RunTaskResponse, + RuntimePlatform, Scale, Secret, ServerException, @@ -7203,6 +7204,10 @@ const serializeAws_json1_1RegisterTaskDefinitionRequest = ( input.requiresCompatibilities !== null && { requiresCompatibilities: serializeAws_json1_1CompatibilityList(input.requiresCompatibilities, context), }), + ...(input.runtimePlatform !== undefined && + input.runtimePlatform !== null && { + runtimePlatform: serializeAws_json1_1RuntimePlatform(input.runtimePlatform, context), + }), ...(input.tags !== undefined && input.tags !== null && { tags: serializeAws_json1_1Tags(input.tags, context) }), ...(input.taskRoleArn !== undefined && input.taskRoleArn !== null && { taskRoleArn: input.taskRoleArn }), ...(input.volumes !== undefined && @@ -7300,6 +7305,15 @@ const serializeAws_json1_1RunTaskRequest = (input: RunTaskRequest, context: __Se }; }; +const serializeAws_json1_1RuntimePlatform = (input: RuntimePlatform, context: __SerdeContext): any => { + return { + ...(input.cpuArchitecture !== undefined && + input.cpuArchitecture !== null && { cpuArchitecture: input.cpuArchitecture }), + ...(input.operatingSystemFamily !== undefined && + input.operatingSystemFamily !== null && { operatingSystemFamily: input.operatingSystemFamily }), + }; +}; + const serializeAws_json1_1Scale = (input: Scale, context: __SerdeContext): any => { return { ...(input.unit !== undefined && input.unit !== null && { unit: input.unit }), @@ -8535,6 +8549,7 @@ const deserializeAws_json1_1Deployment = (output: any, context: __SerdeContext): ? deserializeAws_json1_1NetworkConfiguration(output.networkConfiguration, context) : undefined, pendingCount: __expectInt32(output.pendingCount), + platformFamily: __expectString(output.platformFamily), platformVersion: __expectString(output.platformVersion), rolloutState: __expectString(output.rolloutState), rolloutStateReason: __expectString(output.rolloutStateReason), @@ -9631,6 +9646,13 @@ const deserializeAws_json1_1RunTaskResponse = (output: any, context: __SerdeCont } as any; }; +const deserializeAws_json1_1RuntimePlatform = (output: any, context: __SerdeContext): RuntimePlatform => { + return { + cpuArchitecture: __expectString(output.cpuArchitecture), + operatingSystemFamily: __expectString(output.operatingSystemFamily), + } as any; +}; + const deserializeAws_json1_1Scale = (output: any, context: __SerdeContext): Scale => { return { unit: __expectString(output.unit), @@ -9712,6 +9734,7 @@ const deserializeAws_json1_1Service = (output: any, context: __SerdeContext): Se output.placementStrategy !== undefined && output.placementStrategy !== null ? deserializeAws_json1_1PlacementStrategies(output.placementStrategy, context) : undefined, + platformFamily: __expectString(output.platformFamily), platformVersion: __expectString(output.platformVersion), propagateTags: __expectString(output.propagateTags), roleArn: __expectString(output.roleArn), @@ -10022,6 +10045,7 @@ const deserializeAws_json1_1Task = (output: any, context: __SerdeContext): Task output.overrides !== undefined && output.overrides !== null ? deserializeAws_json1_1TaskOverride(output.overrides, context) : undefined, + platformFamily: __expectString(output.platformFamily), platformVersion: __expectString(output.platformVersion), pullStartedAt: output.pullStartedAt !== undefined && output.pullStartedAt !== null @@ -10105,6 +10129,10 @@ const deserializeAws_json1_1TaskDefinition = (output: any, context: __SerdeConte ? deserializeAws_json1_1CompatibilityList(output.requiresCompatibilities, context) : undefined, revision: __expectInt32(output.revision), + runtimePlatform: + output.runtimePlatform !== undefined && output.runtimePlatform !== null + ? deserializeAws_json1_1RuntimePlatform(output.runtimePlatform, context) + : undefined, status: __expectString(output.status), taskDefinitionArn: __expectString(output.taskDefinitionArn), taskRoleArn: __expectString(output.taskRoleArn), @@ -10195,6 +10223,7 @@ const deserializeAws_json1_1TaskSet = (output: any, context: __SerdeContext): Ta ? deserializeAws_json1_1NetworkConfiguration(output.networkConfiguration, context) : undefined, pendingCount: __expectInt32(output.pendingCount), + platformFamily: __expectString(output.platformFamily), platformVersion: __expectString(output.platformVersion), runningCount: __expectInt32(output.runningCount), scale: diff --git a/clients/client-eks/src/models/models_0.ts b/clients/client-eks/src/models/models_0.ts index f4fb6688c2ea..ce266621f6a2 100644 --- a/clients/client-eks/src/models/models_0.ts +++ b/clients/client-eks/src/models/models_0.ts @@ -224,7 +224,13 @@ export namespace AddonInfo { }); } -export type AMITypes = "AL2_ARM_64" | "AL2_x86_64" | "AL2_x86_64_GPU" | "CUSTOM"; +export type AMITypes = + | "AL2_ARM_64" + | "AL2_x86_64" + | "AL2_x86_64_GPU" + | "BOTTLEROCKET_ARM_64" + | "BOTTLEROCKET_x86_64" + | "CUSTOM"; /** *

                                                                      Identifies the Key Management Service (KMS) key used to encrypt the secrets.

                                                                      diff --git a/clients/client-emr-containers/src/models/models_0.ts b/clients/client-emr-containers/src/models/models_0.ts index b315daa14504..816343826bcc 100644 --- a/clients/client-emr-containers/src/models/models_0.ts +++ b/clients/client-emr-containers/src/models/models_0.ts @@ -541,6 +541,30 @@ export namespace DescribeManagedEndpointRequest { }); } +/** + *

                                                                      The entity representing certificate data generated for managed endpoint.

                                                                      + */ +export interface Certificate { + /** + *

                                                                      The ARN of the certificate generated for managed endpoint.

                                                                      + */ + certificateArn?: string; + + /** + *

                                                                      The base64 encoded PEM certificate data generated for managed endpoint.

                                                                      + */ + certificateData?: string; +} + +export namespace Certificate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Certificate): any => ({ + ...obj, + }); +} + export enum EndpointState { ACTIVE = "ACTIVE", CREATING = "CREATING", @@ -1015,9 +1039,11 @@ export interface CreateManagedEndpointRequest { executionRoleArn: string | undefined; /** - *

                                                                      The certificate ARN of the managed endpoint.

                                                                      + * @deprecated + * + *

                                                                      The certificate ARN provided by users for the managed endpoint. This fiedd is under deprecation and will be removed in future releases.

                                                                      */ - certificateArn: string | undefined; + certificateArn?: string; /** *

                                                                      The configuration settings that will be used to override existing configurations.

                                                                      @@ -1093,10 +1119,17 @@ export interface Endpoint { executionRoleArn?: string; /** - *

                                                                      The certificate ARN of the endpoint.

                                                                      + * @deprecated + * + *

                                                                      The certificate ARN of the endpoint. This field is under deprecation and will be removed in future.

                                                                      */ certificateArn?: string; + /** + *

                                                                      The certificate generated by emr control plane on customer behalf to secure the managed endpoint.

                                                                      + */ + certificateAuthority?: Certificate; + /** *

                                                                      The configuration settings that are used to override existing configurations for endpoints.

                                                                      */ diff --git a/clients/client-emr-containers/src/protocols/Aws_restJson1.ts b/clients/client-emr-containers/src/protocols/Aws_restJson1.ts index 1a0bd954f850..299c95a81533 100644 --- a/clients/client-emr-containers/src/protocols/Aws_restJson1.ts +++ b/clients/client-emr-containers/src/protocols/Aws_restJson1.ts @@ -60,6 +60,7 @@ import { StartJobRunCommandInput, StartJobRunCommandOutput } from "../commands/S import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { + Certificate, CloudWatchMonitoringConfiguration, Configuration, ConfigurationOverrides, @@ -1901,6 +1902,13 @@ const serializeAws_restJson1TagMap = (input: { [key: string]: string }, context: }, {}); }; +const deserializeAws_restJson1Certificate = (output: any, context: __SerdeContext): Certificate => { + return { + certificateArn: __expectString(output.certificateArn), + certificateData: __expectString(output.certificateData), + } as any; +}; + const deserializeAws_restJson1CloudWatchMonitoringConfiguration = ( output: any, context: __SerdeContext @@ -1982,6 +1990,10 @@ const deserializeAws_restJson1Endpoint = (output: any, context: __SerdeContext): return { arn: __expectString(output.arn), certificateArn: __expectString(output.certificateArn), + certificateAuthority: + output.certificateAuthority !== undefined && output.certificateAuthority !== null + ? deserializeAws_restJson1Certificate(output.certificateAuthority, context) + : undefined, configurationOverrides: output.configurationOverrides !== undefined && output.configurationOverrides !== null ? deserializeAws_restJson1ConfigurationOverrides(output.configurationOverrides, context) diff --git a/clients/client-gamelift/src/models/models_0.ts b/clients/client-gamelift/src/models/models_0.ts index d82f6fcc791d..8a24deae1f09 100644 --- a/clients/client-gamelift/src/models/models_0.ts +++ b/clients/client-gamelift/src/models/models_0.ts @@ -1948,6 +1948,14 @@ export type GameServerGroupInstanceType = | "c5a.8xlarge" | "c5a.large" | "c5a.xlarge" + | "c6g.12xlarge" + | "c6g.16xlarge" + | "c6g.2xlarge" + | "c6g.4xlarge" + | "c6g.8xlarge" + | "c6g.large" + | "c6g.medium" + | "c6g.xlarge" | "m4.10xlarge" | "m4.2xlarge" | "m4.4xlarge" @@ -1969,6 +1977,14 @@ export type GameServerGroupInstanceType = | "m5a.8xlarge" | "m5a.large" | "m5a.xlarge" + | "m6g.12xlarge" + | "m6g.16xlarge" + | "m6g.2xlarge" + | "m6g.4xlarge" + | "m6g.8xlarge" + | "m6g.large" + | "m6g.medium" + | "m6g.xlarge" | "r4.16xlarge" | "r4.2xlarge" | "r4.4xlarge" @@ -1990,7 +2006,15 @@ export type GameServerGroupInstanceType = | "r5a.4xlarge" | "r5a.8xlarge" | "r5a.large" - | "r5a.xlarge"; + | "r5a.xlarge" + | "r6g.12xlarge" + | "r6g.16xlarge" + | "r6g.2xlarge" + | "r6g.4xlarge" + | "r6g.8xlarge" + | "r6g.large" + | "r6g.medium" + | "r6g.xlarge"; /** *

                                                                      diff --git a/clients/client-gamelift/src/protocols/Aws_json1_1.ts b/clients/client-gamelift/src/protocols/Aws_json1_1.ts index 053bfbfb02b7..6d7f02f133cd 100644 --- a/clients/client-gamelift/src/protocols/Aws_json1_1.ts +++ b/clients/client-gamelift/src/protocols/Aws_json1_1.ts @@ -2219,6 +2219,14 @@ const deserializeAws_json1_1CreateFleetCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -2305,6 +2313,14 @@ const deserializeAws_json1_1CreateFleetLocationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -2517,6 +2533,14 @@ const deserializeAws_json1_1CreateGameSessionCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -3564,6 +3588,14 @@ const deserializeAws_json1_1DeleteFleetLocationsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -4515,6 +4547,14 @@ const deserializeAws_json1_1DescribeEC2InstanceLimitsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -4827,6 +4867,14 @@ const deserializeAws_json1_1DescribeFleetLocationAttributesCommandError = async $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -4905,6 +4953,14 @@ const deserializeAws_json1_1DescribeFleetLocationCapacityCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -4983,6 +5039,14 @@ const deserializeAws_json1_1DescribeFleetLocationUtilizationCommandError = async $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -5459,6 +5523,14 @@ const deserializeAws_json1_1DescribeGameSessionDetailsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -5701,6 +5773,14 @@ const deserializeAws_json1_1DescribeGameSessionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -5779,6 +5859,14 @@ const deserializeAws_json1_1DescribeInstancesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -6231,6 +6319,14 @@ const deserializeAws_json1_1DescribeScalingPoliciesCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -7611,6 +7707,14 @@ const deserializeAws_json1_1SearchGameSessionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -7689,6 +7793,14 @@ const deserializeAws_json1_1StartFleetActionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -8001,6 +8113,14 @@ const deserializeAws_json1_1StopFleetActionsCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; @@ -8751,6 +8871,14 @@ const deserializeAws_json1_1UpdateFleetCapacityCommandError = async ( $metadata: deserializeMetadata(output), }; break; + case "UnsupportedRegionException": + case "com.amazonaws.gamelift#UnsupportedRegionException": + response = { + ...(await deserializeAws_json1_1UnsupportedRegionExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; default: const parsedBody = parsedOutput.body; errorCode = parsedBody.code || parsedBody.Code || errorCode; diff --git a/clients/client-rds/src/RDS.ts b/clients/client-rds/src/RDS.ts index 8bdeb199d2f1..9709817245ba 100644 --- a/clients/client-rds/src/RDS.ts +++ b/clients/client-rds/src/RDS.ts @@ -70,6 +70,11 @@ import { CreateCustomAvailabilityZoneCommandInput, CreateCustomAvailabilityZoneCommandOutput, } from "./commands/CreateCustomAvailabilityZoneCommand"; +import { + CreateCustomDBEngineVersionCommand, + CreateCustomDBEngineVersionCommandInput, + CreateCustomDBEngineVersionCommandOutput, +} from "./commands/CreateCustomDBEngineVersionCommand"; import { CreateDBClusterCommand, CreateDBClusterCommandInput, @@ -150,6 +155,11 @@ import { DeleteCustomAvailabilityZoneCommandInput, DeleteCustomAvailabilityZoneCommandOutput, } from "./commands/DeleteCustomAvailabilityZoneCommand"; +import { + DeleteCustomDBEngineVersionCommand, + DeleteCustomDBEngineVersionCommandInput, + DeleteCustomDBEngineVersionCommandOutput, +} from "./commands/DeleteCustomDBEngineVersionCommand"; import { DeleteDBClusterCommand, DeleteDBClusterCommandInput, @@ -470,6 +480,11 @@ import { ModifyCurrentDBClusterCapacityCommandInput, ModifyCurrentDBClusterCapacityCommandOutput, } from "./commands/ModifyCurrentDBClusterCapacityCommand"; +import { + ModifyCustomDBEngineVersionCommand, + ModifyCustomDBEngineVersionCommandInput, + ModifyCustomDBEngineVersionCommandOutput, +} from "./commands/ModifyCustomDBEngineVersionCommand"; import { ModifyDBClusterCommand, ModifyDBClusterCommandInput, @@ -789,6 +804,7 @@ export class RDS extends RDSClient { * *

                                                                      To add a role to a DB instance, the status of the DB instance must be available.

                                                                      * + *

                                                                      This command doesn't apply to RDS Custom.

                                                                      */ public addRoleToDBInstance( args: AddRoleToDBInstanceCommandInput, @@ -1094,7 +1110,7 @@ export class RDS extends RDSClient { *
                                                                        *
                                                                      • *

                                                                        - * KmsKeyId - The Amazon Web Services KMS key identifier for the customer master key (CMK) to use to encrypt the copy of the DB + * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of the DB * cluster snapshot in the destination Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot * action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                        *
                                                                      • @@ -1111,7 +1127,6 @@ export class RDS extends RDSClient { * *
                                                                      *

                                                                      To learn how to generate a Signature Version 4 signed request, see - * * * Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and * @@ -1214,6 +1229,8 @@ export class RDS extends RDSClient { * where you call the CopyDBSnapshot action is the destination Amazon Web Services Region for the * DB snapshot copy.

                                                                      * + *

                                                                      This command doesn't apply to RDS Custom.

                                                                      + * *

                                                                      For more information about copying snapshots, see * Copying a DB Snapshot in the Amazon RDS User Guide. *

                                                                      @@ -1316,6 +1333,65 @@ export class RDS extends RDSClient { } } + /** + *

                                                                      Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot of a database engine and + * specific AMI. The only supported engine is Oracle Database 19c Enterprise Edition with the January 2021 + * or later RU/RUR. For + * more information, see + * Amazon RDS Custom requirements and limitations in the Amazon RDS User Guide.

                                                                      + *

                                                                      Amazon RDS, which is a fully managed service, supplies the Amazon Machine Image (AMI) and database software. + * The Amazon RDS database software is preinstalled, so you need only select a DB engine and version, and create + * your database. With Amazon RDS Custom, you upload your database installation files in Amazon S3. For + * more information, see + * Preparing to create a CEV in the Amazon RDS User Guide.

                                                                      + *

                                                                      When you create a custom engine version, you specify the files in a JSON document called a CEV manifest. + * This document describes installation .zip files stored in Amazon S3. RDS Custom creates your CEV from + * the installation files that you provided. This service model is called Bring Your Own Media (BYOM).

                                                                      + *

                                                                      Creation takes approximately two hours. If creation fails, RDS Custom issues RDS-EVENT-0196 with + * the message Creation failed for custom engine version, and includes details about the failure. + * For example, the event prints missing files.

                                                                      + *

                                                                      After you create the CEV, it is available for use. You can create multiple CEVs, and create multiple + * RDS Custom instances from any CEV. You can also change the status of a CEV to make it available or + * inactive.

                                                                      + * + *

                                                                      The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with + * Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the + * CreateCustomDbEngineVersion event aren't logged. However, you might see calls from the + * API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for + * the CreateCustomDbEngineVersion event.

                                                                      + *
                                                                      + *

                                                                      For more information, see + * Creating a CEV in the Amazon RDS User Guide.

                                                                      + */ + public createCustomDBEngineVersion( + args: CreateCustomDBEngineVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public createCustomDBEngineVersion( + args: CreateCustomDBEngineVersionCommandInput, + cb: (err: any, data?: CreateCustomDBEngineVersionCommandOutput) => void + ): void; + public createCustomDBEngineVersion( + args: CreateCustomDBEngineVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateCustomDBEngineVersionCommandOutput) => void + ): void; + public createCustomDBEngineVersion( + args: CreateCustomDBEngineVersionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: CreateCustomDBEngineVersionCommandOutput) => void), + cb?: (err: any, data?: CreateCustomDBEngineVersionCommandOutput) => void + ): Promise | void { + const command = new CreateCustomDBEngineVersionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                      Creates a new Amazon Aurora DB cluster.

                                                                      *

                                                                      You can use the ReplicationSourceIdentifier parameter to create the DB @@ -1582,11 +1658,12 @@ export class RDS extends RDSClient { * A DB parameter group is initially created with the default parameters for the * database engine used by the DB instance. To provide custom values for any of the * parameters, you must modify the group after creating it using - * ModifyDBParameterGroup. Once you've created a DB parameter group, you need to - * associate it with your DB instance using ModifyDBInstance. When you associate + * ModifyDBParameterGroup. Once you've created a DB parameter group, you need to + * associate it with your DB instance using ModifyDBInstance. When you associate * a new DB parameter group with a running DB instance, you need to reboot the DB * instance without failover for the new DB parameter group and associated settings to take effect. - *

                                                                      + *

                                                                      + *

                                                                      This command doesn't apply to RDS Custom.

                                                                      * *

                                                                      After you create a DB parameter group, you should wait at least 5 minutes * before creating your first DB instance that uses that DB parameter group as the default parameter @@ -1900,6 +1977,7 @@ export class RDS extends RDSClient { /** *

                                                                      Creates a new option group. You can create up to 20 option groups.

                                                                      + *

                                                                      This command doesn't apply to RDS Custom.

                                                                      */ public createOptionGroup( args: CreateOptionGroupCommandInput, @@ -1967,6 +2045,58 @@ export class RDS extends RDSClient { } } + /** + *

                                                                      Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        The CEV must not be the default for RDS Custom. If it is, change the default + * before running this command.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The CEV must not be associated with an RDS Custom DB instance, RDS Custom instance snapshot, + * or automated backup of your RDS Custom instance.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      Typically, deletion takes a few minutes.

                                                                      + * + *

                                                                      The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with + * Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the + * DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the + * API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for + * the DeleteCustomDbEngineVersion event.

                                                                      + *
                                                                      + *

                                                                      For more information, see + * Deleting a CEV in the Amazon RDS User Guide.

                                                                      + */ + public deleteCustomDBEngineVersion( + args: DeleteCustomDBEngineVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public deleteCustomDBEngineVersion( + args: DeleteCustomDBEngineVersionCommandInput, + cb: (err: any, data?: DeleteCustomDBEngineVersionCommandOutput) => void + ): void; + public deleteCustomDBEngineVersion( + args: DeleteCustomDBEngineVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteCustomDBEngineVersionCommandOutput) => void + ): void; + public deleteCustomDBEngineVersion( + args: DeleteCustomDBEngineVersionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: DeleteCustomDBEngineVersionCommandOutput) => void), + cb?: (err: any, data?: DeleteCustomDBEngineVersionCommandOutput) => void + ): Promise | void { + const command = new DeleteCustomDBEngineVersionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                      The DeleteDBCluster action deletes a previously provisioned DB cluster. * When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. @@ -3071,6 +3201,7 @@ export class RDS extends RDSClient { /** *

                                                                      Returns a list of DB log files for the DB instance.

                                                                      + *

                                                                      This command doesn't apply to RDS Custom.

                                                                      */ public describeDBLogFiles( args: DescribeDBLogFilesCommandInput, @@ -3947,11 +4078,10 @@ export class RDS extends RDSClient { } /** - *

                                                                      You can call DescribeValidDBInstanceModifications - * to learn what modifications you can make to your DB instance. - * You can use this information when you call - * ModifyDBInstance. + *

                                                                      You can call DescribeValidDBInstanceModifications to learn what modifications you can make to + * your DB instance. You can use this information when you call ModifyDBInstance. *

                                                                      + *

                                                                      This command doesn't apply to RDS Custom.

                                                                      */ public describeValidDBInstanceModifications( args: DescribeValidDBInstanceModificationsCommandInput, @@ -3984,6 +4114,7 @@ export class RDS extends RDSClient { /** *

                                                                      Downloads all or a portion of the specified log file, up to 1 MB in size.

                                                                      + *

                                                                      This command doesn't apply to RDS Custom.

                                                                      */ public downloadDBLogFilePortion( args: DownloadDBLogFilePortionCommandInput, @@ -4278,6 +4409,48 @@ export class RDS extends RDSClient { } } + /** + *

                                                                      Modifies the status of a custom engine version (CEV). You can find CEVs to modify by calling + * DescribeDBEngineVersions.

                                                                      + * + *

                                                                      The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with + * Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the + * ModifyCustomDbEngineVersion event aren't logged. However, you might see calls from the + * API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for + * the ModifyCustomDbEngineVersion event.

                                                                      + *
                                                                      + *

                                                                      For more information, see Modifying CEV status + * in the Amazon RDS User Guide.

                                                                      + */ + public modifyCustomDBEngineVersion( + args: ModifyCustomDBEngineVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public modifyCustomDBEngineVersion( + args: ModifyCustomDBEngineVersionCommandInput, + cb: (err: any, data?: ModifyCustomDBEngineVersionCommandOutput) => void + ): void; + public modifyCustomDBEngineVersion( + args: ModifyCustomDBEngineVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ModifyCustomDBEngineVersionCommandOutput) => void + ): void; + public modifyCustomDBEngineVersion( + args: ModifyCustomDBEngineVersionCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ModifyCustomDBEngineVersionCommandOutput) => void), + cb?: (err: any, data?: ModifyCustomDBEngineVersionCommandOutput) => void + ): Promise | void { + const command = new ModifyCustomDBEngineVersionCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                      Modify a setting for an Amazon Aurora DB cluster. * You can change one @@ -4652,7 +4825,8 @@ export class RDS extends RDSClient { * *

                                                                      * - *

                                                                      Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL. + *

                                                                      Amazon RDS supports upgrading DB snapshots for MySQL, PostgreSQL, and Oracle. This command + * doesn't apply to RDS Custom. *

                                                                      */ public modifyDBSnapshot( @@ -4887,7 +5061,7 @@ export class RDS extends RDSClient { * promotion.

                                                                      * *
                                                                    • - *

                                                                      This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.

                                                                      + *

                                                                      This command doesn't apply to Aurora MySQL, Aurora PostgreSQL, or RDS Custom.

                                                                      *
                                                                    • *
                                                                    * @@ -5002,6 +5176,8 @@ export class RDS extends RDSClient { * *

                                                                    For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide. *

                                                                    + * + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    */ public rebootDBInstance( args: RebootDBInstanceCommandInput, @@ -5539,6 +5715,7 @@ export class RDS extends RDSClient { * For more information, see Importing Data into an Amazon RDS MySQL DB Instance * in the Amazon RDS User Guide. *

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    */ public restoreDBInstanceFromS3( args: RestoreDBInstanceFromS3CommandInput, @@ -5730,7 +5907,7 @@ export class RDS extends RDSClient { * * *

                                                                    - * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. + * This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. * For Aurora DB clusters, use StartDBCluster instead. *

                                                                    *
                                                                    @@ -5766,6 +5943,7 @@ export class RDS extends RDSClient { /** *

                                                                    Enables replication of automated backups to a different Amazon Web Services Region.

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    *

                                                                    For more information, see * Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide. *

                                                                    @@ -5805,6 +5983,7 @@ export class RDS extends RDSClient { *

                                                                    Starts an export of a snapshot to Amazon S3. * The provided IAM role must have access to the S3 bucket. *

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    */ public startExportTask( args: StartExportTaskCommandInput, @@ -5930,7 +6109,7 @@ export class RDS extends RDSClient { * * *

                                                                    - * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. + * This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. * For Aurora clusters, use StopDBCluster instead. *

                                                                    *
                                                                    @@ -5966,6 +6145,7 @@ export class RDS extends RDSClient { /** *

                                                                    Stops automated backup replication for a DB instance.

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    *

                                                                    For more information, see * Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide. *

                                                                    diff --git a/clients/client-rds/src/RDSClient.ts b/clients/client-rds/src/RDSClient.ts index af958fa646dc..931e46aa4305 100644 --- a/clients/client-rds/src/RDSClient.ts +++ b/clients/client-rds/src/RDSClient.ts @@ -87,6 +87,10 @@ import { CreateCustomAvailabilityZoneCommandInput, CreateCustomAvailabilityZoneCommandOutput, } from "./commands/CreateCustomAvailabilityZoneCommand"; +import { + CreateCustomDBEngineVersionCommandInput, + CreateCustomDBEngineVersionCommandOutput, +} from "./commands/CreateCustomDBEngineVersionCommand"; import { CreateDBClusterCommandInput, CreateDBClusterCommandOutput } from "./commands/CreateDBClusterCommand"; import { CreateDBClusterEndpointCommandInput, @@ -136,6 +140,10 @@ import { DeleteCustomAvailabilityZoneCommandInput, DeleteCustomAvailabilityZoneCommandOutput, } from "./commands/DeleteCustomAvailabilityZoneCommand"; +import { + DeleteCustomDBEngineVersionCommandInput, + DeleteCustomDBEngineVersionCommandOutput, +} from "./commands/DeleteCustomDBEngineVersionCommand"; import { DeleteDBClusterCommandInput, DeleteDBClusterCommandOutput } from "./commands/DeleteDBClusterCommand"; import { DeleteDBClusterEndpointCommandInput, @@ -359,6 +367,10 @@ import { ModifyCurrentDBClusterCapacityCommandInput, ModifyCurrentDBClusterCapacityCommandOutput, } from "./commands/ModifyCurrentDBClusterCapacityCommand"; +import { + ModifyCustomDBEngineVersionCommandInput, + ModifyCustomDBEngineVersionCommandOutput, +} from "./commands/ModifyCustomDBEngineVersionCommand"; import { ModifyDBClusterCommandInput, ModifyDBClusterCommandOutput } from "./commands/ModifyDBClusterCommand"; import { ModifyDBClusterEndpointCommandInput, @@ -509,6 +521,7 @@ export type ServiceInputTypes = | CopyDBSnapshotCommandInput | CopyOptionGroupCommandInput | CreateCustomAvailabilityZoneCommandInput + | CreateCustomDBEngineVersionCommandInput | CreateDBClusterCommandInput | CreateDBClusterEndpointCommandInput | CreateDBClusterParameterGroupCommandInput @@ -525,6 +538,7 @@ export type ServiceInputTypes = | CreateGlobalClusterCommandInput | CreateOptionGroupCommandInput | DeleteCustomAvailabilityZoneCommandInput + | DeleteCustomDBEngineVersionCommandInput | DeleteDBClusterCommandInput | DeleteDBClusterEndpointCommandInput | DeleteDBClusterParameterGroupCommandInput @@ -589,6 +603,7 @@ export type ServiceInputTypes = | ListTagsForResourceCommandInput | ModifyCertificatesCommandInput | ModifyCurrentDBClusterCapacityCommandInput + | ModifyCustomDBEngineVersionCommandInput | ModifyDBClusterCommandInput | ModifyDBClusterEndpointCommandInput | ModifyDBClusterParameterGroupCommandInput @@ -648,6 +663,7 @@ export type ServiceOutputTypes = | CopyDBSnapshotCommandOutput | CopyOptionGroupCommandOutput | CreateCustomAvailabilityZoneCommandOutput + | CreateCustomDBEngineVersionCommandOutput | CreateDBClusterCommandOutput | CreateDBClusterEndpointCommandOutput | CreateDBClusterParameterGroupCommandOutput @@ -664,6 +680,7 @@ export type ServiceOutputTypes = | CreateGlobalClusterCommandOutput | CreateOptionGroupCommandOutput | DeleteCustomAvailabilityZoneCommandOutput + | DeleteCustomDBEngineVersionCommandOutput | DeleteDBClusterCommandOutput | DeleteDBClusterEndpointCommandOutput | DeleteDBClusterParameterGroupCommandOutput @@ -728,6 +745,7 @@ export type ServiceOutputTypes = | ListTagsForResourceCommandOutput | ModifyCertificatesCommandOutput | ModifyCurrentDBClusterCapacityCommandOutput + | ModifyCustomDBEngineVersionCommandOutput | ModifyDBClusterCommandOutput | ModifyDBClusterEndpointCommandOutput | ModifyDBClusterParameterGroupCommandOutput diff --git a/clients/client-rds/src/commands/AddRoleToDBInstanceCommand.ts b/clients/client-rds/src/commands/AddRoleToDBInstanceCommand.ts index cb071d463377..2cfd28f6380b 100644 --- a/clients/client-rds/src/commands/AddRoleToDBInstanceCommand.ts +++ b/clients/client-rds/src/commands/AddRoleToDBInstanceCommand.ts @@ -26,6 +26,7 @@ export interface AddRoleToDBInstanceCommandOutput extends __MetadataBearer {} * *

                                                                    To add a role to a DB instance, the status of the DB instance must be available.

                                                                    *
                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/CopyDBClusterSnapshotCommand.ts b/clients/client-rds/src/commands/CopyDBClusterSnapshotCommand.ts index 1d6689814782..e514d1e1a4c1 100644 --- a/clients/client-rds/src/commands/CopyDBClusterSnapshotCommand.ts +++ b/clients/client-rds/src/commands/CopyDBClusterSnapshotCommand.ts @@ -47,7 +47,7 @@ export interface CopyDBClusterSnapshotCommandOutput extends CopyDBClusterSnapsho *
                                                                      *
                                                                    • *

                                                                      - * KmsKeyId - The Amazon Web Services KMS key identifier for the customer master key (CMK) to use to encrypt the copy of the DB + * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of the DB * cluster snapshot in the destination Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot * action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                      *
                                                                    • @@ -64,7 +64,6 @@ export interface CopyDBClusterSnapshotCommandOutput extends CopyDBClusterSnapsho * *
                                                                    *

                                                                    To learn how to generate a Signature Version 4 signed request, see - * * * Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and * diff --git a/clients/client-rds/src/commands/CopyDBSnapshotCommand.ts b/clients/client-rds/src/commands/CopyDBSnapshotCommand.ts index d2849e876c1d..c5cb7e3eb316 100644 --- a/clients/client-rds/src/commands/CopyDBSnapshotCommand.ts +++ b/clients/client-rds/src/commands/CopyDBSnapshotCommand.ts @@ -29,6 +29,8 @@ export interface CopyDBSnapshotCommandOutput extends CopyDBSnapshotResult, __Met * where you call the CopyDBSnapshot action is the destination Amazon Web Services Region for the * DB snapshot copy.

                                                                    * + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    + * *

                                                                    For more information about copying snapshots, see * Copying a DB Snapshot in the Amazon RDS User Guide. *

                                                                    diff --git a/clients/client-rds/src/commands/CreateCustomDBEngineVersionCommand.ts b/clients/client-rds/src/commands/CreateCustomDBEngineVersionCommand.ts new file mode 100644 index 000000000000..3bf3dd917bef --- /dev/null +++ b/clients/client-rds/src/commands/CreateCustomDBEngineVersionCommand.ts @@ -0,0 +1,125 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { CreateCustomDBEngineVersionMessage, DBEngineVersion } from "../models/models_0"; +import { + deserializeAws_queryCreateCustomDBEngineVersionCommand, + serializeAws_queryCreateCustomDBEngineVersionCommand, +} from "../protocols/Aws_query"; +import { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; + +export interface CreateCustomDBEngineVersionCommandInput extends CreateCustomDBEngineVersionMessage {} +export interface CreateCustomDBEngineVersionCommandOutput extends DBEngineVersion, __MetadataBearer {} + +/** + *

                                                                    Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot of a database engine and + * specific AMI. The only supported engine is Oracle Database 19c Enterprise Edition with the January 2021 + * or later RU/RUR. For + * more information, see + * Amazon RDS Custom requirements and limitations in the Amazon RDS User Guide.

                                                                    + *

                                                                    Amazon RDS, which is a fully managed service, supplies the Amazon Machine Image (AMI) and database software. + * The Amazon RDS database software is preinstalled, so you need only select a DB engine and version, and create + * your database. With Amazon RDS Custom, you upload your database installation files in Amazon S3. For + * more information, see + * Preparing to create a CEV in the Amazon RDS User Guide.

                                                                    + *

                                                                    When you create a custom engine version, you specify the files in a JSON document called a CEV manifest. + * This document describes installation .zip files stored in Amazon S3. RDS Custom creates your CEV from + * the installation files that you provided. This service model is called Bring Your Own Media (BYOM).

                                                                    + *

                                                                    Creation takes approximately two hours. If creation fails, RDS Custom issues RDS-EVENT-0196 with + * the message Creation failed for custom engine version, and includes details about the failure. + * For example, the event prints missing files.

                                                                    + *

                                                                    After you create the CEV, it is available for use. You can create multiple CEVs, and create multiple + * RDS Custom instances from any CEV. You can also change the status of a CEV to make it available or + * inactive.

                                                                    + * + *

                                                                    The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with + * Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the + * CreateCustomDbEngineVersion event aren't logged. However, you might see calls from the + * API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for + * the CreateCustomDbEngineVersion event.

                                                                    + *
                                                                    + *

                                                                    For more information, see + * Creating a CEV in the Amazon RDS User Guide.

                                                                    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { RDSClient, CreateCustomDBEngineVersionCommand } from "@aws-sdk/client-rds"; // ES Modules import + * // const { RDSClient, CreateCustomDBEngineVersionCommand } = require("@aws-sdk/client-rds"); // CommonJS import + * const client = new RDSClient(config); + * const command = new CreateCustomDBEngineVersionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link CreateCustomDBEngineVersionCommandInput} for command's `input` shape. + * @see {@link CreateCustomDBEngineVersionCommandOutput} for command's `response` shape. + * @see {@link RDSClientResolvedConfig | config} for command's `input` shape. + * + */ +export class CreateCustomDBEngineVersionCommand extends $Command< + CreateCustomDBEngineVersionCommandInput, + CreateCustomDBEngineVersionCommandOutput, + RDSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: CreateCustomDBEngineVersionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RDSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "RDSClient"; + const commandName = "CreateCustomDBEngineVersionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateCustomDBEngineVersionMessage.filterSensitiveLog, + outputFilterSensitiveLog: DBEngineVersion.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: CreateCustomDBEngineVersionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryCreateCustomDBEngineVersionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_queryCreateCustomDBEngineVersionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-rds/src/commands/CreateDBParameterGroupCommand.ts b/clients/client-rds/src/commands/CreateDBParameterGroupCommand.ts index ea27279b31ea..7e4f3cff8d75 100644 --- a/clients/client-rds/src/commands/CreateDBParameterGroupCommand.ts +++ b/clients/client-rds/src/commands/CreateDBParameterGroupCommand.ts @@ -27,11 +27,12 @@ export interface CreateDBParameterGroupCommandOutput extends CreateDBParameterGr * A DB parameter group is initially created with the default parameters for the * database engine used by the DB instance. To provide custom values for any of the * parameters, you must modify the group after creating it using - * ModifyDBParameterGroup. Once you've created a DB parameter group, you need to - * associate it with your DB instance using ModifyDBInstance. When you associate + * ModifyDBParameterGroup. Once you've created a DB parameter group, you need to + * associate it with your DB instance using ModifyDBInstance. When you associate * a new DB parameter group with a running DB instance, you need to reboot the DB * instance without failover for the new DB parameter group and associated settings to take effect. - *

                                                                    + *

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    * *

                                                                    After you create a DB parameter group, you should wait at least 5 minutes * before creating your first DB instance that uses that DB parameter group as the default parameter diff --git a/clients/client-rds/src/commands/CreateOptionGroupCommand.ts b/clients/client-rds/src/commands/CreateOptionGroupCommand.ts index d1ecd3f46673..2281befda427 100644 --- a/clients/client-rds/src/commands/CreateOptionGroupCommand.ts +++ b/clients/client-rds/src/commands/CreateOptionGroupCommand.ts @@ -23,6 +23,7 @@ export interface CreateOptionGroupCommandOutput extends CreateOptionGroupResult, /** *

                                                                    Creates a new option group. You can create up to 20 option groups.

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/DeleteCustomDBEngineVersionCommand.ts b/clients/client-rds/src/commands/DeleteCustomDBEngineVersionCommand.ts new file mode 100644 index 000000000000..99311c7a7816 --- /dev/null +++ b/clients/client-rds/src/commands/DeleteCustomDBEngineVersionCommand.ts @@ -0,0 +1,118 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { DBEngineVersion, DeleteCustomDBEngineVersionMessage } from "../models/models_0"; +import { + deserializeAws_queryDeleteCustomDBEngineVersionCommand, + serializeAws_queryDeleteCustomDBEngineVersionCommand, +} from "../protocols/Aws_query"; +import { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; + +export interface DeleteCustomDBEngineVersionCommandInput extends DeleteCustomDBEngineVersionMessage {} +export interface DeleteCustomDBEngineVersionCommandOutput extends DBEngineVersion, __MetadataBearer {} + +/** + *

                                                                    Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      The CEV must not be the default for RDS Custom. If it is, change the default + * before running this command.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      The CEV must not be associated with an RDS Custom DB instance, RDS Custom instance snapshot, + * or automated backup of your RDS Custom instance.

                                                                      + *
                                                                    • + *
                                                                    + *

                                                                    Typically, deletion takes a few minutes.

                                                                    + * + *

                                                                    The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with + * Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the + * DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the + * API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for + * the DeleteCustomDbEngineVersion event.

                                                                    + *
                                                                    + *

                                                                    For more information, see + * Deleting a CEV in the Amazon RDS User Guide.

                                                                    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { RDSClient, DeleteCustomDBEngineVersionCommand } from "@aws-sdk/client-rds"; // ES Modules import + * // const { RDSClient, DeleteCustomDBEngineVersionCommand } = require("@aws-sdk/client-rds"); // CommonJS import + * const client = new RDSClient(config); + * const command = new DeleteCustomDBEngineVersionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link DeleteCustomDBEngineVersionCommandInput} for command's `input` shape. + * @see {@link DeleteCustomDBEngineVersionCommandOutput} for command's `response` shape. + * @see {@link RDSClientResolvedConfig | config} for command's `input` shape. + * + */ +export class DeleteCustomDBEngineVersionCommand extends $Command< + DeleteCustomDBEngineVersionCommandInput, + DeleteCustomDBEngineVersionCommandOutput, + RDSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: DeleteCustomDBEngineVersionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RDSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "RDSClient"; + const commandName = "DeleteCustomDBEngineVersionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: DeleteCustomDBEngineVersionMessage.filterSensitiveLog, + outputFilterSensitiveLog: DBEngineVersion.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: DeleteCustomDBEngineVersionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryDeleteCustomDBEngineVersionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_queryDeleteCustomDBEngineVersionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-rds/src/commands/DescribeDBLogFilesCommand.ts b/clients/client-rds/src/commands/DescribeDBLogFilesCommand.ts index c787d48e5641..184fd7348916 100644 --- a/clients/client-rds/src/commands/DescribeDBLogFilesCommand.ts +++ b/clients/client-rds/src/commands/DescribeDBLogFilesCommand.ts @@ -23,6 +23,7 @@ export interface DescribeDBLogFilesCommandOutput extends DescribeDBLogFilesRespo /** *

                                                                    Returns a list of DB log files for the DB instance.

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/DescribeDBProxyTargetsCommand.ts b/clients/client-rds/src/commands/DescribeDBProxyTargetsCommand.ts index b374bc61fb55..4c2d5928985c 100644 --- a/clients/client-rds/src/commands/DescribeDBProxyTargetsCommand.ts +++ b/clients/client-rds/src/commands/DescribeDBProxyTargetsCommand.ts @@ -11,7 +11,8 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeDBProxyTargetsRequest, DescribeDBProxyTargetsResponse } from "../models/models_0"; +import { DescribeDBProxyTargetsRequest } from "../models/models_0"; +import { DescribeDBProxyTargetsResponse } from "../models/models_1"; import { deserializeAws_queryDescribeDBProxyTargetsCommand, serializeAws_queryDescribeDBProxyTargetsCommand, diff --git a/clients/client-rds/src/commands/DescribeValidDBInstanceModificationsCommand.ts b/clients/client-rds/src/commands/DescribeValidDBInstanceModificationsCommand.ts index 6e4422368054..d49323a9c856 100644 --- a/clients/client-rds/src/commands/DescribeValidDBInstanceModificationsCommand.ts +++ b/clients/client-rds/src/commands/DescribeValidDBInstanceModificationsCommand.ts @@ -27,11 +27,10 @@ export interface DescribeValidDBInstanceModificationsCommandOutput __MetadataBearer {} /** - *

                                                                    You can call DescribeValidDBInstanceModifications - * to learn what modifications you can make to your DB instance. - * You can use this information when you call - * ModifyDBInstance. + *

                                                                    You can call DescribeValidDBInstanceModifications to learn what modifications you can make to + * your DB instance. You can use this information when you call ModifyDBInstance. *

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/DownloadDBLogFilePortionCommand.ts b/clients/client-rds/src/commands/DownloadDBLogFilePortionCommand.ts index cc0f9ed233a5..76d694fef9cb 100644 --- a/clients/client-rds/src/commands/DownloadDBLogFilePortionCommand.ts +++ b/clients/client-rds/src/commands/DownloadDBLogFilePortionCommand.ts @@ -23,6 +23,7 @@ export interface DownloadDBLogFilePortionCommandOutput extends DownloadDBLogFile /** *

                                                                    Downloads all or a portion of the specified log file, up to 1 MB in size.

                                                                    + *

                                                                    This command doesn't apply to RDS Custom.

                                                                    * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/ModifyCustomDBEngineVersionCommand.ts b/clients/client-rds/src/commands/ModifyCustomDBEngineVersionCommand.ts new file mode 100644 index 000000000000..c8082f66e6ec --- /dev/null +++ b/clients/client-rds/src/commands/ModifyCustomDBEngineVersionCommand.ts @@ -0,0 +1,109 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { DBEngineVersion } from "../models/models_0"; +import { ModifyCustomDBEngineVersionMessage } from "../models/models_1"; +import { + deserializeAws_queryModifyCustomDBEngineVersionCommand, + serializeAws_queryModifyCustomDBEngineVersionCommand, +} from "../protocols/Aws_query"; +import { RDSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RDSClient"; + +export interface ModifyCustomDBEngineVersionCommandInput extends ModifyCustomDBEngineVersionMessage {} +export interface ModifyCustomDBEngineVersionCommandOutput extends DBEngineVersion, __MetadataBearer {} + +/** + *

                                                                    Modifies the status of a custom engine version (CEV). You can find CEVs to modify by calling + * DescribeDBEngineVersions.

                                                                    + * + *

                                                                    The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with + * Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the + * ModifyCustomDbEngineVersion event aren't logged. However, you might see calls from the + * API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for + * the ModifyCustomDbEngineVersion event.

                                                                    + *
                                                                    + *

                                                                    For more information, see Modifying CEV status + * in the Amazon RDS User Guide.

                                                                    + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { RDSClient, ModifyCustomDBEngineVersionCommand } from "@aws-sdk/client-rds"; // ES Modules import + * // const { RDSClient, ModifyCustomDBEngineVersionCommand } = require("@aws-sdk/client-rds"); // CommonJS import + * const client = new RDSClient(config); + * const command = new ModifyCustomDBEngineVersionCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ModifyCustomDBEngineVersionCommandInput} for command's `input` shape. + * @see {@link ModifyCustomDBEngineVersionCommandOutput} for command's `response` shape. + * @see {@link RDSClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ModifyCustomDBEngineVersionCommand extends $Command< + ModifyCustomDBEngineVersionCommandInput, + ModifyCustomDBEngineVersionCommandOutput, + RDSClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ModifyCustomDBEngineVersionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: RDSClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "RDSClient"; + const commandName = "ModifyCustomDBEngineVersionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ModifyCustomDBEngineVersionMessage.filterSensitiveLog, + outputFilterSensitiveLog: DBEngineVersion.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ModifyCustomDBEngineVersionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_queryModifyCustomDBEngineVersionCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_queryModifyCustomDBEngineVersionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-rds/src/commands/ModifyDBSnapshotCommand.ts b/clients/client-rds/src/commands/ModifyDBSnapshotCommand.ts index 330bc1fbf2fc..8e46c08ad9c0 100644 --- a/clients/client-rds/src/commands/ModifyDBSnapshotCommand.ts +++ b/clients/client-rds/src/commands/ModifyDBSnapshotCommand.ts @@ -27,7 +27,8 @@ export interface ModifyDBSnapshotCommandOutput extends ModifyDBSnapshotResult, _ * *

                                                                    * - *

                                                                    Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL. + *

                                                                    Amazon RDS supports upgrading DB snapshots for MySQL, PostgreSQL, and Oracle. This command + * doesn't apply to RDS Custom. *

                                                                    * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-rds/src/commands/PromoteReadReplicaCommand.ts b/clients/client-rds/src/commands/PromoteReadReplicaCommand.ts index 88d228f65100..a33ddc6b4b18 100644 --- a/clients/client-rds/src/commands/PromoteReadReplicaCommand.ts +++ b/clients/client-rds/src/commands/PromoteReadReplicaCommand.ts @@ -36,7 +36,7 @@ export interface PromoteReadReplicaCommandOutput extends PromoteReadReplicaResul * promotion.

                                                                    * *
                                                                  • - *

                                                                    This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.

                                                                    + *

                                                                    This command doesn't apply to Aurora MySQL, Aurora PostgreSQL, or RDS Custom.

                                                                    *
                                                                  • *
                                                                  * diff --git a/clients/client-rds/src/commands/RebootDBInstanceCommand.ts b/clients/client-rds/src/commands/RebootDBInstanceCommand.ts index 6f0b53d8f65d..ce9c9914c81f 100644 --- a/clients/client-rds/src/commands/RebootDBInstanceCommand.ts +++ b/clients/client-rds/src/commands/RebootDBInstanceCommand.ts @@ -34,6 +34,8 @@ export interface RebootDBInstanceCommandOutput extends RebootDBInstanceResult, _ * *

                                                                  For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide. *

                                                                  + * + *

                                                                  This command doesn't apply to RDS Custom.

                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/RestoreDBInstanceFromS3Command.ts b/clients/client-rds/src/commands/RestoreDBInstanceFromS3Command.ts index 8228a4e7d1ad..35f487b73bfb 100644 --- a/clients/client-rds/src/commands/RestoreDBInstanceFromS3Command.ts +++ b/clients/client-rds/src/commands/RestoreDBInstanceFromS3Command.ts @@ -30,6 +30,7 @@ export interface RestoreDBInstanceFromS3CommandOutput extends RestoreDBInstanceF * For more information, see Importing Data into an Amazon RDS MySQL DB Instance * in the Amazon RDS User Guide. *

                                                                  + *

                                                                  This command doesn't apply to RDS Custom.

                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/StartDBInstanceAutomatedBackupsReplicationCommand.ts b/clients/client-rds/src/commands/StartDBInstanceAutomatedBackupsReplicationCommand.ts index e9440b589229..5980e731ea2e 100644 --- a/clients/client-rds/src/commands/StartDBInstanceAutomatedBackupsReplicationCommand.ts +++ b/clients/client-rds/src/commands/StartDBInstanceAutomatedBackupsReplicationCommand.ts @@ -30,6 +30,7 @@ export interface StartDBInstanceAutomatedBackupsReplicationCommandOutput /** *

                                                                  Enables replication of automated backups to a different Amazon Web Services Region.

                                                                  + *

                                                                  This command doesn't apply to RDS Custom.

                                                                  *

                                                                  For more information, see * Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide. *

                                                                  diff --git a/clients/client-rds/src/commands/StartDBInstanceCommand.ts b/clients/client-rds/src/commands/StartDBInstanceCommand.ts index 3fef5e3d7c30..31e1b806f0a9 100644 --- a/clients/client-rds/src/commands/StartDBInstanceCommand.ts +++ b/clients/client-rds/src/commands/StartDBInstanceCommand.ts @@ -34,7 +34,7 @@ export interface StartDBInstanceCommandOutput extends StartDBInstanceResult, __M * * *

                                                                  - * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. + * This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. * For Aurora DB clusters, use StartDBCluster instead. *

                                                                  *
                                                                  diff --git a/clients/client-rds/src/commands/StartExportTaskCommand.ts b/clients/client-rds/src/commands/StartExportTaskCommand.ts index 3ca25b8106db..06195f69907d 100644 --- a/clients/client-rds/src/commands/StartExportTaskCommand.ts +++ b/clients/client-rds/src/commands/StartExportTaskCommand.ts @@ -26,6 +26,7 @@ export interface StartExportTaskCommandOutput extends ExportTask, __MetadataBear *

                                                                  Starts an export of a snapshot to Amazon S3. * The provided IAM role must have access to the S3 bucket. *

                                                                  + *

                                                                  This command doesn't apply to RDS Custom.

                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-rds/src/commands/StopDBInstanceAutomatedBackupsReplicationCommand.ts b/clients/client-rds/src/commands/StopDBInstanceAutomatedBackupsReplicationCommand.ts index 6bfba2d09647..b0b8c588ca9f 100644 --- a/clients/client-rds/src/commands/StopDBInstanceAutomatedBackupsReplicationCommand.ts +++ b/clients/client-rds/src/commands/StopDBInstanceAutomatedBackupsReplicationCommand.ts @@ -29,6 +29,7 @@ export interface StopDBInstanceAutomatedBackupsReplicationCommandOutput /** *

                                                                  Stops automated backup replication for a DB instance.

                                                                  + *

                                                                  This command doesn't apply to RDS Custom.

                                                                  *

                                                                  For more information, see * Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide. *

                                                                  diff --git a/clients/client-rds/src/commands/StopDBInstanceCommand.ts b/clients/client-rds/src/commands/StopDBInstanceCommand.ts index 0a29bfc81925..d18ca993a657 100644 --- a/clients/client-rds/src/commands/StopDBInstanceCommand.ts +++ b/clients/client-rds/src/commands/StopDBInstanceCommand.ts @@ -36,7 +36,7 @@ export interface StopDBInstanceCommandOutput extends StopDBInstanceResult, __Met * * *

                                                                  - * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. + * This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. * For Aurora clusters, use StopDBCluster instead. *

                                                                  *
                                                                  diff --git a/clients/client-rds/src/commands/index.ts b/clients/client-rds/src/commands/index.ts index 1473534479c2..e4e9f5291f8a 100644 --- a/clients/client-rds/src/commands/index.ts +++ b/clients/client-rds/src/commands/index.ts @@ -12,6 +12,7 @@ export * from "./CopyDBParameterGroupCommand"; export * from "./CopyDBSnapshotCommand"; export * from "./CopyOptionGroupCommand"; export * from "./CreateCustomAvailabilityZoneCommand"; +export * from "./CreateCustomDBEngineVersionCommand"; export * from "./CreateDBClusterCommand"; export * from "./CreateDBClusterEndpointCommand"; export * from "./CreateDBClusterParameterGroupCommand"; @@ -28,6 +29,7 @@ export * from "./CreateEventSubscriptionCommand"; export * from "./CreateGlobalClusterCommand"; export * from "./CreateOptionGroupCommand"; export * from "./DeleteCustomAvailabilityZoneCommand"; +export * from "./DeleteCustomDBEngineVersionCommand"; export * from "./DeleteDBClusterCommand"; export * from "./DeleteDBClusterEndpointCommand"; export * from "./DeleteDBClusterParameterGroupCommand"; @@ -92,6 +94,7 @@ export * from "./ImportInstallationMediaCommand"; export * from "./ListTagsForResourceCommand"; export * from "./ModifyCertificatesCommand"; export * from "./ModifyCurrentDBClusterCapacityCommand"; +export * from "./ModifyCustomDBEngineVersionCommand"; export * from "./ModifyDBClusterCommand"; export * from "./ModifyDBClusterEndpointCommand"; export * from "./ModifyDBClusterParameterGroupCommand"; diff --git a/clients/client-rds/src/models/models_0.ts b/clients/client-rds/src/models/models_0.ts index e7b0dc68a1e0..b7f747a8315a 100644 --- a/clients/client-rds/src/models/models_0.ts +++ b/clients/client-rds/src/models/models_0.ts @@ -177,7 +177,7 @@ export interface AddRoleToDBClusterMessage { /** *

                                                                  The name of the feature for the DB cluster that the IAM role is to be associated with. - * For the list of supported feature names, see DBEngineVersion.

                                                                  + * For information about supported feature names, see DBEngineVersion.

                                                                  */ FeatureName?: string; } @@ -279,7 +279,7 @@ export interface AddRoleToDBInstanceMessage { /** *

                                                                  The name of the feature for the DB instance that the IAM role is to be associated with. - * For the list of supported feature names, see DBEngineVersion. + * For information about supported feature names, see DBEngineVersion. *

                                                                  */ FeatureName: string | undefined; @@ -1321,9 +1321,9 @@ export interface ExportTask { IamRoleArn?: string; /** - *

                                                                  The key identifier of the Amazon Web Services KMS customer master key (CMK) that is used to encrypt the snapshot when it's exported to - * Amazon S3. The Amazon Web Services KMS CMK identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export - * must have encryption and decryption permissions to use this Amazon Web Services KMS CMK.

                                                                  + *

                                                                  The key identifier of the Amazon Web Services KMS key that is used to encrypt the snapshot when it's exported to + * Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export + * must have encryption and decryption permissions to use this KMS key.

                                                                  */ KmsKeyId?: string; @@ -1622,16 +1622,17 @@ export interface CopyDBClusterSnapshotMessage { /** *

                                                                  The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot. - * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                  + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS key.

                                                                  * - *

                                                                  If you copy an encrypted DB cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new Amazon Web Services KMS CMK. - * If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same Amazon Web Services KMS key as the source DB cluster snapshot. + *

                                                                  If you copy an encrypted DB cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS key. + * If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot. *

                                                                  * *

                                                                  If you copy an encrypted DB cluster snapshot that is shared from another Amazon Web Services account, then you must specify a value for KmsKeyId.

                                                                  * - *

                                                                  To copy an encrypted DB cluster snapshot to another Amazon Web Services Region, you must set KmsKeyId to the Amazon Web Services KMS key identifier you want to use to encrypt the copy of the DB cluster snapshot - * in the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to the Amazon Web Services Region that they are created in, and you can't use CMKs from one Amazon Web Services Region + *

                                                                  To copy an encrypted DB cluster snapshot to another Amazon Web Services Region, you must set KmsKeyId to the Amazon Web Services KMS key identifier + * you want to use to encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services + * Region that they are created in, and you can't use KMS keys from one Amazon Web Services Region * in another Amazon Web Services Region.

                                                                  * *

                                                                  If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, @@ -1650,7 +1651,7 @@ export interface CopyDBClusterSnapshotMessage { *

                                                                    *
                                                                  • *

                                                                    - * KmsKeyId - The Amazon Web Services KMS key identifier for the customer master key (CMK) to use to encrypt the copy of the DB + * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of the DB * cluster snapshot in the destination Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot * action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                    *
                                                                  • @@ -1800,7 +1801,7 @@ export interface DBClusterSnapshot { /** *

                                                                    If StorageEncrypted is true, the Amazon Web Services KMS key identifier for the encrypted DB cluster snapshot.

                                                                    - *

                                                                    The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                    + *

                                                                    The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                    */ KmsKeyId?: string; @@ -2138,11 +2139,11 @@ export interface CopyDBSnapshotMessage { /** *

                                                                    The Amazon Web Services KMS key identifier for an encrypted DB snapshot. - * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. *

                                                                    * *

                                                                    If you copy an encrypted DB snapshot from your Amazon Web Services account, - * you can specify a value for this parameter to encrypt the copy with a new Amazon Web Services KMS CMK. + * you can specify a value for this parameter to encrypt the copy with a new KMS key. * If you don't specify a value for this parameter, * then the copy of the DB snapshot is encrypted with the same Amazon Web Services KMS key as the source DB snapshot. *

                                                                    @@ -2156,8 +2157,8 @@ export interface CopyDBSnapshotMessage { *

                                                                    * *

                                                                    If you copy an encrypted snapshot to a different Amazon Web Services Region, then you must specify - * a Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to the Amazon Web Services Region - * that they are created in, and you can't use CMKs from one Amazon Web Services Region in another + * an Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services Region + * that they are created in, and you can't use KMS keys from one Amazon Web Services Region in another * Amazon Web Services Region. *

                                                                    */ @@ -2205,7 +2206,7 @@ export interface CopyDBSnapshotMessage { * *
                                                                  • *

                                                                    - * KmsKeyId - The Amazon Web Services KMS key identifier for the customer master key (CMK) to use to encrypt the copy of the DB snapshot in the destination Amazon Web Services Region. + * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of the DB snapshot in the destination Amazon Web Services Region. * This is the same identifier for both the CopyDBSnapshot action that is called in the destination Amazon Web Services Region, * and the action contained in the presigned URL. *

                                                                    @@ -2480,7 +2481,7 @@ export interface DBSnapshot { * If Encrypted is true, the Amazon Web Services KMS key identifier * for the encrypted DB snapshot. *

                                                                    - *

                                                                    The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                    + *

                                                                    The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                    */ KmsKeyId?: string; @@ -3184,6 +3185,410 @@ export namespace CustomAvailabilityZoneQuotaExceededFault { }); } +export interface CreateCustomDBEngineVersionMessage { + /** + *

                                                                    The database engine to use for your custom engine version (CEV). The only supported value is + * custom-oracle-ee.

                                                                    + */ + Engine: string | undefined; + + /** + *

                                                                    The name of your CEV. The name format is 19.customized_string + * . For example, + * a valid name is 19.my_cev1. This setting is required for RDS Custom, but optional for Amazon RDS. + * The combination of Engine and EngineVersion is unique per customer per Region.

                                                                    + */ + EngineVersion: string | undefined; + + /** + *

                                                                    The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid + * bucket name is my-custom-installation-files.

                                                                    + */ + DatabaseInstallationFilesS3BucketName: string | undefined; + + /** + *

                                                                    The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid + * bucket name is 123456789012/cev1. If this setting isn't specified, no prefix is assumed.

                                                                    + */ + DatabaseInstallationFilesS3Prefix?: string; + + /** + *

                                                                    The Amazon Web Services KMS key identifier for an encrypted CEV. A symmetric KMS key is required for + * RDS Custom, but optional for Amazon RDS.

                                                                    + *

                                                                    If you have an existing symmetric KMS key in your account, you can use it with RDS Custom. + * No further action is necessary. If you don't already have a symmetric KMS key in your account, + * follow the instructions in + * Creating symmetric KMS keys in the Amazon Web Services Key Management Service + * Developer Guide.

                                                                    + *

                                                                    You can choose the same symmetric key when you create a CEV and a DB instance, or choose different keys.

                                                                    + */ + KMSKeyId: string | undefined; + + /** + *

                                                                    An optional description of your CEV.

                                                                    + */ + Description?: string; + + /** + *

                                                                    The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. + * Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which + * they are listed.

                                                                    + *

                                                                    The following JSON fields are valid:

                                                                    + *
                                                                    + *
                                                                    MediaImportTemplateVersion
                                                                    + *
                                                                    + *

                                                                    Version of the CEV manifest. The date is in the format YYYY-MM-DD.

                                                                    + *
                                                                    + *
                                                                    databaseInstallationFileNames
                                                                    + *
                                                                    + *

                                                                    Ordered list of installation files for the CEV.

                                                                    + *
                                                                    + *
                                                                    opatchFileNames
                                                                    + *
                                                                    + *

                                                                    Ordered list of OPatch installers used for the Oracle DB engine.

                                                                    + *
                                                                    + *
                                                                    psuRuPatchFileNames
                                                                    + *
                                                                    + *

                                                                    The PSU and RU patches for this CEV.

                                                                    + *
                                                                    + *
                                                                    OtherPatchFileNames
                                                                    + *
                                                                    + *

                                                                    The patches that are not in the list of PSU and RU patches. + * Amazon RDS applies these patches after applying the PSU and RU patches.

                                                                    + *
                                                                    + *
                                                                    + *

                                                                    For more information, see + * Creating the CEV manifest in the Amazon RDS User Guide.

                                                                    + */ + Manifest: string | undefined; + + /** + *

                                                                    A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                                    + */ + Tags?: Tag[]; +} + +export namespace CreateCustomDBEngineVersionMessage { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateCustomDBEngineVersionMessage): any => ({ + ...obj, + }); +} + +/** + *

                                                                    A CEV with the specified name already exists.

                                                                    + */ +export interface CustomDBEngineVersionAlreadyExistsFault extends __SmithyException, $MetadataBearer { + name: "CustomDBEngineVersionAlreadyExistsFault"; + $fault: "client"; + message?: string; +} + +export namespace CustomDBEngineVersionAlreadyExistsFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CustomDBEngineVersionAlreadyExistsFault): any => ({ + ...obj, + }); +} + +/** + *

                                                                    You have exceeded your CEV quota.

                                                                    + */ +export interface CustomDBEngineVersionQuotaExceededFault extends __SmithyException, $MetadataBearer { + name: "CustomDBEngineVersionQuotaExceededFault"; + $fault: "client"; + message?: string; +} + +export namespace CustomDBEngineVersionQuotaExceededFault { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CustomDBEngineVersionQuotaExceededFault): any => ({ + ...obj, + }); +} + +/** + *

                                                                    + * This data type is used as a response element in the action DescribeDBEngineVersions. + *

                                                                    + */ +export interface CharacterSet { + /** + *

                                                                    The name of the character set.

                                                                    + */ + CharacterSetName?: string; + + /** + *

                                                                    The description of the character set.

                                                                    + */ + CharacterSetDescription?: string; +} + +export namespace CharacterSet { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CharacterSet): any => ({ + ...obj, + }); +} + +/** + *

                                                                    A time zone associated with a + * DBInstance + * or a DBSnapshot. + * This data type is an element in the response to + * the DescribeDBInstances, + * the DescribeDBSnapshots, + * and the DescribeDBEngineVersions + * actions. + *

                                                                    + */ +export interface Timezone { + /** + *

                                                                    The name of the time zone.

                                                                    + */ + TimezoneName?: string; +} + +export namespace Timezone { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Timezone): any => ({ + ...obj, + }); +} + +/** + *

                                                                    The version of the database engine that a DB instance can be upgraded to.

                                                                    + */ +export interface UpgradeTarget { + /** + *

                                                                    The name of the upgrade target database engine.

                                                                    + */ + Engine?: string; + + /** + *

                                                                    The version number of the upgrade target database engine.

                                                                    + */ + EngineVersion?: string; + + /** + *

                                                                    The version of the database engine that a DB instance can be upgraded to.

                                                                    + */ + Description?: string; + + /** + *

                                                                    A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

                                                                    + */ + AutoUpgrade?: boolean; + + /** + *

                                                                    A value that indicates whether upgrading to the target version requires upgrading the major version of the database engine.

                                                                    + */ + IsMajorVersionUpgrade?: boolean; + + /** + *

                                                                    A list of the supported DB engine modes for the target engine version.

                                                                    + */ + SupportedEngineModes?: string[]; + + /** + *

                                                                    A value that indicates whether you can use Aurora parallel query with the target engine version.

                                                                    + */ + SupportsParallelQuery?: boolean; + + /** + *

                                                                    A value that indicates whether you can use Aurora global databases with the target engine version.

                                                                    + */ + SupportsGlobalDatabases?: boolean; +} + +export namespace UpgradeTarget { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpgradeTarget): any => ({ + ...obj, + }); +} + +/** + *

                                                                    + * This data type is used as a response element in the action DescribeDBEngineVersions. + *

                                                                    + */ +export interface DBEngineVersion { + /** + *

                                                                    The name of the database engine.

                                                                    + */ + Engine?: string; + + /** + *

                                                                    The version number of the database engine.

                                                                    + */ + EngineVersion?: string; + + /** + *

                                                                    The name of the DB parameter group family for the database engine.

                                                                    + */ + DBParameterGroupFamily?: string; + + /** + *

                                                                    The description of the database engine.

                                                                    + */ + DBEngineDescription?: string; + + /** + *

                                                                    The description of the database engine version.

                                                                    + */ + DBEngineVersionDescription?: string; + + /** + *

                                                                    + * The default character set for new instances of this engine version, + * if the CharacterSetName parameter of the CreateDBInstance API + * isn't specified. + *

                                                                    + */ + DefaultCharacterSet?: CharacterSet; + + /** + *

                                                                    A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance operation. + *

                                                                    + */ + SupportedCharacterSets?: CharacterSet[]; + + /** + *

                                                                    A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName parameter of the CreateDBInstance operation. + *

                                                                    + */ + SupportedNcharCharacterSets?: CharacterSet[]; + + /** + *

                                                                    A list of engine versions that this database engine version can be upgraded to.

                                                                    + */ + ValidUpgradeTarget?: UpgradeTarget[]; + + /** + *

                                                                    A list of the time zones supported by this engine for the + * Timezone parameter of the CreateDBInstance action. + *

                                                                    + */ + SupportedTimezones?: Timezone[]; + + /** + *

                                                                    The types of logs that the database engine has available for export to CloudWatch Logs.

                                                                    + */ + ExportableLogTypes?: string[]; + + /** + *

                                                                    A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

                                                                    + */ + SupportsLogExportsToCloudwatchLogs?: boolean; + + /** + *

                                                                    Indicates whether the database engine version supports read replicas.

                                                                    + */ + SupportsReadReplica?: boolean; + + /** + *

                                                                    A list of the supported DB engine modes.

                                                                    + */ + SupportedEngineModes?: string[]; + + /** + *

                                                                    + * A list of features supported by the DB engine. + *

                                                                    + *

                                                                    The supported features vary by DB engine and DB engine version.

                                                                    + *

                                                                    To determine the supported features for a specific DB engine and DB engine version using the CLI, + * use the following command:

                                                                    + *

                                                                    + * aws rds describe-db-engine-versions --engine --engine-version + *

                                                                    + *

                                                                    For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, + * use the following command:

                                                                    + *

                                                                    + * aws rds describe-db-engine-versions --engine postgres --engine-version 13.3 + *

                                                                    + *

                                                                    The supported features are listed under SupportedFeatureNames in the output.

                                                                    + */ + SupportedFeatureNames?: string[]; + + /** + *

                                                                    The status of the DB engine version, either available or deprecated.

                                                                    + */ + Status?: string; + + /** + *

                                                                    A value that indicates whether you can use Aurora parallel query with a specific DB engine version.

                                                                    + */ + SupportsParallelQuery?: boolean; + + /** + *

                                                                    A value that indicates whether you can use Aurora global databases with a specific DB engine version.

                                                                    + */ + SupportsGlobalDatabases?: boolean; + + /** + *

                                                                    The major engine version of the CEV.

                                                                    + */ + MajorEngineVersion?: string; + + /** + *

                                                                    The name of the Amazon S3 bucket that contains your database installation files.

                                                                    + */ + DatabaseInstallationFilesS3BucketName?: string; + + /** + *

                                                                    The Amazon S3 directory that contains the database installation files. + * If not specified, then no prefix is assumed.

                                                                    + */ + DatabaseInstallationFilesS3Prefix?: string; + + /** + *

                                                                    The ARN of the custom engine version.

                                                                    + */ + DBEngineVersionArn?: string; + + /** + *

                                                                    The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for + * RDS Custom, but optional for Amazon RDS.

                                                                    + */ + KMSKeyId?: string; + + /** + *

                                                                    The creation time of the DB engine version.

                                                                    + */ + CreateTime?: Date; + + /** + *

                                                                    A list of tags. + * For more information, see Tagging Amazon RDS Resources in the Amazon RDS User Guide. + *

                                                                    + */ + TagList?: Tag[]; +} + +export namespace DBEngineVersion { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DBEngineVersion): any => ({ + ...obj, + }); +} + /** *

                                                                    Contains the scaling configuration of an Aurora Serverless DB cluster.

                                                                    *

                                                                    For more information, see Using Amazon Aurora Serverless in the @@ -3471,26 +3876,26 @@ export interface CreateDBClusterMessage { /** *

                                                                    The Amazon Web Services KMS key identifier for an encrypted DB cluster.

                                                                    - *

                                                                    The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). - * To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                    - *

                                                                    When a CMK isn't specified in KmsKeyId:

                                                                    + *

                                                                    The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. + * To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                    + *

                                                                    When a KMS key isn't specified in KmsKeyId:

                                                                    *
                                                                      *
                                                                    • *

                                                                      If ReplicationSourceIdentifier identifies an encrypted - * source, then Amazon RDS will use the CMK used to encrypt the - * source. Otherwise, Amazon RDS will use your default CMK.

                                                                      + * source, then Amazon RDS will use the KMS key used to encrypt the + * source. Otherwise, Amazon RDS will use your default KMS key.

                                                                      *
                                                                    • *
                                                                    • *

                                                                      If the StorageEncrypted parameter is enabled and * ReplicationSourceIdentifier isn't specified, then Amazon RDS - * will use your default CMK.

                                                                      + * will use your default KMS key.

                                                                      *
                                                                    • *
                                                                    - *

                                                                    There is a default CMK for your Amazon Web Services account. Your Amazon Web Services account - * has a different default CMK for each Amazon Web Services Region.

                                                                    + *

                                                                    There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account + * has a different default KMS key for each Amazon Web Services Region.

                                                                    *

                                                                    If you create a read replica of an encrypted DB cluster in another Amazon Web Services Region, you - * must set KmsKeyId to a Amazon Web Services KMS key identifier that is valid in the destination Amazon Web Services - * Region. This CMK is used to encrypt the read replica in that Amazon Web Services Region.

                                                                    + * must set KmsKeyId to a KMS key identifier that is valid in the destination Amazon Web Services + * Region. This KMS key is used to encrypt the read replica in that Amazon Web Services Region.

                                                                    */ KmsKeyId?: string; @@ -3505,8 +3910,8 @@ export interface CreateDBClusterMessage { *
                                                                      *
                                                                    • *

                                                                      - * KmsKeyId - The Amazon Web Services KMS key identifier for the key to use to encrypt the copy of - * the DB cluster in the destination Amazon Web Services Region. This should refer to the same Amazon Web Services KMS CMK for both the CreateDBCluster + * KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of + * the DB cluster in the destination Amazon Web Services Region. This should refer to the same KMS key for both the CreateDBCluster * action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                      *
                                                                    • *
                                                                    • @@ -3728,7 +4133,7 @@ export interface DBClusterRole { /** *

                                                                      The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role. - * For the list of supported feature names, see DBEngineVersion. + * For information about supported feature names, see DBEngineVersion. *

                                                                      */ FeatureName?: string; @@ -4144,13 +4549,13 @@ export interface DBCluster { /** *

                                                                      If StorageEncrypted is enabled, the Amazon Web Services KMS key identifier for the encrypted DB cluster.

                                                                      - *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                      + *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                      */ KmsKeyId?: string; /** *

                                                                      The Amazon Web Services Region-unique, immutable identifier for the DB cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever - * the Amazon Web Services KMS CMK for the DB cluster is accessed.

                                                                      + * the KMS key for the DB cluster is accessed.

                                                                      */ DbClusterResourceId?: string; @@ -4260,7 +4665,7 @@ export interface DBCluster { /** *

                                                                      The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

                                                                      - *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                      + *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                      */ ActivityStreamKmsKeyId?: string; @@ -5038,6 +5443,26 @@ export interface CreateDBInstanceMessage { *
                                                                    • *
                                                                    *

                                                                    + * Amazon RDS Custom + *

                                                                    + *

                                                                    The Oracle System ID (SID) of the created RDS Custom DB instance. + * If you don't specify a value, the default value is ORCL. + *

                                                                    + *

                                                                    Default: ORCL + *

                                                                    + *

                                                                    Constraints:

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      It must contain 1 to 8 alphanumeric characters.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      It must contain a letter.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      It can't be a word reserved by the database engine.

                                                                      + *
                                                                    • + *
                                                                    + *

                                                                    * SQL Server *

                                                                    *

                                                                    Not applicable. Must be null.

                                                                    @@ -5109,6 +5534,20 @@ export interface CreateDBInstanceMessage { * database increases, though you are only charged for the space that you use in an Aurora cluster volume.

                                                                    * *

                                                                    + * Amazon RDS Custom + *

                                                                    + *

                                                                    Constraints to the amount of storage for each storage type are the following: + *

                                                                    + *
                                                                      + *
                                                                    • + *

                                                                      General Purpose (SSD) storage (gp2): Must be an integer from 40 to 65536.

                                                                      + *
                                                                    • + *
                                                                    • + *

                                                                      Provisioned IOPS storage (io1): Must be an integer from 40 to 65536.

                                                                      + *
                                                                    • + *
                                                                    + * + *

                                                                    * MySQL *

                                                                    *

                                                                    Constraints to the amount of storage for each storage type are the following: @@ -5254,6 +5693,11 @@ export interface CreateDBInstanceMessage { *

                                                                  • *
                                                                  • *

                                                                    + * custom-oracle-ee (for RDS Custom instances) + *

                                                                    + *
                                                                  • + *
                                                                  • + *

                                                                    * mariadb *

                                                                    *
                                                                  • @@ -5522,6 +5966,7 @@ export interface CreateDBInstanceMessage { /** *

                                                                    The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then * the default DB parameter group for the specified DB engine and version is used.

                                                                    + *

                                                                    This setting doesn't apply to RDS Custom.

                                                                    *

                                                                    Constraints:

                                                                    *
                                                                      *
                                                                    • @@ -5538,12 +5983,12 @@ export interface CreateDBInstanceMessage { DBParameterGroupName?: string; /** - *

                                                                      The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

                                                                      + *

                                                                      The number of days for which automated backups are retained. Setting this parameter to a positive number enables + * backups. Setting this parameter to 0 disables automated backups.

                                                                      *

                                                                      * Amazon Aurora *

                                                                      - *

                                                                      Not applicable. The retention period for automated backups is managed by the DB - * cluster.

                                                                      + *

                                                                      Not applicable. The retention period for automated backups is managed by the DB cluster.

                                                                      *

                                                                      Default: 1

                                                                      *

                                                                      Constraints:

                                                                      *
                                                                        @@ -5553,6 +5998,9 @@ export interface CreateDBInstanceMessage { *
                                                                      • *

                                                                        Can't be set to 0 if the DB instance is a source to read replicas

                                                                        *
                                                                      • + *
                                                                      • + *

                                                                        Can't be set to 0 or 35 for an RDS Custom DB instance

                                                                        + *
                                                                      • *
                                                                      */ BackupRetentionPeriod?: number; @@ -5651,6 +6099,7 @@ export interface CreateDBInstanceMessage { /** *

                                                                      A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set * the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ MultiAZ?: boolean; @@ -5667,6 +6116,15 @@ export interface CreateDBInstanceMessage { * instance is managed by the DB cluster.

                                                                      * *

                                                                      + * Amazon RDS Custom + *

                                                                      + *

                                                                      A custom engine version (CEV) that you have previously created. This setting is required for RDS Custom. The CEV + * name has the following format: 19.customized_string + * . An example identifier is + * 19.my_cev1. For more information, see + * Creating an RDS Custom DB instance in the Amazon RDS User Guide..

                                                                      + * + *

                                                                      * MariaDB *

                                                                      * @@ -5711,6 +6169,8 @@ export interface CreateDBInstanceMessage { /** *

                                                                      A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. * By default, minor engine upgrades are applied automatically.

                                                                      + *

                                                                      If you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade to + * false.

                                                                      */ AutoMinorVersionUpgrade?: boolean; @@ -5719,6 +6179,7 @@ export interface CreateDBInstanceMessage { *

                                                                      * Valid values: license-included | bring-your-own-license | general-public-license *

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ LicenseModel?: string; @@ -5734,13 +6195,18 @@ export interface CreateDBInstanceMessage { /** *

                                                                      A value that indicates that the DB instance should be associated with the specified option group.

                                                                      - *

                                                                      Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance

                                                                      + *

                                                                      Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed + * from an option group. Also, that option group can't be removed from a DB instance after it is + * associated with a DB instance.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ OptionGroupName?: string; /** - *

                                                                      For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

                                                                      - * + *

                                                                      For supported engines, this value indicates that the DB instance should be associated with the + * specified CharacterSet.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom. However, if you need to change the character set, + * you can change it on the database itself.

                                                                      *

                                                                      * Amazon Aurora *

                                                                      @@ -5751,6 +6217,7 @@ export interface CreateDBInstanceMessage { /** *

                                                                      The name of the NCHAR character set for the Oracle DB instance.

                                                                      + *

                                                                      This parameter doesn't apply to RDS Custom.

                                                                      */ NcharCharacterSetName?: string; @@ -5789,6 +6256,7 @@ export interface CreateDBInstanceMessage { /** *

                                                                      The identifier of the DB cluster that the instance will belong to.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ DBClusterIdentifier?: string; @@ -5810,29 +6278,31 @@ export interface CreateDBInstanceMessage { /** *

                                                                      The ARN from the key store with which to associate the instance for TDE encryption.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ TdeCredentialArn?: string; /** *

                                                                      The password for the given ARN from the key store in order to access the device.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ TdeCredentialPassword?: string; /** *

                                                                      A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.

                                                                      - * + *

                                                                      For RDS Custom Oracle instances, either set this parameter to true or leave it unset. + * If you set this parameter to false, RDS reports an error.

                                                                      *

                                                                      * Amazon Aurora *

                                                                      - *

                                                                      Not applicable. The encryption for DB instances is managed by - * the DB cluster.

                                                                      + *

                                                                      Not applicable. The encryption for DB instances is managed by the DB cluster.

                                                                      */ StorageEncrypted?: boolean; /** *

                                                                      The Amazon Web Services KMS key identifier for an encrypted DB instance.

                                                                      - *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). - * To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                      + *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. + * To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                      *

                                                                      * Amazon Aurora *

                                                                      @@ -5840,9 +6310,15 @@ export interface CreateDBInstanceMessage { * the DB cluster. For more information, see CreateDBCluster.

                                                                      *

                                                                      If StorageEncrypted is enabled, and you do * not specify a value for the KmsKeyId parameter, then - * Amazon RDS uses your default CMK. There is a - * default CMK for your Amazon Web Services account. Your Amazon Web Services account has a different - * default CMK for each Amazon Web Services Region.

                                                                      + * Amazon RDS uses your default KMS key. There is a + * default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different + * default KMS key for each Amazon Web Services Region.

                                                                      + *

                                                                      + * Amazon RDS Custom + *

                                                                      + *

                                                                      A KMS key is required for RDS Custom Oracle instances. For most RDS engines, if you leave this parameter empty + * while enabling StorageEncrypted, the engine uses the default KMS key. However, RDS Custom for Oracle + * doesn't use the default key when this parameter is empty. You must explicitly specify a key.

                                                                      */ KmsKeyId?: string; @@ -5851,6 +6327,7 @@ export interface CreateDBInstanceMessage { * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                      *

                                                                      For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ Domain?: string; @@ -5865,9 +6342,11 @@ export interface CreateDBInstanceMessage { CopyTagsToSnapshot?: boolean; /** - *

                                                                      The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

                                                                      - *

                                                                      If MonitoringRoleArn is specified, then you must also set MonitoringInterval + *

                                                                      The interval, in seconds, between points when Enhanced Monitoring metrics are collected for + * the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.

                                                                      + *

                                                                      If MonitoringRoleArn is specified, then you must set MonitoringInterval * to a value other than 0.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      *

                                                                      Valid Values: 0, 1, 5, 10, 15, 30, 60 *

                                                                      */ @@ -5875,24 +6354,27 @@ export interface CreateDBInstanceMessage { /** *

                                                                      The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For - * example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, - * go to Setting Up and Enabling Enhanced Monitoring + * example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, + * see Setting Up and Enabling Enhanced Monitoring * in the Amazon RDS User Guide.

                                                                      *

                                                                      If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ MonitoringRoleArn?: string; /** *

                                                                      Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ DomainIAMRoleName?: string; /** *

                                                                      A value that specifies the order in which an Aurora Replica is promoted to the primary instance - * after a failure of the existing primary instance. For more information, + * after a failure of the existing primary instance. For more information, * see * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. - *

                                                                      + *

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      *

                                                                      Default: 1

                                                                      *

                                                                      Valid Values: 0 - 15

                                                                      */ @@ -5909,10 +6391,8 @@ export interface CreateDBInstanceMessage { /** *

                                                                      A value that indicates whether to enable mapping of Amazon Web Services Identity and Access * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                      - * - *

                                                                      This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB - * cluster.

                                                                      - * + *

                                                                      This setting doesn't apply to RDS Custom or Amazon Aurora. In Aurora, mapping Amazon Web Services IAM accounts + * to database accounts is managed by the DB cluster.

                                                                      *

                                                                      For more information, see * * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. @@ -5921,33 +6401,34 @@ export interface CreateDBInstanceMessage { EnableIAMDatabaseAuthentication?: boolean; /** - *

                                                                      A value that indicates whether to enable Performance Insights for the DB instance. - *

                                                                      - *

                                                                      For more information, see + *

                                                                      A value that indicates whether to enable Performance Insights for the DB instance. For more information, see * Using Amazon Performance Insights in the Amazon Relational Database Service * User Guide. *

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ EnablePerformanceInsights?: boolean; /** *

                                                                      The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                      - *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                      + *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                      *

                                                                      If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS - * uses your default CMK. There is a default CMK for your Amazon Web Services account. - * Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

                                                                      + * uses your default KMS key. There is a default KMS key for your Amazon Web Services account. + * Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ PerformanceInsightsKMSKeyId?: string; /** - *

                                                                      The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                      + *

                                                                      The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ PerformanceInsightsRetentionPeriod?: number; /** *

                                                                      The list of log types that need to be enabled for exporting to CloudWatch Logs. The values - * in the list depend on the DB engine being used. For more information, see - * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database + * in the list depend on the DB engine. For more information, see + * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database * Service User Guide.

                                                                      *

                                                                      * Amazon Aurora @@ -5955,6 +6436,11 @@ export interface CreateDBInstanceMessage { *

                                                                      Not applicable. CloudWatch Logs exports are managed by the DB cluster. *

                                                                      *

                                                                      + * RDS Custom + *

                                                                      + *

                                                                      Not applicable. + *

                                                                      + *

                                                                      * MariaDB *

                                                                      *

                                                                      Possible values are audit, error, general, and slowquery. @@ -5985,6 +6471,7 @@ export interface CreateDBInstanceMessage { /** *

                                                                      The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ ProcessorFeatures?: ProcessorFeature[]; @@ -6011,6 +6498,7 @@ export interface CreateDBInstanceMessage { * * Managing capacity automatically with Amazon RDS storage autoscaling * in the Amazon RDS User Guide.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ MaxAllocatedStorage?: number; @@ -6027,6 +6515,28 @@ export interface CreateDBInstanceMessage { * in the Amazon Web Services Outposts User Guide.

                                                                      */ EnableCustomerOwnedIp?: boolean; + + /** + *

                                                                      The instance profile associated with the underlying Amazon EC2 instance of an + * RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        The profile must exist in your account.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      For the list of permissions required for the IAM role, see + * + * Configure IAM and your VPC in the Amazon Relational Database Service + * User Guide.

                                                                      + *

                                                                      This setting is required for RDS Custom.

                                                                      + */ + CustomIamInstanceProfile?: string; } export namespace CreateDBInstanceMessage { @@ -6050,7 +6560,7 @@ export interface DBInstanceRole { /** *

                                                                      The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role. - * For the list of supported feature names, see DBEngineVersion. + * For information about supported feature names, see DBEngineVersion. *

                                                                      */ FeatureName?: string; @@ -6087,6 +6597,11 @@ export namespace DBInstanceRole { }); } +export enum AutomationMode { + ALL_PAUSED = "all-paused", + FULL = "full", +} + /** *

                                                                      Automated backups of a DB instance replicated to another Amazon Web Services Region. They consist of system backups, transaction logs, and database instance properties.

                                                                      */ @@ -6469,6 +6984,21 @@ export interface PendingModifiedValues { *

                                                                      Whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

                                                                      */ IAMDatabaseAuthenticationEnabled?: boolean; + + /** + *

                                                                      The automation mode of the RDS Custom DB instance: full or all-paused. + * If full, the DB instance automates monitoring and instance recovery. If + * all-paused, the instance pauses automation for the duration set by + * --resume-full-automation-mode-minutes.

                                                                      + */ + AutomationMode?: AutomationMode | string; + + /** + *

                                                                      The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation. + * The minimum value is 60 (default). The maximum value is 1,440. + *

                                                                      + */ + ResumeFullAutomationModeTime?: Date; } export namespace PendingModifiedValues { @@ -6652,7 +7182,7 @@ export interface DBInstance { LatestRestorableTime?: Date; /** - *

                                                                      Specifies if the DB instance is a Multi-AZ deployment.

                                                                      + *

                                                                      Specifies if the DB instance is a Multi-AZ deployment. This setting doesn't apply to RDS Custom.

                                                                      */ MultiAZ?: boolean; @@ -6701,7 +7231,7 @@ export interface DBInstance { ReplicaMode?: ReplicaMode | string; /** - *

                                                                      License model information for this DB instance.

                                                                      + *

                                                                      License model information for this DB instance. This setting doesn't apply to RDS Custom.

                                                                      */ LicenseModel?: string; @@ -6778,13 +7308,13 @@ export interface DBInstance { * If StorageEncrypted is true, the Amazon Web Services KMS key identifier * for the encrypted DB instance. *

                                                                      - *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                      + *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                      */ KmsKeyId?: string; /** *

                                                                      The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in Amazon Web Services CloudTrail log - * entries whenever the Amazon Web Services KMS customer master key (CMK) for the DB instance is accessed.

                                                                      + * entries whenever the Amazon Web Services KMS key for the DB instance is accessed.

                                                                      */ DbiResourceId?: string; @@ -6873,7 +7403,7 @@ export interface DBInstance { /** *

                                                                      The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                      - *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                      + *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                      */ PerformanceInsightsKMSKeyId?: string; @@ -6959,8 +7489,7 @@ export interface DBInstance { /** *

                                                                      The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. - * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS - * customer master key (CMK).

                                                                      + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                      */ ActivityStreamKmsKeyId?: string; @@ -6979,6 +7508,42 @@ export interface DBInstance { *

                                                                      Indicates whether engine-native audit fields are included in the database activity stream.

                                                                      */ ActivityStreamEngineNativeAuditFieldsIncluded?: boolean; + + /** + *

                                                                      The automation mode of the RDS Custom DB instance: full or all paused. + * If full, the DB instance automates monitoring and instance recovery. If + * all paused, the instance pauses automation for the duration set by + * --resume-full-automation-mode-minutes.

                                                                      + */ + AutomationMode?: AutomationMode | string; + + /** + *

                                                                      The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation. + * The minimum value is 60 (default). The maximum value is 1,440. + *

                                                                      + */ + ResumeFullAutomationModeTime?: Date; + + /** + *

                                                                      The instance profile associated with the underlying Amazon EC2 instance of an + * RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        The profile must exist in your account.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      For the list of permissions required for the IAM role, see + * + * Configure IAM and your VPC in the Amazon Relational Database Service + * User Guide.

                                                                      + */ + CustomIamInstanceProfile?: string; } export namespace DBInstance { @@ -7145,7 +7710,8 @@ export interface CreateDBInstanceReadReplicaMessage { *
                                                                    • *

                                                                      If the source DB instance is in a different Amazon Web Services Region from the read replica, specify a valid DB instance ARN. * For more information, see Constructing an ARN for Amazon RDS - * in the Amazon RDS User Guide. This doesn't apply to SQL Server, which doesn't support cross-region replicas.

                                                                      + * in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS Custom, which don't support + * cross-Region replicas.

                                                                      *
                                                                    • *
                                                                    */ @@ -7185,13 +7751,15 @@ export interface CreateDBInstanceReadReplicaMessage { *

                                                                    You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of * your replica in another Availability Zone for failover support for the replica. Creating * your read replica as a Multi-AZ DB instance is independent of whether the source - * database is a Multi-AZ DB instance.

                                                                    + * database is a Multi-AZ DB instance.

                                                                    + *

                                                                    This setting doesn't apply to RDS Custom.

                                                                    */ MultiAZ?: boolean; /** *

                                                                    A value that indicates whether minor engine upgrades are applied automatically to the * read replica during the maintenance window.

                                                                    + *

                                                                    This setting doesn't apply to RDS Custom.

                                                                    *

                                                                    Default: Inherits from the source DB instance

                                                                    */ AutoMinorVersionUpgrade?: boolean; @@ -7207,6 +7775,7 @@ export interface CreateDBInstanceReadReplicaMessage { *

                                                                    For SQL Server, you must use the option group associated with the source * instance.

                                                                    * + *

                                                                    This setting doesn't apply to RDS Custom.

                                                                    */ OptionGroupName?: string; @@ -7216,9 +7785,8 @@ export interface CreateDBInstanceReadReplicaMessage { * uses the DBParameterGroup of source DB instance for a same region read * replica, or the default DBParameterGroup for the specified DB engine for a * cross region read replica.

                                                                    - * - *

                                                                    Currently, specifying a parameter group for this operation is only supported for Oracle DB instances.

                                                                    - *
                                                                    + *

                                                                    Specifying a parameter group for this operation is only supported for Oracle DB instances. It + * isn't supported for RDS Custom.

                                                                    *

                                                                    Constraints:

                                                                    *
                                                                      *
                                                                    • @@ -7285,7 +7853,8 @@ export interface CreateDBInstanceReadReplicaMessage { DBSubnetGroupName?: string; /** - *

                                                                      A list of EC2 VPC security groups to associate with the read replica.

                                                                      + *

                                                                      A list of Amazon EC2 VPC security groups to associate with the read replica.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      *

                                                                      * Default: The default EC2 VPC security group for the DB subnet group's VPC. *

                                                                      @@ -7320,6 +7889,7 @@ export interface CreateDBInstanceReadReplicaMessage { * specify 0. The default is 0.

                                                                      *

                                                                      If MonitoringRoleArn is specified, then you must also set MonitoringInterval * to a value other than 0.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      *

                                                                      Valid Values: 0, 1, 5, 10, 15, 30, 60 *

                                                                      */ @@ -7330,21 +7900,25 @@ export interface CreateDBInstanceReadReplicaMessage { * example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, * go to To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

                                                                      - *

                                                                      If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                                      + *

                                                                      If MonitoringInterval is set to a value other than 0, then you must + * supply a MonitoringRoleArn value.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ MonitoringRoleArn?: string; /** *

                                                                      The Amazon Web Services KMS key identifier for an encrypted read replica.

                                                                      - *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS CMK.

                                                                      + *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                      *

                                                                      If you create an encrypted read replica in the same Amazon Web Services Region as the source DB - * instance, then do not specify a value for this parameter. A read replica in the same Region - * is always encrypted with the same Amazon Web Services KMS CMK as the source DB instance.

                                                                      + * instance, then do not specify a value for this parameter. A read replica in the same Amazon Web Services Region + * is always encrypted with the same KMS key as the source DB instance.

                                                                      *

                                                                      If you create an encrypted read replica in a different Amazon Web Services Region, then you must - * specify a Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to - * the Amazon Web Services Region that they are created in, and you can't use CMKs from one + * specify a KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to + * the Amazon Web Services Region that they are created in, and you can't use KMS keys from one * Amazon Web Services Region in another Amazon Web Services Region.

                                                                      *

                                                                      You can't create an encrypted read replica from an unencrypted DB instance.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom, which uses the same KMS key as the primary + * replica.

                                                                      */ KmsKeyId?: string; @@ -7414,6 +7988,7 @@ export interface CreateDBInstanceReadReplicaMessage { * SourceRegion isn't supported for SQL Server, because SQL Server on Amazon RDS * doesn't support cross-region read replicas.

                                                                      * + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ PreSignedUrl?: string; @@ -7425,28 +8000,32 @@ export interface CreateDBInstanceReadReplicaMessage { * * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. *

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ EnableIAMDatabaseAuthentication?: boolean; /** - *

                                                                      A value that indicates whether to enable Performance Insights for the read replica.

                                                                      + *

                                                                      A value that indicates whether to enable Performance Insights for the read replica.

                                                                      *

                                                                      For more information, see Using * Amazon Performance Insights in the Amazon RDS User Guide. *

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ EnablePerformanceInsights?: boolean; /** *

                                                                      The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                      - *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                      + *

                                                                      The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                      *

                                                                      If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS - * uses your default CMK. There is a default CMK for your Amazon Web Services account. - * Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

                                                                      + * uses your default KMS key. There is a default KMS key for your Amazon Web Services account. + * Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ PerformanceInsightsKMSKeyId?: string; /** *

                                                                      The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ PerformanceInsightsRetentionPeriod?: number; @@ -7455,17 +8034,20 @@ export interface CreateDBInstanceReadReplicaMessage { * in the list depend on the DB engine being used. For more information, see * Publishing * Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ EnableCloudwatchLogsExports?: string[]; /** *

                                                                      The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ ProcessorFeatures?: ProcessorFeature[]; /** *

                                                                      A value that indicates whether the DB instance class of the DB instance uses its default * processor features.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ UseDefaultProcessorFeatures?: boolean; @@ -7484,11 +8066,13 @@ export interface CreateDBInstanceReadReplicaMessage { * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                      *

                                                                      For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ Domain?: string; /** *

                                                                      Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ DomainIAMRoleName?: string; @@ -7497,13 +8081,15 @@ export interface CreateDBInstanceReadReplicaMessage { * *

                                                                      This parameter is only supported for Oracle DB instances.

                                                                      *
                                                                      - *

                                                                      Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for + *

                                                                      Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for * mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active * Data Guard to transmit information to the mounted replica. Because it doesn't accept * user connections, a mounted replica can't serve a read-only workload.

                                                                      *

                                                                      You can create a combination of mounted and read-only DB replicas for the same primary DB instance. * For more information, see Working with Oracle Read Replicas for Amazon RDS * in the Amazon RDS User Guide.

                                                                      + *

                                                                      For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. + * After replica creation, you can manage the open mode manually.

                                                                      */ ReplicaMode?: ReplicaMode | string; @@ -7515,6 +8101,28 @@ export interface CreateDBInstanceReadReplicaMessage { * in the Amazon RDS User Guide.

                                                                      */ MaxAllocatedStorage?: number; + + /** + *

                                                                      The instance profile associated with the underlying Amazon EC2 instance of an + * RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                      + *
                                                                        + *
                                                                      • + *

                                                                        The profile must exist in your account.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                        + *
                                                                      • + *
                                                                      • + *

                                                                        The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                        + *
                                                                      • + *
                                                                      + *

                                                                      For the list of permissions required for the IAM role, see + * + * Configure IAM and your VPC in the Amazon Relational Database Service + * User Guide.

                                                                      + *

                                                                      This setting is required for RDS Custom.

                                                                      + */ + CustomIamInstanceProfile?: string; } export namespace CreateDBInstanceReadReplicaMessage { @@ -8977,7 +9585,7 @@ export interface GlobalCluster { /** *

                                                                      * The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in - * Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS customer master key (CMK) for the DB cluster is accessed. + * Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed. *

                                                                      */ GlobalClusterResourceId?: string; @@ -9214,58 +9822,117 @@ export namespace CreateOptionGroupMessage { }); } -export interface CreateOptionGroupResult { - /** - *

                                                                      - */ - OptionGroup?: OptionGroup; +export interface CreateOptionGroupResult { + /** + *

                                                                      + */ + OptionGroup?: OptionGroup; +} + +export namespace CreateOptionGroupResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateOptionGroupResult): any => ({ + ...obj, + }); +} + +export interface DeleteCustomAvailabilityZoneMessage { + /** + *

                                                                      The custom AZ identifier.

                                                                      + */ + CustomAvailabilityZoneId: string | undefined; +} + +export namespace DeleteCustomAvailabilityZoneMessage { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteCustomAvailabilityZoneMessage): any => ({ + ...obj, + }); +} + +export interface DeleteCustomAvailabilityZoneResult { + /** + *

                                                                      A custom Availability Zone (AZ) is an on-premises AZ that is integrated with a VMware vSphere cluster.

                                                                      + *

                                                                      For more information about RDS on VMware, see the + * + * RDS on VMware User Guide. + *

                                                                      + */ + CustomAvailabilityZone?: CustomAvailabilityZone; +} + +export namespace DeleteCustomAvailabilityZoneResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DeleteCustomAvailabilityZoneResult): any => ({ + ...obj, + ...(obj.CustomAvailabilityZone && { + CustomAvailabilityZone: CustomAvailabilityZone.filterSensitiveLog(obj.CustomAvailabilityZone), + }), + }); +} + +/** + *

                                                                      The specified CEV was not found.

                                                                      + */ +export interface CustomDBEngineVersionNotFoundFault extends __SmithyException, $MetadataBearer { + name: "CustomDBEngineVersionNotFoundFault"; + $fault: "client"; + message?: string; } -export namespace CreateOptionGroupResult { +export namespace CustomDBEngineVersionNotFoundFault { /** * @internal */ - export const filterSensitiveLog = (obj: CreateOptionGroupResult): any => ({ + export const filterSensitiveLog = (obj: CustomDBEngineVersionNotFoundFault): any => ({ ...obj, }); } -export interface DeleteCustomAvailabilityZoneMessage { +export interface DeleteCustomDBEngineVersionMessage { /** - *

                                                                      The custom AZ identifier.

                                                                      + *

                                                                      The database engine. The only supported engine is custom-oracle-ee.

                                                                      */ - CustomAvailabilityZoneId: string | undefined; + Engine: string | undefined; + + /** + *

                                                                      The custom engine version (CEV) for your DB instance. This option is required for + * RDS Custom, but optional for Amazon RDS. The combination of Engine and + * EngineVersion is unique per customer per Amazon Web Services Region.

                                                                      + */ + EngineVersion: string | undefined; } -export namespace DeleteCustomAvailabilityZoneMessage { +export namespace DeleteCustomDBEngineVersionMessage { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteCustomAvailabilityZoneMessage): any => ({ + export const filterSensitiveLog = (obj: DeleteCustomDBEngineVersionMessage): any => ({ ...obj, }); } -export interface DeleteCustomAvailabilityZoneResult { - /** - *

                                                                      A custom Availability Zone (AZ) is an on-premises AZ that is integrated with a VMware vSphere cluster.

                                                                      - *

                                                                      For more information about RDS on VMware, see the - * - * RDS on VMware User Guide. - *

                                                                      - */ - CustomAvailabilityZone?: CustomAvailabilityZone; +/** + *

                                                                      You can't delete the CEV.

                                                                      + */ +export interface InvalidCustomDBEngineVersionStateFault extends __SmithyException, $MetadataBearer { + name: "InvalidCustomDBEngineVersionStateFault"; + $fault: "client"; + message?: string; } -export namespace DeleteCustomAvailabilityZoneResult { +export namespace InvalidCustomDBEngineVersionStateFault { /** * @internal */ - export const filterSensitiveLog = (obj: DeleteCustomAvailabilityZoneResult): any => ({ + export const filterSensitiveLog = (obj: InvalidCustomDBEngineVersionStateFault): any => ({ ...obj, - ...(obj.CustomAvailabilityZone && { - CustomAvailabilityZone: CustomAvailabilityZone.filterSensitiveLog(obj.CustomAvailabilityZone), - }), }); } @@ -9529,14 +10196,17 @@ export interface DeleteDBInstanceMessage { DBInstanceIdentifier: string | undefined; /** - *

                                                                      A value that indicates whether to skip the creation of a final DB snapshot before the DB instance is deleted. - * If skip is specified, no DB snapshot is created. If skip isn't specified, a DB snapshot - * is created before the DB instance is deleted. By default, skip isn't specified, and the DB snapshot is created.

                                                                      - *

                                                                      When a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when skip is specified.

                                                                      - *

                                                                      Specify skip when deleting a read replica.

                                                                      + *

                                                                      A value that indicates whether to skip the creation of a final DB snapshot before deleting the instance. + * If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, + * RDS creates a DB snapshot before the DB instance is deleted. By default, skip isn't enabled, + * and the DB snapshot is created.

                                                                      * - *

                                                                      The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified.

                                                                      + *

                                                                      If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

                                                                      *
                                                                      + *

                                                                      When a DB instance is in a failure state and has a status of failed, incompatible-restore, + * or incompatible-network, RDS can delete the instance only if you enable this parameter.

                                                                      + *

                                                                      If you delete a read replica or an RDS Custom instance, you must enable this setting.

                                                                      + *

                                                                      This setting is required for RDS Custom.

                                                                      */ SkipFinalSnapshot?: boolean; @@ -9546,8 +10216,9 @@ export interface DeleteDBInstanceMessage { * parameter is disabled. *

                                                                      * - *

                                                                      Specifying this parameter and also specifying to skip final DB snapshot creation in SkipFinalShapshot results in an error.

                                                                      + *

                                                                      If you enable this parameter and also enable SkipFinalShapshot, the command results in an error.

                                                                      *
                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      *

                                                                      Constraints:

                                                                      *
                                                                        *
                                                                      • @@ -9632,6 +10303,7 @@ export interface DeleteDBInstanceAutomatedBackupMessage { /** *

                                                                        The Amazon Resource Name (ARN) of the automated backups to delete, for example, * arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ DBInstanceAutomatedBackupsArn?: string; } @@ -9799,7 +10471,7 @@ export interface DBInstanceAutomatedBackup { /** *

                                                                        The Amazon Web Services KMS key ID for an automated backup.

                                                                        - *

                                                                        The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                        + *

                                                                        The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                        */ KmsKeyId?: string; @@ -11234,228 +11906,11 @@ export interface DBClusterMessage { DBClusters?: DBCluster[]; } -export namespace DBClusterMessage { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DBClusterMessage): any => ({ - ...obj, - }); -} - -/** - *

                                                                        - */ -export interface DescribeDBClustersMessage { - /** - *

                                                                        The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

                                                                        - *

                                                                        Constraints:

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          If supplied, must match an existing DBClusterIdentifier.

                                                                          - *
                                                                        • - *
                                                                        - */ - DBClusterIdentifier?: string; - - /** - *

                                                                        A filter that specifies one or more DB clusters to describe.

                                                                        - *

                                                                        Supported filters:

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * clone-group-id - Accepts clone group identifiers. - * The results list will only include information about - * the DB clusters associated with these clone groups.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * db-cluster-id - Accepts DB cluster identifiers and DB - * cluster Amazon Resource Names (ARNs). The results list will only include information about - * the DB clusters identified by these ARNs.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * domain - Accepts Active Directory directory IDs. - * The results list will only include information about - * the DB clusters associated with these domains.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * engine - Accepts engine names. - * The results list will only include information about - * the DB clusters for these engines.

                                                                          - *
                                                                        • - *
                                                                        - */ - Filters?: Filter[]; - - /** - *

                                                                        The maximum number of records to include in the response. - * If more records exist than the specified MaxRecords value, - * a pagination token called a marker is included in the response so you can retrieve the remaining results. - *

                                                                        - *

                                                                        Default: 100

                                                                        - *

                                                                        Constraints: Minimum 20, maximum 100.

                                                                        - */ - MaxRecords?: number; - - /** - *

                                                                        An optional pagination token provided by a previous - * DescribeDBClusters request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                                                        - */ - Marker?: string; - - /** - *

                                                                        Optional Boolean parameter that specifies whether the output includes information about clusters - * shared from other Amazon Web Services accounts.

                                                                        - */ - IncludeShared?: boolean; -} - -export namespace DescribeDBClustersMessage { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeDBClustersMessage): any => ({ - ...obj, - }); -} - -/** - *

                                                                        - */ -export interface DescribeDBClusterSnapshotAttributesMessage { - /** - *

                                                                        The identifier for the DB cluster snapshot to describe the attributes for.

                                                                        - */ - DBClusterSnapshotIdentifier: string | undefined; -} - -export namespace DescribeDBClusterSnapshotAttributesMessage { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeDBClusterSnapshotAttributesMessage): any => ({ - ...obj, - }); -} - -/** - *

                                                                        Contains the name and values of a manual DB cluster snapshot attribute.

                                                                        - *

                                                                        Manual DB cluster snapshot attributes are used to authorize other Amazon Web Services accounts - * to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute - * API action.

                                                                        - */ -export interface DBClusterSnapshotAttribute { - /** - *

                                                                        The name of the manual DB cluster snapshot attribute.

                                                                        - *

                                                                        The attribute named restore refers to the list of Amazon Web Services accounts that - * have permission to copy or restore the manual DB cluster snapshot. For more information, - * see the ModifyDBClusterSnapshotAttribute - * API action.

                                                                        - */ - AttributeName?: string; - - /** - *

                                                                        The value(s) for the manual DB cluster snapshot attribute.

                                                                        - *

                                                                        If the AttributeName field is set to restore, then this element - * returns a list of IDs of the Amazon Web Services accounts that are authorized to copy or restore the manual - * DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot - * is public and available for any Amazon Web Services account to copy or restore.

                                                                        - */ - AttributeValues?: string[]; -} - -export namespace DBClusterSnapshotAttribute { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DBClusterSnapshotAttribute): any => ({ - ...obj, - }); -} - -/** - *

                                                                        Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes - * API action.

                                                                        - *

                                                                        Manual DB cluster snapshot attributes are used to authorize other Amazon Web Services accounts - * to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute - * API action.

                                                                        - */ -export interface DBClusterSnapshotAttributesResult { - /** - *

                                                                        The identifier of the manual DB cluster snapshot that the attributes apply to.

                                                                        - */ - DBClusterSnapshotIdentifier?: string; - - /** - *

                                                                        The list of attributes and values for the manual DB cluster snapshot.

                                                                        - */ - DBClusterSnapshotAttributes?: DBClusterSnapshotAttribute[]; -} - -export namespace DBClusterSnapshotAttributesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DBClusterSnapshotAttributesResult): any => ({ - ...obj, - }); -} - -export interface DescribeDBClusterSnapshotAttributesResult { - /** - *

                                                                        Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes - * API action.

                                                                        - *

                                                                        Manual DB cluster snapshot attributes are used to authorize other Amazon Web Services accounts - * to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute - * API action.

                                                                        - */ - DBClusterSnapshotAttributesResult?: DBClusterSnapshotAttributesResult; -} - -export namespace DescribeDBClusterSnapshotAttributesResult { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeDBClusterSnapshotAttributesResult): any => ({ - ...obj, - }); -} - -/** - *

                                                                        - * Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action. - *

                                                                        - */ -export interface DBClusterSnapshotMessage { - /** - *

                                                                        - * An optional pagination token provided by a previous - * DescribeDBClusterSnapshots request. - * If this parameter is specified, the response includes - * only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                                                        - */ - Marker?: string; - - /** - *

                                                                        Provides a list of DB cluster snapshots for the user.

                                                                        - */ - DBClusterSnapshots?: DBClusterSnapshot[]; -} - -export namespace DBClusterSnapshotMessage { +export namespace DBClusterMessage { /** * @internal */ - export const filterSensitiveLog = (obj: DBClusterSnapshotMessage): any => ({ + export const filterSensitiveLog = (obj: DBClusterMessage): any => ({ ...obj, }); } @@ -11463,92 +11918,45 @@ export namespace DBClusterSnapshotMessage { /** *

                                                                        */ -export interface DescribeDBClusterSnapshotsMessage { +export interface DescribeDBClustersMessage { /** - *

                                                                        The ID of the DB cluster to retrieve the list of DB cluster snapshots for. - * This parameter can't be used in conjunction with the - * DBClusterSnapshotIdentifier parameter. - * This parameter isn't case-sensitive. - *

                                                                        + *

                                                                        The user-supplied DB cluster identifier. If this parameter is specified, information from only the specific DB cluster is returned. This parameter isn't case-sensitive.

                                                                        *

                                                                        Constraints:

                                                                        *
                                                                          *
                                                                        • - *

                                                                          If supplied, must match the identifier of an existing DBCluster.

                                                                          + *

                                                                          If supplied, must match an existing DBClusterIdentifier.

                                                                          *
                                                                        • *
                                                                        */ DBClusterIdentifier?: string; /** - *

                                                                        A specific DB cluster snapshot identifier to describe. - * This parameter can't be used in conjunction with the - * DBClusterIdentifier parameter. - * This value is stored as a lowercase string. - *

                                                                        - *

                                                                        Constraints:

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          If supplied, must match the identifier of an existing DBClusterSnapshot.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

                                                                          - *
                                                                        • - *
                                                                        - */ - DBClusterSnapshotIdentifier?: string; - - /** - *

                                                                        The type of DB cluster snapshots to be returned. You can specify one of the following values:

                                                                        - *
                                                                          - *
                                                                        • - *

                                                                          - * automated - Return all DB cluster snapshots that have been automatically taken by - * Amazon RDS for my Amazon Web Services account.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * manual - Return all DB cluster snapshots that have been taken by my Amazon Web Services account.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * shared - Return all manual DB cluster snapshots that have been shared to my Amazon Web Services account.

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          - * public - Return all DB cluster snapshots that have been marked as public.

                                                                          - *
                                                                        • - *
                                                                        - *

                                                                        If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are - * returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared - * parameter. You can include public DB cluster snapshots with these results by enabling the - * IncludePublic parameter.

                                                                        - *

                                                                        The IncludeShared and IncludePublic parameters don't apply for SnapshotType values - * of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is - * set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to - * public.

                                                                        - */ - SnapshotType?: string; - - /** - *

                                                                        A filter that specifies one or more DB cluster snapshots to describe.

                                                                        + *

                                                                        A filter that specifies one or more DB clusters to describe.

                                                                        *

                                                                        Supported filters:

                                                                        *
                                                                          *
                                                                        • *

                                                                          - * db-cluster-id - Accepts DB cluster identifiers and DB - * cluster Amazon Resource Names (ARNs).

                                                                          + * clone-group-id - Accepts clone group identifiers. + * The results list will only include information about + * the DB clusters associated with these clone groups.

                                                                          *
                                                                        • *
                                                                        • *

                                                                          - * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.

                                                                          + * db-cluster-id - Accepts DB cluster identifiers and DB + * cluster Amazon Resource Names (ARNs). The results list will only include information about + * the DB clusters identified by these ARNs.

                                                                          *
                                                                        • *
                                                                        • *

                                                                          - * snapshot-type - Accepts types of DB cluster snapshots.

                                                                          + * domain - Accepts Active Directory directory IDs. + * The results list will only include information about + * the DB clusters associated with these domains.

                                                                          *
                                                                        • *
                                                                        • *

                                                                          - * engine - Accepts names of database engines.

                                                                          + * engine - Accepts engine names. + * The results list will only include information about + * the DB clusters for these engines.

                                                                          *
                                                                        • *
                                                                        */ @@ -11566,7 +11974,7 @@ export interface DescribeDBClusterSnapshotsMessage { /** *

                                                                        An optional pagination token provided by a previous - * DescribeDBClusterSnapshots request. + * DescribeDBClusters request. * If this parameter is specified, the response includes * only records beyond the marker, * up to the value specified by MaxRecords. @@ -11575,255 +11983,291 @@ export interface DescribeDBClusterSnapshotsMessage { Marker?: string; /** - *

                                                                        A value that indicates whether to include shared manual DB cluster snapshots - * from other Amazon Web Services accounts that this Amazon Web Services account has been given - * permission to copy or restore. By default, these snapshots are not included.

                                                                        - *

                                                                        You can give an Amazon Web Services account permission to restore a manual DB cluster snapshot from - * another Amazon Web Services account by the ModifyDBClusterSnapshotAttribute API action.

                                                                        + *

                                                                        Optional Boolean parameter that specifies whether the output includes information about clusters + * shared from other Amazon Web Services accounts.

                                                                        */ IncludeShared?: boolean; - - /** - *

                                                                        A value that indicates whether to include manual DB cluster snapshots that are public and can be copied - * or restored by any Amazon Web Services account. By default, the public snapshots are not included.

                                                                        - *

                                                                        You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

                                                                        - */ - IncludePublic?: boolean; } -export namespace DescribeDBClusterSnapshotsMessage { +export namespace DescribeDBClustersMessage { /** * @internal */ - export const filterSensitiveLog = (obj: DescribeDBClusterSnapshotsMessage): any => ({ + export const filterSensitiveLog = (obj: DescribeDBClustersMessage): any => ({ ...obj, }); } /** - *

                                                                        - * This data type is used as a response element in the action DescribeDBEngineVersions. - *

                                                                        + *

                                                                        */ -export interface CharacterSet { - /** - *

                                                                        The name of the character set.

                                                                        - */ - CharacterSetName?: string; - +export interface DescribeDBClusterSnapshotAttributesMessage { /** - *

                                                                        The description of the character set.

                                                                        + *

                                                                        The identifier for the DB cluster snapshot to describe the attributes for.

                                                                        */ - CharacterSetDescription?: string; + DBClusterSnapshotIdentifier: string | undefined; } -export namespace CharacterSet { +export namespace DescribeDBClusterSnapshotAttributesMessage { /** * @internal */ - export const filterSensitiveLog = (obj: CharacterSet): any => ({ + export const filterSensitiveLog = (obj: DescribeDBClusterSnapshotAttributesMessage): any => ({ ...obj, }); } /** - *

                                                                        A time zone associated with a - * DBInstance - * or a DBSnapshot. - * This data type is an element in the response to - * the DescribeDBInstances, - * the DescribeDBSnapshots, - * and the DescribeDBEngineVersions - * actions. - *

                                                                        + *

                                                                        Contains the name and values of a manual DB cluster snapshot attribute.

                                                                        + *

                                                                        Manual DB cluster snapshot attributes are used to authorize other Amazon Web Services accounts + * to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute + * API action.

                                                                        */ -export interface Timezone { +export interface DBClusterSnapshotAttribute { /** - *

                                                                        The name of the time zone.

                                                                        + *

                                                                        The name of the manual DB cluster snapshot attribute.

                                                                        + *

                                                                        The attribute named restore refers to the list of Amazon Web Services accounts that + * have permission to copy or restore the manual DB cluster snapshot. For more information, + * see the ModifyDBClusterSnapshotAttribute + * API action.

                                                                        */ - TimezoneName?: string; + AttributeName?: string; + + /** + *

                                                                        The value(s) for the manual DB cluster snapshot attribute.

                                                                        + *

                                                                        If the AttributeName field is set to restore, then this element + * returns a list of IDs of the Amazon Web Services accounts that are authorized to copy or restore the manual + * DB cluster snapshot. If a value of all is in the list, then the manual DB cluster snapshot + * is public and available for any Amazon Web Services account to copy or restore.

                                                                        + */ + AttributeValues?: string[]; } -export namespace Timezone { +export namespace DBClusterSnapshotAttribute { /** * @internal */ - export const filterSensitiveLog = (obj: Timezone): any => ({ + export const filterSensitiveLog = (obj: DBClusterSnapshotAttribute): any => ({ ...obj, }); } /** - *

                                                                        The version of the database engine that a DB instance can be upgraded to.

                                                                        + *

                                                                        Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes + * API action.

                                                                        + *

                                                                        Manual DB cluster snapshot attributes are used to authorize other Amazon Web Services accounts + * to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute + * API action.

                                                                        */ -export interface UpgradeTarget { - /** - *

                                                                        The name of the upgrade target database engine.

                                                                        - */ - Engine?: string; - - /** - *

                                                                        The version number of the upgrade target database engine.

                                                                        - */ - EngineVersion?: string; - - /** - *

                                                                        The version of the database engine that a DB instance can be upgraded to.

                                                                        - */ - Description?: string; - - /** - *

                                                                        A value that indicates whether the target version is applied to any source DB instances that have AutoMinorVersionUpgrade set to true.

                                                                        - */ - AutoUpgrade?: boolean; - - /** - *

                                                                        A value that indicates whether upgrading to the target version requires upgrading the major version of the database engine.

                                                                        - */ - IsMajorVersionUpgrade?: boolean; - - /** - *

                                                                        A list of the supported DB engine modes for the target engine version.

                                                                        - */ - SupportedEngineModes?: string[]; - +export interface DBClusterSnapshotAttributesResult { /** - *

                                                                        A value that indicates whether you can use Aurora parallel query with the target engine version.

                                                                        + *

                                                                        The identifier of the manual DB cluster snapshot that the attributes apply to.

                                                                        */ - SupportsParallelQuery?: boolean; + DBClusterSnapshotIdentifier?: string; /** - *

                                                                        A value that indicates whether you can use Aurora global databases with the target engine version.

                                                                        + *

                                                                        The list of attributes and values for the manual DB cluster snapshot.

                                                                        */ - SupportsGlobalDatabases?: boolean; + DBClusterSnapshotAttributes?: DBClusterSnapshotAttribute[]; } -export namespace UpgradeTarget { +export namespace DBClusterSnapshotAttributesResult { /** * @internal */ - export const filterSensitiveLog = (obj: UpgradeTarget): any => ({ + export const filterSensitiveLog = (obj: DBClusterSnapshotAttributesResult): any => ({ ...obj, }); } -/** - *

                                                                        - * This data type is used as a response element in the action DescribeDBEngineVersions. - *

                                                                        - */ -export interface DBEngineVersion { - /** - *

                                                                        The name of the database engine.

                                                                        - */ - Engine?: string; - - /** - *

                                                                        The version number of the database engine.

                                                                        - */ - EngineVersion?: string; - - /** - *

                                                                        The name of the DB parameter group family for the database engine.

                                                                        - */ - DBParameterGroupFamily?: string; - - /** - *

                                                                        The description of the database engine.

                                                                        - */ - DBEngineDescription?: string; - - /** - *

                                                                        The description of the database engine version.

                                                                        - */ - DBEngineVersionDescription?: string; - - /** - *

                                                                        - * The default character set for new instances of this engine version, - * if the CharacterSetName parameter of the CreateDBInstance API - * isn't specified. - *

                                                                        - */ - DefaultCharacterSet?: CharacterSet; - +export interface DescribeDBClusterSnapshotAttributesResult { /** - *

                                                                        A list of the character sets supported by this engine for the CharacterSetName parameter of the CreateDBInstance operation. - *

                                                                        + *

                                                                        Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes + * API action.

                                                                        + *

                                                                        Manual DB cluster snapshot attributes are used to authorize other Amazon Web Services accounts + * to copy or restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute + * API action.

                                                                        */ - SupportedCharacterSets?: CharacterSet[]; + DBClusterSnapshotAttributesResult?: DBClusterSnapshotAttributesResult; +} +export namespace DescribeDBClusterSnapshotAttributesResult { /** - *

                                                                        A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName parameter of the CreateDBInstance operation. - *

                                                                        + * @internal */ - SupportedNcharCharacterSets?: CharacterSet[]; + export const filterSensitiveLog = (obj: DescribeDBClusterSnapshotAttributesResult): any => ({ + ...obj, + }); +} +/** + *

                                                                        + * Provides a list of DB cluster snapshots for the user as the result of a call to the DescribeDBClusterSnapshots action. + *

                                                                        + */ +export interface DBClusterSnapshotMessage { /** - *

                                                                        A list of engine versions that this database engine version can be upgraded to.

                                                                        + *

                                                                        + * An optional pagination token provided by a previous + * DescribeDBClusterSnapshots request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                                                        */ - ValidUpgradeTarget?: UpgradeTarget[]; + Marker?: string; /** - *

                                                                        A list of the time zones supported by this engine for the - * Timezone parameter of the CreateDBInstance action. - *

                                                                        + *

                                                                        Provides a list of DB cluster snapshots for the user.

                                                                        */ - SupportedTimezones?: Timezone[]; + DBClusterSnapshots?: DBClusterSnapshot[]; +} +export namespace DBClusterSnapshotMessage { /** - *

                                                                        The types of logs that the database engine has available for export to CloudWatch Logs.

                                                                        + * @internal */ - ExportableLogTypes?: string[]; + export const filterSensitiveLog = (obj: DBClusterSnapshotMessage): any => ({ + ...obj, + }); +} +/** + *

                                                                        + */ +export interface DescribeDBClusterSnapshotsMessage { /** - *

                                                                        A value that indicates whether the engine version supports exporting the log types specified by ExportableLogTypes to CloudWatch Logs.

                                                                        + *

                                                                        The ID of the DB cluster to retrieve the list of DB cluster snapshots for. + * This parameter can't be used in conjunction with the + * DBClusterSnapshotIdentifier parameter. + * This parameter isn't case-sensitive. + *

                                                                        + *

                                                                        Constraints:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          If supplied, must match the identifier of an existing DBCluster.

                                                                          + *
                                                                        • + *
                                                                        */ - SupportsLogExportsToCloudwatchLogs?: boolean; + DBClusterIdentifier?: string; /** - *

                                                                        Indicates whether the database engine version supports read replicas.

                                                                        + *

                                                                        A specific DB cluster snapshot identifier to describe. + * This parameter can't be used in conjunction with the + * DBClusterIdentifier parameter. + * This value is stored as a lowercase string. + *

                                                                        + *

                                                                        Constraints:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          If supplied, must match the identifier of an existing DBClusterSnapshot.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          If this identifier is for an automated snapshot, the SnapshotType parameter must also be specified.

                                                                          + *
                                                                        • + *
                                                                        */ - SupportsReadReplica?: boolean; + DBClusterSnapshotIdentifier?: string; /** - *

                                                                        A list of the supported DB engine modes.

                                                                        + *

                                                                        The type of DB cluster snapshots to be returned. You can specify one of the following values:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          + * automated - Return all DB cluster snapshots that have been automatically taken by + * Amazon RDS for my Amazon Web Services account.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * manual - Return all DB cluster snapshots that have been taken by my Amazon Web Services account.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * shared - Return all manual DB cluster snapshots that have been shared to my Amazon Web Services account.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * public - Return all DB cluster snapshots that have been marked as public.

                                                                          + *
                                                                        • + *
                                                                        + *

                                                                        If you don't specify a SnapshotType value, then both automated and manual DB cluster snapshots are + * returned. You can include shared DB cluster snapshots with these results by enabling the IncludeShared + * parameter. You can include public DB cluster snapshots with these results by enabling the + * IncludePublic parameter.

                                                                        + *

                                                                        The IncludeShared and IncludePublic parameters don't apply for SnapshotType values + * of manual or automated. The IncludePublic parameter doesn't apply when SnapshotType is + * set to shared. The IncludeShared parameter doesn't apply when SnapshotType is set to + * public.

                                                                        */ - SupportedEngineModes?: string[]; + SnapshotType?: string; /** - *

                                                                        - * A list of features supported by the DB engine. Supported feature names include the following. - *

                                                                        + *

                                                                        A filter that specifies one or more DB cluster snapshots to describe.

                                                                        + *

                                                                        Supported filters:

                                                                        *
                                                                          *
                                                                        • - *

                                                                          s3Import

                                                                          + *

                                                                          + * db-cluster-id - Accepts DB cluster identifiers and DB + * cluster Amazon Resource Names (ARNs).

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * snapshot-type - Accepts types of DB cluster snapshots.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * engine - Accepts names of database engines.

                                                                          *
                                                                        • *
                                                                        */ - SupportedFeatureNames?: string[]; + Filters?: Filter[]; /** - *

                                                                        The status of the DB engine version, either available or deprecated.

                                                                        + *

                                                                        The maximum number of records to include in the response. + * If more records exist than the specified MaxRecords value, + * a pagination token called a marker is included in the response so you can retrieve the remaining results. + *

                                                                        + *

                                                                        Default: 100

                                                                        + *

                                                                        Constraints: Minimum 20, maximum 100.

                                                                        */ - Status?: string; + MaxRecords?: number; /** - *

                                                                        A value that indicates whether you can use Aurora parallel query with a specific DB engine version.

                                                                        + *

                                                                        An optional pagination token provided by a previous + * DescribeDBClusterSnapshots request. + * If this parameter is specified, the response includes + * only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                                                        */ - SupportsParallelQuery?: boolean; + Marker?: string; /** - *

                                                                        A value that indicates whether you can use Aurora global databases with a specific DB engine version.

                                                                        + *

                                                                        A value that indicates whether to include shared manual DB cluster snapshots + * from other Amazon Web Services accounts that this Amazon Web Services account has been given + * permission to copy or restore. By default, these snapshots are not included.

                                                                        + *

                                                                        You can give an Amazon Web Services account permission to restore a manual DB cluster snapshot from + * another Amazon Web Services account by the ModifyDBClusterSnapshotAttribute API action.

                                                                        */ - SupportsGlobalDatabases?: boolean; + IncludeShared?: boolean; + + /** + *

                                                                        A value that indicates whether to include manual DB cluster snapshots that are public and can be copied + * or restored by any Amazon Web Services account. By default, the public snapshots are not included.

                                                                        + *

                                                                        You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute API action.

                                                                        + */ + IncludePublic?: boolean; } -export namespace DBEngineVersion { +export namespace DescribeDBClusterSnapshotsMessage { /** * @internal */ - export const filterSensitiveLog = (obj: DBEngineVersion): any => ({ + export const filterSensitiveLog = (obj: DescribeDBClusterSnapshotsMessage): any => ({ ...obj, }); } @@ -11990,8 +12434,11 @@ export interface DescribeDBEngineVersionsMessage { /** *

                                                                        A value that indicates whether to list the supported character sets for each engine version.

                                                                        - *

                                                                        If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, - * the response includes a list of supported character sets for each engine version. + *

                                                                        If this parameter is enabled and the requested engine supports the CharacterSetName parameter for + * CreateDBInstance, the response includes a list of supported character sets for each engine + * version.

                                                                        + *

                                                                        For RDS Custom, the default is not to list supported character sets. If you set ListSupportedCharacterSets + * to true, RDS Custom returns no results. *

                                                                        */ ListSupportedCharacterSets?: boolean; @@ -12001,6 +12448,9 @@ export interface DescribeDBEngineVersionsMessage { *

                                                                        If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, * the response includes a list of supported time zones for each engine version. *

                                                                        + *

                                                                        For RDS Custom, the default is not to list supported time zones. If you set ListSupportedTimezones + * to true, RDS Custom returns no results. + *

                                                                        */ ListSupportedTimezones?: boolean; @@ -12123,6 +12573,7 @@ export interface DescribeDBInstanceAutomatedBackupsMessage { /** *

                                                                        The Amazon Resource Name (ARN) of the replicated automated backups, for example, * arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ DBInstanceAutomatedBackupsArn?: string; } @@ -12912,146 +13363,3 @@ export namespace DescribeDBProxyTargetsRequest { ...obj, }); } - -export enum TargetRole { - READ_ONLY = "READ_ONLY", - READ_WRITE = "READ_WRITE", - UNKNOWN = "UNKNOWN", -} - -export enum TargetHealthReason { - AUTH_FAILURE = "AUTH_FAILURE", - CONNECTION_FAILED = "CONNECTION_FAILED", - INVALID_REPLICATION_STATE = "INVALID_REPLICATION_STATE", - PENDING_PROXY_CAPACITY = "PENDING_PROXY_CAPACITY", - UNREACHABLE = "UNREACHABLE", -} - -export enum TargetState { - available = "AVAILABLE", - registering = "REGISTERING", - unavailable = "UNAVAILABLE", -} - -/** - *

                                                                        Information about the connection health of an RDS Proxy target.

                                                                        - */ -export interface TargetHealth { - /** - *

                                                                        The current state of the connection health lifecycle for the RDS Proxy target. - * The following is a typical lifecycle example for the states of an RDS Proxy target: - *

                                                                        - *

                                                                        - * registering > unavailable > available > unavailable > available - *

                                                                        - */ - State?: TargetState | string; - - /** - *

                                                                        The reason for the current health State of the RDS Proxy target.

                                                                        - */ - Reason?: TargetHealthReason | string; - - /** - *

                                                                        A description of the health of the RDS Proxy target. - * If the State is AVAILABLE, a description is not included.

                                                                        - */ - Description?: string; -} - -export namespace TargetHealth { - /** - * @internal - */ - export const filterSensitiveLog = (obj: TargetHealth): any => ({ - ...obj, - }); -} - -export enum TargetType { - RDS_INSTANCE = "RDS_INSTANCE", - RDS_SERVERLESS_ENDPOINT = "RDS_SERVERLESS_ENDPOINT", - TRACKED_CLUSTER = "TRACKED_CLUSTER", -} - -/** - *

                                                                        Contains the details for an RDS Proxy target. It represents an RDS DB instance or Aurora DB cluster - * that the proxy can connect to. One or more targets are associated with an RDS Proxy target group.

                                                                        - *

                                                                        This data type is used as a response element in the DescribeDBProxyTargets action.

                                                                        - */ -export interface DBProxyTarget { - /** - *

                                                                        The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.

                                                                        - */ - TargetArn?: string; - - /** - *

                                                                        The writer endpoint for the RDS DB instance or Aurora DB cluster.

                                                                        - */ - Endpoint?: string; - - /** - *

                                                                        The DB cluster identifier when the target represents an Aurora DB cluster. This field is blank when the target represents an RDS DB instance.

                                                                        - */ - TrackedClusterId?: string; - - /** - *

                                                                        The identifier representing the target. It can be the instance identifier for an RDS DB instance, - * or the cluster identifier for an Aurora DB cluster.

                                                                        - */ - RdsResourceId?: string; - - /** - *

                                                                        The port that the RDS Proxy uses to connect to the target RDS DB instance or Aurora DB cluster.

                                                                        - */ - Port?: number; - - /** - *

                                                                        Specifies the kind of database, such as an RDS DB instance or an Aurora DB cluster, that the target represents.

                                                                        - */ - Type?: TargetType | string; - - /** - *

                                                                        A value that indicates whether the target of the proxy can be used for read/write or read-only operations.

                                                                        - */ - Role?: TargetRole | string; - - /** - *

                                                                        Information about the connection health of the RDS Proxy target.

                                                                        - */ - TargetHealth?: TargetHealth; -} - -export namespace DBProxyTarget { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DBProxyTarget): any => ({ - ...obj, - }); -} - -export interface DescribeDBProxyTargetsResponse { - /** - *

                                                                        An arbitrary number of DBProxyTarget objects, containing details of the corresponding targets.

                                                                        - */ - Targets?: DBProxyTarget[]; - - /** - *

                                                                        - * An optional pagination token provided by a previous request. - * If this parameter is specified, the response includes only records beyond the marker, - * up to the value specified by MaxRecords. - *

                                                                        - */ - Marker?: string; -} - -export namespace DescribeDBProxyTargetsResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeDBProxyTargetsResponse): any => ({ - ...obj, - }); -} diff --git a/clients/client-rds/src/models/models_1.ts b/clients/client-rds/src/models/models_1.ts index 995329cdfc27..fb7be0151385 100644 --- a/clients/client-rds/src/models/models_1.ts +++ b/clients/client-rds/src/models/models_1.ts @@ -3,6 +3,7 @@ import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException import { ActivityStreamMode, ActivityStreamStatus, + AutomationMode, AvailabilityZone, Certificate, DBCluster, @@ -11,7 +12,6 @@ import { DBInstanceAutomatedBackup, DBProxy, DBProxyEndpoint, - DBProxyTarget, DBProxyTargetGroup, DBSecurityGroup, DBSnapshot, @@ -32,6 +32,149 @@ import { UserAuthConfig, } from "./models_0"; +export enum TargetRole { + READ_ONLY = "READ_ONLY", + READ_WRITE = "READ_WRITE", + UNKNOWN = "UNKNOWN", +} + +export enum TargetHealthReason { + AUTH_FAILURE = "AUTH_FAILURE", + CONNECTION_FAILED = "CONNECTION_FAILED", + INVALID_REPLICATION_STATE = "INVALID_REPLICATION_STATE", + PENDING_PROXY_CAPACITY = "PENDING_PROXY_CAPACITY", + UNREACHABLE = "UNREACHABLE", +} + +export enum TargetState { + available = "AVAILABLE", + registering = "REGISTERING", + unavailable = "UNAVAILABLE", +} + +/** + *

                                                                        Information about the connection health of an RDS Proxy target.

                                                                        + */ +export interface TargetHealth { + /** + *

                                                                        The current state of the connection health lifecycle for the RDS Proxy target. + * The following is a typical lifecycle example for the states of an RDS Proxy target: + *

                                                                        + *

                                                                        + * registering > unavailable > available > unavailable > available + *

                                                                        + */ + State?: TargetState | string; + + /** + *

                                                                        The reason for the current health State of the RDS Proxy target.

                                                                        + */ + Reason?: TargetHealthReason | string; + + /** + *

                                                                        A description of the health of the RDS Proxy target. + * If the State is AVAILABLE, a description is not included.

                                                                        + */ + Description?: string; +} + +export namespace TargetHealth { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TargetHealth): any => ({ + ...obj, + }); +} + +export enum TargetType { + RDS_INSTANCE = "RDS_INSTANCE", + RDS_SERVERLESS_ENDPOINT = "RDS_SERVERLESS_ENDPOINT", + TRACKED_CLUSTER = "TRACKED_CLUSTER", +} + +/** + *

                                                                        Contains the details for an RDS Proxy target. It represents an RDS DB instance or Aurora DB cluster + * that the proxy can connect to. One or more targets are associated with an RDS Proxy target group.

                                                                        + *

                                                                        This data type is used as a response element in the DescribeDBProxyTargets action.

                                                                        + */ +export interface DBProxyTarget { + /** + *

                                                                        The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.

                                                                        + */ + TargetArn?: string; + + /** + *

                                                                        The writer endpoint for the RDS DB instance or Aurora DB cluster.

                                                                        + */ + Endpoint?: string; + + /** + *

                                                                        The DB cluster identifier when the target represents an Aurora DB cluster. This field is blank when the target represents an RDS DB instance.

                                                                        + */ + TrackedClusterId?: string; + + /** + *

                                                                        The identifier representing the target. It can be the instance identifier for an RDS DB instance, + * or the cluster identifier for an Aurora DB cluster.

                                                                        + */ + RdsResourceId?: string; + + /** + *

                                                                        The port that the RDS Proxy uses to connect to the target RDS DB instance or Aurora DB cluster.

                                                                        + */ + Port?: number; + + /** + *

                                                                        Specifies the kind of database, such as an RDS DB instance or an Aurora DB cluster, that the target represents.

                                                                        + */ + Type?: TargetType | string; + + /** + *

                                                                        A value that indicates whether the target of the proxy can be used for read/write or read-only operations.

                                                                        + */ + Role?: TargetRole | string; + + /** + *

                                                                        Information about the connection health of the RDS Proxy target.

                                                                        + */ + TargetHealth?: TargetHealth; +} + +export namespace DBProxyTarget { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DBProxyTarget): any => ({ + ...obj, + }); +} + +export interface DescribeDBProxyTargetsResponse { + /** + *

                                                                        An arbitrary number of DBProxyTarget objects, containing details of the corresponding targets.

                                                                        + */ + Targets?: DBProxyTarget[]; + + /** + *

                                                                        + * An optional pagination token provided by a previous request. + * If this parameter is specified, the response includes only records beyond the marker, + * up to the value specified by MaxRecords. + *

                                                                        + */ + Marker?: string; +} + +export namespace DescribeDBProxyTargetsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeDBProxyTargetsResponse): any => ({ + ...obj, + }); +} + /** *

                                                                        * Contains the result of a successful invocation of the DescribeDBSecurityGroups action. @@ -383,6 +526,7 @@ export interface DescribeDBSnapshotsMessage { * permission to copy or restore. By default, these snapshots are not included.

                                                                        *

                                                                        You can give an Amazon Web Services account permission to restore a manual DB snapshot from * another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ IncludeShared?: boolean; @@ -390,6 +534,7 @@ export interface DescribeDBSnapshotsMessage { *

                                                                        A value that indicates whether to include manual DB cluster snapshots that are public and can be copied * or restored by any Amazon Web Services account. By default, the public snapshots are not included.

                                                                        *

                                                                        You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ IncludePublic?: boolean; @@ -722,6 +867,7 @@ export namespace EventCategoriesMessage { } export type SourceType = + | "custom-engine-version" | "db-cluster" | "db-cluster-snapshot" | "db-instance" @@ -1026,7 +1172,34 @@ export interface DescribeExportTasksMessage { *
                                                                      • *
                                                                      • *

                                                                        - * status - The status of the export task. Must be lowercase, for example, complete.

                                                                        + * status - The status of the export task. Must be lowercase. Valid statuses are the following:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          + * canceled + *

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * canceling + *

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * complete + *

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * failed + *

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          + * starting + *

                                                                          + *
                                                                        • + *
                                                                        *
                                                                      • *
                                                                      */ @@ -1812,18 +1985,24 @@ export interface DescribeOrderableDBInstanceOptionsMessage { DBInstanceClass?: string; /** - *

                                                                      The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

                                                                      + *

                                                                      The license model filter value. Specify this parameter to show only the available offerings + * matching the specified license model.

                                                                      + *

                                                                      RDS Custom supports only the BYOL licensing model.

                                                                      */ LicenseModel?: string; /** *

                                                                      The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group.

                                                                      *

                                                                      Omit this parameter to show the available offerings in the specified Amazon Web Services Region.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      */ AvailabilityZoneGroup?: string; /** - *

                                                                      A value that indicates whether to show only VPC or non-VPC offerings.

                                                                      + *

                                                                      A value that indicates whether to show only VPC or non-VPC offerings. RDS Custom supports + * only VPC offerings.

                                                                      + *

                                                                      RDS Custom supports only VPC offerings. If you describe non-VPC offerings for RDS Custom, the output + * shows VPC offerings.

                                                                      */ Vpc?: boolean; @@ -3450,6 +3629,62 @@ export namespace ModifyCurrentDBClusterCapacityMessage { }); } +export enum CustomEngineVersionStatus { + available = "available", + inactive = "inactive", + inactive_except_restore = "inactive-except-restore", +} + +export interface ModifyCustomDBEngineVersionMessage { + /** + *

                                                                      The DB engine. The only supported value is custom-oracle-ee.

                                                                      + */ + Engine: string | undefined; + + /** + *

                                                                      The custom engine version (CEV) that you want to modify. This option is required for + * RDS Custom, but optional for Amazon RDS. The combination of Engine and + * EngineVersion is unique per customer per Amazon Web Services Region.

                                                                      + */ + EngineVersion: string | undefined; + + /** + *

                                                                      An optional description of your CEV.

                                                                      + */ + Description?: string; + + /** + *

                                                                      The availability status to be assigned to the CEV. Valid values are as follows:

                                                                      + *
                                                                      + *
                                                                      available
                                                                      + *
                                                                      + *

                                                                      You can use this CEV to create a new RDS Custom DB instance.

                                                                      + *
                                                                      + *
                                                                      inactive
                                                                      + *
                                                                      + *

                                                                      You can create a new RDS Custom instance by restoring a DB snapshot with this CEV. + * You can't patch or create new instances with this CEV.

                                                                      + *
                                                                      + *
                                                                      + *

                                                                      You can change any status to any status. A typical reason to change status is to prevent the accidental + * use of a CEV, or to make a deprecated CEV eligible for use again. For example, you might change the status + * of your CEV from available to inactive, and from inactive back to + * available. To change the availability status of the CEV, it must not currently be in use by an + * RDS Custom instance, snapshot, or automated backup. + *

                                                                      + */ + Status?: CustomEngineVersionStatus | string; +} + +export namespace ModifyCustomDBEngineVersionMessage { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModifyCustomDBEngineVersionMessage): any => ({ + ...obj, + }); +} + /** *

                                                                      The configuration setting for the log types to be enabled for export to CloudWatch * Logs for a specific DB instance or DB cluster.

                                                                      @@ -4031,12 +4266,13 @@ export interface ModifyDBInstanceMessage { * Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. * For the full list of DB instance classes, * and availability for your engine, see - * DB Instance Class in the Amazon RDS User Guide. - *

                                                                      + * DB Instance Class in the Amazon RDS User Guide. + *

                                                                      *

                                                                      If you modify the DB instance class, an outage occurs during the change. * The change is applied during the next maintenance window, * unless ApplyImmediately is enabled for this request. *

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      *

                                                                      Default: Uses existing setting

                                                                      */ DBInstanceClass?: string; @@ -4048,12 +4284,12 @@ export interface ModifyDBInstanceMessage { * If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC. * For more information, see * Working with a DB instance in a VPC - * in the Amazon RDS User Guide. - *

                                                                      + * in the Amazon RDS User Guide. + *

                                                                      *

                                                                      Changing the subnet group causes an outage during the change. * The change is applied during the next maintenance window, - * unless you enable ApplyImmediately. - *

                                                                      + * unless you enable ApplyImmediately.

                                                                      + *

                                                                      This parameter doesn't apply to RDS Custom.

                                                                      *

                                                                      Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                                      *

                                                                      Example: mySubnetGroup *

                                                                      @@ -4061,7 +4297,9 @@ export interface ModifyDBInstanceMessage { DBSubnetGroupName?: string; /** - *

                                                                      A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

                                                                      + *

                                                                      A list of DB security groups to authorize on this DB instance. Changing this setting doesn't + * result in an outage and the change is asynchronously applied as soon as possible.

                                                                      + *

                                                                      This setting doesn't apply to RDS Custom.

                                                                      *

                                                                      Constraints:

                                                                      *
                                                                        *
                                                                      • @@ -4072,7 +4310,9 @@ export interface ModifyDBInstanceMessage { DBSecurityGroups?: string[]; /** - *

                                                                        A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

                                                                        + *

                                                                        A list of Amazon EC2 VPC security groups to authorize on this DB instance. This change is + * asynchronously applied as soon as possible.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        *

                                                                        * Amazon Aurora *

                                                                        @@ -4106,14 +4346,15 @@ export interface ModifyDBInstanceMessage { ApplyImmediately?: boolean; /** - *

                                                                        The new password for the master user. The password can include any printable ASCII character except "/", """, or "@".

                                                                        + *

                                                                        The new password for the master user. The password can include any printable ASCII + * character except "/", """, or "@".

                                                                        *

                                                                        * Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. * Between the time of the request and the completion of the request, * the MasterUserPassword element exists in the - * PendingModifiedValues element of the operation response. - *

                                                                        - * + * PendingModifiedValues element of the operation response. + *

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        *

                                                                        * Amazon Aurora *

                                                                        @@ -4158,13 +4399,16 @@ export interface ModifyDBInstanceMessage { MasterUserPassword?: string; /** - *

                                                                        The name of the DB parameter group to apply to the DB instance. Changing this - * setting doesn't result in an outage. The parameter group name itself is changed - * immediately, but the actual parameter changes are not applied until you reboot the - * instance without failover. In this case, the DB instance isn't rebooted automatically and the - * parameter changes isn't applied during the next maintenance window.

                                                                        + *

                                                                        The name of the DB parameter group to apply to the DB instance.

                                                                        + *

                                                                        Changing this setting doesn't result in an outage. The parameter group name itself is changed + * immediately, but the actual parameter changes are not applied until you reboot the + * instance without failover. In this case, the DB instance isn't rebooted automatically, and the + * parameter changes aren't applied during the next maintenance window. However, if you modify + * dynamic parameters in the newly associated DB parameter group, these changes are applied + * immediately without a reboot.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        *

                                                                        Default: Uses existing setting

                                                                        - *

                                                                        Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

                                                                        + *

                                                                        Constraints: The DB parameter group must be in the same DB parameter group family as the DB instance.

                                                                        */ DBParameterGroupName?: string; @@ -4185,18 +4429,16 @@ export interface ModifyDBInstanceMessage { *

                                                                        Constraints:

                                                                        *
                                                                          *
                                                                        • - *

                                                                          Must be a value from 0 to 35

                                                                          + *

                                                                          It must be a value from 0 to 35. It can't be set to 0 if the DB instance is a source to + * read replicas. It can't be set to 0 or 35 for an RDS Custom DB instance.

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          Can be specified for a MySQL read replica only if the source is running MySQL 5.6 or - * later

                                                                          + *

                                                                          It can be specified for a MySQL read replica only if the source is running MySQL 5.6 or + * later.

                                                                          *
                                                                        • *
                                                                        • - *

                                                                          Can be specified for a PostgreSQL read replica only if the source is running PostgreSQL - * 9.3.5

                                                                          - *
                                                                        • - *
                                                                        • - *

                                                                          Can't be set to 0 if the DB instance is a source to read replicas

                                                                          + *

                                                                          It can be specified for a PostgreSQL read replica only if the source is running PostgreSQL + * 9.3.5.

                                                                          *
                                                                        • *
                                                                        */ @@ -4255,12 +4497,11 @@ export interface ModifyDBInstanceMessage { PreferredMaintenanceWindow?: string; /** - *

                                                                        A value that indicates whether the DB instance is a Multi-AZ deployment. - * Changing this parameter doesn't result in an outage and the change - * is applied during the next maintenance window - * unless the ApplyImmediately parameter is - * enabled for this request. - *

                                                                        + *

                                                                        A value that indicates whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result + * in an outage. The change is applied during the next maintenance window unless the ApplyImmediately + * parameter is enabled for this request. + *

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ MultiAZ?: boolean; @@ -4279,29 +4520,45 @@ export interface ModifyDBInstanceMessage { * default minor version if the current minor version is lower. * For information about valid engine versions, see CreateDBInstance, * or call DescribeDBEngineVersions.

                                                                        + *

                                                                        In RDS Custom, this parameter is supported for read replicas only if they are in the + * PATCH_DB_FAILURE lifecycle. + *

                                                                        */ EngineVersion?: string; /** - *

                                                                        A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

                                                                        - *

                                                                        Constraints: Major version upgrades must be allowed when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

                                                                        + *

                                                                        A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't + * result in an outage and the change is asynchronously applied as soon as possible.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        + *

                                                                        Constraints: Major version upgrades must be allowed when specifying a value + * for the EngineVersion parameter that is a different major version than the DB instance's current version.

                                                                        */ AllowMajorVersionUpgrade?: boolean; /** - *

                                                                        - * A value that indicates whether minor version upgrades are applied automatically - * to the DB instance during the maintenance window. - * Changing this parameter doesn't result in an outage except in the following case - * and the change is asynchronously applied as soon as possible. - * An outage results if this parameter is enabled during the maintenance window, - * and a newer minor version is available, and RDS has enabled auto patching for that engine version. - *

                                                                        + *

                                                                        A value that indicates whether minor version upgrades are applied automatically to the DB instance + * during the maintenance window. An outage occurs when all the following conditions are met:

                                                                        + *
                                                                          + *
                                                                        • + *

                                                                          The automatic upgrade is enabled for the maintenance window.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          A newer minor version is available.

                                                                          + *
                                                                        • + *
                                                                        • + *

                                                                          RDS has enabled automatic patching for the engine version.

                                                                          + *
                                                                        • + *
                                                                        + *

                                                                        If any of the preceding conditions isn't met, RDS applies the change as soon as possible and + * doesn't cause an outage.

                                                                        + *

                                                                        For an RDS Custom DB instance, set AutoMinorVersionUpgrade + * to false. Otherwise, the operation returns an error.

                                                                        */ AutoMinorVersionUpgrade?: boolean; /** *

                                                                        The license model for the DB instance.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        *

                                                                        Valid values: license-included | bring-your-own-license | * general-public-license *

                                                                        @@ -4337,28 +4594,25 @@ export interface ModifyDBInstanceMessage { Iops?: number; /** - *

                                                                        - * A value that indicates the DB instance should be associated with the specified option group. - * Changing this parameter doesn't result in an outage except in the following case and the change - * is applied during the next maintenance window - * unless the ApplyImmediately parameter is enabled - * for this request. If the parameter change results in an option group that - * enables OEM, this change can cause a brief (sub-second) period during which new connections - * are rejected but existing connections are not interrupted. - *

                                                                        - *

                                                                        Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                                                        + *

                                                                        A value that indicates the DB instance should be associated with the specified option group.

                                                                        + *

                                                                        Changing this parameter doesn't result in an outage, with one exception. If the parameter change results + * in an option group that enables OEM, it can cause a brief period, lasting less than a second, during which + * new connections are rejected but existing connections aren't interrupted.

                                                                        + *

                                                                        The change is applied during the next maintenance window unless the ApplyImmediately parameter + * is enabled for this request.

                                                                        + *

                                                                        Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed + * from an option group, and that option group can't be removed from a DB instance after + * it is associated with a DB instance.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ OptionGroupName?: string; /** - *

                                                                        - * The new DB instance identifier for the DB instance when renaming a DB - * instance. When you change the DB instance identifier, an instance - * reboot occurs immediately if you enable ApplyImmediately, or will occur - * during the next maintenance window if you disable Apply Immediately. This value is stored - * as a lowercase string. - *

                                                                        - * + *

                                                                        The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance + * identifier, an instance reboot occurs immediately if you enable ApplyImmediately, or will occur + * during the next maintenance window if you disable Apply Immediately. This value is stored as a lowercase string. + *

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        *

                                                                        Constraints:

                                                                        *
                                                                          *
                                                                        • @@ -4404,26 +4658,30 @@ export interface ModifyDBInstanceMessage { /** *

                                                                          The ARN from the key store with which to associate the instance for TDE encryption.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ TdeCredentialArn?: string; /** *

                                                                          The password for the given ARN from the key store in order to access the device.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ TdeCredentialPassword?: string; /** - *

                                                                          Indicates the certificate that needs to be associated with the instance.

                                                                          + *

                                                                          Specifies the certificate to associate with the DB instance.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ CACertificateIdentifier?: string; /** *

                                                                          The Active Directory directory ID to move the DB instance to. * Specify none to remove the instance from its current domain. - * The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL - * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                          + * You must create the domain before this operation. Currently, you can create only MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

                                                                          *

                                                                          For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ Domain?: string; @@ -4439,9 +4697,10 @@ export interface ModifyDBInstanceMessage { CopyTagsToSnapshot?: boolean; /** - *

                                                                          The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

                                                                          - *

                                                                          If MonitoringRoleArn is specified, then you must also set MonitoringInterval - * to a value other than 0.

                                                                          + *

                                                                          The interval, in seconds, between points when Enhanced Monitoring metrics are collected + * for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0, which is the default.

                                                                          + *

                                                                          If MonitoringRoleArn is specified, set MonitoringInterval to a value other than 0.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          *

                                                                          Valid Values: 0, 1, 5, 10, 15, 30, 60 *

                                                                          */ @@ -4449,10 +4708,11 @@ export interface ModifyDBInstanceMessage { /** *

                                                                          The port number on which the database accepts connections.

                                                                          - *

                                                                          The value of the DBPortNumber parameter must not match any of the port values specified for options in the option - * group for the DB instance.

                                                                          - *

                                                                          Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately - * parameter.

                                                                          + *

                                                                          The value of the DBPortNumber parameter must not match any of the port values + * specified for options in the option group for the DB instance.

                                                                          + *

                                                                          If you change the DBPortNumber value, your database restarts regardless of + * the value of the ApplyImmediately parameter.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          *

                                                                          * MySQL *

                                                                          @@ -4492,7 +4752,7 @@ export interface ModifyDBInstanceMessage { *

                                                                          * Default: 1433 *

                                                                          - *

                                                                          Valid values: 1150-65535 except 1234, 1434, + *

                                                                          Valid values: 1150-65535 except 1234, 1434, * 3260, 3343, 3389, 47001, and * 49152-49156.

                                                                          *

                                                                          @@ -4502,7 +4762,7 @@ export interface ModifyDBInstanceMessage { * Default: 3306 *

                                                                          *

                                                                          Valid values: 1150-65535 - *

                                                                          + *

                                                                          */ DBPortNumber?: number; @@ -4514,27 +4774,30 @@ export interface ModifyDBInstanceMessage { * and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                                                          *

                                                                          When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                                                          *

                                                                          - * PubliclyAccessible only applies to DB instances in a VPC. - * The DB instance must be part of a public subnet and - * PubliclyAccessible must be enabled for it to be publicly accessible. + * PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a + * public subnet and PubliclyAccessible must be enabled for it to be publicly accessible. *

                                                                          *

                                                                          Changes to the PubliclyAccessible parameter are applied immediately regardless * of the value of the ApplyImmediately parameter.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ PubliclyAccessible?: boolean; /** *

                                                                          The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For * example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role, - * go to To + * see To * create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide. *

                                                                          - *

                                                                          If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                                          + *

                                                                          If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn + * value.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ MonitoringRoleArn?: string; /** *

                                                                          The name of the IAM role to use when making API calls to the Directory Service.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ DomainIAMRoleName?: string; @@ -4542,8 +4805,9 @@ export interface ModifyDBInstanceMessage { *

                                                                          A value that specifies the order in which an Aurora Replica is promoted to the primary instance * after a failure of the existing primary instance. For more information, * see - * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. - *

                                                                          + * Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom. + *

                                                                          *

                                                                          Default: 1

                                                                          *

                                                                          Valid Values: 0 - 15

                                                                          */ @@ -4552,14 +4816,13 @@ export interface ModifyDBInstanceMessage { /** *

                                                                          A value that indicates whether to enable mapping of Amazon Web Services Identity and Access * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                          - * *

                                                                          This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB * cluster.

                                                                          - * *

                                                                          For more information about IAM database authentication, see * * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. *

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ EnableIAMDatabaseAuthentication?: boolean; @@ -4569,38 +4832,45 @@ export interface ModifyDBInstanceMessage { * Using Amazon Performance Insights in the Amazon Relational Database Service * User Guide. *

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ EnablePerformanceInsights?: boolean; /** *

                                                                          The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                          - *

                                                                          The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                          + *

                                                                          The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                          *

                                                                          If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS - * uses your default CMK. There is a default CMK for your Amazon Web Services account. - * Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

                                                                          + * uses your default KMS key. There is a default KMS key for your Amazon Web Services account. + * Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ PerformanceInsightsKMSKeyId?: string; /** - *

                                                                          The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                          + *

                                                                          The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ PerformanceInsightsRetentionPeriod?: number; /** - *

                                                                          The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

                                                                          + *

                                                                          The configuration setting for the log types to be enabled for export to CloudWatch Logs for a + * specific DB instance.

                                                                          *

                                                                          A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance * immediately. Therefore, the ApplyImmediately parameter has no effect.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ CloudwatchLogsExportConfiguration?: CloudwatchLogsExportConfiguration; /** *

                                                                          The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ ProcessorFeatures?: ProcessorFeature[]; /** *

                                                                          A value that indicates whether the DB instance class of the DB instance uses its default * processor features.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ UseDefaultProcessorFeatures?: boolean; @@ -4620,6 +4890,7 @@ export interface ModifyDBInstanceMessage { * * Managing capacity automatically with Amazon RDS storage autoscaling * in the Amazon RDS User Guide.

                                                                          + *

                                                                          This setting doesn't apply to RDS Custom.

                                                                          */ MaxAllocatedStorage?: number; @@ -4647,6 +4918,7 @@ export interface ModifyDBInstanceMessage { *

                                                                          *
                                                                        • *
                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ CertificateRotationRestart?: boolean; @@ -4661,6 +4933,7 @@ export interface ModifyDBInstanceMessage { * accept user connections, a mounted replica can't serve a read-only workload. * For more information, see Working with Oracle Read Replicas for Amazon RDS * in the Amazon RDS User Guide.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ ReplicaMode?: ReplicaMode | string; @@ -4679,8 +4952,24 @@ export interface ModifyDBInstanceMessage { /** *

                                                                        The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.

                                                                        + *

                                                                        This setting doesn't apply to RDS Custom.

                                                                        */ AwsBackupRecoveryPointArn?: string; + + /** + *

                                                                        The automation mode of the RDS Custom DB instance: full or all paused. + * If full, the DB instance automates monitoring and instance recovery. If + * all paused, the instance pauses automation for the duration set by + * ResumeFullAutomationModeMinutes.

                                                                        + */ + AutomationMode?: AutomationMode | string; + + /** + *

                                                                        The number of minutes to pause the automation. When the time period ends, RDS Custom resumes + * full automation. The minimum value is 60 (default). The maximum value is 1,440. + *

                                                                        + */ + ResumeFullAutomationModeMinutes?: number; } export namespace ModifyDBInstanceMessage { @@ -5950,7 +6239,7 @@ export interface RemoveRoleFromDBClusterMessage { /** *

                                                                        The name of the feature for the DB cluster that the IAM role is to be disassociated from. - * For the list of supported feature names, see DBEngineVersion.

                                                                        + * For information about supported feature names, see DBEngineVersion.

                                                                        */ FeatureName?: string; } @@ -5997,7 +6286,7 @@ export interface RemoveRoleFromDBInstanceMessage { /** *

                                                                        The name of the feature for the DB instance that the IAM role is to be disassociated from. - * For the list of supported feature names, see DBEngineVersion. + * For information about supported feature names, see DBEngineVersion. *

                                                                        */ FeatureName: string | undefined; @@ -6401,13 +6690,13 @@ export interface RestoreDBClusterFromS3Message { /** *

                                                                        The Amazon Web Services KMS key identifier for an encrypted DB cluster.

                                                                        - *

                                                                        The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). - * To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                        + *

                                                                        The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. + * To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                        *

                                                                        If the StorageEncrypted parameter is enabled, and you do * not specify a value for the KmsKeyId parameter, then - * Amazon RDS will use your default CMK. There is a - * default CMK for your Amazon Web Services account. Your Amazon Web Services account has a different - * default CMK for each Amazon Web Services Region.

                                                                        + * Amazon RDS will use your default KMS key. There is a + * default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different + * default KMS key for each Amazon Web Services Region.

                                                                        */ KmsKeyId?: string; @@ -6696,15 +6985,15 @@ export interface RestoreDBClusterFromSnapshotMessage { /** *

                                                                        The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB * snapshot or DB cluster snapshot.

                                                                        - *

                                                                        The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). - * To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                        + *

                                                                        The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. + * To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                        *

                                                                        When you don't specify a value for the KmsKeyId parameter, then the * following occurs:

                                                                        *
                                                                          *
                                                                        • *

                                                                          If the DB snapshot or DB cluster snapshot in - * SnapshotIdentifier is encrypted, then the restored DB cluster - * is encrypted using the Amazon Web Services KMS CMK that was used to encrypt the DB snapshot or DB + * SnapshotIdentifier is encrypted, then the restored DB cluster + * is encrypted using the KMS key that was used to encrypt the DB snapshot or DB * cluster snapshot.

                                                                          *
                                                                        • *
                                                                        • @@ -6964,15 +7253,15 @@ export interface RestoreDBClusterToPointInTimeMessage { /** *

                                                                          The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

                                                                          - *

                                                                          The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). - * To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                          - *

                                                                          You can restore to a new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK that is different than the - * Amazon Web Services KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the Amazon Web Services KMS CMK - * identified by the KmsKeyId parameter.

                                                                          + *

                                                                          The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. + * To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                          + *

                                                                          You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different from the + * KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key + * identified by the KmsKeyId parameter.

                                                                          *

                                                                          If you don't specify a value for the KmsKeyId parameter, then the following occurs:

                                                                          *
                                                                            *
                                                                          • - *

                                                                            If the DB cluster is encrypted, then the restored DB cluster is encrypted using the Amazon Web Services KMS CMK that was used to encrypt the source DB cluster.

                                                                            + *

                                                                            If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

                                                                            *
                                                                          • *
                                                                          • *

                                                                            If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted.

                                                                            @@ -7189,6 +7478,7 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { /** *

                                                                            A value that indicates whether the DB instance is a Multi-AZ deployment.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            *

                                                                            Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                                            */ MultiAZ?: boolean; @@ -7204,12 +7494,15 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { PubliclyAccessible?: boolean; /** - *

                                                                            A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

                                                                            + *

                                                                            A value that indicates whether minor version upgrades are applied automatically to the DB instance + * during the maintenance window.

                                                                            + *

                                                                            If you restore an RDS Custom DB instance, you must disable this parameter.

                                                                            */ AutoMinorVersionUpgrade?: boolean; /** *

                                                                            License model information for the restored DB instance.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            *

                                                                            Default: Same as source.

                                                                            *

                                                                            * Valid values: license-included | bring-your-own-license | general-public-license @@ -7219,14 +7512,14 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { /** *

                                                                            The database name for the restored DB instance.

                                                                            - * - *

                                                                            This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.

                                                                            - *
                                                                            + *

                                                                            This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS + * Custom DB instances.

                                                                            */ DBName?: string; /** *

                                                                            The database engine to use for the new instance.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            *

                                                                            Default: The same as source

                                                                            *

                                                                            Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

                                                                            * @@ -7310,7 +7603,9 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { /** *

                                                                            The name of the option group to be used for the restored DB instance.

                                                                            * - *

                                                                            Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                                                            + *

                                                                            Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option + * group, and that option group can't be removed from a DB instance after it is associated with a DB instance.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ OptionGroupName?: string; @@ -7339,11 +7634,13 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { /** *

                                                                            The ARN from the key store with which to associate the instance for TDE encryption.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ TdeCredentialArn?: string; /** *

                                                                            The password for the given ARN from the key store in order to access the device.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ TdeCredentialPassword?: string; @@ -7359,10 +7656,11 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { /** *

                                                                            Specify the Active Directory directory ID to restore the DB instance in. - * The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL - * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                            + * The domain/ must be created prior to this operation. Currently, you can create only MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

                                                                            *

                                                                            For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ Domain?: string; @@ -7373,6 +7671,7 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { /** *

                                                                            Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ DomainIAMRoleName?: string; @@ -7384,6 +7683,7 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { * * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. *

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ EnableIAMDatabaseAuthentication?: boolean; @@ -7391,24 +7691,28 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { *

                                                                            The list of logs that the restored DB instance is to export to CloudWatch Logs. The values * in the list depend on the DB engine being used. For more information, see * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ EnableCloudwatchLogsExports?: string[]; /** *

                                                                            The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ ProcessorFeatures?: ProcessorFeature[]; /** *

                                                                            A value that indicates whether the DB instance class of the DB instance uses its default * processor features.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            */ UseDefaultProcessorFeatures?: boolean; /** *

                                                                            The name of the DB parameter group to associate with this DB instance.

                                                                            - *

                                                                            If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup - * for the specified DB engine is used.

                                                                            + *

                                                                            If you don't specify a value for DBParameterGroupName, then RDS uses the default DBParameterGroup + * for the specified DB engine.

                                                                            + *

                                                                            This setting doesn't apply to RDS Custom.

                                                                            *

                                                                            Constraints:

                                                                            *
                                                                              *
                                                                            • @@ -7443,12 +7747,35 @@ export interface RestoreDBInstanceFromDBSnapshotMessage { * your Outpost subnets through your on-premises network. For some use cases, a CoIP can * provide lower latency for connections to the DB instance from outside of its virtual * private cloud (VPC) on your local network.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              *

                                                                              For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts * in the Amazon RDS User Guide.

                                                                              *

                                                                              For more information about CoIPs, see Customer-owned IP addresses * in the Amazon Web Services Outposts User Guide.

                                                                              */ EnableCustomerOwnedIp?: boolean; + + /** + *

                                                                              The instance profile associated with the underlying Amazon EC2 instance of an + * RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                              + *
                                                                                + *
                                                                              • + *

                                                                                The profile must exist in your account.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                                + *
                                                                              • + *
                                                                              • + *

                                                                                The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                                + *
                                                                              • + *
                                                                              + *

                                                                              For the list of permissions required for the IAM role, see + * + * Configure IAM and your VPC in the Amazon Relational Database Service + * User Guide.

                                                                              + *

                                                                              This setting is required for RDS Custom.

                                                                              + */ + CustomIamInstanceProfile?: string; } export namespace RestoreDBInstanceFromDBSnapshotMessage { @@ -7773,13 +8100,13 @@ export interface RestoreDBInstanceFromS3Message { /** *

                                                                              The Amazon Web Services KMS key identifier for an encrypted DB instance. *

                                                                              - *

                                                                              The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). - * To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                              + *

                                                                              The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. + * To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                              *

                                                                              If the StorageEncrypted parameter is enabled, * and you do not specify a value for the KmsKeyId parameter, - * then Amazon RDS will use your default CMK. - * There is a default CMK for your Amazon Web Services account. - * Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region. + * then Amazon RDS will use your default KMS key. + * There is a default KMS key for your Amazon Web Services account. + * Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region. *

                                                                              */ KmsKeyId?: string; @@ -7880,10 +8207,10 @@ export interface RestoreDBInstanceFromS3Message { /** *

                                                                              The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                              - *

                                                                              The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                              + *

                                                                              The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                              *

                                                                              If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS - * uses your default CMK. There is a default CMK for your Amazon Web Services account. - * Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

                                                                              + * uses your default KMS key. There is a default KMS key for your Amazon Web Services account. + * Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

                                                                              */ PerformanceInsightsKMSKeyId?: string; @@ -8076,7 +8403,9 @@ export interface RestoreDBInstanceToPointInTimeMessage { /** *

                                                                              A value that indicates whether the DB instance is a Multi-AZ deployment.

                                                                              - *

                                                                              Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              + *

                                                                              Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a + * Multi-AZ deployment.

                                                                              */ MultiAZ?: boolean; @@ -8091,12 +8420,15 @@ export interface RestoreDBInstanceToPointInTimeMessage { PubliclyAccessible?: boolean; /** - *

                                                                              A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

                                                                              + *

                                                                              A value that indicates whether minor version upgrades are applied automatically to the + * DB instance during the maintenance window.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              */ AutoMinorVersionUpgrade?: boolean; /** *

                                                                              License model information for the restored DB instance.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              *

                                                                              Default: Same as source.

                                                                              *

                                                                              * Valid values: license-included | bring-your-own-license | general-public-license @@ -8107,13 +8439,14 @@ export interface RestoreDBInstanceToPointInTimeMessage { /** *

                                                                              The database name for the restored DB instance.

                                                                              * - *

                                                                              This parameter isn't used for the MySQL or MariaDB engines.

                                                                              + *

                                                                              This parameter isn't supported for the MySQL or MariaDB engines. It also doesn't apply to RDS Custom.

                                                                              *
                                                                              */ DBName?: string; /** *

                                                                              The database engine to use for the new instance.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              *

                                                                              Default: The same as source

                                                                              *

                                                                              Constraint: Must be compatible with the engine of the source

                                                                              * @@ -8192,7 +8525,9 @@ export interface RestoreDBInstanceToPointInTimeMessage { /** *

                                                                              The name of the option group to be used for the restored DB instance.

                                                                              * - *

                                                                              Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                                                              + *

                                                                              Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an + * option group, and that option group can't be removed from a DB instance after it is associated with a DB instance

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              */ OptionGroupName?: string; @@ -8226,11 +8561,13 @@ export interface RestoreDBInstanceToPointInTimeMessage { /** *

                                                                              The ARN from the key store with which to associate the instance for TDE encryption.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              */ TdeCredentialArn?: string; /** *

                                                                              The password for the given ARN from the key store in order to access the device.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              */ TdeCredentialPassword?: string; @@ -8246,8 +8583,9 @@ export interface RestoreDBInstanceToPointInTimeMessage { /** *

                                                                              Specify the Active Directory directory ID to restore the DB instance in. - * The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL - * Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                              + * Create the domain before running this command. Currently, you can create only the MySQL, Microsoft SQL + * Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              *

                                                                              For more information, see * Kerberos Authentication in the Amazon RDS User Guide.

                                                                              */ @@ -8255,6 +8593,7 @@ export interface RestoreDBInstanceToPointInTimeMessage { /** *

                                                                              Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              */ DomainIAMRoleName?: string; @@ -8262,6 +8601,8 @@ export interface RestoreDBInstanceToPointInTimeMessage { *

                                                                              A value that indicates whether to enable mapping of Amazon Web Services Identity and Access * Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                              * + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              + * *

                                                                              For more information about IAM database authentication, see * * IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide. @@ -8273,16 +8614,19 @@ export interface RestoreDBInstanceToPointInTimeMessage { *

                                                                              The list of logs that the restored DB instance is to export to CloudWatch Logs. The values * in the list depend on the DB engine being used. For more information, see * Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              */ EnableCloudwatchLogsExports?: string[]; /** *

                                                                              The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              */ ProcessorFeatures?: ProcessorFeature[]; /** *

                                                                              A value that indicates whether the DB instance class of the DB instance uses its default processor features.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              */ UseDefaultProcessorFeatures?: boolean; @@ -8290,6 +8634,7 @@ export interface RestoreDBInstanceToPointInTimeMessage { *

                                                                              The name of the DB parameter group to associate with this DB instance.

                                                                              *

                                                                              If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup * for the specified DB engine is used.

                                                                              + *

                                                                              This setting doesn't apply to RDS Custom.

                                                                              *

                                                                              Constraints:

                                                                              *
                                                                                *
                                                                              • @@ -8329,12 +8674,14 @@ export interface RestoreDBInstanceToPointInTimeMessage { * * Managing capacity automatically with Amazon RDS storage autoscaling * in the Amazon RDS User Guide.

                                                                                + *

                                                                                This setting doesn't apply to RDS Custom.

                                                                                */ MaxAllocatedStorage?: number; /** *

                                                                                The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, * arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                                + *

                                                                                This setting doesn't apply to RDS Custom.

                                                                                */ SourceDBInstanceAutomatedBackupsArn?: string; @@ -8344,12 +8691,35 @@ export interface RestoreDBInstanceToPointInTimeMessage { * your Outpost subnets through your on-premises network. For some use cases, a CoIP can * provide lower latency for connections to the DB instance from outside of its virtual * private cloud (VPC) on your local network.

                                                                                + *

                                                                                This setting doesn't apply to RDS Custom.

                                                                                *

                                                                                For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts * in the Amazon RDS User Guide.

                                                                                *

                                                                                For more information about CoIPs, see Customer-owned IP addresses * in the Amazon Web Services Outposts User Guide.

                                                                                */ EnableCustomerOwnedIp?: boolean; + + /** + *

                                                                                The instance profile associated with the underlying Amazon EC2 instance of an + * RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                                + *
                                                                                  + *
                                                                                • + *

                                                                                  The profile must exist in your account.

                                                                                  + *
                                                                                • + *
                                                                                • + *

                                                                                  The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                                  + *
                                                                                • + *
                                                                                • + *

                                                                                  The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                                  + *
                                                                                • + *
                                                                                + *

                                                                                For the list of permissions required for the IAM role, see + * + * Configure IAM and your VPC in the Amazon Relational Database Service + * User Guide.

                                                                                + *

                                                                                This setting is required for RDS Custom.

                                                                                + */ + CustomIamInstanceProfile?: string; } export namespace RestoreDBInstanceToPointInTimeMessage { @@ -8475,7 +8845,7 @@ export interface StartActivityStreamRequest { /** *

                                                                                The Amazon Web Services KMS key identifier for encrypting messages in the database activity stream. - * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                + * The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                */ KmsKeyId: string | undefined; @@ -8785,10 +9155,10 @@ export interface StartExportTaskMessage { IamRoleArn: string | undefined; /** - *

                                                                                The ID of the Amazon Web Services KMS customer master key (CMK) to use to encrypt the snapshot exported to Amazon S3. The Amazon Web Services KMS - * key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). - * The caller of this operation must be authorized to - * execute the following operations. These can be set in the Amazon Web Services KMS key policy:

                                                                                + *

                                                                                The ID of the Amazon Web Services KMS key to use to encrypt the snapshot exported to Amazon S3. The Amazon Web Services KMS + * key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. + * The caller of this operation must be authorized to execute the following operations. + * These can be set in the Amazon Web Services KMS key policy:

                                                                                *
                                                                                  *
                                                                                • *

                                                                                  GrantOperation.Encrypt

                                                                                  @@ -8894,7 +9264,7 @@ export namespace StopActivityStreamRequest { export interface StopActivityStreamResponse { /** *

                                                                                  The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

                                                                                  - *

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  + *

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  */ KmsKeyId?: string; diff --git a/clients/client-rds/src/protocols/Aws_query.ts b/clients/client-rds/src/protocols/Aws_query.ts index 490eb0eb214b..864cb7920a76 100644 --- a/clients/client-rds/src/protocols/Aws_query.ts +++ b/clients/client-rds/src/protocols/Aws_query.ts @@ -60,6 +60,10 @@ import { CreateCustomAvailabilityZoneCommandInput, CreateCustomAvailabilityZoneCommandOutput, } from "../commands/CreateCustomAvailabilityZoneCommand"; +import { + CreateCustomDBEngineVersionCommandInput, + CreateCustomDBEngineVersionCommandOutput, +} from "../commands/CreateCustomDBEngineVersionCommand"; import { CreateDBClusterCommandInput, CreateDBClusterCommandOutput } from "../commands/CreateDBClusterCommand"; import { CreateDBClusterEndpointCommandInput, @@ -109,6 +113,10 @@ import { DeleteCustomAvailabilityZoneCommandInput, DeleteCustomAvailabilityZoneCommandOutput, } from "../commands/DeleteCustomAvailabilityZoneCommand"; +import { + DeleteCustomDBEngineVersionCommandInput, + DeleteCustomDBEngineVersionCommandOutput, +} from "../commands/DeleteCustomDBEngineVersionCommand"; import { DeleteDBClusterCommandInput, DeleteDBClusterCommandOutput } from "../commands/DeleteDBClusterCommand"; import { DeleteDBClusterEndpointCommandInput, @@ -332,6 +340,10 @@ import { ModifyCurrentDBClusterCapacityCommandInput, ModifyCurrentDBClusterCapacityCommandOutput, } from "../commands/ModifyCurrentDBClusterCapacityCommand"; +import { + ModifyCustomDBEngineVersionCommandInput, + ModifyCustomDBEngineVersionCommandOutput, +} from "../commands/ModifyCustomDBEngineVersionCommand"; import { ModifyDBClusterCommandInput, ModifyDBClusterCommandOutput } from "../commands/ModifyDBClusterCommand"; import { ModifyDBClusterEndpointCommandInput, @@ -502,6 +514,7 @@ import { CopyOptionGroupResult, CreateCustomAvailabilityZoneMessage, CreateCustomAvailabilityZoneResult, + CreateCustomDBEngineVersionMessage, CreateDBClusterEndpointMessage, CreateDBClusterMessage, CreateDBClusterParameterGroupMessage, @@ -536,6 +549,9 @@ import { CustomAvailabilityZoneMessage, CustomAvailabilityZoneNotFoundFault, CustomAvailabilityZoneQuotaExceededFault, + CustomDBEngineVersionAlreadyExistsFault, + CustomDBEngineVersionNotFoundFault, + CustomDBEngineVersionQuotaExceededFault, DBCluster, DBClusterAlreadyExistsFault, DBClusterBacktrack, @@ -594,7 +610,6 @@ import { DBProxyEndpointQuotaExceededFault, DBProxyNotFoundFault, DBProxyQuotaExceededFault, - DBProxyTarget, DBProxyTargetGroup, DBProxyTargetGroupNotFoundFault, DBProxyTargetNotFoundFault, @@ -616,6 +631,7 @@ import { DBSubnetQuotaExceededFault, DeleteCustomAvailabilityZoneMessage, DeleteCustomAvailabilityZoneResult, + DeleteCustomDBEngineVersionMessage, DeleteDBClusterEndpointMessage, DeleteDBClusterMessage, DeleteDBClusterParameterGroupMessage, @@ -669,7 +685,6 @@ import { DescribeDBProxyTargetGroupsRequest, DescribeDBProxyTargetGroupsResponse, DescribeDBProxyTargetsRequest, - DescribeDBProxyTargetsResponse, DomainMembership, DomainNotFoundFault, EC2SecurityGroup, @@ -691,6 +706,7 @@ import { InstanceQuotaExceededFault, InsufficientDBInstanceCapacityFault, InsufficientStorageClusterCapacityFault, + InvalidCustomDBEngineVersionStateFault, InvalidDBClusterEndpointStateFault, InvalidDBClusterSnapshotStateFault, InvalidDBClusterStateFault, @@ -743,7 +759,6 @@ import { SubscriptionCategoryNotFoundFault, SubscriptionNotFoundFault, Tag, - TargetHealth, Timezone, UpgradeTarget, UserAuthConfig, @@ -761,6 +776,7 @@ import { DBInstanceRoleNotFoundFault, DBLogFileNotFoundFault, DBParameterGroupNameMessage, + DBProxyTarget, DBProxyTargetAlreadyRegisteredFault, DBSecurityGroupMessage, DBSnapshotAttribute, @@ -768,6 +784,7 @@ import { DBSnapshotMessage, DBSubnetGroupMessage, DBUpgradeDependencyFailureFault, + DescribeDBProxyTargetsResponse, DescribeDBSecurityGroupsMessage, DescribeDBSnapshotAttributesMessage, DescribeDBSnapshotAttributesResult, @@ -825,6 +842,7 @@ import { ModifyCertificatesMessage, ModifyCertificatesResult, ModifyCurrentDBClusterCapacityMessage, + ModifyCustomDBEngineVersionMessage, ModifyDBClusterEndpointMessage, ModifyDBClusterMessage, ModifyDBClusterParameterGroupMessage, @@ -927,6 +945,7 @@ import { StopDBInstanceResult, SubnetAlreadyInUse, TagListMessage, + TargetHealth, ValidDBInstanceModificationsMessage, ValidStorageOptions, } from "../models/models_1"; @@ -1155,6 +1174,22 @@ export const serializeAws_queryCreateCustomAvailabilityZoneCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_queryCreateCustomDBEngineVersionCommand = async ( + input: CreateCustomDBEngineVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryCreateCustomDBEngineVersionMessage(input, context), + Action: "CreateCustomDBEngineVersion", + Version: "2014-10-31", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_queryCreateDBClusterCommand = async ( input: CreateDBClusterCommandInput, context: __SerdeContext @@ -1411,6 +1446,22 @@ export const serializeAws_queryDeleteCustomAvailabilityZoneCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_queryDeleteCustomDBEngineVersionCommand = async ( + input: DeleteCustomDBEngineVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryDeleteCustomDBEngineVersionMessage(input, context), + Action: "DeleteCustomDBEngineVersion", + Version: "2014-10-31", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_queryDeleteDBClusterCommand = async ( input: DeleteDBClusterCommandInput, context: __SerdeContext @@ -2435,6 +2486,22 @@ export const serializeAws_queryModifyCurrentDBClusterCapacityCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_queryModifyCustomDBEngineVersionCommand = async ( + input: ModifyCustomDBEngineVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-www-form-urlencoded", + }; + let body: any; + body = buildFormUrlencodedString({ + ...serializeAws_queryModifyCustomDBEngineVersionMessage(input, context), + Action: "ModifyCustomDBEngineVersion", + Version: "2014-10-31", + }); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_queryModifyDBClusterCommand = async ( input: ModifyDBClusterCommandInput, context: __SerdeContext @@ -4164,6 +4231,76 @@ const deserializeAws_queryCreateCustomAvailabilityZoneCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_queryCreateCustomDBEngineVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryCreateCustomDBEngineVersionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryDBEngineVersion(data.CreateCustomDBEngineVersionResult, context); + const response: CreateCustomDBEngineVersionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryCreateCustomDBEngineVersionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "CustomDBEngineVersionAlreadyExistsFault": + case "com.amazonaws.rds#CustomDBEngineVersionAlreadyExistsFault": + response = { + ...(await deserializeAws_queryCustomDBEngineVersionAlreadyExistsFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "CustomDBEngineVersionQuotaExceededFault": + case "com.amazonaws.rds#CustomDBEngineVersionQuotaExceededFault": + response = { + ...(await deserializeAws_queryCustomDBEngineVersionQuotaExceededFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "KMSKeyNotAccessibleFault": + case "com.amazonaws.rds#KMSKeyNotAccessibleFault": + response = { + ...(await deserializeAws_queryKMSKeyNotAccessibleFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_queryCreateDBClusterCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -5748,6 +5885,68 @@ const deserializeAws_queryDeleteCustomAvailabilityZoneCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_queryDeleteCustomDBEngineVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryDeleteCustomDBEngineVersionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryDBEngineVersion(data.DeleteCustomDBEngineVersionResult, context); + const response: DeleteCustomDBEngineVersionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryDeleteCustomDBEngineVersionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "CustomDBEngineVersionNotFoundFault": + case "com.amazonaws.rds#CustomDBEngineVersionNotFoundFault": + response = { + ...(await deserializeAws_queryCustomDBEngineVersionNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidCustomDBEngineVersionStateFault": + case "com.amazonaws.rds#InvalidCustomDBEngineVersionStateFault": + response = { + ...(await deserializeAws_queryInvalidCustomDBEngineVersionStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_queryDeleteDBClusterCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -9528,6 +9727,68 @@ const deserializeAws_queryModifyCurrentDBClusterCapacityCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_queryModifyCustomDBEngineVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_queryModifyCustomDBEngineVersionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_queryDBEngineVersion(data.ModifyCustomDBEngineVersionResult, context); + const response: ModifyCustomDBEngineVersionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_queryModifyCustomDBEngineVersionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadQueryErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "CustomDBEngineVersionNotFoundFault": + case "com.amazonaws.rds#CustomDBEngineVersionNotFoundFault": + response = { + ...(await deserializeAws_queryCustomDBEngineVersionNotFoundFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidCustomDBEngineVersionStateFault": + case "com.amazonaws.rds#InvalidCustomDBEngineVersionStateFault": + response = { + ...(await deserializeAws_queryInvalidCustomDBEngineVersionStateFaultResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.Error.code || parsedBody.Error.Code || errorCode; + response = { + ...parsedBody.Error, + name: `${errorCode}`, + message: parsedBody.Error.message || parsedBody.Error.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_queryModifyDBClusterCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -13814,6 +14075,51 @@ const deserializeAws_queryCustomAvailabilityZoneQuotaExceededFaultResponse = asy return contents; }; +const deserializeAws_queryCustomDBEngineVersionAlreadyExistsFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryCustomDBEngineVersionAlreadyExistsFault(body.Error, context); + const contents: CustomDBEngineVersionAlreadyExistsFault = { + name: "CustomDBEngineVersionAlreadyExistsFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryCustomDBEngineVersionNotFoundFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryCustomDBEngineVersionNotFoundFault(body.Error, context); + const contents: CustomDBEngineVersionNotFoundFault = { + name: "CustomDBEngineVersionNotFoundFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + +const deserializeAws_queryCustomDBEngineVersionQuotaExceededFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryCustomDBEngineVersionQuotaExceededFault(body.Error, context); + const contents: CustomDBEngineVersionQuotaExceededFault = { + name: "CustomDBEngineVersionQuotaExceededFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_queryDBClusterAlreadyExistsFaultResponse = async ( parsedOutput: any, context: __SerdeContext @@ -14744,6 +15050,21 @@ const deserializeAws_queryInsufficientStorageClusterCapacityFaultResponse = asyn return contents; }; +const deserializeAws_queryInvalidCustomDBEngineVersionStateFaultResponse = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = deserializeAws_queryInvalidCustomDBEngineVersionStateFault(body.Error, context); + const contents: InvalidCustomDBEngineVersionStateFault = { + name: "InvalidCustomDBEngineVersionStateFault", + $fault: "client", + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }; + return contents; +}; + const deserializeAws_queryInvalidDBClusterCapacityFaultResponse = async ( parsedOutput: any, context: __SerdeContext @@ -15819,6 +16140,45 @@ const serializeAws_queryCreateCustomAvailabilityZoneMessage = ( return entries; }; +const serializeAws_queryCreateCustomDBEngineVersionMessage = ( + input: CreateCustomDBEngineVersionMessage, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Engine !== undefined && input.Engine !== null) { + entries["Engine"] = input.Engine; + } + if (input.EngineVersion !== undefined && input.EngineVersion !== null) { + entries["EngineVersion"] = input.EngineVersion; + } + if ( + input.DatabaseInstallationFilesS3BucketName !== undefined && + input.DatabaseInstallationFilesS3BucketName !== null + ) { + entries["DatabaseInstallationFilesS3BucketName"] = input.DatabaseInstallationFilesS3BucketName; + } + if (input.DatabaseInstallationFilesS3Prefix !== undefined && input.DatabaseInstallationFilesS3Prefix !== null) { + entries["DatabaseInstallationFilesS3Prefix"] = input.DatabaseInstallationFilesS3Prefix; + } + if (input.KMSKeyId !== undefined && input.KMSKeyId !== null) { + entries["KMSKeyId"] = input.KMSKeyId; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + if (input.Manifest !== undefined && input.Manifest !== null) { + entries["Manifest"] = input.Manifest; + } + if (input.Tags !== undefined && input.Tags !== null) { + const memberEntries = serializeAws_queryTagList(input.Tags, context); + Object.entries(memberEntries).forEach(([key, value]) => { + const loc = `Tags.${key}`; + entries[loc] = value; + }); + } + return entries; +}; + const serializeAws_queryCreateDBClusterEndpointMessage = ( input: CreateDBClusterEndpointMessage, context: __SerdeContext @@ -16192,6 +16552,9 @@ const serializeAws_queryCreateDBInstanceMessage = (input: CreateDBInstanceMessag if (input.EnableCustomerOwnedIp !== undefined && input.EnableCustomerOwnedIp !== null) { entries["EnableCustomerOwnedIp"] = input.EnableCustomerOwnedIp; } + if (input.CustomIamInstanceProfile !== undefined && input.CustomIamInstanceProfile !== null) { + entries["CustomIamInstanceProfile"] = input.CustomIamInstanceProfile; + } return entries; }; @@ -16312,6 +16675,9 @@ const serializeAws_queryCreateDBInstanceReadReplicaMessage = ( if (input.MaxAllocatedStorage !== undefined && input.MaxAllocatedStorage !== null) { entries["MaxAllocatedStorage"] = input.MaxAllocatedStorage; } + if (input.CustomIamInstanceProfile !== undefined && input.CustomIamInstanceProfile !== null) { + entries["CustomIamInstanceProfile"] = input.CustomIamInstanceProfile; + } return entries; }; @@ -16613,6 +16979,20 @@ const serializeAws_queryDeleteCustomAvailabilityZoneMessage = ( return entries; }; +const serializeAws_queryDeleteCustomDBEngineVersionMessage = ( + input: DeleteCustomDBEngineVersionMessage, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Engine !== undefined && input.Engine !== null) { + entries["Engine"] = input.Engine; + } + if (input.EngineVersion !== undefined && input.EngineVersion !== null) { + entries["EngineVersion"] = input.EngineVersion; + } + return entries; +}; + const serializeAws_queryDeleteDBClusterEndpointMessage = ( input: DeleteDBClusterEndpointMessage, context: __SerdeContext @@ -18095,6 +18475,26 @@ const serializeAws_queryModifyCurrentDBClusterCapacityMessage = ( return entries; }; +const serializeAws_queryModifyCustomDBEngineVersionMessage = ( + input: ModifyCustomDBEngineVersionMessage, + context: __SerdeContext +): any => { + const entries: any = {}; + if (input.Engine !== undefined && input.Engine !== null) { + entries["Engine"] = input.Engine; + } + if (input.EngineVersion !== undefined && input.EngineVersion !== null) { + entries["EngineVersion"] = input.EngineVersion; + } + if (input.Description !== undefined && input.Description !== null) { + entries["Description"] = input.Description; + } + if (input.Status !== undefined && input.Status !== null) { + entries["Status"] = input.Status; + } + return entries; +}; + const serializeAws_queryModifyDBClusterEndpointMessage = ( input: ModifyDBClusterEndpointMessage, context: __SerdeContext @@ -18417,6 +18817,12 @@ const serializeAws_queryModifyDBInstanceMessage = (input: ModifyDBInstanceMessag if (input.AwsBackupRecoveryPointArn !== undefined && input.AwsBackupRecoveryPointArn !== null) { entries["AwsBackupRecoveryPointArn"] = input.AwsBackupRecoveryPointArn; } + if (input.AutomationMode !== undefined && input.AutomationMode !== null) { + entries["AutomationMode"] = input.AutomationMode; + } + if (input.ResumeFullAutomationModeMinutes !== undefined && input.ResumeFullAutomationModeMinutes !== null) { + entries["ResumeFullAutomationModeMinutes"] = input.ResumeFullAutomationModeMinutes; + } return entries; }; @@ -19474,6 +19880,9 @@ const serializeAws_queryRestoreDBInstanceFromDBSnapshotMessage = ( if (input.EnableCustomerOwnedIp !== undefined && input.EnableCustomerOwnedIp !== null) { entries["EnableCustomerOwnedIp"] = input.EnableCustomerOwnedIp; } + if (input.CustomIamInstanceProfile !== undefined && input.CustomIamInstanceProfile !== null) { + entries["CustomIamInstanceProfile"] = input.CustomIamInstanceProfile; + } return entries; }; @@ -19760,6 +20169,9 @@ const serializeAws_queryRestoreDBInstanceToPointInTimeMessage = ( if (input.EnableCustomerOwnedIp !== undefined && input.EnableCustomerOwnedIp !== null) { entries["EnableCustomerOwnedIp"] = input.EnableCustomerOwnedIp; } + if (input.CustomIamInstanceProfile !== undefined && input.CustomIamInstanceProfile !== null) { + entries["CustomIamInstanceProfile"] = input.CustomIamInstanceProfile; + } return entries; }; @@ -20800,6 +21212,45 @@ const deserializeAws_queryCustomAvailabilityZoneQuotaExceededFault = ( return contents; }; +const deserializeAws_queryCustomDBEngineVersionAlreadyExistsFault = ( + output: any, + context: __SerdeContext +): CustomDBEngineVersionAlreadyExistsFault => { + const contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = __expectString(output["message"]); + } + return contents; +}; + +const deserializeAws_queryCustomDBEngineVersionNotFoundFault = ( + output: any, + context: __SerdeContext +): CustomDBEngineVersionNotFoundFault => { + const contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = __expectString(output["message"]); + } + return contents; +}; + +const deserializeAws_queryCustomDBEngineVersionQuotaExceededFault = ( + output: any, + context: __SerdeContext +): CustomDBEngineVersionQuotaExceededFault => { + const contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = __expectString(output["message"]); + } + return contents; +}; + const deserializeAws_queryDBCluster = (output: any, context: __SerdeContext): DBCluster => { const contents: any = { AllocatedStorage: undefined, @@ -21907,6 +22358,13 @@ const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContex Status: undefined, SupportsParallelQuery: undefined, SupportsGlobalDatabases: undefined, + MajorEngineVersion: undefined, + DatabaseInstallationFilesS3BucketName: undefined, + DatabaseInstallationFilesS3Prefix: undefined, + DBEngineVersionArn: undefined, + KMSKeyId: undefined, + CreateTime: undefined, + TagList: undefined, }; if (output["Engine"] !== undefined) { contents.Engine = __expectString(output["Engine"]); @@ -22010,6 +22468,30 @@ const deserializeAws_queryDBEngineVersion = (output: any, context: __SerdeContex if (output["SupportsGlobalDatabases"] !== undefined) { contents.SupportsGlobalDatabases = __parseBoolean(output["SupportsGlobalDatabases"]); } + if (output["MajorEngineVersion"] !== undefined) { + contents.MajorEngineVersion = __expectString(output["MajorEngineVersion"]); + } + if (output["DatabaseInstallationFilesS3BucketName"] !== undefined) { + contents.DatabaseInstallationFilesS3BucketName = __expectString(output["DatabaseInstallationFilesS3BucketName"]); + } + if (output["DatabaseInstallationFilesS3Prefix"] !== undefined) { + contents.DatabaseInstallationFilesS3Prefix = __expectString(output["DatabaseInstallationFilesS3Prefix"]); + } + if (output["DBEngineVersionArn"] !== undefined) { + contents.DBEngineVersionArn = __expectString(output["DBEngineVersionArn"]); + } + if (output["KMSKeyId"] !== undefined) { + contents.KMSKeyId = __expectString(output["KMSKeyId"]); + } + if (output["CreateTime"] !== undefined) { + contents.CreateTime = __expectNonNull(__parseRfc3339DateTime(output["CreateTime"])); + } + if (output.TagList === "") { + contents.TagList = []; + } + if (output["TagList"] !== undefined && output["TagList"]["Tag"] !== undefined) { + contents.TagList = deserializeAws_queryTagList(__getArrayIfSingleItem(output["TagList"]["Tag"]), context); + } return contents; }; @@ -22116,6 +22598,9 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D ActivityStreamKinesisStreamName: undefined, ActivityStreamMode: undefined, ActivityStreamEngineNativeAuditFieldsIncluded: undefined, + AutomationMode: undefined, + ResumeFullAutomationModeTime: undefined, + CustomIamInstanceProfile: undefined, }; if (output["DBInstanceIdentifier"] !== undefined) { contents.DBInstanceIdentifier = __expectString(output["DBInstanceIdentifier"]); @@ -22427,6 +22912,17 @@ const deserializeAws_queryDBInstance = (output: any, context: __SerdeContext): D output["ActivityStreamEngineNativeAuditFieldsIncluded"] ); } + if (output["AutomationMode"] !== undefined) { + contents.AutomationMode = __expectString(output["AutomationMode"]); + } + if (output["ResumeFullAutomationModeTime"] !== undefined) { + contents.ResumeFullAutomationModeTime = __expectNonNull( + __parseRfc3339DateTime(output["ResumeFullAutomationModeTime"]) + ); + } + if (output["CustomIamInstanceProfile"] !== undefined) { + contents.CustomIamInstanceProfile = __expectString(output["CustomIamInstanceProfile"]); + } return contents; }; @@ -25191,6 +25687,19 @@ const deserializeAws_queryInsufficientStorageClusterCapacityFault = ( return contents; }; +const deserializeAws_queryInvalidCustomDBEngineVersionStateFault = ( + output: any, + context: __SerdeContext +): InvalidCustomDBEngineVersionStateFault => { + const contents: any = { + message: undefined, + }; + if (output["message"] !== undefined) { + contents.message = __expectString(output["message"]); + } + return contents; +}; + const deserializeAws_queryInvalidDBClusterCapacityFault = ( output: any, context: __SerdeContext @@ -26650,6 +27159,8 @@ const deserializeAws_queryPendingModifiedValues = (output: any, context: __Serde PendingCloudwatchLogsExports: undefined, ProcessorFeatures: undefined, IAMDatabaseAuthenticationEnabled: undefined, + AutomationMode: undefined, + ResumeFullAutomationModeTime: undefined, }; if (output["DBInstanceClass"] !== undefined) { contents.DBInstanceClass = __expectString(output["DBInstanceClass"]); @@ -26708,6 +27219,14 @@ const deserializeAws_queryPendingModifiedValues = (output: any, context: __Serde if (output["IAMDatabaseAuthenticationEnabled"] !== undefined) { contents.IAMDatabaseAuthenticationEnabled = __parseBoolean(output["IAMDatabaseAuthenticationEnabled"]); } + if (output["AutomationMode"] !== undefined) { + contents.AutomationMode = __expectString(output["AutomationMode"]); + } + if (output["ResumeFullAutomationModeTime"] !== undefined) { + contents.ResumeFullAutomationModeTime = __expectNonNull( + __parseRfc3339DateTime(output["ResumeFullAutomationModeTime"]) + ); + } return contents; }; diff --git a/clients/client-route53resolver/src/Route53Resolver.ts b/clients/client-route53resolver/src/Route53Resolver.ts index d64ce3a9cc43..6e56b23516ec 100644 --- a/clients/client-route53resolver/src/Route53Resolver.ts +++ b/clients/client-route53resolver/src/Route53Resolver.ts @@ -125,6 +125,11 @@ import { GetFirewallRuleGroupPolicyCommandInput, GetFirewallRuleGroupPolicyCommandOutput, } from "./commands/GetFirewallRuleGroupPolicyCommand"; +import { + GetResolverConfigCommand, + GetResolverConfigCommandInput, + GetResolverConfigCommandOutput, +} from "./commands/GetResolverConfigCommand"; import { GetResolverDnssecConfigCommand, GetResolverDnssecConfigCommandInput, @@ -200,6 +205,11 @@ import { ListFirewallRulesCommandInput, ListFirewallRulesCommandOutput, } from "./commands/ListFirewallRulesCommand"; +import { + ListResolverConfigsCommand, + ListResolverConfigsCommandInput, + ListResolverConfigsCommandOutput, +} from "./commands/ListResolverConfigsCommand"; import { ListResolverDnssecConfigsCommand, ListResolverDnssecConfigsCommandInput, @@ -281,6 +291,11 @@ import { UpdateFirewallRuleGroupAssociationCommandInput, UpdateFirewallRuleGroupAssociationCommandOutput, } from "./commands/UpdateFirewallRuleGroupAssociationCommand"; +import { + UpdateResolverConfigCommand, + UpdateResolverConfigCommandInput, + UpdateResolverConfigCommandOutput, +} from "./commands/UpdateResolverConfigCommand"; import { UpdateResolverDnssecConfigCommand, UpdateResolverDnssecConfigCommandInput, @@ -1222,6 +1237,39 @@ export class Route53Resolver extends Route53ResolverClient { } } + /** + *

                                                                                  Retrieves the behavior configuration of Route 53 Resolver behavior for a single VPC from + * Amazon Virtual Private Cloud.

                                                                                  + */ + public getResolverConfig( + args: GetResolverConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getResolverConfig( + args: GetResolverConfigCommandInput, + cb: (err: any, data?: GetResolverConfigCommandOutput) => void + ): void; + public getResolverConfig( + args: GetResolverConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetResolverConfigCommandOutput) => void + ): void; + public getResolverConfig( + args: GetResolverConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetResolverConfigCommandOutput) => void), + cb?: (err: any, data?: GetResolverConfigCommandOutput) => void + ): Promise | void { + const command = new GetResolverConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                                  Gets DNSSEC validation information for a specified resource.

                                                                                  */ @@ -1730,6 +1778,39 @@ export class Route53Resolver extends Route53ResolverClient { } } + /** + *

                                                                                  Retrieves the Resolver configurations that you have defined. + * Route 53 Resolver uses the configurations to manage DNS resolution behavior for your VPCs.

                                                                                  + */ + public listResolverConfigs( + args: ListResolverConfigsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public listResolverConfigs( + args: ListResolverConfigsCommandInput, + cb: (err: any, data?: ListResolverConfigsCommandOutput) => void + ): void; + public listResolverConfigs( + args: ListResolverConfigsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListResolverConfigsCommandOutput) => void + ): void; + public listResolverConfigs( + args: ListResolverConfigsCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: ListResolverConfigsCommandOutput) => void), + cb?: (err: any, data?: ListResolverConfigsCommandOutput) => void + ): Promise | void { + const command = new ListResolverConfigsCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                                  Lists the configurations for DNSSEC validation that are associated with the current Amazon Web Services account.

                                                                                  */ @@ -2276,6 +2357,39 @@ export class Route53Resolver extends Route53ResolverClient { } } + /** + *

                                                                                  Updates the behavior configuration of Route 53 Resolver behavior for a single VPC from + * Amazon Virtual Private Cloud.

                                                                                  + */ + public updateResolverConfig( + args: UpdateResolverConfigCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateResolverConfig( + args: UpdateResolverConfigCommandInput, + cb: (err: any, data?: UpdateResolverConfigCommandOutput) => void + ): void; + public updateResolverConfig( + args: UpdateResolverConfigCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateResolverConfigCommandOutput) => void + ): void; + public updateResolverConfig( + args: UpdateResolverConfigCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateResolverConfigCommandOutput) => void), + cb?: (err: any, data?: UpdateResolverConfigCommandOutput) => void + ): Promise | void { + const command = new UpdateResolverConfigCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                                  Updates an existing DNSSEC validation configuration. If there is no existing DNSSEC validation configuration, one is created.

                                                                                  */ diff --git a/clients/client-route53resolver/src/Route53ResolverClient.ts b/clients/client-route53resolver/src/Route53ResolverClient.ts index 2279c5726fce..c584d13826ca 100644 --- a/clients/client-route53resolver/src/Route53ResolverClient.ts +++ b/clients/client-route53resolver/src/Route53ResolverClient.ts @@ -134,6 +134,7 @@ import { GetFirewallRuleGroupPolicyCommandInput, GetFirewallRuleGroupPolicyCommandOutput, } from "./commands/GetFirewallRuleGroupPolicyCommand"; +import { GetResolverConfigCommandInput, GetResolverConfigCommandOutput } from "./commands/GetResolverConfigCommand"; import { GetResolverDnssecConfigCommandInput, GetResolverDnssecConfigCommandOutput, @@ -188,6 +189,10 @@ import { ListFirewallRuleGroupsCommandOutput, } from "./commands/ListFirewallRuleGroupsCommand"; import { ListFirewallRulesCommandInput, ListFirewallRulesCommandOutput } from "./commands/ListFirewallRulesCommand"; +import { + ListResolverConfigsCommandInput, + ListResolverConfigsCommandOutput, +} from "./commands/ListResolverConfigsCommand"; import { ListResolverDnssecConfigsCommandInput, ListResolverDnssecConfigsCommandOutput, @@ -244,6 +249,10 @@ import { UpdateFirewallRuleGroupAssociationCommandInput, UpdateFirewallRuleGroupAssociationCommandOutput, } from "./commands/UpdateFirewallRuleGroupAssociationCommand"; +import { + UpdateResolverConfigCommandInput, + UpdateResolverConfigCommandOutput, +} from "./commands/UpdateResolverConfigCommand"; import { UpdateResolverDnssecConfigCommandInput, UpdateResolverDnssecConfigCommandOutput, @@ -281,6 +290,7 @@ export type ServiceInputTypes = | GetFirewallRuleGroupAssociationCommandInput | GetFirewallRuleGroupCommandInput | GetFirewallRuleGroupPolicyCommandInput + | GetResolverConfigCommandInput | GetResolverDnssecConfigCommandInput | GetResolverEndpointCommandInput | GetResolverQueryLogConfigAssociationCommandInput @@ -296,6 +306,7 @@ export type ServiceInputTypes = | ListFirewallRuleGroupAssociationsCommandInput | ListFirewallRuleGroupsCommandInput | ListFirewallRulesCommandInput + | ListResolverConfigsCommandInput | ListResolverDnssecConfigsCommandInput | ListResolverEndpointIpAddressesCommandInput | ListResolverEndpointsCommandInput @@ -313,6 +324,7 @@ export type ServiceInputTypes = | UpdateFirewallDomainsCommandInput | UpdateFirewallRuleCommandInput | UpdateFirewallRuleGroupAssociationCommandInput + | UpdateResolverConfigCommandInput | UpdateResolverDnssecConfigCommandInput | UpdateResolverEndpointCommandInput | UpdateResolverRuleCommandInput; @@ -343,6 +355,7 @@ export type ServiceOutputTypes = | GetFirewallRuleGroupAssociationCommandOutput | GetFirewallRuleGroupCommandOutput | GetFirewallRuleGroupPolicyCommandOutput + | GetResolverConfigCommandOutput | GetResolverDnssecConfigCommandOutput | GetResolverEndpointCommandOutput | GetResolverQueryLogConfigAssociationCommandOutput @@ -358,6 +371,7 @@ export type ServiceOutputTypes = | ListFirewallRuleGroupAssociationsCommandOutput | ListFirewallRuleGroupsCommandOutput | ListFirewallRulesCommandOutput + | ListResolverConfigsCommandOutput | ListResolverDnssecConfigsCommandOutput | ListResolverEndpointIpAddressesCommandOutput | ListResolverEndpointsCommandOutput @@ -375,6 +389,7 @@ export type ServiceOutputTypes = | UpdateFirewallDomainsCommandOutput | UpdateFirewallRuleCommandOutput | UpdateFirewallRuleGroupAssociationCommandOutput + | UpdateResolverConfigCommandOutput | UpdateResolverDnssecConfigCommandOutput | UpdateResolverEndpointCommandOutput | UpdateResolverRuleCommandOutput; diff --git a/clients/client-route53resolver/src/commands/GetResolverConfigCommand.ts b/clients/client-route53resolver/src/commands/GetResolverConfigCommand.ts new file mode 100644 index 000000000000..5aa158e95809 --- /dev/null +++ b/clients/client-route53resolver/src/commands/GetResolverConfigCommand.ts @@ -0,0 +1,96 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { GetResolverConfigRequest, GetResolverConfigResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetResolverConfigCommand, + serializeAws_json1_1GetResolverConfigCommand, +} from "../protocols/Aws_json1_1"; +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; + +export interface GetResolverConfigCommandInput extends GetResolverConfigRequest {} +export interface GetResolverConfigCommandOutput extends GetResolverConfigResponse, __MetadataBearer {} + +/** + *

                                                                                  Retrieves the behavior configuration of Route 53 Resolver behavior for a single VPC from + * Amazon Virtual Private Cloud.

                                                                                  + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { Route53ResolverClient, GetResolverConfigCommand } from "@aws-sdk/client-route53resolver"; // ES Modules import + * // const { Route53ResolverClient, GetResolverConfigCommand } = require("@aws-sdk/client-route53resolver"); // CommonJS import + * const client = new Route53ResolverClient(config); + * const command = new GetResolverConfigCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetResolverConfigCommandInput} for command's `input` shape. + * @see {@link GetResolverConfigCommandOutput} for command's `response` shape. + * @see {@link Route53ResolverClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetResolverConfigCommand extends $Command< + GetResolverConfigCommandInput, + GetResolverConfigCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetResolverConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "Route53ResolverClient"; + const commandName = "GetResolverConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetResolverConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetResolverConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetResolverConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetResolverConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetResolverConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/src/commands/ListResolverConfigsCommand.ts b/clients/client-route53resolver/src/commands/ListResolverConfigsCommand.ts new file mode 100644 index 000000000000..8be4d1b6379b --- /dev/null +++ b/clients/client-route53resolver/src/commands/ListResolverConfigsCommand.ts @@ -0,0 +1,96 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { ListResolverConfigsRequest, ListResolverConfigsResponse } from "../models/models_0"; +import { + deserializeAws_json1_1ListResolverConfigsCommand, + serializeAws_json1_1ListResolverConfigsCommand, +} from "../protocols/Aws_json1_1"; +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; + +export interface ListResolverConfigsCommandInput extends ListResolverConfigsRequest {} +export interface ListResolverConfigsCommandOutput extends ListResolverConfigsResponse, __MetadataBearer {} + +/** + *

                                                                                  Retrieves the Resolver configurations that you have defined. + * Route 53 Resolver uses the configurations to manage DNS resolution behavior for your VPCs.

                                                                                  + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { Route53ResolverClient, ListResolverConfigsCommand } from "@aws-sdk/client-route53resolver"; // ES Modules import + * // const { Route53ResolverClient, ListResolverConfigsCommand } = require("@aws-sdk/client-route53resolver"); // CommonJS import + * const client = new Route53ResolverClient(config); + * const command = new ListResolverConfigsCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link ListResolverConfigsCommandInput} for command's `input` shape. + * @see {@link ListResolverConfigsCommandOutput} for command's `response` shape. + * @see {@link Route53ResolverClientResolvedConfig | config} for command's `input` shape. + * + */ +export class ListResolverConfigsCommand extends $Command< + ListResolverConfigsCommandInput, + ListResolverConfigsCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: ListResolverConfigsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "Route53ResolverClient"; + const commandName = "ListResolverConfigsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: ListResolverConfigsRequest.filterSensitiveLog, + outputFilterSensitiveLog: ListResolverConfigsResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: ListResolverConfigsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1ListResolverConfigsCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1ListResolverConfigsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/src/commands/UpdateResolverConfigCommand.ts b/clients/client-route53resolver/src/commands/UpdateResolverConfigCommand.ts new file mode 100644 index 000000000000..5ca2b136b8c9 --- /dev/null +++ b/clients/client-route53resolver/src/commands/UpdateResolverConfigCommand.ts @@ -0,0 +1,96 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { UpdateResolverConfigRequest, UpdateResolverConfigResponse } from "../models/models_0"; +import { + deserializeAws_json1_1UpdateResolverConfigCommand, + serializeAws_json1_1UpdateResolverConfigCommand, +} from "../protocols/Aws_json1_1"; +import { Route53ResolverClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../Route53ResolverClient"; + +export interface UpdateResolverConfigCommandInput extends UpdateResolverConfigRequest {} +export interface UpdateResolverConfigCommandOutput extends UpdateResolverConfigResponse, __MetadataBearer {} + +/** + *

                                                                                  Updates the behavior configuration of Route 53 Resolver behavior for a single VPC from + * Amazon Virtual Private Cloud.

                                                                                  + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { Route53ResolverClient, UpdateResolverConfigCommand } from "@aws-sdk/client-route53resolver"; // ES Modules import + * // const { Route53ResolverClient, UpdateResolverConfigCommand } = require("@aws-sdk/client-route53resolver"); // CommonJS import + * const client = new Route53ResolverClient(config); + * const command = new UpdateResolverConfigCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateResolverConfigCommandInput} for command's `input` shape. + * @see {@link UpdateResolverConfigCommandOutput} for command's `response` shape. + * @see {@link Route53ResolverClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateResolverConfigCommand extends $Command< + UpdateResolverConfigCommandInput, + UpdateResolverConfigCommandOutput, + Route53ResolverClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateResolverConfigCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: Route53ResolverClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "Route53ResolverClient"; + const commandName = "UpdateResolverConfigCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateResolverConfigRequest.filterSensitiveLog, + outputFilterSensitiveLog: UpdateResolverConfigResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateResolverConfigCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateResolverConfigCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateResolverConfigCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-route53resolver/src/commands/index.ts b/clients/client-route53resolver/src/commands/index.ts index 1dca4cc22d63..e37d709638cf 100644 --- a/clients/client-route53resolver/src/commands/index.ts +++ b/clients/client-route53resolver/src/commands/index.ts @@ -23,6 +23,7 @@ export * from "./GetFirewallDomainListCommand"; export * from "./GetFirewallRuleGroupAssociationCommand"; export * from "./GetFirewallRuleGroupCommand"; export * from "./GetFirewallRuleGroupPolicyCommand"; +export * from "./GetResolverConfigCommand"; export * from "./GetResolverDnssecConfigCommand"; export * from "./GetResolverEndpointCommand"; export * from "./GetResolverQueryLogConfigAssociationCommand"; @@ -38,6 +39,7 @@ export * from "./ListFirewallDomainsCommand"; export * from "./ListFirewallRuleGroupAssociationsCommand"; export * from "./ListFirewallRuleGroupsCommand"; export * from "./ListFirewallRulesCommand"; +export * from "./ListResolverConfigsCommand"; export * from "./ListResolverDnssecConfigsCommand"; export * from "./ListResolverEndpointIpAddressesCommand"; export * from "./ListResolverEndpointsCommand"; @@ -55,6 +57,7 @@ export * from "./UpdateFirewallConfigCommand"; export * from "./UpdateFirewallDomainsCommand"; export * from "./UpdateFirewallRuleCommand"; export * from "./UpdateFirewallRuleGroupAssociationCommand"; +export * from "./UpdateResolverConfigCommand"; export * from "./UpdateResolverDnssecConfigCommand"; export * from "./UpdateResolverEndpointCommand"; export * from "./UpdateResolverRuleCommand"; diff --git a/clients/client-route53resolver/src/models/models_0.ts b/clients/client-route53resolver/src/models/models_0.ts index 5b5c2a3b7e82..7a653750596f 100644 --- a/clients/client-route53resolver/src/models/models_0.ts +++ b/clients/client-route53resolver/src/models/models_0.ts @@ -888,6 +888,11 @@ export namespace ResourceUnavailableException { }); } +export enum AutodefinedReverseFlag { + DISABLE = "DISABLE", + ENABLE = "ENABLE", +} + export enum BlockOverrideDnsType { CNAME = "CNAME", } @@ -2823,6 +2828,106 @@ export namespace GetFirewallRuleGroupPolicyResponse { }); } +export interface GetResolverConfigRequest { + /** + *

                                                                                  Resource ID of the Amazon VPC that you want to get information about.

                                                                                  + */ + ResourceId: string | undefined; +} + +export namespace GetResolverConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetResolverConfigRequest): any => ({ + ...obj, + }); +} + +export enum ResolverAutodefinedReverseStatus { + Disabled = "DISABLED", + Disabling = "DISABLING", + Enabled = "ENABLED", + Enabling = "ENABLING", +} + +/** + *

                                                                                  A complex type that contains information about a Resolver configuration for a VPC.

                                                                                  + */ +export interface ResolverConfig { + /** + *

                                                                                  ID for the Resolver configuration.

                                                                                  + */ + Id?: string; + + /** + *

                                                                                  The ID of the Amazon Virtual Private Cloud VPC that you're configuring Resolver for.

                                                                                  + */ + ResourceId?: string; + + /** + *

                                                                                  The owner account ID of the Amazon Virtual Private Cloud VPC.

                                                                                  + */ + OwnerId?: string; + + /** + *

                                                                                  The status of whether or not the Resolver will create autodefined rules for reverse DNS + * lookups. This is enabled by default. The status can be one of following:

                                                                                  + *

                                                                                  Status of the rules generated by VPCs based on CIDR/Region for reverse DNS resolution. The + * status can be one of following:

                                                                                  + * + *
                                                                                    + *
                                                                                  • + *

                                                                                    + * ENABLING: Autodefined rules for reverse DNS lookups are being + * enabled but are not complete.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * ENABLED: Autodefined rules for reverse DNS lookups are + * enabled.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * DISABLING: Autodefined rules for reverse DNS lookups are + * being disabled but are not complete.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * DISABLED: Autodefined rules for reverse DNS lookups are + * disabled.

                                                                                    + *
                                                                                  • + *
                                                                                  + */ + AutodefinedReverse?: ResolverAutodefinedReverseStatus | string; +} + +export namespace ResolverConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ResolverConfig): any => ({ + ...obj, + }); +} + +export interface GetResolverConfigResponse { + /** + *

                                                                                  Information about the behavior configuration of Route 53 Resolver behavior for the VPC you + * specified in the GetResolverConfig request.

                                                                                  + */ + ResolverConfig?: ResolverConfig; +} + +export namespace GetResolverConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetResolverConfigResponse): any => ({ + ...obj, + }); +} + export interface GetResolverDnssecConfigRequest { /** *

                                                                                  The ID of the virtual private cloud (VPC) for the DNSSEC validation status.

                                                                                  @@ -3705,6 +3810,61 @@ export namespace ListFirewallRulesResponse { }); } +export interface ListResolverConfigsRequest { + /** + *

                                                                                  The maximum number of Resolver configurations that you want to return in the response to + * a ListResolverConfigs request. If you don't specify a value for MaxResults, + * up to 100 Resolver configurations are returned.

                                                                                  + */ + MaxResults?: number; + + /** + *

                                                                                  (Optional) If the current Amazon Web Services account has more than MaxResults Resolver configurations, use + * NextToken to get the second and subsequent pages of results.

                                                                                  + *

                                                                                  For the first ListResolverConfigs request, omit this value.

                                                                                  + *

                                                                                  For the second and subsequent requests, get the value of NextToken from the previous response and + * specify that value for NextToken in the request.

                                                                                  + */ + NextToken?: string; +} + +export namespace ListResolverConfigsRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListResolverConfigsRequest): any => ({ + ...obj, + }); +} + +export interface ListResolverConfigsResponse { + /** + *

                                                                                  If a response includes the last of the Resolver configurations that are associated with the current Amazon Web Services account, + * NextToken doesn't appear in the response.

                                                                                  + *

                                                                                  If a response doesn't include the last of the configurations, you can get more configurations by submitting another + * ListResolverConfigs request. + * Get the value of NextToken that Amazon Route 53 + * returned in the previous response and include it in + * NextToken in the next request.

                                                                                  + */ + NextToken?: string; + + /** + *

                                                                                  An array that contains one ResolverConfigs element for each Resolver configuration that is associated + * with the current Amazon Web Services account.

                                                                                  + */ + ResolverConfigs?: ResolverConfig[]; +} + +export namespace ListResolverConfigsResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ListResolverConfigsResponse): any => ({ + ...obj, + }); +} + export interface ListResolverDnssecConfigsRequest { /** *

                                                                                  @@ -5014,6 +5174,50 @@ export namespace UpdateFirewallRuleGroupAssociationResponse { }); } +export interface UpdateResolverConfigRequest { + /** + *

                                                                                  Resource ID of the Amazon VPC that you want to update the Resolver configuration for.

                                                                                  + */ + ResourceId: string | undefined; + + /** + *

                                                                                  Indicates whether or not the Resolver will create autodefined rules for reverse DNS + * lookups. This is enabled by default. Disabling this option will also affect EC2-Classic + * instances using ClassicLink. For more information, see ClassicLink in the + * Amazon EC2 guide.

                                                                                  + * + *

                                                                                  It can take some time for the status change to be completed.

                                                                                  + *
                                                                                  + *

                                                                                  + */ + AutodefinedReverseFlag: AutodefinedReverseFlag | string | undefined; +} + +export namespace UpdateResolverConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateResolverConfigRequest): any => ({ + ...obj, + }); +} + +export interface UpdateResolverConfigResponse { + /** + *

                                                                                  An array that contains settings for the specified Resolver configuration.

                                                                                  + */ + ResolverConfig?: ResolverConfig; +} + +export namespace UpdateResolverConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateResolverConfigResponse): any => ({ + ...obj, + }); +} + export enum Validation { DISABLE = "DISABLE", ENABLE = "ENABLE", diff --git a/clients/client-route53resolver/src/pagination/ListResolverConfigsPaginator.ts b/clients/client-route53resolver/src/pagination/ListResolverConfigsPaginator.ts new file mode 100644 index 000000000000..16dd4329add4 --- /dev/null +++ b/clients/client-route53resolver/src/pagination/ListResolverConfigsPaginator.ts @@ -0,0 +1,59 @@ +import { Paginator } from "@aws-sdk/types"; + +import { + ListResolverConfigsCommand, + ListResolverConfigsCommandInput, + ListResolverConfigsCommandOutput, +} from "../commands/ListResolverConfigsCommand"; +import { Route53Resolver } from "../Route53Resolver"; +import { Route53ResolverClient } from "../Route53ResolverClient"; +import { Route53ResolverPaginationConfiguration } from "./Interfaces"; + +/** + * @private + */ +const makePagedClientRequest = async ( + client: Route53ResolverClient, + input: ListResolverConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.send(new ListResolverConfigsCommand(input), ...args); +}; +/** + * @private + */ +const makePagedRequest = async ( + client: Route53Resolver, + input: ListResolverConfigsCommandInput, + ...args: any +): Promise => { + // @ts-ignore + return await client.listResolverConfigs(input, ...args); +}; +export async function* paginateListResolverConfigs( + config: Route53ResolverPaginationConfiguration, + input: ListResolverConfigsCommandInput, + ...additionalArguments: any +): Paginator { + // ToDo: replace with actual type instead of typeof input.NextToken + let token: typeof input.NextToken | undefined = config.startingToken || undefined; + let hasNext = true; + let page: ListResolverConfigsCommandOutput; + while (hasNext) { + input.NextToken = token; + input["MaxResults"] = config.pageSize; + if (config.client instanceof Route53Resolver) { + page = await makePagedRequest(config.client, input, ...additionalArguments); + } else if (config.client instanceof Route53ResolverClient) { + page = await makePagedClientRequest(config.client, input, ...additionalArguments); + } else { + throw new Error("Invalid client, expected Route53Resolver | Route53ResolverClient"); + } + yield page; + token = page.NextToken; + hasNext = !!token; + } + // @ts-ignore + return undefined; +} diff --git a/clients/client-route53resolver/src/pagination/index.ts b/clients/client-route53resolver/src/pagination/index.ts index 456189707515..c7499e2eb251 100644 --- a/clients/client-route53resolver/src/pagination/index.ts +++ b/clients/client-route53resolver/src/pagination/index.ts @@ -5,6 +5,7 @@ export * from "./ListFirewallDomainsPaginator"; export * from "./ListFirewallRuleGroupAssociationsPaginator"; export * from "./ListFirewallRuleGroupsPaginator"; export * from "./ListFirewallRulesPaginator"; +export * from "./ListResolverConfigsPaginator"; export * from "./ListResolverDnssecConfigsPaginator"; export * from "./ListResolverEndpointIpAddressesPaginator"; export * from "./ListResolverEndpointsPaginator"; diff --git a/clients/client-route53resolver/src/protocols/Aws_json1_1.ts b/clients/client-route53resolver/src/protocols/Aws_json1_1.ts index 81d0fc267e5f..6cf4a7477bc4 100644 --- a/clients/client-route53resolver/src/protocols/Aws_json1_1.ts +++ b/clients/client-route53resolver/src/protocols/Aws_json1_1.ts @@ -99,6 +99,7 @@ import { GetFirewallRuleGroupPolicyCommandInput, GetFirewallRuleGroupPolicyCommandOutput, } from "../commands/GetFirewallRuleGroupPolicyCommand"; +import { GetResolverConfigCommandInput, GetResolverConfigCommandOutput } from "../commands/GetResolverConfigCommand"; import { GetResolverDnssecConfigCommandInput, GetResolverDnssecConfigCommandOutput, @@ -153,6 +154,10 @@ import { ListFirewallRuleGroupsCommandOutput, } from "../commands/ListFirewallRuleGroupsCommand"; import { ListFirewallRulesCommandInput, ListFirewallRulesCommandOutput } from "../commands/ListFirewallRulesCommand"; +import { + ListResolverConfigsCommandInput, + ListResolverConfigsCommandOutput, +} from "../commands/ListResolverConfigsCommand"; import { ListResolverDnssecConfigsCommandInput, ListResolverDnssecConfigsCommandOutput, @@ -209,6 +214,10 @@ import { UpdateFirewallRuleGroupAssociationCommandInput, UpdateFirewallRuleGroupAssociationCommandOutput, } from "../commands/UpdateFirewallRuleGroupAssociationCommand"; +import { + UpdateResolverConfigCommandInput, + UpdateResolverConfigCommandOutput, +} from "../commands/UpdateResolverConfigCommand"; import { UpdateResolverDnssecConfigCommandInput, UpdateResolverDnssecConfigCommandOutput, @@ -279,6 +288,8 @@ import { GetFirewallRuleGroupPolicyResponse, GetFirewallRuleGroupRequest, GetFirewallRuleGroupResponse, + GetResolverConfigRequest, + GetResolverConfigResponse, GetResolverDnssecConfigRequest, GetResolverDnssecConfigResponse, GetResolverEndpointRequest, @@ -319,6 +330,8 @@ import { ListFirewallRuleGroupsResponse, ListFirewallRulesRequest, ListFirewallRulesResponse, + ListResolverConfigsRequest, + ListResolverConfigsResponse, ListResolverDnssecConfigsRequest, ListResolverDnssecConfigsResponse, ListResolverEndpointIpAddressesRequest, @@ -341,6 +354,7 @@ import { PutResolverQueryLogConfigPolicyResponse, PutResolverRulePolicyRequest, PutResolverRulePolicyResponse, + ResolverConfig, ResolverDnssecConfig, ResolverEndpoint, ResolverQueryLogConfig, @@ -368,6 +382,8 @@ import { UpdateFirewallRuleGroupAssociationResponse, UpdateFirewallRuleRequest, UpdateFirewallRuleResponse, + UpdateResolverConfigRequest, + UpdateResolverConfigResponse, UpdateResolverDnssecConfigRequest, UpdateResolverDnssecConfigResponse, UpdateResolverEndpointRequest, @@ -702,6 +718,19 @@ export const serializeAws_json1_1GetFirewallRuleGroupPolicyCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetResolverConfigCommand = async ( + input: GetResolverConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "Route53Resolver.GetResolverConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetResolverConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1GetResolverDnssecConfigCommand = async ( input: GetResolverDnssecConfigCommandInput, context: __SerdeContext @@ -897,6 +926,19 @@ export const serializeAws_json1_1ListFirewallRulesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1ListResolverConfigsCommand = async ( + input: ListResolverConfigsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "Route53Resolver.ListResolverConfigs", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1ListResolverConfigsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1ListResolverDnssecConfigsCommand = async ( input: ListResolverDnssecConfigsCommandInput, context: __SerdeContext @@ -1118,6 +1160,19 @@ export const serializeAws_json1_1UpdateFirewallRuleGroupAssociationCommand = asy return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateResolverConfigCommand = async ( + input: UpdateResolverConfigCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "Route53Resolver.UpdateResolverConfig", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateResolverConfigRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateResolverDnssecConfigCommand = async ( input: UpdateResolverDnssecConfigCommandInput, context: __SerdeContext @@ -3459,6 +3514,92 @@ const deserializeAws_json1_1GetFirewallRuleGroupPolicyCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetResolverConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetResolverConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetResolverConfigResponse(data, context); + const response: GetResolverConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetResolverConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1GetResolverDnssecConfigCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -4717,6 +4858,100 @@ const deserializeAws_json1_1ListFirewallRulesCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1ListResolverConfigsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1ListResolverConfigsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1ListResolverConfigsResponse(data, context); + const response: ListResolverConfigsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1ListResolverConfigsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidNextTokenException": + case "com.amazonaws.route53resolver#InvalidNextTokenException": + response = { + ...(await deserializeAws_json1_1InvalidNextTokenExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1ListResolverDnssecConfigsCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -6259,6 +6494,116 @@ const deserializeAws_json1_1UpdateFirewallRuleGroupAssociationCommandError = asy return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateResolverConfigCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateResolverConfigCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateResolverConfigResponse(data, context); + const response: UpdateResolverConfigCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateResolverConfigCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.route53resolver#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServiceErrorException": + case "com.amazonaws.route53resolver#InternalServiceErrorException": + response = { + ...(await deserializeAws_json1_1InternalServiceErrorExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.route53resolver#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidRequestException": + case "com.amazonaws.route53resolver#InvalidRequestException": + response = { + ...(await deserializeAws_json1_1InvalidRequestExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.route53resolver#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceNotFoundException": + case "com.amazonaws.route53resolver#ResourceNotFoundException": + response = { + ...(await deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ResourceUnavailableException": + case "com.amazonaws.route53resolver#ResourceUnavailableException": + response = { + ...(await deserializeAws_json1_1ResourceUnavailableExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.route53resolver#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1UpdateResolverDnssecConfigCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -7129,6 +7474,15 @@ const serializeAws_json1_1GetFirewallRuleGroupRequest = ( }; }; +const serializeAws_json1_1GetResolverConfigRequest = ( + input: GetResolverConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.ResourceId !== undefined && input.ResourceId !== null && { ResourceId: input.ResourceId }), + }; +}; + const serializeAws_json1_1GetResolverDnssecConfigRequest = ( input: GetResolverDnssecConfigRequest, context: __SerdeContext @@ -7314,6 +7668,16 @@ const serializeAws_json1_1ListFirewallRulesRequest = ( }; }; +const serializeAws_json1_1ListResolverConfigsRequest = ( + input: ListResolverConfigsRequest, + context: __SerdeContext +): any => { + return { + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1ListResolverDnssecConfigsRequest = ( input: ListResolverDnssecConfigsRequest, context: __SerdeContext @@ -7593,6 +7957,17 @@ const serializeAws_json1_1UpdateFirewallRuleRequest = ( }; }; +const serializeAws_json1_1UpdateResolverConfigRequest = ( + input: UpdateResolverConfigRequest, + context: __SerdeContext +): any => { + return { + ...(input.AutodefinedReverseFlag !== undefined && + input.AutodefinedReverseFlag !== null && { AutodefinedReverseFlag: input.AutodefinedReverseFlag }), + ...(input.ResourceId !== undefined && input.ResourceId !== null && { ResourceId: input.ResourceId }), + }; +}; + const serializeAws_json1_1UpdateResolverDnssecConfigRequest = ( input: UpdateResolverDnssecConfigRequest, context: __SerdeContext @@ -8115,6 +8490,18 @@ const deserializeAws_json1_1GetFirewallRuleGroupResponse = ( } as any; }; +const deserializeAws_json1_1GetResolverConfigResponse = ( + output: any, + context: __SerdeContext +): GetResolverConfigResponse => { + return { + ResolverConfig: + output.ResolverConfig !== undefined && output.ResolverConfig !== null + ? deserializeAws_json1_1ResolverConfig(output.ResolverConfig, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1GetResolverDnssecConfigResponse = ( output: any, context: __SerdeContext @@ -8374,6 +8761,19 @@ const deserializeAws_json1_1ListFirewallRulesResponse = ( } as any; }; +const deserializeAws_json1_1ListResolverConfigsResponse = ( + output: any, + context: __SerdeContext +): ListResolverConfigsResponse => { + return { + NextToken: __expectString(output.NextToken), + ResolverConfigs: + output.ResolverConfigs !== undefined && output.ResolverConfigs !== null + ? deserializeAws_json1_1ResolverConfigList(output.ResolverConfigs, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1ListResolverDnssecConfigsResponse = ( output: any, context: __SerdeContext @@ -8516,6 +8916,26 @@ const deserializeAws_json1_1PutResolverRulePolicyResponse = ( } as any; }; +const deserializeAws_json1_1ResolverConfig = (output: any, context: __SerdeContext): ResolverConfig => { + return { + AutodefinedReverse: __expectString(output.AutodefinedReverse), + Id: __expectString(output.Id), + OwnerId: __expectString(output.OwnerId), + ResourceId: __expectString(output.ResourceId), + } as any; +}; + +const deserializeAws_json1_1ResolverConfigList = (output: any, context: __SerdeContext): ResolverConfig[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return deserializeAws_json1_1ResolverConfig(entry, context); + }); +}; + const deserializeAws_json1_1ResolverDnssecConfig = (output: any, context: __SerdeContext): ResolverDnssecConfig => { return { Id: __expectString(output.Id), @@ -8844,6 +9264,18 @@ const deserializeAws_json1_1UpdateFirewallRuleResponse = ( } as any; }; +const deserializeAws_json1_1UpdateResolverConfigResponse = ( + output: any, + context: __SerdeContext +): UpdateResolverConfigResponse => { + return { + ResolverConfig: + output.ResolverConfig !== undefined && output.ResolverConfig !== null + ? deserializeAws_json1_1ResolverConfig(output.ResolverConfig, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1UpdateResolverDnssecConfigResponse = ( output: any, context: __SerdeContext diff --git a/clients/client-sagemaker/src/SageMaker.ts b/clients/client-sagemaker/src/SageMaker.ts index 6be7b4ee1e0f..37fb84960d8e 100644 --- a/clients/client-sagemaker/src/SageMaker.ts +++ b/clients/client-sagemaker/src/SageMaker.ts @@ -11,6 +11,11 @@ import { AssociateTrialComponentCommandInput, AssociateTrialComponentCommandOutput, } from "./commands/AssociateTrialComponentCommand"; +import { + BatchDescribeModelPackageCommand, + BatchDescribeModelPackageCommandInput, + BatchDescribeModelPackageCommandOutput, +} from "./commands/BatchDescribeModelPackageCommand"; import { CreateActionCommand, CreateActionCommandInput, @@ -1086,6 +1091,11 @@ import { UpdatePipelineExecutionCommandInput, UpdatePipelineExecutionCommandOutput, } from "./commands/UpdatePipelineExecutionCommand"; +import { + UpdateProjectCommand, + UpdateProjectCommandInput, + UpdateProjectCommandOutput, +} from "./commands/UpdateProjectCommand"; import { UpdateTrainingJobCommand, UpdateTrainingJobCommandInput, @@ -1253,6 +1263,38 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                                                  This action batch describes a list of versioned model packages

                                                                                  + */ + public batchDescribeModelPackage( + args: BatchDescribeModelPackageCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public batchDescribeModelPackage( + args: BatchDescribeModelPackageCommandInput, + cb: (err: any, data?: BatchDescribeModelPackageCommandOutput) => void + ): void; + public batchDescribeModelPackage( + args: BatchDescribeModelPackageCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: BatchDescribeModelPackageCommandOutput) => void + ): void; + public batchDescribeModelPackage( + args: BatchDescribeModelPackageCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: BatchDescribeModelPackageCommandOutput) => void), + cb?: (err: any, data?: BatchDescribeModelPackageCommandOutput) => void + ): Promise | void { + const command = new BatchDescribeModelPackageCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                                  Creates an action. An action is a lineage tracking entity that * represents an action or activity. For example, a model deployment or an HPO job. @@ -5386,9 +5428,9 @@ export class SageMaker extends SageMakerClient { } /** - *

                                                                                  Returns a description of the specified model package, which is used to create Amazon SageMaker + *

                                                                                  Returns a description of the specified model package, which is used to create SageMaker * models or list them on Amazon Web Services Marketplace.

                                                                                  - *

                                                                                  To create models in Amazon SageMaker, buyers can subscribe to model packages listed on Amazon Web Services + *

                                                                                  To create models in SageMaker, buyers can subscribe to model packages listed on Amazon Web Services * Marketplace.

                                                                                  */ public describeModelPackage( @@ -9358,6 +9400,45 @@ export class SageMaker extends SageMakerClient { } } + /** + *

                                                                                  Updates a machine learning (ML) project that is created from a template that + * sets up an ML pipeline from training to deploying an approved model.

                                                                                  + * + *

                                                                                  You must not update a project that is in use. If you update the + * ServiceCatalogProvisioningUpdateDetails of a project that is active + * or being created, or updated, you may lose resources already created by the + * project.

                                                                                  + *
                                                                                  + */ + public updateProject( + args: UpdateProjectCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public updateProject( + args: UpdateProjectCommandInput, + cb: (err: any, data?: UpdateProjectCommandOutput) => void + ): void; + public updateProject( + args: UpdateProjectCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateProjectCommandOutput) => void + ): void; + public updateProject( + args: UpdateProjectCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: UpdateProjectCommandOutput) => void), + cb?: (err: any, data?: UpdateProjectCommandOutput) => void + ): Promise | void { + const command = new UpdateProjectCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                                  Update a model training job to request a new Debugger profiling configuration.

                                                                                  */ diff --git a/clients/client-sagemaker/src/SageMakerClient.ts b/clients/client-sagemaker/src/SageMakerClient.ts index 32760ef83445..386bc55e28d0 100644 --- a/clients/client-sagemaker/src/SageMakerClient.ts +++ b/clients/client-sagemaker/src/SageMakerClient.ts @@ -55,6 +55,10 @@ import { AssociateTrialComponentCommandInput, AssociateTrialComponentCommandOutput, } from "./commands/AssociateTrialComponentCommand"; +import { + BatchDescribeModelPackageCommandInput, + BatchDescribeModelPackageCommandOutput, +} from "./commands/BatchDescribeModelPackageCommand"; import { CreateActionCommandInput, CreateActionCommandOutput } from "./commands/CreateActionCommand"; import { CreateAlgorithmCommandInput, CreateAlgorithmCommandOutput } from "./commands/CreateAlgorithmCommand"; import { CreateAppCommandInput, CreateAppCommandOutput } from "./commands/CreateAppCommand"; @@ -634,6 +638,7 @@ import { UpdatePipelineExecutionCommandInput, UpdatePipelineExecutionCommandOutput, } from "./commands/UpdatePipelineExecutionCommand"; +import { UpdateProjectCommandInput, UpdateProjectCommandOutput } from "./commands/UpdateProjectCommand"; import { UpdateTrainingJobCommandInput, UpdateTrainingJobCommandOutput } from "./commands/UpdateTrainingJobCommand"; import { UpdateTrialCommandInput, UpdateTrialCommandOutput } from "./commands/UpdateTrialCommand"; import { @@ -649,6 +654,7 @@ export type ServiceInputTypes = | AddAssociationCommandInput | AddTagsCommandInput | AssociateTrialComponentCommandInput + | BatchDescribeModelPackageCommandInput | CreateActionCommandInput | CreateAlgorithmCommandInput | CreateAppCommandInput @@ -880,6 +886,7 @@ export type ServiceInputTypes = | UpdateNotebookInstanceLifecycleConfigCommandInput | UpdatePipelineCommandInput | UpdatePipelineExecutionCommandInput + | UpdateProjectCommandInput | UpdateTrainingJobCommandInput | UpdateTrialCommandInput | UpdateTrialComponentCommandInput @@ -891,6 +898,7 @@ export type ServiceOutputTypes = | AddAssociationCommandOutput | AddTagsCommandOutput | AssociateTrialComponentCommandOutput + | BatchDescribeModelPackageCommandOutput | CreateActionCommandOutput | CreateAlgorithmCommandOutput | CreateAppCommandOutput @@ -1122,6 +1130,7 @@ export type ServiceOutputTypes = | UpdateNotebookInstanceLifecycleConfigCommandOutput | UpdatePipelineCommandOutput | UpdatePipelineExecutionCommandOutput + | UpdateProjectCommandOutput | UpdateTrainingJobCommandOutput | UpdateTrialCommandOutput | UpdateTrialComponentCommandOutput diff --git a/clients/client-sagemaker/src/commands/BatchDescribeModelPackageCommand.ts b/clients/client-sagemaker/src/commands/BatchDescribeModelPackageCommand.ts new file mode 100644 index 000000000000..db0fb91484cb --- /dev/null +++ b/clients/client-sagemaker/src/commands/BatchDescribeModelPackageCommand.ts @@ -0,0 +1,98 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { BatchDescribeModelPackageInput, BatchDescribeModelPackageOutput } from "../models/models_0"; +import { + deserializeAws_json1_1BatchDescribeModelPackageCommand, + serializeAws_json1_1BatchDescribeModelPackageCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface BatchDescribeModelPackageCommandInput extends BatchDescribeModelPackageInput {} +export interface BatchDescribeModelPackageCommandOutput extends BatchDescribeModelPackageOutput, __MetadataBearer {} + +/** + *

                                                                                  This action batch describes a list of versioned model packages

                                                                                  + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, BatchDescribeModelPackageCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, BatchDescribeModelPackageCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new BatchDescribeModelPackageCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link BatchDescribeModelPackageCommandInput} for command's `input` shape. + * @see {@link BatchDescribeModelPackageCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class BatchDescribeModelPackageCommand extends $Command< + BatchDescribeModelPackageCommandInput, + BatchDescribeModelPackageCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: BatchDescribeModelPackageCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "BatchDescribeModelPackageCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: BatchDescribeModelPackageInput.filterSensitiveLog, + outputFilterSensitiveLog: BatchDescribeModelPackageOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: BatchDescribeModelPackageCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1BatchDescribeModelPackageCommand(input, context); + } + + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return deserializeAws_json1_1BatchDescribeModelPackageCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/CreateLabelingJobCommand.ts b/clients/client-sagemaker/src/commands/CreateLabelingJobCommand.ts index 252299d26b2c..661eb4765699 100644 --- a/clients/client-sagemaker/src/commands/CreateLabelingJobCommand.ts +++ b/clients/client-sagemaker/src/commands/CreateLabelingJobCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { CreateLabelingJobRequest, CreateLabelingJobResponse } from "../models/models_0"; +import { CreateLabelingJobRequest, CreateLabelingJobResponse } from "../models/models_1"; import { deserializeAws_json1_1CreateLabelingJobCommand, serializeAws_json1_1CreateLabelingJobCommand, diff --git a/clients/client-sagemaker/src/commands/CreateModelCommand.ts b/clients/client-sagemaker/src/commands/CreateModelCommand.ts index 02f74dc94501..98e8eb58c433 100644 --- a/clients/client-sagemaker/src/commands/CreateModelCommand.ts +++ b/clients/client-sagemaker/src/commands/CreateModelCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { CreateModelInput, CreateModelOutput } from "../models/models_0"; +import { CreateModelInput, CreateModelOutput } from "../models/models_1"; import { deserializeAws_json1_1CreateModelCommand, serializeAws_json1_1CreateModelCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeModelPackageCommand.ts b/clients/client-sagemaker/src/commands/DescribeModelPackageCommand.ts index 940c92beb4b5..64b9e8cfbada 100644 --- a/clients/client-sagemaker/src/commands/DescribeModelPackageCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeModelPackageCommand.ts @@ -22,9 +22,9 @@ export interface DescribeModelPackageCommandInput extends DescribeModelPackageIn export interface DescribeModelPackageCommandOutput extends DescribeModelPackageOutput, __MetadataBearer {} /** - *

                                                                                  Returns a description of the specified model package, which is used to create Amazon SageMaker + *

                                                                                  Returns a description of the specified model package, which is used to create SageMaker * models or list them on Amazon Web Services Marketplace.

                                                                                  - *

                                                                                  To create models in Amazon SageMaker, buyers can subscribe to model packages listed on Amazon Web Services + *

                                                                                  To create models in SageMaker, buyers can subscribe to model packages listed on Amazon Web Services * Marketplace.

                                                                                  * @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-sagemaker/src/commands/DescribeProjectCommand.ts b/clients/client-sagemaker/src/commands/DescribeProjectCommand.ts index 070df952a371..bea3135b570f 100644 --- a/clients/client-sagemaker/src/commands/DescribeProjectCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeProjectCommand.ts @@ -11,7 +11,8 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeProjectInput, DescribeProjectOutput } from "../models/models_1"; +import { DescribeProjectInput } from "../models/models_1"; +import { DescribeProjectOutput } from "../models/models_2"; import { deserializeAws_json1_1DescribeProjectCommand, serializeAws_json1_1DescribeProjectCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeStudioLifecycleConfigCommand.ts b/clients/client-sagemaker/src/commands/DescribeStudioLifecycleConfigCommand.ts index 7e1ca2048189..f2d022bd374c 100644 --- a/clients/client-sagemaker/src/commands/DescribeStudioLifecycleConfigCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeStudioLifecycleConfigCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeStudioLifecycleConfigRequest, DescribeStudioLifecycleConfigResponse } from "../models/models_1"; +import { DescribeStudioLifecycleConfigRequest, DescribeStudioLifecycleConfigResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeStudioLifecycleConfigCommand, serializeAws_json1_1DescribeStudioLifecycleConfigCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeSubscribedWorkteamCommand.ts b/clients/client-sagemaker/src/commands/DescribeSubscribedWorkteamCommand.ts index 40f5c2c46503..b967ccf9a1f6 100644 --- a/clients/client-sagemaker/src/commands/DescribeSubscribedWorkteamCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeSubscribedWorkteamCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeSubscribedWorkteamRequest, DescribeSubscribedWorkteamResponse } from "../models/models_1"; +import { DescribeSubscribedWorkteamRequest, DescribeSubscribedWorkteamResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeSubscribedWorkteamCommand, serializeAws_json1_1DescribeSubscribedWorkteamCommand, diff --git a/clients/client-sagemaker/src/commands/DescribeTrainingJobCommand.ts b/clients/client-sagemaker/src/commands/DescribeTrainingJobCommand.ts index d3922c9d0559..fef1c9d04e58 100644 --- a/clients/client-sagemaker/src/commands/DescribeTrainingJobCommand.ts +++ b/clients/client-sagemaker/src/commands/DescribeTrainingJobCommand.ts @@ -11,8 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { DescribeTrainingJobRequest } from "../models/models_1"; -import { DescribeTrainingJobResponse } from "../models/models_2"; +import { DescribeTrainingJobRequest, DescribeTrainingJobResponse } from "../models/models_2"; import { deserializeAws_json1_1DescribeTrainingJobCommand, serializeAws_json1_1DescribeTrainingJobCommand, diff --git a/clients/client-sagemaker/src/commands/StopHyperParameterTuningJobCommand.ts b/clients/client-sagemaker/src/commands/StopHyperParameterTuningJobCommand.ts index 78d5bc11c0dc..49a414d67cb0 100644 --- a/clients/client-sagemaker/src/commands/StopHyperParameterTuningJobCommand.ts +++ b/clients/client-sagemaker/src/commands/StopHyperParameterTuningJobCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StopHyperParameterTuningJobRequest } from "../models/models_2"; +import { StopHyperParameterTuningJobRequest } from "../models/models_3"; import { deserializeAws_json1_1StopHyperParameterTuningJobCommand, serializeAws_json1_1StopHyperParameterTuningJobCommand, diff --git a/clients/client-sagemaker/src/commands/StopLabelingJobCommand.ts b/clients/client-sagemaker/src/commands/StopLabelingJobCommand.ts index 866e9de38992..c1e2cb18db24 100644 --- a/clients/client-sagemaker/src/commands/StopLabelingJobCommand.ts +++ b/clients/client-sagemaker/src/commands/StopLabelingJobCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StopLabelingJobRequest } from "../models/models_2"; +import { StopLabelingJobRequest } from "../models/models_3"; import { deserializeAws_json1_1StopLabelingJobCommand, serializeAws_json1_1StopLabelingJobCommand, diff --git a/clients/client-sagemaker/src/commands/StopMonitoringScheduleCommand.ts b/clients/client-sagemaker/src/commands/StopMonitoringScheduleCommand.ts index ec8a11b3bc99..7b847b887f21 100644 --- a/clients/client-sagemaker/src/commands/StopMonitoringScheduleCommand.ts +++ b/clients/client-sagemaker/src/commands/StopMonitoringScheduleCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StopMonitoringScheduleRequest } from "../models/models_2"; +import { StopMonitoringScheduleRequest } from "../models/models_3"; import { deserializeAws_json1_1StopMonitoringScheduleCommand, serializeAws_json1_1StopMonitoringScheduleCommand, diff --git a/clients/client-sagemaker/src/commands/StopNotebookInstanceCommand.ts b/clients/client-sagemaker/src/commands/StopNotebookInstanceCommand.ts index e0a51bf62551..0d3e00ad9600 100644 --- a/clients/client-sagemaker/src/commands/StopNotebookInstanceCommand.ts +++ b/clients/client-sagemaker/src/commands/StopNotebookInstanceCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StopNotebookInstanceInput } from "../models/models_2"; +import { StopNotebookInstanceInput } from "../models/models_3"; import { deserializeAws_json1_1StopNotebookInstanceCommand, serializeAws_json1_1StopNotebookInstanceCommand, diff --git a/clients/client-sagemaker/src/commands/StopPipelineExecutionCommand.ts b/clients/client-sagemaker/src/commands/StopPipelineExecutionCommand.ts index 58dfbf6832d5..821a01f5f30a 100644 --- a/clients/client-sagemaker/src/commands/StopPipelineExecutionCommand.ts +++ b/clients/client-sagemaker/src/commands/StopPipelineExecutionCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StopPipelineExecutionRequest, StopPipelineExecutionResponse } from "../models/models_2"; +import { StopPipelineExecutionRequest, StopPipelineExecutionResponse } from "../models/models_3"; import { deserializeAws_json1_1StopPipelineExecutionCommand, serializeAws_json1_1StopPipelineExecutionCommand, diff --git a/clients/client-sagemaker/src/commands/StopProcessingJobCommand.ts b/clients/client-sagemaker/src/commands/StopProcessingJobCommand.ts index 0273b6e854d0..b0cd2b9f8ba8 100644 --- a/clients/client-sagemaker/src/commands/StopProcessingJobCommand.ts +++ b/clients/client-sagemaker/src/commands/StopProcessingJobCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StopProcessingJobRequest } from "../models/models_2"; +import { StopProcessingJobRequest } from "../models/models_3"; import { deserializeAws_json1_1StopProcessingJobCommand, serializeAws_json1_1StopProcessingJobCommand, diff --git a/clients/client-sagemaker/src/commands/StopTrainingJobCommand.ts b/clients/client-sagemaker/src/commands/StopTrainingJobCommand.ts index 32bc6781be6b..a9675f29ac6b 100644 --- a/clients/client-sagemaker/src/commands/StopTrainingJobCommand.ts +++ b/clients/client-sagemaker/src/commands/StopTrainingJobCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StopTrainingJobRequest } from "../models/models_2"; +import { StopTrainingJobRequest } from "../models/models_3"; import { deserializeAws_json1_1StopTrainingJobCommand, serializeAws_json1_1StopTrainingJobCommand, diff --git a/clients/client-sagemaker/src/commands/StopTransformJobCommand.ts b/clients/client-sagemaker/src/commands/StopTransformJobCommand.ts index 6258b32205b1..2a90da9fc281 100644 --- a/clients/client-sagemaker/src/commands/StopTransformJobCommand.ts +++ b/clients/client-sagemaker/src/commands/StopTransformJobCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { StopTransformJobRequest } from "../models/models_2"; +import { StopTransformJobRequest } from "../models/models_3"; import { deserializeAws_json1_1StopTransformJobCommand, serializeAws_json1_1StopTransformJobCommand, diff --git a/clients/client-sagemaker/src/commands/UpdateActionCommand.ts b/clients/client-sagemaker/src/commands/UpdateActionCommand.ts index 4a33a5efde3c..d8231dccb1e1 100644 --- a/clients/client-sagemaker/src/commands/UpdateActionCommand.ts +++ b/clients/client-sagemaker/src/commands/UpdateActionCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { UpdateActionRequest, UpdateActionResponse } from "../models/models_2"; +import { UpdateActionRequest, UpdateActionResponse } from "../models/models_3"; import { deserializeAws_json1_1UpdateActionCommand, serializeAws_json1_1UpdateActionCommand, diff --git a/clients/client-sagemaker/src/commands/UpdateAppImageConfigCommand.ts b/clients/client-sagemaker/src/commands/UpdateAppImageConfigCommand.ts index b373f6892378..357e9ad97f84 100644 --- a/clients/client-sagemaker/src/commands/UpdateAppImageConfigCommand.ts +++ b/clients/client-sagemaker/src/commands/UpdateAppImageConfigCommand.ts @@ -11,7 +11,7 @@ import { SerdeContext as __SerdeContext, } from "@aws-sdk/types"; -import { UpdateAppImageConfigRequest, UpdateAppImageConfigResponse } from "../models/models_2"; +import { UpdateAppImageConfigRequest, UpdateAppImageConfigResponse } from "../models/models_3"; import { deserializeAws_json1_1UpdateAppImageConfigCommand, serializeAws_json1_1UpdateAppImageConfigCommand, diff --git a/clients/client-sagemaker/src/commands/UpdateProjectCommand.ts b/clients/client-sagemaker/src/commands/UpdateProjectCommand.ts new file mode 100644 index 000000000000..21bfcf7d5de2 --- /dev/null +++ b/clients/client-sagemaker/src/commands/UpdateProjectCommand.ts @@ -0,0 +1,102 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { UpdateProjectInput, UpdateProjectOutput } from "../models/models_3"; +import { + deserializeAws_json1_1UpdateProjectCommand, + serializeAws_json1_1UpdateProjectCommand, +} from "../protocols/Aws_json1_1"; +import { SageMakerClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../SageMakerClient"; + +export interface UpdateProjectCommandInput extends UpdateProjectInput {} +export interface UpdateProjectCommandOutput extends UpdateProjectOutput, __MetadataBearer {} + +/** + *

                                                                                  Updates a machine learning (ML) project that is created from a template that + * sets up an ML pipeline from training to deploying an approved model.

                                                                                  + * + *

                                                                                  You must not update a project that is in use. If you update the + * ServiceCatalogProvisioningUpdateDetails of a project that is active + * or being created, or updated, you may lose resources already created by the + * project.

                                                                                  + *
                                                                                  + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SageMakerClient, UpdateProjectCommand } from "@aws-sdk/client-sagemaker"; // ES Modules import + * // const { SageMakerClient, UpdateProjectCommand } = require("@aws-sdk/client-sagemaker"); // CommonJS import + * const client = new SageMakerClient(config); + * const command = new UpdateProjectCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link UpdateProjectCommandInput} for command's `input` shape. + * @see {@link UpdateProjectCommandOutput} for command's `response` shape. + * @see {@link SageMakerClientResolvedConfig | config} for command's `input` shape. + * + */ +export class UpdateProjectCommand extends $Command< + UpdateProjectCommandInput, + UpdateProjectCommandOutput, + SageMakerClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: UpdateProjectCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SageMakerClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SageMakerClient"; + const commandName = "UpdateProjectCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateProjectInput.filterSensitiveLog, + outputFilterSensitiveLog: UpdateProjectOutput.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: UpdateProjectCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1UpdateProjectCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1UpdateProjectCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sagemaker/src/commands/index.ts b/clients/client-sagemaker/src/commands/index.ts index 4e812c9ae268..80cffee7c9de 100644 --- a/clients/client-sagemaker/src/commands/index.ts +++ b/clients/client-sagemaker/src/commands/index.ts @@ -1,6 +1,7 @@ export * from "./AddAssociationCommand"; export * from "./AddTagsCommand"; export * from "./AssociateTrialComponentCommand"; +export * from "./BatchDescribeModelPackageCommand"; export * from "./CreateActionCommand"; export * from "./CreateAlgorithmCommand"; export * from "./CreateAppCommand"; @@ -232,6 +233,7 @@ export * from "./UpdateNotebookInstanceCommand"; export * from "./UpdateNotebookInstanceLifecycleConfigCommand"; export * from "./UpdatePipelineCommand"; export * from "./UpdatePipelineExecutionCommand"; +export * from "./UpdateProjectCommand"; export * from "./UpdateTrainingJobCommand"; export * from "./UpdateTrialCommand"; export * from "./UpdateTrialComponentCommand"; diff --git a/clients/client-sagemaker/src/models/models_0.ts b/clients/client-sagemaker/src/models/models_0.ts index 5e3bec919fc1..42854d21b7d4 100644 --- a/clients/client-sagemaker/src/models/models_0.ts +++ b/clients/client-sagemaker/src/models/models_0.ts @@ -3250,6 +3250,8 @@ export namespace AnnotationConsolidationConfig { export enum AppType { JupyterServer = "JupyterServer", KernelGateway = "KernelGateway", + RSessionGateway = "RSessionGateway", + RStudioServerPro = "RStudioServerPro", TensorBoard = "TensorBoard", } @@ -3486,6 +3488,11 @@ export enum AppNetworkAccessType { VpcOnly = "VpcOnly", } +export enum AppSecurityGroupManagement { + Customer = "Customer", + Service = "Service", +} + export enum AppSortKey { CreationTime = "CreationTime", } @@ -4690,210 +4697,511 @@ export enum AwsManagedHumanLoopRequestSource { TEXTRACT_ANALYZE_DOCUMENT_FORMS_V1 = "AWS/Textract/AnalyzeDocument/Forms/V1", } -/** - *

                                                                                  - */ -export interface MetricsSource { +export interface BatchDescribeModelPackageInput { /** - *

                                                                                  + *

                                                                                  The list of Amazon Resource Name (ARN) of the model package groups.

                                                                                  */ - ContentType: string | undefined; + ModelPackageArnList: string[] | undefined; +} + +export namespace BatchDescribeModelPackageInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BatchDescribeModelPackageInput): any => ({ + ...obj, + }); +} +/** + *

                                                                                  The error code and error description associated with the resource.

                                                                                  + */ +export interface BatchDescribeModelPackageError { /** *

                                                                                  */ - ContentDigest?: string; + ErrorCode: string | undefined; /** *

                                                                                  */ - S3Uri: string | undefined; + ErrorResponse: string | undefined; } -export namespace MetricsSource { +export namespace BatchDescribeModelPackageError { /** * @internal */ - export const filterSensitiveLog = (obj: MetricsSource): any => ({ + export const filterSensitiveLog = (obj: BatchDescribeModelPackageError): any => ({ ...obj, }); } /** - *

                                                                                  Contains bias metrics for a model.

                                                                                  + *

                                                                                  Describes the Docker container for the model package.

                                                                                  */ -export interface Bias { +export interface ModelPackageContainerDefinition { /** - *

                                                                                  The bias report for a model

                                                                                  + *

                                                                                  The DNS host name for the Docker container.

                                                                                  */ - Report?: MetricsSource; -} + ContainerHostname?: string; -export namespace Bias { /** - * @internal + *

                                                                                  The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.

                                                                                  + *

                                                                                  If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, + * the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both + * registry/repository[:tag] and registry/repository[@digest] + * image path formats. For more information, see Using Your Own Algorithms with Amazon + * SageMaker.

                                                                                  */ - export const filterSensitiveLog = (obj: Bias): any => ({ - ...obj, - }); -} + Image: string | undefined; -export enum CapacitySizeType { - CAPACITY_PERCENT = "CAPACITY_PERCENT", - INSTANCE_COUNT = "INSTANCE_COUNT", -} + /** + *

                                                                                  An MD5 hash of the training algorithm that identifies the Docker image used for + * training.

                                                                                  + */ + ImageDigest?: string; -/** - *

                                                                                  Currently, the CapacitySize API is not supported.

                                                                                  - */ -export interface CapacitySize { /** - *

                                                                                  This API is not supported.

                                                                                  + *

                                                                                  The Amazon S3 path where the model artifacts, which result from model training, are stored. + * This path must point to a single gzip compressed tar archive + * (.tar.gz suffix).

                                                                                  + * + *

                                                                                  The model artifacts must be in an S3 bucket that is in the same region as the + * model package.

                                                                                  + *
                                                                                  */ - Type: CapacitySizeType | string | undefined; + ModelDataUrl?: string; /** - *

                                                                                  + *

                                                                                  The Amazon Web Services Marketplace product ID of the model package.

                                                                                  */ - Value: number | undefined; + ProductId?: string; + + /** + *

                                                                                  The environment variables to set in the Docker container. Each key and value in the + * Environment string to string map can have length of up to 1024. We + * support up to 16 entries in the map.

                                                                                  + */ + Environment?: { [key: string]: string }; } -export namespace CapacitySize { +export namespace ModelPackageContainerDefinition { /** * @internal */ - export const filterSensitiveLog = (obj: CapacitySize): any => ({ + export const filterSensitiveLog = (obj: ModelPackageContainerDefinition): any => ({ ...obj, }); } -export enum TrafficRoutingConfigType { - ALL_AT_ONCE = "ALL_AT_ONCE", - CANARY = "CANARY", +export enum ProductionVariantInstanceType { + ML_C4_2XLARGE = "ml.c4.2xlarge", + ML_C4_4XLARGE = "ml.c4.4xlarge", + ML_C4_8XLARGE = "ml.c4.8xlarge", + ML_C4_LARGE = "ml.c4.large", + ML_C4_XLARGE = "ml.c4.xlarge", + ML_C5D_18XLARGE = "ml.c5d.18xlarge", + ML_C5D_2XLARGE = "ml.c5d.2xlarge", + ML_C5D_4XLARGE = "ml.c5d.4xlarge", + ML_C5D_9XLARGE = "ml.c5d.9xlarge", + ML_C5D_LARGE = "ml.c5d.large", + ML_C5D_XLARGE = "ml.c5d.xlarge", + ML_C5_18XLARGE = "ml.c5.18xlarge", + ML_C5_2XLARGE = "ml.c5.2xlarge", + ML_C5_4XLARGE = "ml.c5.4xlarge", + ML_C5_9XLARGE = "ml.c5.9xlarge", + ML_C5_LARGE = "ml.c5.large", + ML_C5_XLARGE = "ml.c5.xlarge", + ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", + ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", + ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", + ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", + ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", + ML_G4DN_XLARGE = "ml.g4dn.xlarge", + ML_INF1_24XLARGE = "ml.inf1.24xlarge", + ML_INF1_2XLARGE = "ml.inf1.2xlarge", + ML_INF1_6XLARGE = "ml.inf1.6xlarge", + ML_INF1_XLARGE = "ml.inf1.xlarge", + ML_M4_10XLARGE = "ml.m4.10xlarge", + ML_M4_16XLARGE = "ml.m4.16xlarge", + ML_M4_2XLARGE = "ml.m4.2xlarge", + ML_M4_4XLARGE = "ml.m4.4xlarge", + ML_M4_XLARGE = "ml.m4.xlarge", + ML_M5D_12XLARGE = "ml.m5d.12xlarge", + ML_M5D_24XLARGE = "ml.m5d.24xlarge", + ML_M5D_2XLARGE = "ml.m5d.2xlarge", + ML_M5D_4XLARGE = "ml.m5d.4xlarge", + ML_M5D_LARGE = "ml.m5d.large", + ML_M5D_XLARGE = "ml.m5d.xlarge", + ML_M5_12XLARGE = "ml.m5.12xlarge", + ML_M5_24XLARGE = "ml.m5.24xlarge", + ML_M5_2XLARGE = "ml.m5.2xlarge", + ML_M5_4XLARGE = "ml.m5.4xlarge", + ML_M5_LARGE = "ml.m5.large", + ML_M5_XLARGE = "ml.m5.xlarge", + ML_P2_16XLARGE = "ml.p2.16xlarge", + ML_P2_8XLARGE = "ml.p2.8xlarge", + ML_P2_XLARGE = "ml.p2.xlarge", + ML_P3_16XLARGE = "ml.p3.16xlarge", + ML_P3_2XLARGE = "ml.p3.2xlarge", + ML_P3_8XLARGE = "ml.p3.8xlarge", + ML_R5D_12XLARGE = "ml.r5d.12xlarge", + ML_R5D_24XLARGE = "ml.r5d.24xlarge", + ML_R5D_2XLARGE = "ml.r5d.2xlarge", + ML_R5D_4XLARGE = "ml.r5d.4xlarge", + ML_R5D_LARGE = "ml.r5d.large", + ML_R5D_XLARGE = "ml.r5d.xlarge", + ML_R5_12XLARGE = "ml.r5.12xlarge", + ML_R5_24XLARGE = "ml.r5.24xlarge", + ML_R5_2XLARGE = "ml.r5.2xlarge", + ML_R5_4XLARGE = "ml.r5.4xlarge", + ML_R5_LARGE = "ml.r5.large", + ML_R5_XLARGE = "ml.r5.xlarge", + ML_T2_2XLARGE = "ml.t2.2xlarge", + ML_T2_LARGE = "ml.t2.large", + ML_T2_MEDIUM = "ml.t2.medium", + ML_T2_XLARGE = "ml.t2.xlarge", } /** - *

                                                                                  Currently, the TrafficRoutingConfig API is not supported.

                                                                                  + *

                                                                                  Defines how to perform inference generation after a training job is run.

                                                                                  */ -export interface TrafficRoutingConfig { +export interface InferenceSpecification { /** - *

                                                                                  + *

                                                                                  The Amazon ECR registry path of the Docker image that contains the inference code.

                                                                                  */ - Type: TrafficRoutingConfigType | string | undefined; + Containers: ModelPackageContainerDefinition[] | undefined; /** - *

                                                                                  + *

                                                                                  A list of the instance types on which a transformation job can be run or on which an + * endpoint can be deployed.

                                                                                  + *

                                                                                  This parameter is required for unversioned models, and optional for versioned + * models.

                                                                                  */ - WaitIntervalInSeconds: number | undefined; + SupportedTransformInstanceTypes?: (TransformInstanceType | string)[]; /** - *

                                                                                  + *

                                                                                  A list of the instance types that are used to generate inferences in real-time.

                                                                                  + *

                                                                                  This parameter is required for unversioned models, and optional for versioned + * models.

                                                                                  */ - CanarySize?: CapacitySize; + SupportedRealtimeInferenceInstanceTypes?: (ProductionVariantInstanceType | string)[]; + + /** + *

                                                                                  The supported MIME types for the input data.

                                                                                  + */ + SupportedContentTypes: string[] | undefined; + + /** + *

                                                                                  The supported MIME types for the output data.

                                                                                  + */ + SupportedResponseMIMETypes: string[] | undefined; } -export namespace TrafficRoutingConfig { +export namespace InferenceSpecification { /** * @internal */ - export const filterSensitiveLog = (obj: TrafficRoutingConfig): any => ({ + export const filterSensitiveLog = (obj: InferenceSpecification): any => ({ ...obj, }); } +export enum ModelApprovalStatus { + APPROVED = "Approved", + PENDING_MANUAL_APPROVAL = "PendingManualApproval", + REJECTED = "Rejected", +} + +export enum ModelPackageStatus { + COMPLETED = "Completed", + DELETING = "Deleting", + FAILED = "Failed", + IN_PROGRESS = "InProgress", + PENDING = "Pending", +} + /** - *

                                                                                  Currently, the BlueGreenUpdatePolicy API is not supported.

                                                                                  + *

                                                                                  Provides summary information about the model package.

                                                                                  */ -export interface BlueGreenUpdatePolicy { +export interface BatchDescribeModelPackageSummary { /** - *

                                                                                  + *

                                                                                  The group name for the model package

                                                                                  */ - TrafficRoutingConfiguration: TrafficRoutingConfig | undefined; + ModelPackageGroupName: string | undefined; /** - *

                                                                                  + *

                                                                                  The version number of a versioned model.

                                                                                  */ - TerminationWaitInSeconds?: number; + ModelPackageVersion?: number; /** - *

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the model package.

                                                                                  */ - MaximumExecutionTimeoutInSeconds?: number; -} + ModelPackageArn: string | undefined; -export namespace BlueGreenUpdatePolicy { /** - * @internal + *

                                                                                  The description of the model package.

                                                                                  */ - export const filterSensitiveLog = (obj: BlueGreenUpdatePolicy): any => ({ - ...obj, - }); -} + ModelPackageDescription?: string; -export enum BooleanOperator { - AND = "And", - OR = "Or", -} + /** + *

                                                                                  The creation time of the mortgage package summary.

                                                                                  + */ + CreationTime: Date | undefined; -/** - *

                                                                                  Details on the cache hit of a pipeline execution step.

                                                                                  - */ -export interface CacheHitResult { /** - *

                                                                                  The Amazon Resource Name (ARN) of the pipeline execution.

                                                                                  + *

                                                                                  Defines how to perform inference generation after a training job is run.

                                                                                  */ - SourcePipelineExecutionArn?: string; + InferenceSpecification: InferenceSpecification | undefined; + + /** + *

                                                                                  The status of the mortgage package.

                                                                                  + */ + ModelPackageStatus: ModelPackageStatus | string | undefined; + + /** + *

                                                                                  The approval status of the model.

                                                                                  + */ + ModelApprovalStatus?: ModelApprovalStatus | string; } -export namespace CacheHitResult { +export namespace BatchDescribeModelPackageSummary { /** * @internal */ - export const filterSensitiveLog = (obj: CacheHitResult): any => ({ + export const filterSensitiveLog = (obj: BatchDescribeModelPackageSummary): any => ({ ...obj, }); } -/** - *

                                                                                  An output parameter of a pipeline step.

                                                                                  - */ -export interface OutputParameter { +export interface BatchDescribeModelPackageOutput { /** - *

                                                                                  The name of the output parameter.

                                                                                  + *

                                                                                  The summaries for the model package versions

                                                                                  */ - Name: string | undefined; + ModelPackageSummaries?: { [key: string]: BatchDescribeModelPackageSummary }; /** - *

                                                                                  The value of the output parameter.

                                                                                  + *

                                                                                  A map of the resource and BatchDescribeModelPackageError objects + * reporting the error associated with describing the model package.

                                                                                  */ - Value: string | undefined; + BatchDescribeModelPackageErrorMap?: { [key: string]: BatchDescribeModelPackageError }; } -export namespace OutputParameter { +export namespace BatchDescribeModelPackageOutput { /** * @internal */ - export const filterSensitiveLog = (obj: OutputParameter): any => ({ + export const filterSensitiveLog = (obj: BatchDescribeModelPackageOutput): any => ({ ...obj, }); } /** - *

                                                                                  Metadata about a callback step.

                                                                                  + *

                                                                                  */ -export interface CallbackStepMetadata { +export interface MetricsSource { /** - *

                                                                                  The pipeline generated token from the Amazon SQS queue.

                                                                                  + *

                                                                                  */ - CallbackToken?: string; + ContentType: string | undefined; /** - *

                                                                                  The URL of the Amazon Simple Queue Service (Amazon SQS) queue used by the callback step.

                                                                                  + *

                                                                                  */ - SqsQueueUrl?: string; + ContentDigest?: string; /** - *

                                                                                  A list of the output parameters of the callback step.

                                                                                  + *

                                                                                  + */ + S3Uri: string | undefined; +} + +export namespace MetricsSource { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MetricsSource): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  Contains bias metrics for a model.

                                                                                  + */ +export interface Bias { + /** + *

                                                                                  The bias report for a model

                                                                                  + */ + Report?: MetricsSource; +} + +export namespace Bias { + /** + * @internal + */ + export const filterSensitiveLog = (obj: Bias): any => ({ + ...obj, + }); +} + +export enum CapacitySizeType { + CAPACITY_PERCENT = "CAPACITY_PERCENT", + INSTANCE_COUNT = "INSTANCE_COUNT", +} + +/** + *

                                                                                  Currently, the CapacitySize API is not supported.

                                                                                  + */ +export interface CapacitySize { + /** + *

                                                                                  This API is not supported.

                                                                                  + */ + Type: CapacitySizeType | string | undefined; + + /** + *

                                                                                  + */ + Value: number | undefined; +} + +export namespace CapacitySize { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CapacitySize): any => ({ + ...obj, + }); +} + +export enum TrafficRoutingConfigType { + ALL_AT_ONCE = "ALL_AT_ONCE", + CANARY = "CANARY", +} + +/** + *

                                                                                  Currently, the TrafficRoutingConfig API is not supported.

                                                                                  + */ +export interface TrafficRoutingConfig { + /** + *

                                                                                  + */ + Type: TrafficRoutingConfigType | string | undefined; + + /** + *

                                                                                  + */ + WaitIntervalInSeconds: number | undefined; + + /** + *

                                                                                  + */ + CanarySize?: CapacitySize; +} + +export namespace TrafficRoutingConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: TrafficRoutingConfig): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  Currently, the BlueGreenUpdatePolicy API is not supported.

                                                                                  + */ +export interface BlueGreenUpdatePolicy { + /** + *

                                                                                  + */ + TrafficRoutingConfiguration: TrafficRoutingConfig | undefined; + + /** + *

                                                                                  + */ + TerminationWaitInSeconds?: number; + + /** + *

                                                                                  + */ + MaximumExecutionTimeoutInSeconds?: number; +} + +export namespace BlueGreenUpdatePolicy { + /** + * @internal + */ + export const filterSensitiveLog = (obj: BlueGreenUpdatePolicy): any => ({ + ...obj, + }); +} + +export enum BooleanOperator { + AND = "And", + OR = "Or", +} + +/** + *

                                                                                  Details on the cache hit of a pipeline execution step.

                                                                                  + */ +export interface CacheHitResult { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the pipeline execution.

                                                                                  + */ + SourcePipelineExecutionArn?: string; +} + +export namespace CacheHitResult { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CacheHitResult): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  An output parameter of a pipeline step.

                                                                                  + */ +export interface OutputParameter { + /** + *

                                                                                  The name of the output parameter.

                                                                                  + */ + Name: string | undefined; + + /** + *

                                                                                  The value of the output parameter.

                                                                                  + */ + Value: string | undefined; +} + +export namespace OutputParameter { + /** + * @internal + */ + export const filterSensitiveLog = (obj: OutputParameter): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  Metadata about a callback step.

                                                                                  + */ +export interface CallbackStepMetadata { + /** + *

                                                                                  The pipeline generated token from the Amazon SQS queue.

                                                                                  + */ + CallbackToken?: string; + + /** + *

                                                                                  The URL of the Amazon Simple Queue Service (Amazon SQS) queue used by the callback step.

                                                                                  + */ + SqsQueueUrl?: string; + + /** + *

                                                                                  A list of the output parameters of the callback step.

                                                                                  */ OutputParameters?: OutputParameter[]; } @@ -5924,229 +6232,58 @@ export namespace CreateActionResponse { } /** - *

                                                                                  Describes the Docker container for the model package.

                                                                                  + *

                                                                                  Defines the possible values for an integer hyperparameter.

                                                                                  */ -export interface ModelPackageContainerDefinition { +export interface IntegerParameterRangeSpecification { /** - *

                                                                                  The DNS host name for the Docker container.

                                                                                  + *

                                                                                  The minimum integer value allowed.

                                                                                  */ - ContainerHostname?: string; + MinValue: string | undefined; /** - *

                                                                                  The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.

                                                                                  - *

                                                                                  If you are using your own custom algorithm instead of an algorithm provided by Amazon SageMaker, - * the inference code must meet Amazon SageMaker requirements. Amazon SageMaker supports both - * registry/repository[:tag] and registry/repository[@digest] - * image path formats. For more information, see Using Your Own Algorithms with Amazon - * SageMaker.

                                                                                  + *

                                                                                  The maximum integer value allowed.

                                                                                  */ - Image: string | undefined; + MaxValue: string | undefined; +} +export namespace IntegerParameterRangeSpecification { /** - *

                                                                                  An MD5 hash of the training algorithm that identifies the Docker image used for - * training.

                                                                                  + * @internal */ - ImageDigest?: string; + export const filterSensitiveLog = (obj: IntegerParameterRangeSpecification): any => ({ + ...obj, + }); +} +/** + *

                                                                                  Defines the possible values for categorical, continuous, and integer hyperparameters + * to be used by an algorithm.

                                                                                  + */ +export interface ParameterRange { /** - *

                                                                                  The Amazon S3 path where the model artifacts, which result from model training, are stored. - * This path must point to a single gzip compressed tar archive - * (.tar.gz suffix).

                                                                                  - * - *

                                                                                  The model artifacts must be in an S3 bucket that is in the same region as the - * model package.

                                                                                  - *
                                                                                  + *

                                                                                  A IntegerParameterRangeSpecification object that defines the possible + * values for an integer hyperparameter.

                                                                                  */ - ModelDataUrl?: string; + IntegerParameterRangeSpecification?: IntegerParameterRangeSpecification; /** - *

                                                                                  The Amazon Web Services Marketplace product ID of the model package.

                                                                                  + *

                                                                                  A ContinuousParameterRangeSpecification object that defines the possible + * values for a continuous hyperparameter.

                                                                                  */ - ProductId?: string; + ContinuousParameterRangeSpecification?: ContinuousParameterRangeSpecification; /** - *

                                                                                  The environment variables to set in the Docker container. Each key and value in the - * Environment string to string map can have length of up to 1024. We - * support up to 16 entries in the map.

                                                                                  + *

                                                                                  A CategoricalParameterRangeSpecification object that defines the possible + * values for a categorical hyperparameter.

                                                                                  */ - Environment?: { [key: string]: string }; + CategoricalParameterRangeSpecification?: CategoricalParameterRangeSpecification; } -export namespace ModelPackageContainerDefinition { +export namespace ParameterRange { /** * @internal */ - export const filterSensitiveLog = (obj: ModelPackageContainerDefinition): any => ({ - ...obj, - }); -} - -export enum ProductionVariantInstanceType { - ML_C4_2XLARGE = "ml.c4.2xlarge", - ML_C4_4XLARGE = "ml.c4.4xlarge", - ML_C4_8XLARGE = "ml.c4.8xlarge", - ML_C4_LARGE = "ml.c4.large", - ML_C4_XLARGE = "ml.c4.xlarge", - ML_C5D_18XLARGE = "ml.c5d.18xlarge", - ML_C5D_2XLARGE = "ml.c5d.2xlarge", - ML_C5D_4XLARGE = "ml.c5d.4xlarge", - ML_C5D_9XLARGE = "ml.c5d.9xlarge", - ML_C5D_LARGE = "ml.c5d.large", - ML_C5D_XLARGE = "ml.c5d.xlarge", - ML_C5_18XLARGE = "ml.c5.18xlarge", - ML_C5_2XLARGE = "ml.c5.2xlarge", - ML_C5_4XLARGE = "ml.c5.4xlarge", - ML_C5_9XLARGE = "ml.c5.9xlarge", - ML_C5_LARGE = "ml.c5.large", - ML_C5_XLARGE = "ml.c5.xlarge", - ML_G4DN_12XLARGE = "ml.g4dn.12xlarge", - ML_G4DN_16XLARGE = "ml.g4dn.16xlarge", - ML_G4DN_2XLARGE = "ml.g4dn.2xlarge", - ML_G4DN_4XLARGE = "ml.g4dn.4xlarge", - ML_G4DN_8XLARGE = "ml.g4dn.8xlarge", - ML_G4DN_XLARGE = "ml.g4dn.xlarge", - ML_INF1_24XLARGE = "ml.inf1.24xlarge", - ML_INF1_2XLARGE = "ml.inf1.2xlarge", - ML_INF1_6XLARGE = "ml.inf1.6xlarge", - ML_INF1_XLARGE = "ml.inf1.xlarge", - ML_M4_10XLARGE = "ml.m4.10xlarge", - ML_M4_16XLARGE = "ml.m4.16xlarge", - ML_M4_2XLARGE = "ml.m4.2xlarge", - ML_M4_4XLARGE = "ml.m4.4xlarge", - ML_M4_XLARGE = "ml.m4.xlarge", - ML_M5D_12XLARGE = "ml.m5d.12xlarge", - ML_M5D_24XLARGE = "ml.m5d.24xlarge", - ML_M5D_2XLARGE = "ml.m5d.2xlarge", - ML_M5D_4XLARGE = "ml.m5d.4xlarge", - ML_M5D_LARGE = "ml.m5d.large", - ML_M5D_XLARGE = "ml.m5d.xlarge", - ML_M5_12XLARGE = "ml.m5.12xlarge", - ML_M5_24XLARGE = "ml.m5.24xlarge", - ML_M5_2XLARGE = "ml.m5.2xlarge", - ML_M5_4XLARGE = "ml.m5.4xlarge", - ML_M5_LARGE = "ml.m5.large", - ML_M5_XLARGE = "ml.m5.xlarge", - ML_P2_16XLARGE = "ml.p2.16xlarge", - ML_P2_8XLARGE = "ml.p2.8xlarge", - ML_P2_XLARGE = "ml.p2.xlarge", - ML_P3_16XLARGE = "ml.p3.16xlarge", - ML_P3_2XLARGE = "ml.p3.2xlarge", - ML_P3_8XLARGE = "ml.p3.8xlarge", - ML_R5D_12XLARGE = "ml.r5d.12xlarge", - ML_R5D_24XLARGE = "ml.r5d.24xlarge", - ML_R5D_2XLARGE = "ml.r5d.2xlarge", - ML_R5D_4XLARGE = "ml.r5d.4xlarge", - ML_R5D_LARGE = "ml.r5d.large", - ML_R5D_XLARGE = "ml.r5d.xlarge", - ML_R5_12XLARGE = "ml.r5.12xlarge", - ML_R5_24XLARGE = "ml.r5.24xlarge", - ML_R5_2XLARGE = "ml.r5.2xlarge", - ML_R5_4XLARGE = "ml.r5.4xlarge", - ML_R5_LARGE = "ml.r5.large", - ML_R5_XLARGE = "ml.r5.xlarge", - ML_T2_2XLARGE = "ml.t2.2xlarge", - ML_T2_LARGE = "ml.t2.large", - ML_T2_MEDIUM = "ml.t2.medium", - ML_T2_XLARGE = "ml.t2.xlarge", -} - -/** - *

                                                                                  Defines how to perform inference generation after a training job is run.

                                                                                  - */ -export interface InferenceSpecification { - /** - *

                                                                                  The Amazon ECR registry path of the Docker image that contains the inference code.

                                                                                  - */ - Containers: ModelPackageContainerDefinition[] | undefined; - - /** - *

                                                                                  A list of the instance types on which a transformation job can be run or on which an - * endpoint can be deployed.

                                                                                  - *

                                                                                  This parameter is required for unversioned models, and optional for versioned - * models.

                                                                                  - */ - SupportedTransformInstanceTypes?: (TransformInstanceType | string)[]; - - /** - *

                                                                                  A list of the instance types that are used to generate inferences in real-time.

                                                                                  - *

                                                                                  This parameter is required for unversioned models, and optional for versioned - * models.

                                                                                  - */ - SupportedRealtimeInferenceInstanceTypes?: (ProductionVariantInstanceType | string)[]; - - /** - *

                                                                                  The supported MIME types for the input data.

                                                                                  - */ - SupportedContentTypes: string[] | undefined; - - /** - *

                                                                                  The supported MIME types for the output data.

                                                                                  - */ - SupportedResponseMIMETypes: string[] | undefined; -} - -export namespace InferenceSpecification { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InferenceSpecification): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  Defines the possible values for an integer hyperparameter.

                                                                                  - */ -export interface IntegerParameterRangeSpecification { - /** - *

                                                                                  The minimum integer value allowed.

                                                                                  - */ - MinValue: string | undefined; - - /** - *

                                                                                  The maximum integer value allowed.

                                                                                  - */ - MaxValue: string | undefined; -} - -export namespace IntegerParameterRangeSpecification { - /** - * @internal - */ - export const filterSensitiveLog = (obj: IntegerParameterRangeSpecification): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  Defines the possible values for categorical, continuous, and integer hyperparameters - * to be used by an algorithm.

                                                                                  - */ -export interface ParameterRange { - /** - *

                                                                                  A IntegerParameterRangeSpecification object that defines the possible - * values for an integer hyperparameter.

                                                                                  - */ - IntegerParameterRangeSpecification?: IntegerParameterRangeSpecification; - - /** - *

                                                                                  A ContinuousParameterRangeSpecification object that defines the possible - * values for a continuous hyperparameter.

                                                                                  - */ - ContinuousParameterRangeSpecification?: ContinuousParameterRangeSpecification; - - /** - *

                                                                                  A CategoricalParameterRangeSpecification object that defines the possible - * values for a categorical hyperparameter.

                                                                                  - */ - CategoricalParameterRangeSpecification?: CategoricalParameterRangeSpecification; -} - -export namespace ParameterRange { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ParameterRange): any => ({ + export const filterSensitiveLog = (obj: ParameterRange): any => ({ ...obj, }); } @@ -8496,6 +8633,54 @@ export namespace KernelGatewayAppSettings { }); } +/** + *

                                                                                  A collection of settings that apply to an RSessionGateway app.

                                                                                  + */ +export interface RSessionAppSettings {} + +export namespace RSessionAppSettings { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RSessionAppSettings): any => ({ + ...obj, + }); +} + +export enum RStudioServerProAccessStatus { + Disabled = "DISABLED", + Enabled = "ENABLED", +} + +export enum RStudioServerProUserGroup { + Admin = "R_STUDIO_ADMIN", + User = "R_STUDIO_USER", +} + +/** + *

                                                                                  A collection of settings that configure user interaction with the RStudioServerPro app. RStudioServerProAppSettings cannot be updated. The RStudioServerPro app must be deleted and a new one created to make any changes.

                                                                                  + */ +export interface RStudioServerProAppSettings { + /** + *

                                                                                  Indicates whether the current user has access to the RStudioServerPro app.

                                                                                  + */ + AccessStatus?: RStudioServerProAccessStatus | string; + + /** + *

                                                                                  The level of permissions that the user has within the RStudioServerPro app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.

                                                                                  + */ + UserGroup?: RStudioServerProUserGroup | string; +} + +export namespace RStudioServerProAppSettings { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RStudioServerProAppSettings): any => ({ + ...obj, + }); +} + export enum NotebookOutputOption { Allowed = "Allowed", Disabled = "Disabled", @@ -8601,6 +8786,16 @@ export interface UserSettings { *

                                                                                  The TensorBoard app settings.

                                                                                  */ TensorBoardAppSettings?: TensorBoardAppSettings; + + /** + *

                                                                                  A collection of settings that configure user interaction with the RStudioServerPro app.

                                                                                  + */ + RStudioServerProAppSettings?: RStudioServerProAppSettings; + + /** + *

                                                                                  A collection of settings that configure the RSessionGateway app.

                                                                                  + */ + RSessionAppSettings?: RSessionAppSettings; } export namespace UserSettings { @@ -8612,6 +8807,65 @@ export namespace UserSettings { }); } +/** + *

                                                                                  A collection of settings that configure the RStudioServerPro Domain-level app.

                                                                                  + */ +export interface RStudioServerProDomainSettings { + /** + *

                                                                                  The ARN of the execution role for the RStudioServerPro Domain-level app.

                                                                                  + */ + DomainExecutionRoleArn: string | undefined; + + /** + *

                                                                                  A URL pointing to an RStudio Connect server.

                                                                                  + */ + RStudioConnectUrl?: string; + + /** + *

                                                                                  A URL pointing to an RStudio Package Manager server.

                                                                                  + */ + RStudioPackageManagerUrl?: string; + + /** + *

                                                                                  Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that + * the version runs on.

                                                                                  + */ + DefaultResourceSpec?: ResourceSpec; +} + +export namespace RStudioServerProDomainSettings { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RStudioServerProDomainSettings): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  A collection of settings that apply to the SageMaker Domain. These settings are specified through the CreateDomain API call.

                                                                                  + */ +export interface DomainSettings { + /** + *

                                                                                  The security groups for the Amazon Virtual Private Cloud that the Domain uses for communication between Domain-level apps and user apps.

                                                                                  + */ + SecurityGroupIds?: string[]; + + /** + *

                                                                                  A collection of settings that configure the RStudioServerPro Domain-level app.

                                                                                  + */ + RStudioServerProDomainSettings?: RStudioServerProDomainSettings; +} + +export namespace DomainSettings { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainSettings): any => ({ + ...obj, + }); +} + export interface CreateDomainRequest { /** *

                                                                                  A name for the domain.

                                                                                  @@ -8681,6 +8935,20 @@ export interface CreateDomainRequest { * key by default. For more control, specify a customer managed key.

                                                                                  */ KmsKeyId?: string; + + /** + *

                                                                                  The entity that creates and manages the required security groups for inter-app + * communication in VPCOnly mode. Required when + * CreateDomain.AppNetworkAccessType is VPCOnly and + * DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is + * provided.

                                                                                  + */ + AppSecurityGroupManagement?: AppSecurityGroupManagement | string; + + /** + *

                                                                                  A collection of Domain settings.

                                                                                  + */ + DomainSettings?: DomainSettings; } export namespace CreateDomainRequest { @@ -13140,594 +13408,3 @@ export namespace LabelingJobInputConfig { ...obj, }); } - -/** - *

                                                                                  Configure encryption on the storage volume attached to the ML compute instance used to - * run automated data labeling model training and inference.

                                                                                  - */ -export interface LabelingJobResourceConfig { - /** - *

                                                                                  The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume - * attached to the ML compute instance(s) that run the training and inference jobs used for - * automated data labeling.

                                                                                  - *

                                                                                  You can only specify a VolumeKmsKeyId when you create a labeling job with - * automated data labeling enabled using the API operation CreateLabelingJob. - * You cannot specify an Amazon Web Services KMS key to encrypt the storage volume used for - * automated data labeling model training and inference when you create a labeling job - * using the console. To learn more, see Output Data and Storage Volume - * Encryption.

                                                                                  - *

                                                                                  The VolumeKmsKeyId can be any of the following formats:

                                                                                  - *
                                                                                    - *
                                                                                  • - *

                                                                                    KMS Key ID

                                                                                    - *

                                                                                    - * "1234abcd-12ab-34cd-56ef-1234567890ab" - *

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    Amazon Resource Name (ARN) of a KMS Key

                                                                                    - *

                                                                                    - * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" - *

                                                                                    - *
                                                                                  • - *
                                                                                  - */ - VolumeKmsKeyId?: string; -} - -export namespace LabelingJobResourceConfig { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LabelingJobResourceConfig): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  Provides configuration information for auto-labeling of your data objects. A - * LabelingJobAlgorithmsConfig object must be supplied in order to use - * auto-labeling.

                                                                                  - */ -export interface LabelingJobAlgorithmsConfig { - /** - *

                                                                                  Specifies the Amazon Resource Name (ARN) of the algorithm used for auto-labeling. You - * must select one of the following ARNs:

                                                                                  - *
                                                                                    - *
                                                                                  • - *

                                                                                    - * Image classification - *

                                                                                    - *

                                                                                    - * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/image-classification - *

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    - * Text classification - *

                                                                                    - *

                                                                                    - * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/text-classification - *

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    - * Object detection - *

                                                                                    - *

                                                                                    - * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/object-detection - *

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    - * Semantic Segmentation - *

                                                                                    - *

                                                                                    - * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/semantic-segmentation - *

                                                                                    - *
                                                                                  • - *
                                                                                  - */ - LabelingJobAlgorithmSpecificationArn: string | undefined; - - /** - *

                                                                                  At the end of an auto-label job Ground Truth sends the Amazon Resource Name (ARN) of the final - * model used for auto-labeling. You can use this model as the starting point for - * subsequent similar jobs by providing the ARN of the model here.

                                                                                  - */ - InitialActiveLearningModelArn?: string; - - /** - *

                                                                                  Provides configuration information for a labeling job.

                                                                                  - */ - LabelingJobResourceConfig?: LabelingJobResourceConfig; -} - -export namespace LabelingJobAlgorithmsConfig { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LabelingJobAlgorithmsConfig): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  Output configuration information for a labeling job.

                                                                                  - */ -export interface LabelingJobOutputConfig { - /** - *

                                                                                  The Amazon S3 location to write output data.

                                                                                  - */ - S3OutputPath: string | undefined; - - /** - *

                                                                                  The Amazon Web Services Key Management Service ID of the key used to encrypt the output data, if any.

                                                                                  - *

                                                                                  If you provide your own KMS key ID, you must add the required permissions to your KMS - * key described in Encrypt Output Data and Storage Volume with Amazon Web Services KMS.

                                                                                  - *

                                                                                  If you don't provide a KMS key ID, Amazon SageMaker uses the default Amazon Web Services KMS key for Amazon S3 for your - * role's account to encrypt your output data.

                                                                                  - *

                                                                                  If you use a bucket policy with an s3:PutObject permission that only - * allows objects with server-side encryption, set the condition key of - * s3:x-amz-server-side-encryption to "aws:kms". For more - * information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer - * Guide. - *

                                                                                  - */ - KmsKeyId?: string; - - /** - *

                                                                                  An Amazon Simple Notification Service (Amazon SNS) output topic ARN. Provide a SnsTopicArn if you want to - * do real time chaining to another streaming job and receive an Amazon SNS notifications each - * time a data object is submitted by a worker.

                                                                                  - *

                                                                                  If you provide an SnsTopicArn in OutputConfig, when workers - * complete labeling tasks, Ground Truth will send labeling task output data to the SNS output - * topic you specify here.

                                                                                  - *

                                                                                  To learn more, see Receive Output Data from a Streaming Labeling - * Job.

                                                                                  - */ - SnsTopicArn?: string; -} - -export namespace LabelingJobOutputConfig { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LabelingJobOutputConfig): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  A set of conditions for stopping a labeling job. If any of the conditions are met, the - * job is automatically stopped. You can use these conditions to control the cost of data - * labeling.

                                                                                  - * - *

                                                                                  Labeling jobs fail after 30 days with an appropriate client error message.

                                                                                  - *
                                                                                  - */ -export interface LabelingJobStoppingConditions { - /** - *

                                                                                  The maximum number of objects that can be labeled by human workers.

                                                                                  - */ - MaxHumanLabeledObjectCount?: number; - - /** - *

                                                                                  The maximum number of input data objects that should be labeled.

                                                                                  - */ - MaxPercentageOfInputDatasetLabeled?: number; -} - -export namespace LabelingJobStoppingConditions { - /** - * @internal - */ - export const filterSensitiveLog = (obj: LabelingJobStoppingConditions): any => ({ - ...obj, - }); -} - -export interface CreateLabelingJobRequest { - /** - *

                                                                                  The name of the labeling job. This name is used to identify the job in a list of - * labeling jobs. Labeling job names must be unique within an Amazon Web Services account and region. - * LabelingJobName is not case sensitive. For example, Example-job and - * example-job are considered the same labeling job name by Ground Truth.

                                                                                  - */ - LabelingJobName: string | undefined; - - /** - *

                                                                                  The attribute name to use for the label in the output manifest file. This is the key - * for the key/value pair formed with the label that a worker assigns to the object. The - * LabelAttributeName must meet the following requirements.

                                                                                  - *
                                                                                    - *
                                                                                  • - *

                                                                                    The name can't end with "-metadata".

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    If you are using one of the following built-in task types, - * the attribute name must end with "-ref". If the task type - * you are using is not listed below, the attribute name must - * not end with "-ref".

                                                                                    - *
                                                                                      - *
                                                                                    • - *

                                                                                      Image semantic segmentation (SemanticSegmentation), and - * adjustment (AdjustmentSemanticSegmentation) and - * verification (VerificationSemanticSegmentation) labeling - * jobs for this task type.

                                                                                      - *
                                                                                    • - *
                                                                                    • - *

                                                                                      Video frame object detection (VideoObjectDetection), and - * adjustment and verification - * (AdjustmentVideoObjectDetection) labeling jobs for this - * task type.

                                                                                      - *
                                                                                    • - *
                                                                                    • - *

                                                                                      Video frame object tracking (VideoObjectTracking), and - * adjustment and verification (AdjustmentVideoObjectTracking) - * labeling jobs for this task type.

                                                                                      - *
                                                                                    • - *
                                                                                    • - *

                                                                                      3D point cloud semantic segmentation - * (3DPointCloudSemanticSegmentation), and adjustment and - * verification (Adjustment3DPointCloudSemanticSegmentation) - * labeling jobs for this task type.

                                                                                      - *
                                                                                    • - *
                                                                                    • - *

                                                                                      3D point cloud object tracking - * (3DPointCloudObjectTracking), and adjustment and - * verification (Adjustment3DPointCloudObjectTracking) - * labeling jobs for this task type.

                                                                                      - *
                                                                                    • - *
                                                                                    - *
                                                                                  • - *
                                                                                  - *

                                                                                  - * - *

                                                                                  If you are creating an adjustment or verification labeling job, you must use a - * different - * LabelAttributeName than the one used in the original labeling job. The - * original labeling job is the Ground Truth labeling job that produced the labels that you - * want verified or adjusted. To learn more about adjustment and verification labeling - * jobs, see Verify and Adjust - * Labels.

                                                                                  - *
                                                                                  - */ - LabelAttributeName: string | undefined; - - /** - *

                                                                                  Input data for the labeling job, such as the Amazon S3 location of the data objects and the - * location of the manifest file that describes the data objects.

                                                                                  - *

                                                                                  You must specify at least one of the following: S3DataSource or - * SnsDataSource.

                                                                                  - *
                                                                                    - *
                                                                                  • - *

                                                                                    Use SnsDataSource to specify an SNS input topic for a streaming - * labeling job. If you do not specify and SNS input topic ARN, Ground Truth will - * create a one-time labeling job that stops after all data objects in the input - * manifest file have been labeled.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    Use S3DataSource to specify an input manifest file for both - * streaming and one-time labeling jobs. Adding an S3DataSource is - * optional if you use SnsDataSource to create a streaming labeling - * job.

                                                                                    - *
                                                                                  • - *
                                                                                  - *

                                                                                  If you use the Amazon Mechanical Turk workforce, your input data should not include - * confidential information, personal information or protected health information. Use - * ContentClassifiers to specify that your data is free of personally - * identifiable information and adult content.

                                                                                  - */ - InputConfig: LabelingJobInputConfig | undefined; - - /** - *

                                                                                  The location of the output data and the Amazon Web Services Key Management Service key ID for the key used to encrypt - * the output data, if any.

                                                                                  - */ - OutputConfig: LabelingJobOutputConfig | undefined; - - /** - *

                                                                                  The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf - * during data labeling. You must grant this role the necessary permissions so that Amazon SageMaker - * can successfully complete data labeling.

                                                                                  - */ - RoleArn: string | undefined; - - /** - *

                                                                                  The S3 URI of the file, referred to as a label category configuration - * file, that defines the categories used to label the data objects.

                                                                                  - *

                                                                                  For 3D point cloud and video frame task types, you can add label category attributes - * and frame attributes to your label category configuration file. To learn how, see Create a - * Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

                                                                                  - *

                                                                                  For named entity recognition jobs, in addition to "labels", you must - * provide worker instructions in the label category configuration file using the - * "instructions" parameter: "instructions": - * {"shortInstruction":"

                                                                                  Add header

                                                                                  Add Instructions

                                                                                  ", - * "fullInstruction":"

                                                                                  Add additional instructions.

                                                                                  "}
                                                                                  . For details - * and an example, see Create a - * Named Entity Recognition Labeling Job (API) .

                                                                                  - *

                                                                                  For all other built-in task types and custom - * tasks, your label category configuration file must be a JSON file in the - * following format. Identify the labels you want to use by replacing label_1, - * label_2,...,label_n with your label - * categories.

                                                                                  - *

                                                                                  - * { - *

                                                                                  - *

                                                                                  - * "document-version": "2018-11-28", - *

                                                                                  - *

                                                                                  - * "labels": [{"label": "label_1"},{"label": "label_2"},...{"label": - * "label_n"}] - *

                                                                                  - *

                                                                                  - * } - *

                                                                                  - *

                                                                                  Note the following about the label category configuration file:

                                                                                  - *
                                                                                    - *
                                                                                  • - *

                                                                                    For image classification and text classification (single and multi-label) you - * must specify at least two label categories. For all other task types, the - * minimum number of label categories required is one.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    Each label category must be unique, you cannot specify duplicate label - * categories.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    If you create a 3D point cloud or video frame adjustment or verification - * labeling job, you must include auditLabelAttributeName in the label - * category configuration. Use this parameter to enter the - * LabelAttributeName - * of the labeling job you want to - * adjust or verify annotations of.

                                                                                    - *
                                                                                  • - *
                                                                                  - */ - LabelCategoryConfigS3Uri?: string; - - /** - *

                                                                                  A set of conditions for stopping the labeling job. If any of the conditions are met, - * the job is automatically stopped. You can use these conditions to control the cost of - * data labeling.

                                                                                  - */ - StoppingConditions?: LabelingJobStoppingConditions; - - /** - *

                                                                                  Configures the information required to perform automated data labeling.

                                                                                  - */ - LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; - - /** - *

                                                                                  Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).

                                                                                  - */ - HumanTaskConfig: HumanTaskConfig | undefined; - - /** - *

                                                                                  An array of key/value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management - * User Guide.

                                                                                  - */ - Tags?: Tag[]; -} - -export namespace CreateLabelingJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateLabelingJobRequest): any => ({ - ...obj, - }); -} - -export interface CreateLabelingJobResponse { - /** - *

                                                                                  The Amazon Resource Name (ARN) of the labeling job. You use this ARN to identify the - * labeling job.

                                                                                  - */ - LabelingJobArn: string | undefined; -} - -export namespace CreateLabelingJobResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateLabelingJobResponse): any => ({ - ...obj, - }); -} - -export enum InferenceExecutionMode { - DIRECT = "Direct", - SERIAL = "Serial", -} - -/** - *

                                                                                  Specifies details about how containers in a multi-container endpoint are run.

                                                                                  - */ -export interface InferenceExecutionConfig { - /** - *

                                                                                  How containers in a multi-container are run. The following values are valid.

                                                                                  - *
                                                                                    - *
                                                                                  • - *

                                                                                    - * SERIAL - Containers run as a serial pipeline.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    - * DIRECT - Only the individual container that you specify is - * run.

                                                                                    - *
                                                                                  • - *
                                                                                  - */ - Mode: InferenceExecutionMode | string | undefined; -} - -export namespace InferenceExecutionConfig { - /** - * @internal - */ - export const filterSensitiveLog = (obj: InferenceExecutionConfig): any => ({ - ...obj, - }); -} - -export interface CreateModelInput { - /** - *

                                                                                  The name of the new model.

                                                                                  - */ - ModelName: string | undefined; - - /** - *

                                                                                  The location of the primary docker image containing inference code, associated - * artifacts, and custom environment map that the inference code uses when the model is - * deployed for predictions.

                                                                                  - */ - PrimaryContainer?: ContainerDefinition; - - /** - *

                                                                                  Specifies the containers in the inference pipeline.

                                                                                  - */ - Containers?: ContainerDefinition[]; - - /** - *

                                                                                  Specifies details of how containers in a multi-container endpoint are called.

                                                                                  - */ - InferenceExecutionConfig?: InferenceExecutionConfig; - - /** - *

                                                                                  The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model - * artifacts and docker image for deployment on ML compute instances or for batch transform - * jobs. Deploying on ML compute instances is part of model hosting. For more information, - * see Amazon SageMaker - * Roles.

                                                                                  - * - *

                                                                                  To be able to pass this role to Amazon SageMaker, the caller of this API must have the - * iam:PassRole permission.

                                                                                  - *
                                                                                  - */ - ExecutionRoleArn: string | undefined; - - /** - *

                                                                                  An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in - * different ways, for example, by purpose, owner, or environment. For more information, - * see Tagging Amazon Web Services - * Resources.

                                                                                  - */ - Tags?: Tag[]; - - /** - *

                                                                                  A VpcConfig object that specifies the VPC that you want your model - * to connect to. Control access to and from your model container by configuring the VPC. - * VpcConfig is used in hosting services and in batch transform. For more - * information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch - * Transform Jobs by Using an Amazon Virtual Private Cloud.

                                                                                  - */ - VpcConfig?: VpcConfig; - - /** - *

                                                                                  Isolates the model container. No inbound or outbound network calls can be made to or - * from the model container.

                                                                                  - */ - EnableNetworkIsolation?: boolean; -} - -export namespace CreateModelInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateModelInput): any => ({ - ...obj, - }); -} - -export interface CreateModelOutput { - /** - *

                                                                                  The ARN of the model created in Amazon SageMaker.

                                                                                  - */ - ModelArn: string | undefined; -} - -export namespace CreateModelOutput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: CreateModelOutput): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  Docker container image configuration object for the model bias job.

                                                                                  - */ -export interface ModelBiasAppSpecification { - /** - *

                                                                                  The container image to be run by the model bias job.

                                                                                  - */ - ImageUri: string | undefined; - - /** - *

                                                                                  JSON formatted S3 file that defines bias parameters. For more information on this JSON - * configuration file, see Configure bias - * parameters.

                                                                                  - */ - ConfigUri: string | undefined; - - /** - *

                                                                                  Sets the environment variables in the Docker container.

                                                                                  - */ - Environment?: { [key: string]: string }; -} - -export namespace ModelBiasAppSpecification { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelBiasAppSpecification): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  The configuration for a baseline model bias job.

                                                                                  - */ -export interface ModelBiasBaselineConfig { - /** - *

                                                                                  The name of the baseline model bias job.

                                                                                  - */ - BaseliningJobName?: string; - - /** - *

                                                                                  The constraints resource for a monitoring job.

                                                                                  - */ - ConstraintsResource?: MonitoringConstraintsResource; -} - -export namespace ModelBiasBaselineConfig { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ModelBiasBaselineConfig): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  The ground truth labels for the dataset used for the monitoring job.

                                                                                  - */ -export interface MonitoringGroundTruthS3Input { - /** - *

                                                                                  The address of the Amazon S3 location of the ground truth labels.

                                                                                  - */ - S3Uri?: string; -} - -export namespace MonitoringGroundTruthS3Input { - /** - * @internal - */ - export const filterSensitiveLog = (obj: MonitoringGroundTruthS3Input): any => ({ - ...obj, - }); -} diff --git a/clients/client-sagemaker/src/models/models_1.ts b/clients/client-sagemaker/src/models/models_1.ts index 8dce44f18e7d..57283ba12f81 100644 --- a/clients/client-sagemaker/src/models/models_1.ts +++ b/clients/client-sagemaker/src/models/models_1.ts @@ -8,6 +8,7 @@ import { AlgorithmStatusDetails, AlgorithmValidationSpecification, AppNetworkAccessType, + AppSecurityGroupManagement, AppSpecification, AppStatus, AppType, @@ -42,6 +43,7 @@ import { DataQualityAppSpecification, DataQualityBaselineConfig, DataQualityJobInput, + DomainSettings, EdgeOutputConfig, EdgePresetDeploymentType, EndpointInput, @@ -56,21 +58,16 @@ import { HyperParameterTuningJobConfig, HyperParameterTuningJobObjectiveType, HyperParameterTuningJobWarmStartConfig, - InferenceExecutionConfig, InferenceSpecification, InputConfig, KernelGatewayImageConfig, - LabelingJobAlgorithmsConfig, LabelingJobInputConfig, - LabelingJobOutputConfig, - LabelingJobStoppingConditions, MetadataProperties, MetricsSource, - ModelBiasAppSpecification, - ModelBiasBaselineConfig, + ModelApprovalStatus, ModelDeployConfig, + ModelPackageStatus, MonitoringConstraintsResource, - MonitoringGroundTruthS3Input, MonitoringNetworkConfig, MonitoringOutputConfig, MonitoringResources, @@ -103,6 +100,597 @@ import { VpcConfig, } from "./models_0"; +/** + *

                                                                                  Configure encryption on the storage volume attached to the ML compute instance used to + * run automated data labeling model training and inference.

                                                                                  + */ +export interface LabelingJobResourceConfig { + /** + *

                                                                                  The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume + * attached to the ML compute instance(s) that run the training and inference jobs used for + * automated data labeling.

                                                                                  + *

                                                                                  You can only specify a VolumeKmsKeyId when you create a labeling job with + * automated data labeling enabled using the API operation CreateLabelingJob. + * You cannot specify an Amazon Web Services KMS key to encrypt the storage volume used for + * automated data labeling model training and inference when you create a labeling job + * using the console. To learn more, see Output Data and Storage Volume + * Encryption.

                                                                                  + *

                                                                                  The VolumeKmsKeyId can be any of the following formats:

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    KMS Key ID

                                                                                    + *

                                                                                    + * "1234abcd-12ab-34cd-56ef-1234567890ab" + *

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    Amazon Resource Name (ARN) of a KMS Key

                                                                                    + *

                                                                                    + * "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + *

                                                                                    + *
                                                                                  • + *
                                                                                  + */ + VolumeKmsKeyId?: string; +} + +export namespace LabelingJobResourceConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LabelingJobResourceConfig): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  Provides configuration information for auto-labeling of your data objects. A + * LabelingJobAlgorithmsConfig object must be supplied in order to use + * auto-labeling.

                                                                                  + */ +export interface LabelingJobAlgorithmsConfig { + /** + *

                                                                                  Specifies the Amazon Resource Name (ARN) of the algorithm used for auto-labeling. You + * must select one of the following ARNs:

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    + * Image classification + *

                                                                                    + *

                                                                                    + * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/image-classification + *

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * Text classification + *

                                                                                    + *

                                                                                    + * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/text-classification + *

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * Object detection + *

                                                                                    + *

                                                                                    + * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/object-detection + *

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * Semantic Segmentation + *

                                                                                    + *

                                                                                    + * arn:aws:sagemaker:region:027400017018:labeling-job-algorithm-specification/semantic-segmentation + *

                                                                                    + *
                                                                                  • + *
                                                                                  + */ + LabelingJobAlgorithmSpecificationArn: string | undefined; + + /** + *

                                                                                  At the end of an auto-label job Ground Truth sends the Amazon Resource Name (ARN) of the final + * model used for auto-labeling. You can use this model as the starting point for + * subsequent similar jobs by providing the ARN of the model here.

                                                                                  + */ + InitialActiveLearningModelArn?: string; + + /** + *

                                                                                  Provides configuration information for a labeling job.

                                                                                  + */ + LabelingJobResourceConfig?: LabelingJobResourceConfig; +} + +export namespace LabelingJobAlgorithmsConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LabelingJobAlgorithmsConfig): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  Output configuration information for a labeling job.

                                                                                  + */ +export interface LabelingJobOutputConfig { + /** + *

                                                                                  The Amazon S3 location to write output data.

                                                                                  + */ + S3OutputPath: string | undefined; + + /** + *

                                                                                  The Amazon Web Services Key Management Service ID of the key used to encrypt the output data, if any.

                                                                                  + *

                                                                                  If you provide your own KMS key ID, you must add the required permissions to your KMS + * key described in Encrypt Output Data and Storage Volume with Amazon Web Services KMS.

                                                                                  + *

                                                                                  If you don't provide a KMS key ID, Amazon SageMaker uses the default Amazon Web Services KMS key for Amazon S3 for your + * role's account to encrypt your output data.

                                                                                  + *

                                                                                  If you use a bucket policy with an s3:PutObject permission that only + * allows objects with server-side encryption, set the condition key of + * s3:x-amz-server-side-encryption to "aws:kms". For more + * information, see KMS-Managed Encryption Keys in the Amazon Simple Storage Service Developer + * Guide. + *

                                                                                  + */ + KmsKeyId?: string; + + /** + *

                                                                                  An Amazon Simple Notification Service (Amazon SNS) output topic ARN. Provide a SnsTopicArn if you want to + * do real time chaining to another streaming job and receive an Amazon SNS notifications each + * time a data object is submitted by a worker.

                                                                                  + *

                                                                                  If you provide an SnsTopicArn in OutputConfig, when workers + * complete labeling tasks, Ground Truth will send labeling task output data to the SNS output + * topic you specify here.

                                                                                  + *

                                                                                  To learn more, see Receive Output Data from a Streaming Labeling + * Job.

                                                                                  + */ + SnsTopicArn?: string; +} + +export namespace LabelingJobOutputConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LabelingJobOutputConfig): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  A set of conditions for stopping a labeling job. If any of the conditions are met, the + * job is automatically stopped. You can use these conditions to control the cost of data + * labeling.

                                                                                  + * + *

                                                                                  Labeling jobs fail after 30 days with an appropriate client error message.

                                                                                  + *
                                                                                  + */ +export interface LabelingJobStoppingConditions { + /** + *

                                                                                  The maximum number of objects that can be labeled by human workers.

                                                                                  + */ + MaxHumanLabeledObjectCount?: number; + + /** + *

                                                                                  The maximum number of input data objects that should be labeled.

                                                                                  + */ + MaxPercentageOfInputDatasetLabeled?: number; +} + +export namespace LabelingJobStoppingConditions { + /** + * @internal + */ + export const filterSensitiveLog = (obj: LabelingJobStoppingConditions): any => ({ + ...obj, + }); +} + +export interface CreateLabelingJobRequest { + /** + *

                                                                                  The name of the labeling job. This name is used to identify the job in a list of + * labeling jobs. Labeling job names must be unique within an Amazon Web Services account and region. + * LabelingJobName is not case sensitive. For example, Example-job and + * example-job are considered the same labeling job name by Ground Truth.

                                                                                  + */ + LabelingJobName: string | undefined; + + /** + *

                                                                                  The attribute name to use for the label in the output manifest file. This is the key + * for the key/value pair formed with the label that a worker assigns to the object. The + * LabelAttributeName must meet the following requirements.

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    The name can't end with "-metadata".

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    If you are using one of the following built-in task types, + * the attribute name must end with "-ref". If the task type + * you are using is not listed below, the attribute name must + * not end with "-ref".

                                                                                    + *
                                                                                      + *
                                                                                    • + *

                                                                                      Image semantic segmentation (SemanticSegmentation), and + * adjustment (AdjustmentSemanticSegmentation) and + * verification (VerificationSemanticSegmentation) labeling + * jobs for this task type.

                                                                                      + *
                                                                                    • + *
                                                                                    • + *

                                                                                      Video frame object detection (VideoObjectDetection), and + * adjustment and verification + * (AdjustmentVideoObjectDetection) labeling jobs for this + * task type.

                                                                                      + *
                                                                                    • + *
                                                                                    • + *

                                                                                      Video frame object tracking (VideoObjectTracking), and + * adjustment and verification (AdjustmentVideoObjectTracking) + * labeling jobs for this task type.

                                                                                      + *
                                                                                    • + *
                                                                                    • + *

                                                                                      3D point cloud semantic segmentation + * (3DPointCloudSemanticSegmentation), and adjustment and + * verification (Adjustment3DPointCloudSemanticSegmentation) + * labeling jobs for this task type.

                                                                                      + *
                                                                                    • + *
                                                                                    • + *

                                                                                      3D point cloud object tracking + * (3DPointCloudObjectTracking), and adjustment and + * verification (Adjustment3DPointCloudObjectTracking) + * labeling jobs for this task type.

                                                                                      + *
                                                                                    • + *
                                                                                    + *
                                                                                  • + *
                                                                                  + *

                                                                                  + * + *

                                                                                  If you are creating an adjustment or verification labeling job, you must use a + * different + * LabelAttributeName than the one used in the original labeling job. The + * original labeling job is the Ground Truth labeling job that produced the labels that you + * want verified or adjusted. To learn more about adjustment and verification labeling + * jobs, see Verify and Adjust + * Labels.

                                                                                  + *
                                                                                  + */ + LabelAttributeName: string | undefined; + + /** + *

                                                                                  Input data for the labeling job, such as the Amazon S3 location of the data objects and the + * location of the manifest file that describes the data objects.

                                                                                  + *

                                                                                  You must specify at least one of the following: S3DataSource or + * SnsDataSource.

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    Use SnsDataSource to specify an SNS input topic for a streaming + * labeling job. If you do not specify and SNS input topic ARN, Ground Truth will + * create a one-time labeling job that stops after all data objects in the input + * manifest file have been labeled.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    Use S3DataSource to specify an input manifest file for both + * streaming and one-time labeling jobs. Adding an S3DataSource is + * optional if you use SnsDataSource to create a streaming labeling + * job.

                                                                                    + *
                                                                                  • + *
                                                                                  + *

                                                                                  If you use the Amazon Mechanical Turk workforce, your input data should not include + * confidential information, personal information or protected health information. Use + * ContentClassifiers to specify that your data is free of personally + * identifiable information and adult content.

                                                                                  + */ + InputConfig: LabelingJobInputConfig | undefined; + + /** + *

                                                                                  The location of the output data and the Amazon Web Services Key Management Service key ID for the key used to encrypt + * the output data, if any.

                                                                                  + */ + OutputConfig: LabelingJobOutputConfig | undefined; + + /** + *

                                                                                  The Amazon Resource Number (ARN) that Amazon SageMaker assumes to perform tasks on your behalf + * during data labeling. You must grant this role the necessary permissions so that Amazon SageMaker + * can successfully complete data labeling.

                                                                                  + */ + RoleArn: string | undefined; + + /** + *

                                                                                  The S3 URI of the file, referred to as a label category configuration + * file, that defines the categories used to label the data objects.

                                                                                  + *

                                                                                  For 3D point cloud and video frame task types, you can add label category attributes + * and frame attributes to your label category configuration file. To learn how, see Create a + * Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

                                                                                  + *

                                                                                  For named entity recognition jobs, in addition to "labels", you must + * provide worker instructions in the label category configuration file using the + * "instructions" parameter: "instructions": + * {"shortInstruction":"

                                                                                  Add header

                                                                                  Add Instructions

                                                                                  ", + * "fullInstruction":"

                                                                                  Add additional instructions.

                                                                                  "}
                                                                                  . For details + * and an example, see Create a + * Named Entity Recognition Labeling Job (API) .

                                                                                  + *

                                                                                  For all other built-in task types and custom + * tasks, your label category configuration file must be a JSON file in the + * following format. Identify the labels you want to use by replacing label_1, + * label_2,...,label_n with your label + * categories.

                                                                                  + *

                                                                                  + * { + *

                                                                                  + *

                                                                                  + * "document-version": "2018-11-28", + *

                                                                                  + *

                                                                                  + * "labels": [{"label": "label_1"},{"label": "label_2"},...{"label": + * "label_n"}] + *

                                                                                  + *

                                                                                  + * } + *

                                                                                  + *

                                                                                  Note the following about the label category configuration file:

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    For image classification and text classification (single and multi-label) you + * must specify at least two label categories. For all other task types, the + * minimum number of label categories required is one.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    Each label category must be unique, you cannot specify duplicate label + * categories.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    If you create a 3D point cloud or video frame adjustment or verification + * labeling job, you must include auditLabelAttributeName in the label + * category configuration. Use this parameter to enter the + * LabelAttributeName + * of the labeling job you want to + * adjust or verify annotations of.

                                                                                    + *
                                                                                  • + *
                                                                                  + */ + LabelCategoryConfigS3Uri?: string; + + /** + *

                                                                                  A set of conditions for stopping the labeling job. If any of the conditions are met, + * the job is automatically stopped. You can use these conditions to control the cost of + * data labeling.

                                                                                  + */ + StoppingConditions?: LabelingJobStoppingConditions; + + /** + *

                                                                                  Configures the information required to perform automated data labeling.

                                                                                  + */ + LabelingJobAlgorithmsConfig?: LabelingJobAlgorithmsConfig; + + /** + *

                                                                                  Configures the labeling task and how it is presented to workers; including, but not limited to price, keywords, and batch size (task count).

                                                                                  + */ + HumanTaskConfig: HumanTaskConfig | undefined; + + /** + *

                                                                                  An array of key/value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management + * User Guide.

                                                                                  + */ + Tags?: Tag[]; +} + +export namespace CreateLabelingJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateLabelingJobRequest): any => ({ + ...obj, + }); +} + +export interface CreateLabelingJobResponse { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the labeling job. You use this ARN to identify the + * labeling job.

                                                                                  + */ + LabelingJobArn: string | undefined; +} + +export namespace CreateLabelingJobResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateLabelingJobResponse): any => ({ + ...obj, + }); +} + +export enum InferenceExecutionMode { + DIRECT = "Direct", + SERIAL = "Serial", +} + +/** + *

                                                                                  Specifies details about how containers in a multi-container endpoint are run.

                                                                                  + */ +export interface InferenceExecutionConfig { + /** + *

                                                                                  How containers in a multi-container are run. The following values are valid.

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    + * SERIAL - Containers run as a serial pipeline.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * DIRECT - Only the individual container that you specify is + * run.

                                                                                    + *
                                                                                  • + *
                                                                                  + */ + Mode: InferenceExecutionMode | string | undefined; +} + +export namespace InferenceExecutionConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: InferenceExecutionConfig): any => ({ + ...obj, + }); +} + +export interface CreateModelInput { + /** + *

                                                                                  The name of the new model.

                                                                                  + */ + ModelName: string | undefined; + + /** + *

                                                                                  The location of the primary docker image containing inference code, associated + * artifacts, and custom environment map that the inference code uses when the model is + * deployed for predictions.

                                                                                  + */ + PrimaryContainer?: ContainerDefinition; + + /** + *

                                                                                  Specifies the containers in the inference pipeline.

                                                                                  + */ + Containers?: ContainerDefinition[]; + + /** + *

                                                                                  Specifies details of how containers in a multi-container endpoint are called.

                                                                                  + */ + InferenceExecutionConfig?: InferenceExecutionConfig; + + /** + *

                                                                                  The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model + * artifacts and docker image for deployment on ML compute instances or for batch transform + * jobs. Deploying on ML compute instances is part of model hosting. For more information, + * see Amazon SageMaker + * Roles.

                                                                                  + * + *

                                                                                  To be able to pass this role to Amazon SageMaker, the caller of this API must have the + * iam:PassRole permission.

                                                                                  + *
                                                                                  + */ + ExecutionRoleArn: string | undefined; + + /** + *

                                                                                  An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in + * different ways, for example, by purpose, owner, or environment. For more information, + * see Tagging Amazon Web Services + * Resources.

                                                                                  + */ + Tags?: Tag[]; + + /** + *

                                                                                  A VpcConfig object that specifies the VPC that you want your model + * to connect to. Control access to and from your model container by configuring the VPC. + * VpcConfig is used in hosting services and in batch transform. For more + * information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch + * Transform Jobs by Using an Amazon Virtual Private Cloud.

                                                                                  + */ + VpcConfig?: VpcConfig; + + /** + *

                                                                                  Isolates the model container. No inbound or outbound network calls can be made to or + * from the model container.

                                                                                  + */ + EnableNetworkIsolation?: boolean; +} + +export namespace CreateModelInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateModelInput): any => ({ + ...obj, + }); +} + +export interface CreateModelOutput { + /** + *

                                                                                  The ARN of the model created in Amazon SageMaker.

                                                                                  + */ + ModelArn: string | undefined; +} + +export namespace CreateModelOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: CreateModelOutput): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  Docker container image configuration object for the model bias job.

                                                                                  + */ +export interface ModelBiasAppSpecification { + /** + *

                                                                                  The container image to be run by the model bias job.

                                                                                  + */ + ImageUri: string | undefined; + + /** + *

                                                                                  JSON formatted S3 file that defines bias parameters. For more information on this JSON + * configuration file, see Configure bias + * parameters.

                                                                                  + */ + ConfigUri: string | undefined; + + /** + *

                                                                                  Sets the environment variables in the Docker container.

                                                                                  + */ + Environment?: { [key: string]: string }; +} + +export namespace ModelBiasAppSpecification { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelBiasAppSpecification): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  The configuration for a baseline model bias job.

                                                                                  + */ +export interface ModelBiasBaselineConfig { + /** + *

                                                                                  The name of the baseline model bias job.

                                                                                  + */ + BaseliningJobName?: string; + + /** + *

                                                                                  The constraints resource for a monitoring job.

                                                                                  + */ + ConstraintsResource?: MonitoringConstraintsResource; +} + +export namespace ModelBiasBaselineConfig { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ModelBiasBaselineConfig): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  The ground truth labels for the dataset used for the monitoring job.

                                                                                  + */ +export interface MonitoringGroundTruthS3Input { + /** + *

                                                                                  The address of the Amazon S3 location of the ground truth labels.

                                                                                  + */ + S3Uri?: string; +} + +export namespace MonitoringGroundTruthS3Input { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MonitoringGroundTruthS3Input): any => ({ + ...obj, + }); +} + /** *

                                                                                  Inputs for the model bias job.

                                                                                  */ @@ -362,12 +950,6 @@ export namespace CreateModelExplainabilityJobDefinitionResponse { }); } -export enum ModelApprovalStatus { - APPROVED = "Approved", - PENDING_MANUAL_APPROVAL = "PendingManualApproval", - REJECTED = "Rejected", -} - /** *

                                                                                  Contains explainability metrics for a model.

                                                                                  */ @@ -585,7 +1167,7 @@ export interface CreateModelPackageInput { ModelPackageName?: string; /** - *

                                                                                  The name of the model group that this model version belongs to.

                                                                                  + *

                                                                                  The name or Amazon Resource Name (ARN) of the model package group that this model version belongs to.

                                                                                  *

                                                                                  This parameter is required for versioned models, and does not apply to unversioned * models.

                                                                                  */ @@ -663,6 +1245,11 @@ export interface CreateModelPackageInput { *

                                                                                  A unique token that guarantees that the call to this API is idempotent.

                                                                                  */ ClientToken?: string; + + /** + *

                                                                                  The metadata properties associated with the model package versions.

                                                                                  + */ + CustomerMetadataProperties?: { [key: string]: string }; } export namespace CreateModelPackageInput { @@ -6202,13 +6789,29 @@ export interface DescribeDomainResponse { /** *

                                                                                  The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

                                                                                  */ - VpcId?: string; + VpcId?: string; + + /** + *

                                                                                  The Amazon Web Services KMS customer managed key used to encrypt + * the EFS volume attached to the domain.

                                                                                  + */ + KmsKeyId?: string; + + /** + *

                                                                                  A collection of Domain settings.

                                                                                  + */ + DomainSettings?: DomainSettings; + + /** + *

                                                                                  The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. + * Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.

                                                                                  + */ + AppSecurityGroupManagement?: AppSecurityGroupManagement | string; /** - *

                                                                                  The Amazon Web Services KMS customer managed key used to encrypt - * the EFS volume attached to the domain.

                                                                                  + *

                                                                                  The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app.

                                                                                  */ - KmsKeyId?: string; + SecurityGroupIdForDomainBoundary?: string; } export namespace DescribeDomainResponse { @@ -8116,7 +8719,7 @@ export interface DescribeModelPackageInput { /** *

                                                                                  The name or Amazon Resource Name (ARN) of the model package to describe.

                                                                                  *

                                                                                  When you specify a name, the name must have 1 to 63 characters. Valid - * characters are a-z, A-Z, 0-9, and - (hyphen).

                                                                                  + * characters are a-z, A-Z, 0-9, and - (hyphen).

                                                                                  */ ModelPackageName: string | undefined; } @@ -8130,14 +8733,6 @@ export namespace DescribeModelPackageInput { }); } -export enum ModelPackageStatus { - COMPLETED = "Completed", - DELETING = "Deleting", - FAILED = "Failed", - IN_PROGRESS = "InProgress", - PENDING = "Pending", -} - export enum DetailedModelPackageStatus { COMPLETED = "Completed", FAILED = "Failed", @@ -8242,7 +8837,7 @@ export interface DescribeModelPackageOutput { SourceAlgorithmSpecification?: SourceAlgorithmSpecification; /** - *

                                                                                  Configurations for one or more transform jobs that Amazon SageMaker runs to test the model + *

                                                                                  Configurations for one or more transform jobs that SageMaker runs to test the model * package.

                                                                                  */ ValidationSpecification?: ModelPackageValidationSpecification; @@ -8298,6 +8893,11 @@ export interface DescribeModelPackageOutput { *

                                                                                  A description provided for the model approval.

                                                                                  */ ApprovalDescription?: string; + + /** + *

                                                                                  The metadata properties associated with the model package versions.

                                                                                  + */ + CustomerMetadataProperties?: { [key: string]: string }; } export namespace DescribeModelPackageOutput { @@ -9291,327 +9891,7 @@ export enum ProjectStatus { DELETE_FAILED = "DeleteFailed", DELETE_IN_PROGRESS = "DeleteInProgress", PENDING = "Pending", -} - -/** - *

                                                                                  Details of a provisioned service catalog product. For information about service catalog, - * see What is Amazon Web Services Service - * Catalog.

                                                                                  - */ -export interface ServiceCatalogProvisionedProductDetails { - /** - *

                                                                                  The ID of the provisioned product.

                                                                                  - */ - ProvisionedProductId?: string; - - /** - *

                                                                                  The current status of the product.

                                                                                  - *
                                                                                    - *
                                                                                  • - *

                                                                                    - * AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    - * UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    - * TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    - * ERROR - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

                                                                                    - *
                                                                                  • - *
                                                                                  • - *

                                                                                    - * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.

                                                                                    - *
                                                                                  • - *
                                                                                  - */ - ProvisionedProductStatusMessage?: string; -} - -export namespace ServiceCatalogProvisionedProductDetails { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ServiceCatalogProvisionedProductDetails): any => ({ - ...obj, - }); -} - -export interface DescribeProjectOutput { - /** - *

                                                                                  The Amazon Resource Name (ARN) of the project.

                                                                                  - */ - ProjectArn: string | undefined; - - /** - *

                                                                                  The name of the project.

                                                                                  - */ - ProjectName: string | undefined; - - /** - *

                                                                                  The ID of the project.

                                                                                  - */ - ProjectId: string | undefined; - - /** - *

                                                                                  The description of the project.

                                                                                  - */ - ProjectDescription?: string; - - /** - *

                                                                                  Information used to provision a service catalog product. For information, see What is Amazon Web Services Service - * Catalog.

                                                                                  - */ - ServiceCatalogProvisioningDetails: ServiceCatalogProvisioningDetails | undefined; - - /** - *

                                                                                  Information about a provisioned service catalog product.

                                                                                  - */ - ServiceCatalogProvisionedProductDetails?: ServiceCatalogProvisionedProductDetails; - - /** - *

                                                                                  The status of the project.

                                                                                  - */ - ProjectStatus: ProjectStatus | string | undefined; - - /** - *

                                                                                  Information about the user who created or modified an experiment, trial, trial - * component, or project.

                                                                                  - */ - CreatedBy?: UserContext; - - /** - *

                                                                                  The time when the project was created.

                                                                                  - */ - CreationTime: Date | undefined; -} - -export namespace DescribeProjectOutput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeProjectOutput): any => ({ - ...obj, - }); -} - -export interface DescribeStudioLifecycleConfigRequest { - /** - *

                                                                                  The name of the Studio Lifecycle Configuration to describe.

                                                                                  - */ - StudioLifecycleConfigName: string | undefined; -} - -export namespace DescribeStudioLifecycleConfigRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigRequest): any => ({ - ...obj, - }); -} - -export interface DescribeStudioLifecycleConfigResponse { - /** - *

                                                                                  The ARN of the Lifecycle Configuration to describe.

                                                                                  - */ - StudioLifecycleConfigArn?: string; - - /** - *

                                                                                  The name of the Studio Lifecycle Configuration that is described.

                                                                                  - */ - StudioLifecycleConfigName?: string; - - /** - *

                                                                                  The creation time of the Studio Lifecycle Configuration.

                                                                                  - */ - CreationTime?: Date; - - /** - *

                                                                                  This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

                                                                                  - */ - LastModifiedTime?: Date; - - /** - *

                                                                                  The content of your Studio Lifecycle Configuration script.

                                                                                  - */ - StudioLifecycleConfigContent?: string; - - /** - *

                                                                                  The App type that the Lifecycle Configuration is attached to.

                                                                                  - */ - StudioLifecycleConfigAppType?: StudioLifecycleConfigAppType | string; -} - -export namespace DescribeStudioLifecycleConfigResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigResponse): any => ({ - ...obj, - }); -} - -export interface DescribeSubscribedWorkteamRequest { - /** - *

                                                                                  The Amazon Resource Name (ARN) of the subscribed work team to describe.

                                                                                  - */ - WorkteamArn: string | undefined; -} - -export namespace DescribeSubscribedWorkteamRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeSubscribedWorkteamRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  Describes a work team of a vendor that does the a labelling job.

                                                                                  - */ -export interface SubscribedWorkteam { - /** - *

                                                                                  The Amazon Resource Name (ARN) of the vendor that you have subscribed.

                                                                                  - */ - WorkteamArn: string | undefined; - - /** - *

                                                                                  The title of the service provided by the vendor in the Amazon Marketplace.

                                                                                  - */ - MarketplaceTitle?: string; - - /** - *

                                                                                  The name of the vendor in the Amazon Marketplace.

                                                                                  - */ - SellerName?: string; - - /** - *

                                                                                  The description of the vendor from the Amazon Marketplace.

                                                                                  - */ - MarketplaceDescription?: string; - - /** - *

                                                                                  Marketplace product listing ID.

                                                                                  - */ - ListingId?: string; -} - -export namespace SubscribedWorkteam { - /** - * @internal - */ - export const filterSensitiveLog = (obj: SubscribedWorkteam): any => ({ - ...obj, - }); -} - -export interface DescribeSubscribedWorkteamResponse { - /** - *

                                                                                  A Workteam instance that contains information about the work team.

                                                                                  - */ - SubscribedWorkteam: SubscribedWorkteam | undefined; -} - -export namespace DescribeSubscribedWorkteamResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeSubscribedWorkteamResponse): any => ({ - ...obj, - }); -} - -export interface DescribeTrainingJobRequest { - /** - *

                                                                                  The name of the training job.

                                                                                  - */ - TrainingJobName: string | undefined; -} - -export namespace DescribeTrainingJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: DescribeTrainingJobRequest): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  The name, value, and date and time of a metric that was emitted to Amazon CloudWatch.

                                                                                  - */ -export interface MetricData { - /** - *

                                                                                  The name of the metric.

                                                                                  - */ - MetricName?: string; - - /** - *

                                                                                  The value of the metric.

                                                                                  - */ - Value?: number; - - /** - *

                                                                                  The date and time that the algorithm emitted the metric.

                                                                                  - */ - Timestamp?: Date; -} - -export namespace MetricData { - /** - * @internal - */ - export const filterSensitiveLog = (obj: MetricData): any => ({ - ...obj, - }); -} - -/** - *

                                                                                  Information about the status of the rule evaluation.

                                                                                  - */ -export interface ProfilerRuleEvaluationStatus { - /** - *

                                                                                  The name of the rule configuration.

                                                                                  - */ - RuleConfigurationName?: string; - - /** - *

                                                                                  The Amazon Resource Name (ARN) of the rule evaluation job.

                                                                                  - */ - RuleEvaluationJobArn?: string; - - /** - *

                                                                                  Status of the rule evaluation.

                                                                                  - */ - RuleEvaluationStatus?: RuleEvaluationStatus | string; - - /** - *

                                                                                  Details from the rule evaluation.

                                                                                  - */ - StatusDetails?: string; - - /** - *

                                                                                  Timestamp when the rule evaluation status was last modified.

                                                                                  - */ - LastModifiedTime?: Date; -} - -export namespace ProfilerRuleEvaluationStatus { - /** - * @internal - */ - export const filterSensitiveLog = (obj: ProfilerRuleEvaluationStatus): any => ({ - ...obj, - }); -} - -export enum ProfilingStatus { - DISABLED = "Disabled", - ENABLED = "Enabled", + UPDATE_COMPLETED = "UpdateCompleted", + UPDATE_FAILED = "UpdateFailed", + UPDATE_IN_PROGRESS = "UpdateInProgress", } diff --git a/clients/client-sagemaker/src/models/models_2.ts b/clients/client-sagemaker/src/models/models_2.ts index fbec76cfd58b..12fcbdea8e0f 100644 --- a/clients/client-sagemaker/src/models/models_2.ts +++ b/clients/client-sagemaker/src/models/models_2.ts @@ -1,5 +1,4 @@ import { - ActionStatus, ActionSummary, AgentVersion, AlgorithmSortBy, @@ -37,15 +36,17 @@ import { FeatureDefinition, HyperParameterTuningJobStrategyType, InferenceSpecification, - KernelGatewayImageConfig, LabelingJobInputConfig, MetadataProperties, + ModelApprovalStatus, + ModelPackageStatus, OfflineStoreConfig, OnlineStoreConfig, OutputDataConfig, OutputParameter, ResourceConfig, ResourceLimits, + ResourceSpec, RetryStrategy, StoppingCondition, Tag, @@ -80,13 +81,10 @@ import { LabelingJobOutput, LabelingJobStatus, MemberDefinition, - MetricData, - ModelApprovalStatus, ModelArtifacts, ModelClientConfig, ModelMetrics, ModelPackageGroupStatus, - ModelPackageStatus, ModelPackageStatusDetails, ModelPackageValidationSpecification, MonitoringExecutionSummary, @@ -109,16 +107,13 @@ import { ProductionVariantSummary, ProfilerConfig, ProfilerRuleConfiguration, - ProfilerRuleEvaluationStatus, - ProfilingStatus, ProjectStatus, + RuleEvaluationStatus, ScheduleStatus, - ServiceCatalogProvisionedProductDetails, ServiceCatalogProvisioningDetails, SourceAlgorithmSpecification, SourceIpConfig, StudioLifecycleConfigAppType, - SubscribedWorkteam, TensorBoardOutputConfig, TrainingJobStatus, TrainingJobStatusCounters, @@ -127,6 +122,340 @@ import { TrialComponentStatus, } from "./models_1"; +/** + *

                                                                                  Details of a provisioned service catalog product. For information about service catalog, + * see What is Amazon Web Services Service + * Catalog.

                                                                                  + */ +export interface ServiceCatalogProvisionedProductDetails { + /** + *

                                                                                  The ID of the provisioned product.

                                                                                  + */ + ProvisionedProductId?: string; + + /** + *

                                                                                  The current status of the product.

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    + * AVAILABLE - Stable state, ready to perform any operation. The most recent operation succeeded and completed.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * UNDER_CHANGE - Transitive state. Operations performed might not have valid results. Wait for an AVAILABLE status before performing operations.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * TAINTED - Stable state, ready to perform any operation. The stack has completed the requested operation but is not exactly what was requested. For example, a request to update to a new version failed and the stack rolled back to the current version.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * ERROR - An unexpected error occurred. The provisioned product exists but the stack is not running. For example, CloudFormation received a parameter value that was not valid and could not launch the stack.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    + * PLAN_IN_PROGRESS - Transitive state. The plan operations were performed to provision a new product, but resources have not yet been created. After reviewing the list of resources to be created, execute the plan. Wait for an AVAILABLE status before performing operations.

                                                                                    + *
                                                                                  • + *
                                                                                  + */ + ProvisionedProductStatusMessage?: string; +} + +export namespace ServiceCatalogProvisionedProductDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceCatalogProvisionedProductDetails): any => ({ + ...obj, + }); +} + +export interface DescribeProjectOutput { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the project.

                                                                                  + */ + ProjectArn: string | undefined; + + /** + *

                                                                                  The name of the project.

                                                                                  + */ + ProjectName: string | undefined; + + /** + *

                                                                                  The ID of the project.

                                                                                  + */ + ProjectId: string | undefined; + + /** + *

                                                                                  The description of the project.

                                                                                  + */ + ProjectDescription?: string; + + /** + *

                                                                                  Information used to provision a service catalog product. For information, see What is Amazon Web Services Service + * Catalog.

                                                                                  + */ + ServiceCatalogProvisioningDetails: ServiceCatalogProvisioningDetails | undefined; + + /** + *

                                                                                  Information about a provisioned service catalog product.

                                                                                  + */ + ServiceCatalogProvisionedProductDetails?: ServiceCatalogProvisionedProductDetails; + + /** + *

                                                                                  The status of the project.

                                                                                  + */ + ProjectStatus: ProjectStatus | string | undefined; + + /** + *

                                                                                  Information about the user who created or modified an experiment, trial, trial + * component, or project.

                                                                                  + */ + CreatedBy?: UserContext; + + /** + *

                                                                                  The time when the project was created.

                                                                                  + */ + CreationTime: Date | undefined; + + /** + *

                                                                                  The timestamp when project was last modified.

                                                                                  + */ + LastModifiedTime?: Date; + + /** + *

                                                                                  Information about the user who created or modified an experiment, trial, trial + * component, or project.

                                                                                  + */ + LastModifiedBy?: UserContext; +} + +export namespace DescribeProjectOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeProjectOutput): any => ({ + ...obj, + }); +} + +export interface DescribeStudioLifecycleConfigRequest { + /** + *

                                                                                  The name of the Studio Lifecycle Configuration to describe.

                                                                                  + */ + StudioLifecycleConfigName: string | undefined; +} + +export namespace DescribeStudioLifecycleConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigRequest): any => ({ + ...obj, + }); +} + +export interface DescribeStudioLifecycleConfigResponse { + /** + *

                                                                                  The ARN of the Lifecycle Configuration to describe.

                                                                                  + */ + StudioLifecycleConfigArn?: string; + + /** + *

                                                                                  The name of the Studio Lifecycle Configuration that is described.

                                                                                  + */ + StudioLifecycleConfigName?: string; + + /** + *

                                                                                  The creation time of the Studio Lifecycle Configuration.

                                                                                  + */ + CreationTime?: Date; + + /** + *

                                                                                  This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

                                                                                  + */ + LastModifiedTime?: Date; + + /** + *

                                                                                  The content of your Studio Lifecycle Configuration script.

                                                                                  + */ + StudioLifecycleConfigContent?: string; + + /** + *

                                                                                  The App type that the Lifecycle Configuration is attached to.

                                                                                  + */ + StudioLifecycleConfigAppType?: StudioLifecycleConfigAppType | string; +} + +export namespace DescribeStudioLifecycleConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeStudioLifecycleConfigResponse): any => ({ + ...obj, + }); +} + +export interface DescribeSubscribedWorkteamRequest { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the subscribed work team to describe.

                                                                                  + */ + WorkteamArn: string | undefined; +} + +export namespace DescribeSubscribedWorkteamRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSubscribedWorkteamRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  Describes a work team of a vendor that does the a labelling job.

                                                                                  + */ +export interface SubscribedWorkteam { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the vendor that you have subscribed.

                                                                                  + */ + WorkteamArn: string | undefined; + + /** + *

                                                                                  The title of the service provided by the vendor in the Amazon Marketplace.

                                                                                  + */ + MarketplaceTitle?: string; + + /** + *

                                                                                  The name of the vendor in the Amazon Marketplace.

                                                                                  + */ + SellerName?: string; + + /** + *

                                                                                  The description of the vendor from the Amazon Marketplace.

                                                                                  + */ + MarketplaceDescription?: string; + + /** + *

                                                                                  Marketplace product listing ID.

                                                                                  + */ + ListingId?: string; +} + +export namespace SubscribedWorkteam { + /** + * @internal + */ + export const filterSensitiveLog = (obj: SubscribedWorkteam): any => ({ + ...obj, + }); +} + +export interface DescribeSubscribedWorkteamResponse { + /** + *

                                                                                  A Workteam instance that contains information about the work team.

                                                                                  + */ + SubscribedWorkteam: SubscribedWorkteam | undefined; +} + +export namespace DescribeSubscribedWorkteamResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeSubscribedWorkteamResponse): any => ({ + ...obj, + }); +} + +export interface DescribeTrainingJobRequest { + /** + *

                                                                                  The name of the training job.

                                                                                  + */ + TrainingJobName: string | undefined; +} + +export namespace DescribeTrainingJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DescribeTrainingJobRequest): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  The name, value, and date and time of a metric that was emitted to Amazon CloudWatch.

                                                                                  + */ +export interface MetricData { + /** + *

                                                                                  The name of the metric.

                                                                                  + */ + MetricName?: string; + + /** + *

                                                                                  The value of the metric.

                                                                                  + */ + Value?: number; + + /** + *

                                                                                  The date and time that the algorithm emitted the metric.

                                                                                  + */ + Timestamp?: Date; +} + +export namespace MetricData { + /** + * @internal + */ + export const filterSensitiveLog = (obj: MetricData): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  Information about the status of the rule evaluation.

                                                                                  + */ +export interface ProfilerRuleEvaluationStatus { + /** + *

                                                                                  The name of the rule configuration.

                                                                                  + */ + RuleConfigurationName?: string; + + /** + *

                                                                                  The Amazon Resource Name (ARN) of the rule evaluation job.

                                                                                  + */ + RuleEvaluationJobArn?: string; + + /** + *

                                                                                  Status of the rule evaluation.

                                                                                  + */ + RuleEvaluationStatus?: RuleEvaluationStatus | string; + + /** + *

                                                                                  Details from the rule evaluation.

                                                                                  + */ + StatusDetails?: string; + + /** + *

                                                                                  Timestamp when the rule evaluation status was last modified.

                                                                                  + */ + LastModifiedTime?: Date; +} + +export namespace ProfilerRuleEvaluationStatus { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ProfilerRuleEvaluationStatus): any => ({ + ...obj, + }); +} + +export enum ProfilingStatus { + DISABLED = "Disabled", + ENABLED = "Enabled", +} + export enum SecondaryStatus { COMPLETED = "Completed", DOWNLOADING = "Downloading", @@ -1926,6 +2255,50 @@ export namespace DomainDetails { }); } +/** + *

                                                                                  A collection of settings that update the current configuration for the RStudioServerPro Domain-level app.

                                                                                  + */ +export interface RStudioServerProDomainSettingsForUpdate { + /** + *

                                                                                  The execution role for the RStudioServerPro Domain-level app.

                                                                                  + */ + DomainExecutionRoleArn: string | undefined; + + /** + *

                                                                                  Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that + * the version runs on.

                                                                                  + */ + DefaultResourceSpec?: ResourceSpec; +} + +export namespace RStudioServerProDomainSettingsForUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: RStudioServerProDomainSettingsForUpdate): any => ({ + ...obj, + }); +} + +/** + *

                                                                                  A collection of Domain configuration settings to update.

                                                                                  + */ +export interface DomainSettingsForUpdate { + /** + *

                                                                                  A collection of RStudioServerPro Domain-level app settings to update.

                                                                                  + */ + RStudioServerProDomainSettingsForUpdate?: RStudioServerProDomainSettingsForUpdate; +} + +export namespace DomainSettingsForUpdate { + /** + * @internal + */ + export const filterSensitiveLog = (obj: DomainSettingsForUpdate): any => ({ + ...obj, + }); +} + /** *

                                                                                  Status of edge devices with this model.

                                                                                  */ @@ -9178,6 +9551,11 @@ export interface ModelPackage { * resources in the Amazon Web Services General Reference Guide.

                                                                                  */ Tags?: Tag[]; + + /** + *

                                                                                  The metadata properties for the model package.

                                                                                  + */ + CustomerMetadataProperties?: { [key: string]: string }; } export namespace ModelPackage { @@ -9743,6 +10121,17 @@ export interface Project { * Resources.

                                                                                  */ Tags?: Tag[]; + + /** + *

                                                                                  A timestamp container for when the project was last modified.

                                                                                  + */ + LastModifiedTime?: Date; + + /** + *

                                                                                  Information about the user who created or modified an experiment, trial, trial + * component, or project.

                                                                                  + */ + LastModifiedBy?: UserContext; } export namespace Project { @@ -11120,242 +11509,3 @@ export namespace StopEdgePackagingJobRequest { ...obj, }); } - -export interface StopHyperParameterTuningJobRequest { - /** - *

                                                                                  The name of the tuning job to stop.

                                                                                  - */ - HyperParameterTuningJobName: string | undefined; -} - -export namespace StopHyperParameterTuningJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopHyperParameterTuningJobRequest): any => ({ - ...obj, - }); -} - -export interface StopLabelingJobRequest { - /** - *

                                                                                  The name of the labeling job to stop.

                                                                                  - */ - LabelingJobName: string | undefined; -} - -export namespace StopLabelingJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopLabelingJobRequest): any => ({ - ...obj, - }); -} - -export interface StopMonitoringScheduleRequest { - /** - *

                                                                                  The name of the schedule to stop.

                                                                                  - */ - MonitoringScheduleName: string | undefined; -} - -export namespace StopMonitoringScheduleRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopMonitoringScheduleRequest): any => ({ - ...obj, - }); -} - -export interface StopNotebookInstanceInput { - /** - *

                                                                                  The name of the notebook instance to terminate.

                                                                                  - */ - NotebookInstanceName: string | undefined; -} - -export namespace StopNotebookInstanceInput { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopNotebookInstanceInput): any => ({ - ...obj, - }); -} - -export interface StopPipelineExecutionRequest { - /** - *

                                                                                  The Amazon Resource Name (ARN) of the pipeline execution.

                                                                                  - */ - PipelineExecutionArn: string | undefined; - - /** - *

                                                                                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the - * operation. An idempotent operation completes no more than once.

                                                                                  - */ - ClientRequestToken?: string; -} - -export namespace StopPipelineExecutionRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopPipelineExecutionRequest): any => ({ - ...obj, - }); -} - -export interface StopPipelineExecutionResponse { - /** - *

                                                                                  The Amazon Resource Name (ARN) of the pipeline execution.

                                                                                  - */ - PipelineExecutionArn?: string; -} - -export namespace StopPipelineExecutionResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopPipelineExecutionResponse): any => ({ - ...obj, - }); -} - -export interface StopProcessingJobRequest { - /** - *

                                                                                  The name of the processing job to stop.

                                                                                  - */ - ProcessingJobName: string | undefined; -} - -export namespace StopProcessingJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopProcessingJobRequest): any => ({ - ...obj, - }); -} - -export interface StopTrainingJobRequest { - /** - *

                                                                                  The name of the training job to stop.

                                                                                  - */ - TrainingJobName: string | undefined; -} - -export namespace StopTrainingJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopTrainingJobRequest): any => ({ - ...obj, - }); -} - -export interface StopTransformJobRequest { - /** - *

                                                                                  The name of the transform job to stop.

                                                                                  - */ - TransformJobName: string | undefined; -} - -export namespace StopTransformJobRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: StopTransformJobRequest): any => ({ - ...obj, - }); -} - -export interface UpdateActionRequest { - /** - *

                                                                                  The name of the action to update.

                                                                                  - */ - ActionName: string | undefined; - - /** - *

                                                                                  The new description for the action.

                                                                                  - */ - Description?: string; - - /** - *

                                                                                  The new status for the action.

                                                                                  - */ - Status?: ActionStatus | string; - - /** - *

                                                                                  The new list of properties. Overwrites the current property list.

                                                                                  - */ - Properties?: { [key: string]: string }; - - /** - *

                                                                                  A list of properties to remove.

                                                                                  - */ - PropertiesToRemove?: string[]; -} - -export namespace UpdateActionRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateActionRequest): any => ({ - ...obj, - }); -} - -export interface UpdateActionResponse { - /** - *

                                                                                  The Amazon Resource Name (ARN) of the action.

                                                                                  - */ - ActionArn?: string; -} - -export namespace UpdateActionResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateActionResponse): any => ({ - ...obj, - }); -} - -export interface UpdateAppImageConfigRequest { - /** - *

                                                                                  The name of the AppImageConfig to update.

                                                                                  - */ - AppImageConfigName: string | undefined; - - /** - *

                                                                                  The new KernelGateway app to run on the image.

                                                                                  - */ - KernelGatewayImageConfig?: KernelGatewayImageConfig; -} - -export namespace UpdateAppImageConfigRequest { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateAppImageConfigRequest): any => ({ - ...obj, - }); -} - -export interface UpdateAppImageConfigResponse { - /** - *

                                                                                  The Amazon Resource Name (ARN) for the AppImageConfig.

                                                                                  - */ - AppImageConfigArn?: string; -} - -export namespace UpdateAppImageConfigResponse { - /** - * @internal - */ - export const filterSensitiveLog = (obj: UpdateAppImageConfigResponse): any => ({ - ...obj, - }); -} diff --git a/clients/client-sagemaker/src/models/models_3.ts b/clients/client-sagemaker/src/models/models_3.ts index 70dbfbb14e74..3e219b2415db 100644 --- a/clients/client-sagemaker/src/models/models_3.ts +++ b/clients/client-sagemaker/src/models/models_3.ts @@ -1,15 +1,23 @@ -import { BooleanOperator, EdgeOutputConfig, UserSettings } from "./models_0"; +import { + ActionStatus, + BooleanOperator, + EdgeOutputConfig, + KernelGatewayImageConfig, + ModelApprovalStatus, + Tag, + UserSettings, +} from "./models_0"; import { _InstanceType, DeploymentConfig, MemberDefinition, - ModelApprovalStatus, MonitoringScheduleConfig, NotebookInstanceAcceleratorType, NotebookInstanceLifecycleHook, NotificationConfiguration, OidcConfig, ProfilerRuleConfiguration, + ProvisioningParameter, RootAccess, SourceIpConfig, TrialComponentArtifact, @@ -19,6 +27,7 @@ import { import { DesiredWeightAndCapacity, Device, + DomainSettingsForUpdate, Filter, GitConfigForUpdate, NestedFilters, @@ -29,6 +38,245 @@ import { Workteam, } from "./models_2"; +export interface StopHyperParameterTuningJobRequest { + /** + *

                                                                                  The name of the tuning job to stop.

                                                                                  + */ + HyperParameterTuningJobName: string | undefined; +} + +export namespace StopHyperParameterTuningJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopHyperParameterTuningJobRequest): any => ({ + ...obj, + }); +} + +export interface StopLabelingJobRequest { + /** + *

                                                                                  The name of the labeling job to stop.

                                                                                  + */ + LabelingJobName: string | undefined; +} + +export namespace StopLabelingJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopLabelingJobRequest): any => ({ + ...obj, + }); +} + +export interface StopMonitoringScheduleRequest { + /** + *

                                                                                  The name of the schedule to stop.

                                                                                  + */ + MonitoringScheduleName: string | undefined; +} + +export namespace StopMonitoringScheduleRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopMonitoringScheduleRequest): any => ({ + ...obj, + }); +} + +export interface StopNotebookInstanceInput { + /** + *

                                                                                  The name of the notebook instance to terminate.

                                                                                  + */ + NotebookInstanceName: string | undefined; +} + +export namespace StopNotebookInstanceInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopNotebookInstanceInput): any => ({ + ...obj, + }); +} + +export interface StopPipelineExecutionRequest { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the pipeline execution.

                                                                                  + */ + PipelineExecutionArn: string | undefined; + + /** + *

                                                                                  A unique, case-sensitive identifier that you provide to ensure the idempotency of the + * operation. An idempotent operation completes no more than once.

                                                                                  + */ + ClientRequestToken?: string; +} + +export namespace StopPipelineExecutionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopPipelineExecutionRequest): any => ({ + ...obj, + }); +} + +export interface StopPipelineExecutionResponse { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the pipeline execution.

                                                                                  + */ + PipelineExecutionArn?: string; +} + +export namespace StopPipelineExecutionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopPipelineExecutionResponse): any => ({ + ...obj, + }); +} + +export interface StopProcessingJobRequest { + /** + *

                                                                                  The name of the processing job to stop.

                                                                                  + */ + ProcessingJobName: string | undefined; +} + +export namespace StopProcessingJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopProcessingJobRequest): any => ({ + ...obj, + }); +} + +export interface StopTrainingJobRequest { + /** + *

                                                                                  The name of the training job to stop.

                                                                                  + */ + TrainingJobName: string | undefined; +} + +export namespace StopTrainingJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopTrainingJobRequest): any => ({ + ...obj, + }); +} + +export interface StopTransformJobRequest { + /** + *

                                                                                  The name of the transform job to stop.

                                                                                  + */ + TransformJobName: string | undefined; +} + +export namespace StopTransformJobRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StopTransformJobRequest): any => ({ + ...obj, + }); +} + +export interface UpdateActionRequest { + /** + *

                                                                                  The name of the action to update.

                                                                                  + */ + ActionName: string | undefined; + + /** + *

                                                                                  The new description for the action.

                                                                                  + */ + Description?: string; + + /** + *

                                                                                  The new status for the action.

                                                                                  + */ + Status?: ActionStatus | string; + + /** + *

                                                                                  The new list of properties. Overwrites the current property list.

                                                                                  + */ + Properties?: { [key: string]: string }; + + /** + *

                                                                                  A list of properties to remove.

                                                                                  + */ + PropertiesToRemove?: string[]; +} + +export namespace UpdateActionRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateActionRequest): any => ({ + ...obj, + }); +} + +export interface UpdateActionResponse { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the action.

                                                                                  + */ + ActionArn?: string; +} + +export namespace UpdateActionResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateActionResponse): any => ({ + ...obj, + }); +} + +export interface UpdateAppImageConfigRequest { + /** + *

                                                                                  The name of the AppImageConfig to update.

                                                                                  + */ + AppImageConfigName: string | undefined; + + /** + *

                                                                                  The new KernelGateway app to run on the image.

                                                                                  + */ + KernelGatewayImageConfig?: KernelGatewayImageConfig; +} + +export namespace UpdateAppImageConfigRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateAppImageConfigRequest): any => ({ + ...obj, + }); +} + +export interface UpdateAppImageConfigResponse { + /** + *

                                                                                  The Amazon Resource Name (ARN) for the AppImageConfig.

                                                                                  + */ + AppImageConfigArn?: string; +} + +export namespace UpdateAppImageConfigResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateAppImageConfigResponse): any => ({ + ...obj, + }); +} + export interface UpdateArtifactRequest { /** *

                                                                                  The Amazon Resource Name (ARN) of the artifact to update.

                                                                                  @@ -238,6 +486,11 @@ export interface UpdateDomainRequest { *

                                                                                  A collection of settings.

                                                                                  */ DefaultUserSettings?: UserSettings; + + /** + *

                                                                                  A collection of DomainSettings configuration values to update.

                                                                                  + */ + DomainSettingsForUpdate?: DomainSettingsForUpdate; } export namespace UpdateDomainRequest { @@ -507,19 +760,29 @@ export namespace UpdateImageResponse { export interface UpdateModelPackageInput { /** - *

                                                                                  The Amazon Resource Name (ARN) of the model.

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the model package.

                                                                                  */ ModelPackageArn: string | undefined; /** *

                                                                                  The approval status of the model.

                                                                                  */ - ModelApprovalStatus: ModelApprovalStatus | string | undefined; + ModelApprovalStatus?: ModelApprovalStatus | string; /** *

                                                                                  A description for the approval status of the model.

                                                                                  */ ApprovalDescription?: string; + + /** + *

                                                                                  The metadata properties associated with the model package versions.

                                                                                  + */ + CustomerMetadataProperties?: { [key: string]: string }; + + /** + *

                                                                                  The metadata properties associated with the model package versions to remove.

                                                                                  + */ + CustomerMetadataPropertiesToRemove?: string[]; } export namespace UpdateModelPackageInput { @@ -849,6 +1112,85 @@ export namespace UpdatePipelineExecutionResponse { }); } +/** + *

                                                                                  Details that you specify to provision a service catalog product. + * For information about service catalog, see What is Amazon Web Services Service Catalog. + *

                                                                                  + */ +export interface ServiceCatalogProvisioningUpdateDetails { + /** + *

                                                                                  The ID of the provisioning artifact.

                                                                                  + */ + ProvisioningArtifactId?: string; + + /** + *

                                                                                  A list of key value pairs that you specify when you provision a product.

                                                                                  + */ + ProvisioningParameters?: ProvisioningParameter[]; +} + +export namespace ServiceCatalogProvisioningUpdateDetails { + /** + * @internal + */ + export const filterSensitiveLog = (obj: ServiceCatalogProvisioningUpdateDetails): any => ({ + ...obj, + }); +} + +export interface UpdateProjectInput { + /** + *

                                                                                  The name of the project.

                                                                                  + */ + ProjectName: string | undefined; + + /** + *

                                                                                  The description for the project.

                                                                                  + */ + ProjectDescription?: string; + + /** + *

                                                                                  The product ID and provisioning artifact ID to provision a service catalog. + * The provisioning artifact ID will default to the latest provisioning artifact + * ID of the product, if you don't provide the provisioning artifact ID. For more + * information, see What is Amazon Web Services Service Catalog. + *

                                                                                  + */ + ServiceCatalogProvisioningUpdateDetails?: ServiceCatalogProvisioningUpdateDetails; + + /** + *

                                                                                  An array of key-value pairs. You can use tags to categorize your + * Amazon Web Services resources in different ways, for example, by purpose, owner, or + * environment. For more information, see Tagging Amazon Web Services Resources.

                                                                                  + */ + Tags?: Tag[]; +} + +export namespace UpdateProjectInput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateProjectInput): any => ({ + ...obj, + }); +} + +export interface UpdateProjectOutput { + /** + *

                                                                                  The Amazon Resource Name (ARN) of the project.

                                                                                  + */ + ProjectArn: string | undefined; +} + +export namespace UpdateProjectOutput { + /** + * @internal + */ + export const filterSensitiveLog = (obj: UpdateProjectOutput): any => ({ + ...obj, + }); +} + export interface UpdateTrainingJobRequest { /** *

                                                                                  The name of a training job to update the Debugger profiling configuration.

                                                                                  diff --git a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts index 37e3ff5eab49..e8ca1aa9abd7 100644 --- a/clients/client-sagemaker/src/protocols/Aws_json1_1.ts +++ b/clients/client-sagemaker/src/protocols/Aws_json1_1.ts @@ -29,6 +29,10 @@ import { AssociateTrialComponentCommandInput, AssociateTrialComponentCommandOutput, } from "../commands/AssociateTrialComponentCommand"; +import { + BatchDescribeModelPackageCommandInput, + BatchDescribeModelPackageCommandOutput, +} from "../commands/BatchDescribeModelPackageCommand"; import { CreateActionCommandInput, CreateActionCommandOutput } from "../commands/CreateActionCommand"; import { CreateAlgorithmCommandInput, CreateAlgorithmCommandOutput } from "../commands/CreateAlgorithmCommand"; import { CreateAppCommandInput, CreateAppCommandOutput } from "../commands/CreateAppCommand"; @@ -608,6 +612,7 @@ import { UpdatePipelineExecutionCommandInput, UpdatePipelineExecutionCommandOutput, } from "../commands/UpdatePipelineExecutionCommand"; +import { UpdateProjectCommandInput, UpdateProjectCommandOutput } from "../commands/UpdateProjectCommand"; import { UpdateTrainingJobCommandInput, UpdateTrainingJobCommandOutput } from "../commands/UpdateTrainingJobCommand"; import { UpdateTrialCommandInput, UpdateTrialCommandOutput } from "../commands/UpdateTrialCommand"; import { @@ -662,6 +667,10 @@ import { AutoMLS3DataSource, AutoMLSecurityConfig, AutoRollbackConfig, + BatchDescribeModelPackageError, + BatchDescribeModelPackageInput, + BatchDescribeModelPackageOutput, + BatchDescribeModelPackageSummary, Bias, BlueGreenUpdatePolicy, CacheHitResult, @@ -732,10 +741,6 @@ import { CreateImageResponse, CreateImageVersionRequest, CreateImageVersionResponse, - CreateLabelingJobRequest, - CreateLabelingJobResponse, - CreateModelInput, - CreateModelOutput, CustomImage, DataCaptureConfig, DataCatalogConfig, @@ -743,6 +748,7 @@ import { DataQualityBaselineConfig, DataQualityJobInput, DataSource, + DomainSettings, EdgeOutputConfig, EndpointInput, FeatureDefinition, @@ -763,7 +769,6 @@ import { HyperParameterTuningJobObjective, HyperParameterTuningJobWarmStartConfig, ImageConfig, - InferenceExecutionConfig, InferenceSpecification, InputConfig, IntegerParameterRange, @@ -772,26 +777,19 @@ import { KernelGatewayAppSettings, KernelGatewayImageConfig, KernelSpec, - LabelingJobAlgorithmsConfig, LabelingJobDataAttributes, LabelingJobDataSource, LabelingJobInputConfig, - LabelingJobOutputConfig, - LabelingJobResourceConfig, LabelingJobS3DataSource, LabelingJobSnsDataSource, - LabelingJobStoppingConditions, MetadataProperties, MetricDatum, MetricDefinition, MetricsSource, - ModelBiasAppSpecification, - ModelBiasBaselineConfig, ModelDeployConfig, ModelPackageContainerDefinition, MonitoringClusterConfig, MonitoringConstraintsResource, - MonitoringGroundTruthS3Input, MonitoringNetworkConfig, MonitoringOutput, MonitoringOutputConfig, @@ -822,6 +820,9 @@ import { ResourceNotFound, ResourceSpec, RetryStrategy, + RSessionAppSettings, + RStudioServerProAppSettings, + RStudioServerProDomainSettings, S3DataSource, S3StorageConfig, SharingSettings, @@ -851,10 +852,14 @@ import { VpcConfig, } from "../models/models_0"; import { + CreateLabelingJobRequest, + CreateLabelingJobResponse, CreateModelBiasJobDefinitionRequest, CreateModelBiasJobDefinitionResponse, CreateModelExplainabilityJobDefinitionRequest, CreateModelExplainabilityJobDefinitionResponse, + CreateModelInput, + CreateModelOutput, CreateModelPackageGroupInput, CreateModelPackageGroupOutput, CreateModelPackageInput, @@ -1030,12 +1035,6 @@ import { DescribeProcessingJobRequest, DescribeProcessingJobResponse, DescribeProjectInput, - DescribeProjectOutput, - DescribeStudioLifecycleConfigRequest, - DescribeStudioLifecycleConfigResponse, - DescribeSubscribedWorkteamRequest, - DescribeSubscribedWorkteamResponse, - DescribeTrainingJobRequest, EdgeModel, EdgePresetDeploymentOutput, ExperimentConfig, @@ -1043,11 +1042,17 @@ import { Explainability, FinalHyperParameterTuningJobObjectiveMetric, HyperParameterTrainingJobSummary, + InferenceExecutionConfig, LabelCounters, + LabelingJobAlgorithmsConfig, LabelingJobOutput, + LabelingJobOutputConfig, + LabelingJobResourceConfig, + LabelingJobStoppingConditions, MemberDefinition, - MetricData, ModelArtifacts, + ModelBiasAppSpecification, + ModelBiasBaselineConfig, ModelBiasJobInput, ModelClientConfig, ModelDataQuality, @@ -1068,6 +1073,7 @@ import { MonitoringAppSpecification, MonitoringBaselineConfig, MonitoringExecutionSummary, + MonitoringGroundTruthS3Input, MonitoringInput, MonitoringJobDefinition, MonitoringScheduleConfig, @@ -1092,18 +1098,15 @@ import { ProductionVariantSummary, ProfilerConfig, ProfilerRuleConfiguration, - ProfilerRuleEvaluationStatus, ProvisioningParameter, RedshiftDatasetDefinition, ResolvedAttributes, RetentionPolicy, ScheduleConfig, - ServiceCatalogProvisionedProductDetails, ServiceCatalogProvisioningDetails, SourceAlgorithm, SourceAlgorithmSpecification, SourceIpConfig, - SubscribedWorkteam, TensorBoardOutputConfig, TrainingJobStatusCounters, TrialComponentArtifact, @@ -1112,6 +1115,12 @@ import { UiTemplateInfo, } from "../models/models_1"; import { + DescribeProjectOutput, + DescribeStudioLifecycleConfigRequest, + DescribeStudioLifecycleConfigResponse, + DescribeSubscribedWorkteamRequest, + DescribeSubscribedWorkteamResponse, + DescribeTrainingJobRequest, DescribeTrainingJobResponse, DescribeTransformJobRequest, DescribeTransformJobResponse, @@ -1135,6 +1144,7 @@ import { DisassociateTrialComponentRequest, DisassociateTrialComponentResponse, DomainDetails, + DomainSettingsForUpdate, EdgeModelStat, EdgeModelSummary, EdgePackagingJobSummary, @@ -1274,6 +1284,7 @@ import { ListWorkforcesResponse, ListWorkteamsRequest, ListWorkteamsResponse, + MetricData, ModelPackage, ModelPackageGroup, ModelPackageGroupSummary, @@ -1299,6 +1310,7 @@ import { ProcessingJobStepMetadata, ProcessingJobSummary, ProfilerConfigForUpdate, + ProfilerRuleEvaluationStatus, Project, ProjectSummary, PropertyNameQuery, @@ -1313,6 +1325,7 @@ import { RenderUiTemplateResponse, RetryPipelineExecutionRequest, RetryPipelineExecutionResponse, + RStudioServerProDomainSettingsForUpdate, SearchRecord, SearchResponse, SecondaryStatusTransition, @@ -1320,6 +1333,7 @@ import { SendPipelineExecutionStepFailureResponse, SendPipelineExecutionStepSuccessRequest, SendPipelineExecutionStepSuccessResponse, + ServiceCatalogProvisionedProductDetails, StartMonitoringScheduleRequest, StartNotebookInstanceInput, StartPipelineExecutionRequest, @@ -1327,16 +1341,8 @@ import { StopAutoMLJobRequest, StopCompilationJobRequest, StopEdgePackagingJobRequest, - StopHyperParameterTuningJobRequest, - StopLabelingJobRequest, - StopMonitoringScheduleRequest, - StopNotebookInstanceInput, - StopPipelineExecutionRequest, - StopPipelineExecutionResponse, - StopProcessingJobRequest, - StopTrainingJobRequest, - StopTransformJobRequest, StudioLifecycleConfigDetails, + SubscribedWorkteam, SuggestionQuery, TrainingJob, TrainingJobStepMetadata, @@ -1354,10 +1360,6 @@ import { TrialSource, TrialSummary, TuningJobStepMetaData, - UpdateActionRequest, - UpdateActionResponse, - UpdateAppImageConfigRequest, - UpdateAppImageConfigResponse, UserProfileDetails, Workforce, Workteam, @@ -1365,6 +1367,20 @@ import { import { SearchExpression, SearchRequest, + ServiceCatalogProvisioningUpdateDetails, + StopHyperParameterTuningJobRequest, + StopLabelingJobRequest, + StopMonitoringScheduleRequest, + StopNotebookInstanceInput, + StopPipelineExecutionRequest, + StopPipelineExecutionResponse, + StopProcessingJobRequest, + StopTrainingJobRequest, + StopTransformJobRequest, + UpdateActionRequest, + UpdateActionResponse, + UpdateAppImageConfigRequest, + UpdateAppImageConfigResponse, UpdateArtifactRequest, UpdateArtifactResponse, UpdateCodeRepositoryInput, @@ -1395,6 +1411,8 @@ import { UpdatePipelineExecutionResponse, UpdatePipelineRequest, UpdatePipelineResponse, + UpdateProjectInput, + UpdateProjectOutput, UpdateTrainingJobRequest, UpdateTrainingJobResponse, UpdateTrialComponentRequest, @@ -1449,6 +1467,19 @@ export const serializeAws_json1_1AssociateTrialComponentCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1BatchDescribeModelPackageCommand = async ( + input: BatchDescribeModelPackageCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.BatchDescribeModelPackage", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1BatchDescribeModelPackageInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1CreateActionCommand = async ( input: CreateActionCommandInput, context: __SerdeContext @@ -4452,6 +4483,19 @@ export const serializeAws_json1_1UpdatePipelineExecutionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1UpdateProjectCommand = async ( + input: UpdateProjectCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "SageMaker.UpdateProject", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1UpdateProjectInput(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1UpdateTrainingJobCommand = async ( input: UpdateTrainingJobCommandInput, context: __SerdeContext @@ -4700,6 +4744,52 @@ const deserializeAws_json1_1AssociateTrialComponentCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1BatchDescribeModelPackageCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1BatchDescribeModelPackageCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1BatchDescribeModelPackageOutput(data, context); + const response: BatchDescribeModelPackageCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1BatchDescribeModelPackageCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1CreateActionCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -16795,6 +16885,52 @@ const deserializeAws_json1_1UpdatePipelineExecutionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1UpdateProjectCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1UpdateProjectCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1UpdateProjectOutput(data, context); + const response: UpdateProjectCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1UpdateProjectCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1UpdateTrainingJobCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -17558,6 +17694,18 @@ const serializeAws_json1_1AutoRollbackConfig = (input: AutoRollbackConfig, conte }; }; +const serializeAws_json1_1BatchDescribeModelPackageInput = ( + input: BatchDescribeModelPackageInput, + context: __SerdeContext +): any => { + return { + ...(input.ModelPackageArnList !== undefined && + input.ModelPackageArnList !== null && { + ModelPackageArnList: serializeAws_json1_1ModelPackageArnList(input.ModelPackageArnList, context), + }), + }; +}; + const serializeAws_json1_1Bias = (input: Bias, context: __SerdeContext): any => { return { ...(input.Report !== undefined && @@ -18157,12 +18305,18 @@ const serializeAws_json1_1CreateDomainRequest = (input: CreateDomainRequest, con return { ...(input.AppNetworkAccessType !== undefined && input.AppNetworkAccessType !== null && { AppNetworkAccessType: input.AppNetworkAccessType }), + ...(input.AppSecurityGroupManagement !== undefined && + input.AppSecurityGroupManagement !== null && { AppSecurityGroupManagement: input.AppSecurityGroupManagement }), ...(input.AuthMode !== undefined && input.AuthMode !== null && { AuthMode: input.AuthMode }), ...(input.DefaultUserSettings !== undefined && input.DefaultUserSettings !== null && { DefaultUserSettings: serializeAws_json1_1UserSettings(input.DefaultUserSettings, context), }), ...(input.DomainName !== undefined && input.DomainName !== null && { DomainName: input.DomainName }), + ...(input.DomainSettings !== undefined && + input.DomainSettings !== null && { + DomainSettings: serializeAws_json1_1DomainSettings(input.DomainSettings, context), + }), ...(input.HomeEfsFileSystemKmsKeyId !== undefined && input.HomeEfsFileSystemKmsKeyId !== null && { HomeEfsFileSystemKmsKeyId: input.HomeEfsFileSystemKmsKeyId }), ...(input.KmsKeyId !== undefined && input.KmsKeyId !== null && { KmsKeyId: input.KmsKeyId }), @@ -18546,6 +18700,10 @@ const serializeAws_json1_1CreateModelPackageInput = (input: CreateModelPackageIn ...(input.CertifyForMarketplace !== undefined && input.CertifyForMarketplace !== null && { CertifyForMarketplace: input.CertifyForMarketplace }), ClientToken: input.ClientToken ?? generateIdempotencyToken(), + ...(input.CustomerMetadataProperties !== undefined && + input.CustomerMetadataProperties !== null && { + CustomerMetadataProperties: serializeAws_json1_1CustomerMetadataMap(input.CustomerMetadataProperties, context), + }), ...(input.InferenceSpecification !== undefined && input.InferenceSpecification !== null && { InferenceSpecification: serializeAws_json1_1InferenceSpecification(input.InferenceSpecification, context), @@ -19076,6 +19234,29 @@ const serializeAws_json1_1CsvContentTypes = (input: string[], context: __SerdeCo }); }; +const serializeAws_json1_1CustomerMetadataKeyList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1CustomerMetadataMap = (input: { [key: string]: string }, context: __SerdeContext): any => { + return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: value, + }; + }, {}); +}; + const serializeAws_json1_1CustomImage = (input: CustomImage, context: __SerdeContext): any => { return { ...(input.AppImageConfigName !== undefined && @@ -20114,6 +20295,45 @@ const serializeAws_json1_1DisassociateTrialComponentRequest = ( }; }; +const serializeAws_json1_1DomainSecurityGroupIds = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + +const serializeAws_json1_1DomainSettings = (input: DomainSettings, context: __SerdeContext): any => { + return { + ...(input.RStudioServerProDomainSettings !== undefined && + input.RStudioServerProDomainSettings !== null && { + RStudioServerProDomainSettings: serializeAws_json1_1RStudioServerProDomainSettings( + input.RStudioServerProDomainSettings, + context + ), + }), + ...(input.SecurityGroupIds !== undefined && + input.SecurityGroupIds !== null && { + SecurityGroupIds: serializeAws_json1_1DomainSecurityGroupIds(input.SecurityGroupIds, context), + }), + }; +}; + +const serializeAws_json1_1DomainSettingsForUpdate = (input: DomainSettingsForUpdate, context: __SerdeContext): any => { + return { + ...(input.RStudioServerProDomainSettingsForUpdate !== undefined && + input.RStudioServerProDomainSettingsForUpdate !== null && { + RStudioServerProDomainSettingsForUpdate: serializeAws_json1_1RStudioServerProDomainSettingsForUpdate( + input.RStudioServerProDomainSettingsForUpdate, + context + ), + }), + }; +}; + const serializeAws_json1_1EdgeOutputConfig = (input: EdgeOutputConfig, context: __SerdeContext): any => { return { ...(input.KmsKeyId !== undefined && input.KmsKeyId !== null && { KmsKeyId: input.KmsKeyId }), @@ -22277,6 +22497,17 @@ const serializeAws_json1_1ModelMetrics = (input: ModelMetrics, context: __SerdeC }; }; +const serializeAws_json1_1ModelPackageArnList = (input: string[], context: __SerdeContext): any => { + return input + .filter((e: any) => e != null) + .map((entry) => { + if (entry === null) { + return null as any; + } + return entry; + }); +}; + const serializeAws_json1_1ModelPackageContainerDefinition = ( input: ModelPackageContainerDefinition, context: __SerdeContext @@ -23420,6 +23651,52 @@ const serializeAws_json1_1RetryStrategy = (input: RetryStrategy, context: __Serd }; }; +const serializeAws_json1_1RSessionAppSettings = (input: RSessionAppSettings, context: __SerdeContext): any => { + return {}; +}; + +const serializeAws_json1_1RStudioServerProAppSettings = ( + input: RStudioServerProAppSettings, + context: __SerdeContext +): any => { + return { + ...(input.AccessStatus !== undefined && input.AccessStatus !== null && { AccessStatus: input.AccessStatus }), + ...(input.UserGroup !== undefined && input.UserGroup !== null && { UserGroup: input.UserGroup }), + }; +}; + +const serializeAws_json1_1RStudioServerProDomainSettings = ( + input: RStudioServerProDomainSettings, + context: __SerdeContext +): any => { + return { + ...(input.DefaultResourceSpec !== undefined && + input.DefaultResourceSpec !== null && { + DefaultResourceSpec: serializeAws_json1_1ResourceSpec(input.DefaultResourceSpec, context), + }), + ...(input.DomainExecutionRoleArn !== undefined && + input.DomainExecutionRoleArn !== null && { DomainExecutionRoleArn: input.DomainExecutionRoleArn }), + ...(input.RStudioConnectUrl !== undefined && + input.RStudioConnectUrl !== null && { RStudioConnectUrl: input.RStudioConnectUrl }), + ...(input.RStudioPackageManagerUrl !== undefined && + input.RStudioPackageManagerUrl !== null && { RStudioPackageManagerUrl: input.RStudioPackageManagerUrl }), + }; +}; + +const serializeAws_json1_1RStudioServerProDomainSettingsForUpdate = ( + input: RStudioServerProDomainSettingsForUpdate, + context: __SerdeContext +): any => { + return { + ...(input.DefaultResourceSpec !== undefined && + input.DefaultResourceSpec !== null && { + DefaultResourceSpec: serializeAws_json1_1ResourceSpec(input.DefaultResourceSpec, context), + }), + ...(input.DomainExecutionRoleArn !== undefined && + input.DomainExecutionRoleArn !== null && { DomainExecutionRoleArn: input.DomainExecutionRoleArn }), + }; +}; + const serializeAws_json1_1RuleParameters = (input: { [key: string]: string }, context: __SerdeContext): any => { return Object.entries(input).reduce((acc: { [key: string]: any }, [key, value]: [string, any]) => { if (value === null) { @@ -23554,6 +23831,20 @@ const serializeAws_json1_1ServiceCatalogProvisioningDetails = ( }; }; +const serializeAws_json1_1ServiceCatalogProvisioningUpdateDetails = ( + input: ServiceCatalogProvisioningUpdateDetails, + context: __SerdeContext +): any => { + return { + ...(input.ProvisioningArtifactId !== undefined && + input.ProvisioningArtifactId !== null && { ProvisioningArtifactId: input.ProvisioningArtifactId }), + ...(input.ProvisioningParameters !== undefined && + input.ProvisioningParameters !== null && { + ProvisioningParameters: serializeAws_json1_1ProvisioningParameters(input.ProvisioningParameters, context), + }), + }; +}; + const serializeAws_json1_1SharingSettings = (input: SharingSettings, context: __SerdeContext): any => { return { ...(input.NotebookOutputOption !== undefined && @@ -24229,6 +24520,10 @@ const serializeAws_json1_1UpdateDomainRequest = (input: UpdateDomainRequest, con DefaultUserSettings: serializeAws_json1_1UserSettings(input.DefaultUserSettings, context), }), ...(input.DomainId !== undefined && input.DomainId !== null && { DomainId: input.DomainId }), + ...(input.DomainSettingsForUpdate !== undefined && + input.DomainSettingsForUpdate !== null && { + DomainSettingsForUpdate: serializeAws_json1_1DomainSettingsForUpdate(input.DomainSettingsForUpdate, context), + }), }; }; @@ -24295,6 +24590,17 @@ const serializeAws_json1_1UpdateModelPackageInput = (input: UpdateModelPackageIn return { ...(input.ApprovalDescription !== undefined && input.ApprovalDescription !== null && { ApprovalDescription: input.ApprovalDescription }), + ...(input.CustomerMetadataProperties !== undefined && + input.CustomerMetadataProperties !== null && { + CustomerMetadataProperties: serializeAws_json1_1CustomerMetadataMap(input.CustomerMetadataProperties, context), + }), + ...(input.CustomerMetadataPropertiesToRemove !== undefined && + input.CustomerMetadataPropertiesToRemove !== null && { + CustomerMetadataPropertiesToRemove: serializeAws_json1_1CustomerMetadataKeyList( + input.CustomerMetadataPropertiesToRemove, + context + ), + }), ...(input.ModelApprovalStatus !== undefined && input.ModelApprovalStatus !== null && { ModelApprovalStatus: input.ModelApprovalStatus }), ...(input.ModelPackageArn !== undefined && @@ -24411,6 +24717,22 @@ const serializeAws_json1_1UpdatePipelineRequest = (input: UpdatePipelineRequest, }; }; +const serializeAws_json1_1UpdateProjectInput = (input: UpdateProjectInput, context: __SerdeContext): any => { + return { + ...(input.ProjectDescription !== undefined && + input.ProjectDescription !== null && { ProjectDescription: input.ProjectDescription }), + ...(input.ProjectName !== undefined && input.ProjectName !== null && { ProjectName: input.ProjectName }), + ...(input.ServiceCatalogProvisioningUpdateDetails !== undefined && + input.ServiceCatalogProvisioningUpdateDetails !== null && { + ServiceCatalogProvisioningUpdateDetails: serializeAws_json1_1ServiceCatalogProvisioningUpdateDetails( + input.ServiceCatalogProvisioningUpdateDetails, + context + ), + }), + ...(input.Tags !== undefined && input.Tags !== null && { Tags: serializeAws_json1_1TagList(input.Tags, context) }), + }; +}; + const serializeAws_json1_1UpdateTrainingJobRequest = ( input: UpdateTrainingJobRequest, context: __SerdeContext @@ -24543,6 +24865,17 @@ const serializeAws_json1_1UserSettings = (input: UserSettings, context: __SerdeC input.KernelGatewayAppSettings !== null && { KernelGatewayAppSettings: serializeAws_json1_1KernelGatewayAppSettings(input.KernelGatewayAppSettings, context), }), + ...(input.RSessionAppSettings !== undefined && + input.RSessionAppSettings !== null && { + RSessionAppSettings: serializeAws_json1_1RSessionAppSettings(input.RSessionAppSettings, context), + }), + ...(input.RStudioServerProAppSettings !== undefined && + input.RStudioServerProAppSettings !== null && { + RStudioServerProAppSettings: serializeAws_json1_1RStudioServerProAppSettings( + input.RStudioServerProAppSettings, + context + ), + }), ...(input.SecurityGroups !== undefined && input.SecurityGroups !== null && { SecurityGroups: serializeAws_json1_1SecurityGroupIds(input.SecurityGroups, context), @@ -25310,6 +25643,72 @@ const deserializeAws_json1_1AutoRollbackConfig = (output: any, context: __SerdeC } as any; }; +const deserializeAws_json1_1BatchDescribeModelPackageError = ( + output: any, + context: __SerdeContext +): BatchDescribeModelPackageError => { + return { + ErrorCode: __expectString(output.ErrorCode), + ErrorResponse: __expectString(output.ErrorResponse), + } as any; +}; + +const deserializeAws_json1_1BatchDescribeModelPackageErrorMap = ( + output: any, + context: __SerdeContext +): { [key: string]: BatchDescribeModelPackageError } => { + return Object.entries(output).reduce( + (acc: { [key: string]: BatchDescribeModelPackageError }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: deserializeAws_json1_1BatchDescribeModelPackageError(value, context), + }; + }, + {} + ); +}; + +const deserializeAws_json1_1BatchDescribeModelPackageOutput = ( + output: any, + context: __SerdeContext +): BatchDescribeModelPackageOutput => { + return { + BatchDescribeModelPackageErrorMap: + output.BatchDescribeModelPackageErrorMap !== undefined && output.BatchDescribeModelPackageErrorMap !== null + ? deserializeAws_json1_1BatchDescribeModelPackageErrorMap(output.BatchDescribeModelPackageErrorMap, context) + : undefined, + ModelPackageSummaries: + output.ModelPackageSummaries !== undefined && output.ModelPackageSummaries !== null + ? deserializeAws_json1_1ModelPackageSummaries(output.ModelPackageSummaries, context) + : undefined, + } as any; +}; + +const deserializeAws_json1_1BatchDescribeModelPackageSummary = ( + output: any, + context: __SerdeContext +): BatchDescribeModelPackageSummary => { + return { + CreationTime: + output.CreationTime !== undefined && output.CreationTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) + : undefined, + InferenceSpecification: + output.InferenceSpecification !== undefined && output.InferenceSpecification !== null + ? deserializeAws_json1_1InferenceSpecification(output.InferenceSpecification, context) + : undefined, + ModelApprovalStatus: __expectString(output.ModelApprovalStatus), + ModelPackageArn: __expectString(output.ModelPackageArn), + ModelPackageDescription: __expectString(output.ModelPackageDescription), + ModelPackageGroupName: __expectString(output.ModelPackageGroupName), + ModelPackageStatus: __expectString(output.ModelPackageStatus), + ModelPackageVersion: __expectInt32(output.ModelPackageVersion), + } as any; +}; + const deserializeAws_json1_1Bias = (output: any, context: __SerdeContext): Bias => { return { Report: @@ -26200,6 +26599,18 @@ const deserializeAws_json1_1CsvContentTypes = (output: any, context: __SerdeCont }); }; +const deserializeAws_json1_1CustomerMetadataMap = (output: any, context: __SerdeContext): { [key: string]: string } => { + return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: __expectString(value) as any, + }; + }, {}); +}; + const deserializeAws_json1_1CustomImage = (output: any, context: __SerdeContext): CustomImage => { return { AppImageConfigName: __expectString(output.AppImageConfigName), @@ -26988,6 +27399,7 @@ const deserializeAws_json1_1DescribeDeviceResponse = (output: any, context: __Se const deserializeAws_json1_1DescribeDomainResponse = (output: any, context: __SerdeContext): DescribeDomainResponse => { return { AppNetworkAccessType: __expectString(output.AppNetworkAccessType), + AppSecurityGroupManagement: __expectString(output.AppSecurityGroupManagement), AuthMode: __expectString(output.AuthMode), CreationTime: output.CreationTime !== undefined && output.CreationTime !== null @@ -27000,6 +27412,10 @@ const deserializeAws_json1_1DescribeDomainResponse = (output: any, context: __Se DomainArn: __expectString(output.DomainArn), DomainId: __expectString(output.DomainId), DomainName: __expectString(output.DomainName), + DomainSettings: + output.DomainSettings !== undefined && output.DomainSettings !== null + ? deserializeAws_json1_1DomainSettings(output.DomainSettings, context) + : undefined, FailureReason: __expectString(output.FailureReason), HomeEfsFileSystemId: __expectString(output.HomeEfsFileSystemId), HomeEfsFileSystemKmsKeyId: __expectString(output.HomeEfsFileSystemKmsKeyId), @@ -27008,6 +27424,7 @@ const deserializeAws_json1_1DescribeDomainResponse = (output: any, context: __Se output.LastModifiedTime !== undefined && output.LastModifiedTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) : undefined, + SecurityGroupIdForDomainBoundary: __expectString(output.SecurityGroupIdForDomainBoundary), SingleSignOnManagedApplicationInstanceId: __expectString(output.SingleSignOnManagedApplicationInstanceId), Status: __expectString(output.Status), SubnetIds: @@ -27541,6 +27958,10 @@ const deserializeAws_json1_1DescribeModelPackageOutput = ( output.CreationTime !== undefined && output.CreationTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) : undefined, + CustomerMetadataProperties: + output.CustomerMetadataProperties !== undefined && output.CustomerMetadataProperties !== null + ? deserializeAws_json1_1CustomerMetadataMap(output.CustomerMetadataProperties, context) + : undefined, InferenceSpecification: output.InferenceSpecification !== undefined && output.InferenceSpecification !== null ? deserializeAws_json1_1InferenceSpecification(output.InferenceSpecification, context) @@ -27883,6 +28304,14 @@ const deserializeAws_json1_1DescribeProjectOutput = (output: any, context: __Ser output.CreationTime !== undefined && output.CreationTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) : undefined, + LastModifiedBy: + output.LastModifiedBy !== undefined && output.LastModifiedBy !== null + ? deserializeAws_json1_1UserContext(output.LastModifiedBy, context) + : undefined, + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) + : undefined, ProjectArn: __expectString(output.ProjectArn), ProjectDescription: __expectString(output.ProjectDescription), ProjectId: __expectString(output.ProjectId), @@ -28376,6 +28805,30 @@ const deserializeAws_json1_1DomainList = (output: any, context: __SerdeContext): }); }; +const deserializeAws_json1_1DomainSecurityGroupIds = (output: any, context: __SerdeContext): string[] => { + return (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + if (entry === null) { + return null as any; + } + return __expectString(entry) as any; + }); +}; + +const deserializeAws_json1_1DomainSettings = (output: any, context: __SerdeContext): DomainSettings => { + return { + RStudioServerProDomainSettings: + output.RStudioServerProDomainSettings !== undefined && output.RStudioServerProDomainSettings !== null + ? deserializeAws_json1_1RStudioServerProDomainSettings(output.RStudioServerProDomainSettings, context) + : undefined, + SecurityGroupIds: + output.SecurityGroupIds !== undefined && output.SecurityGroupIds !== null + ? deserializeAws_json1_1DomainSecurityGroupIds(output.SecurityGroupIds, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1EdgeModel = (output: any, context: __SerdeContext): EdgeModel => { return { LatestInference: @@ -30764,6 +31217,10 @@ const deserializeAws_json1_1ModelPackage = (output: any, context: __SerdeContext output.CreationTime !== undefined && output.CreationTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) : undefined, + CustomerMetadataProperties: + output.CustomerMetadataProperties !== undefined && output.CustomerMetadataProperties !== null + ? deserializeAws_json1_1CustomerMetadataMap(output.CustomerMetadataProperties, context) + : undefined, InferenceSpecification: output.InferenceSpecification !== undefined && output.InferenceSpecification !== null ? deserializeAws_json1_1InferenceSpecification(output.InferenceSpecification, context) @@ -30930,6 +31387,24 @@ const deserializeAws_json1_1ModelPackageStatusItemList = ( }); }; +const deserializeAws_json1_1ModelPackageSummaries = ( + output: any, + context: __SerdeContext +): { [key: string]: BatchDescribeModelPackageSummary } => { + return Object.entries(output).reduce( + (acc: { [key: string]: BatchDescribeModelPackageSummary }, [key, value]: [string, any]) => { + if (value === null) { + return acc; + } + return { + ...acc, + [key]: deserializeAws_json1_1BatchDescribeModelPackageSummary(value, context), + }; + }, + {} + ); +}; + const deserializeAws_json1_1ModelPackageSummary = (output: any, context: __SerdeContext): ModelPackageSummary => { return { CreationTime: @@ -32520,6 +32995,14 @@ const deserializeAws_json1_1Project = (output: any, context: __SerdeContext): Pr output.CreationTime !== undefined && output.CreationTime !== null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.CreationTime))) : undefined, + LastModifiedBy: + output.LastModifiedBy !== undefined && output.LastModifiedBy !== null + ? deserializeAws_json1_1UserContext(output.LastModifiedBy, context) + : undefined, + LastModifiedTime: + output.LastModifiedTime !== undefined && output.LastModifiedTime !== null + ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.LastModifiedTime))) + : undefined, ProjectArn: __expectString(output.ProjectArn), ProjectDescription: __expectString(output.ProjectDescription), ProjectId: __expectString(output.ProjectId), @@ -32791,6 +33274,35 @@ const deserializeAws_json1_1RetryStrategy = (output: any, context: __SerdeContex } as any; }; +const deserializeAws_json1_1RSessionAppSettings = (output: any, context: __SerdeContext): RSessionAppSettings => { + return {} as any; +}; + +const deserializeAws_json1_1RStudioServerProAppSettings = ( + output: any, + context: __SerdeContext +): RStudioServerProAppSettings => { + return { + AccessStatus: __expectString(output.AccessStatus), + UserGroup: __expectString(output.UserGroup), + } as any; +}; + +const deserializeAws_json1_1RStudioServerProDomainSettings = ( + output: any, + context: __SerdeContext +): RStudioServerProDomainSettings => { + return { + DefaultResourceSpec: + output.DefaultResourceSpec !== undefined && output.DefaultResourceSpec !== null + ? deserializeAws_json1_1ResourceSpec(output.DefaultResourceSpec, context) + : undefined, + DomainExecutionRoleArn: __expectString(output.DomainExecutionRoleArn), + RStudioConnectUrl: __expectString(output.RStudioConnectUrl), + RStudioPackageManagerUrl: __expectString(output.RStudioPackageManagerUrl), + } as any; +}; + const deserializeAws_json1_1RuleParameters = (output: any, context: __SerdeContext): { [key: string]: string } => { return Object.entries(output).reduce((acc: { [key: string]: string }, [key, value]: [string, any]) => { if (value === null) { @@ -34154,6 +34666,12 @@ const deserializeAws_json1_1UpdatePipelineResponse = (output: any, context: __Se } as any; }; +const deserializeAws_json1_1UpdateProjectOutput = (output: any, context: __SerdeContext): UpdateProjectOutput => { + return { + ProjectArn: __expectString(output.ProjectArn), + } as any; +}; + const deserializeAws_json1_1UpdateTrainingJobResponse = ( output: any, context: __SerdeContext @@ -34262,6 +34780,14 @@ const deserializeAws_json1_1UserSettings = (output: any, context: __SerdeContext output.KernelGatewayAppSettings !== undefined && output.KernelGatewayAppSettings !== null ? deserializeAws_json1_1KernelGatewayAppSettings(output.KernelGatewayAppSettings, context) : undefined, + RSessionAppSettings: + output.RSessionAppSettings !== undefined && output.RSessionAppSettings !== null + ? deserializeAws_json1_1RSessionAppSettings(output.RSessionAppSettings, context) + : undefined, + RStudioServerProAppSettings: + output.RStudioServerProAppSettings !== undefined && output.RStudioServerProAppSettings !== null + ? deserializeAws_json1_1RStudioServerProAppSettings(output.RStudioServerProAppSettings, context) + : undefined, SecurityGroups: output.SecurityGroups !== undefined && output.SecurityGroups !== null ? deserializeAws_json1_1SecurityGroupIds(output.SecurityGroups, context) diff --git a/clients/client-ssm-incidents/README.md b/clients/client-ssm-incidents/README.md index d5c31077c9a1..b7d90ec44d7d 100644 --- a/clients/client-ssm-incidents/README.md +++ b/clients/client-ssm-incidents/README.md @@ -7,14 +7,14 @@ AWS SDK for JavaScript SSMIncidents Client for Node.js, Browser and React Native. -

                                                                                  AWS Systems Manager Incident Manager is an incident management console designed to help -users mitigate and recover from incidents affecting their AWS-hosted applications. An incident -is any unplanned interruption or reduction in quality of services.

                                                                                  +

                                                                                  Systems Manager Incident Manager is an incident management console designed to help users +mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An +incident is any unplanned interruption or reduction in quality of services.

                                                                                  Incident Manager increases incident resolution by notifying responders of impact, highlighting relevant troubleshooting data, and providing collaboration tools to get services back up and running. To achieve the primary goal of reducing the time-to-resolution of -critical incidents, Incident Manager automates response plans and enables responder team -escalation.

                                                                                  +critical incidents, Incident Manager automates response plans and enables responder +team escalation.

                                                                                  ## Installing diff --git a/clients/client-ssm-incidents/src/SSMIncidents.ts b/clients/client-ssm-incidents/src/SSMIncidents.ts index b6e1110398cf..99752f136766 100644 --- a/clients/client-ssm-incidents/src/SSMIncidents.ts +++ b/clients/client-ssm-incidents/src/SSMIncidents.ts @@ -144,14 +144,14 @@ import { import { SSMIncidentsClient } from "./SSMIncidentsClient"; /** - *

                                                                                  AWS Systems Manager Incident Manager is an incident management console designed to help - * users mitigate and recover from incidents affecting their AWS-hosted applications. An incident - * is any unplanned interruption or reduction in quality of services.

                                                                                  + *

                                                                                  Systems Manager Incident Manager is an incident management console designed to help users + * mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An + * incident is any unplanned interruption or reduction in quality of services.

                                                                                  *

                                                                                  Incident Manager increases incident resolution by notifying responders of impact, * highlighting relevant troubleshooting data, and providing collaboration tools to get services * back up and running. To achieve the primary goal of reducing the time-to-resolution of - * critical incidents, Incident Manager automates response plans and enables responder team - * escalation.

                                                                                  + * critical incidents, Incident Manager automates response plans and enables responder + * team escalation.

                                                                                  */ export class SSMIncidents extends SSMIncidentsClient { /** @@ -189,9 +189,8 @@ export class SSMIncidents extends SSMIncidentsClient { /** *

                                                                                  Creates a response plan that automates the initial response to incidents. A response - * plan engages contacts, starts chat channel collaboration, and - * initiates - * runbooks at the beginning of an incident.

                                                                                  + * plan engages contacts, starts chat channel collaboration, and initiates runbooks at the + * beginning of an incident.

                                                                                  */ public createResponsePlan( args: CreateResponsePlanCommandInput, @@ -323,9 +322,8 @@ export class SSMIncidents extends SSMIncidentsClient { } /** - *

                                                                                  Deletes the resource policy that - * AWS - * Resource Access Manager uses to share your Incident Manager resource.

                                                                                  + *

                                                                                  Deletes the resource policy that Resource Access Manager uses to share your Incident Manager + * resource.

                                                                                  */ public deleteResourcePolicy( args: DeleteResourcePolicyCommandInput, @@ -357,9 +355,8 @@ export class SSMIncidents extends SSMIncidentsClient { } /** - *

                                                                                  Deletes the specified response plan. Deleting a response plan stops all linked - * CloudWatch alarms and EventBridge events from creating an incident with this response - * plan.

                                                                                  + *

                                                                                  Deletes the specified response plan. Deleting a response plan stops all linked CloudWatch alarms and EventBridge events from creating an incident with this + * response plan.

                                                                                  */ public deleteResponsePlan( args: DeleteResponsePlanCommandInput, @@ -423,7 +420,7 @@ export class SSMIncidents extends SSMIncidentsClient { } /** - *

                                                                                  Returns the details of the specified incident record.

                                                                                  + *

                                                                                  Returns the details for the specified incident record.

                                                                                  */ public getIncidentRecord( args: GetIncidentRecordCommandInput, @@ -744,7 +741,7 @@ export class SSMIncidents extends SSMIncidentsClient { } /** - *

                                                                                  Lists timeline events of the specified incident record.

                                                                                  + *

                                                                                  Lists timeline events for the specified incident record.

                                                                                  */ public listTimelineEvents( args: ListTimelineEventsCommandInput, @@ -808,7 +805,8 @@ export class SSMIncidents extends SSMIncidentsClient { } /** - *

                                                                                  Used to start an incident from CloudWatch alarms, EventBridge events, or manually.

                                                                                  + *

                                                                                  Used to start an incident from CloudWatch alarms, EventBridge events, or + * manually.

                                                                                  */ public startIncident( args: StartIncidentCommandInput, @@ -931,7 +929,7 @@ export class SSMIncidents extends SSMIncidentsClient { } /** - *

                                                                                  Update the details of an incident record. You can use this action to update an + *

                                                                                  Update the details of an incident record. You can use this operation to update an * incident record from the defined chat channel. For more information about using actions * in chat channels, see Interacting through chat.

                                                                                  */ diff --git a/clients/client-ssm-incidents/src/SSMIncidentsClient.ts b/clients/client-ssm-incidents/src/SSMIncidentsClient.ts index 5a36ccbe3f21..535631531662 100644 --- a/clients/client-ssm-incidents/src/SSMIncidentsClient.ts +++ b/clients/client-ssm-incidents/src/SSMIncidentsClient.ts @@ -323,14 +323,14 @@ type SSMIncidentsClientResolvedConfigType = __SmithyResolvedConfiguration<__Http export interface SSMIncidentsClientResolvedConfig extends SSMIncidentsClientResolvedConfigType {} /** - *

                                                                                  AWS Systems Manager Incident Manager is an incident management console designed to help - * users mitigate and recover from incidents affecting their AWS-hosted applications. An incident - * is any unplanned interruption or reduction in quality of services.

                                                                                  + *

                                                                                  Systems Manager Incident Manager is an incident management console designed to help users + * mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An + * incident is any unplanned interruption or reduction in quality of services.

                                                                                  *

                                                                                  Incident Manager increases incident resolution by notifying responders of impact, * highlighting relevant troubleshooting data, and providing collaboration tools to get services * back up and running. To achieve the primary goal of reducing the time-to-resolution of - * critical incidents, Incident Manager automates response plans and enables responder team - * escalation.

                                                                                  + * critical incidents, Incident Manager automates response plans and enables responder + * team escalation.

                                                                                  */ export class SSMIncidentsClient extends __Client< __HttpHandlerOptions, diff --git a/clients/client-ssm-incidents/src/commands/CreateResponsePlanCommand.ts b/clients/client-ssm-incidents/src/commands/CreateResponsePlanCommand.ts index c2efc4d9e194..4e9bf28bc833 100644 --- a/clients/client-ssm-incidents/src/commands/CreateResponsePlanCommand.ts +++ b/clients/client-ssm-incidents/src/commands/CreateResponsePlanCommand.ts @@ -23,9 +23,8 @@ export interface CreateResponsePlanCommandOutput extends CreateResponsePlanOutpu /** *

                                                                                  Creates a response plan that automates the initial response to incidents. A response - * plan engages contacts, starts chat channel collaboration, and - * initiates - * runbooks at the beginning of an incident.

                                                                                  + * plan engages contacts, starts chat channel collaboration, and initiates runbooks at the + * beginning of an incident.

                                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm-incidents/src/commands/DeleteResourcePolicyCommand.ts b/clients/client-ssm-incidents/src/commands/DeleteResourcePolicyCommand.ts index 8399aa0d7a67..5ccd39e0f7b6 100644 --- a/clients/client-ssm-incidents/src/commands/DeleteResourcePolicyCommand.ts +++ b/clients/client-ssm-incidents/src/commands/DeleteResourcePolicyCommand.ts @@ -22,9 +22,8 @@ export interface DeleteResourcePolicyCommandInput extends DeleteResourcePolicyIn export interface DeleteResourcePolicyCommandOutput extends DeleteResourcePolicyOutput, __MetadataBearer {} /** - *

                                                                                  Deletes the resource policy that - * AWS - * Resource Access Manager uses to share your Incident Manager resource.

                                                                                  + *

                                                                                  Deletes the resource policy that Resource Access Manager uses to share your Incident Manager + * resource.

                                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm-incidents/src/commands/DeleteResponsePlanCommand.ts b/clients/client-ssm-incidents/src/commands/DeleteResponsePlanCommand.ts index d9aa8ca13c86..7a0938e54766 100644 --- a/clients/client-ssm-incidents/src/commands/DeleteResponsePlanCommand.ts +++ b/clients/client-ssm-incidents/src/commands/DeleteResponsePlanCommand.ts @@ -22,9 +22,8 @@ export interface DeleteResponsePlanCommandInput extends DeleteResponsePlanInput export interface DeleteResponsePlanCommandOutput extends DeleteResponsePlanOutput, __MetadataBearer {} /** - *

                                                                                  Deletes the specified response plan. Deleting a response plan stops all linked - * CloudWatch alarms and EventBridge events from creating an incident with this response - * plan.

                                                                                  + *

                                                                                  Deletes the specified response plan. Deleting a response plan stops all linked CloudWatch alarms and EventBridge events from creating an incident with this + * response plan.

                                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm-incidents/src/commands/GetIncidentRecordCommand.ts b/clients/client-ssm-incidents/src/commands/GetIncidentRecordCommand.ts index da8c145af6d6..5824e9edf39c 100644 --- a/clients/client-ssm-incidents/src/commands/GetIncidentRecordCommand.ts +++ b/clients/client-ssm-incidents/src/commands/GetIncidentRecordCommand.ts @@ -22,7 +22,7 @@ export interface GetIncidentRecordCommandInput extends GetIncidentRecordInput {} export interface GetIncidentRecordCommandOutput extends GetIncidentRecordOutput, __MetadataBearer {} /** - *

                                                                                  Returns the details of the specified incident record.

                                                                                  + *

                                                                                  Returns the details for the specified incident record.

                                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm-incidents/src/commands/ListTimelineEventsCommand.ts b/clients/client-ssm-incidents/src/commands/ListTimelineEventsCommand.ts index aab05db3ec7d..3b06cd2fe016 100644 --- a/clients/client-ssm-incidents/src/commands/ListTimelineEventsCommand.ts +++ b/clients/client-ssm-incidents/src/commands/ListTimelineEventsCommand.ts @@ -22,7 +22,7 @@ export interface ListTimelineEventsCommandInput extends ListTimelineEventsInput export interface ListTimelineEventsCommandOutput extends ListTimelineEventsOutput, __MetadataBearer {} /** - *

                                                                                  Lists timeline events of the specified incident record.

                                                                                  + *

                                                                                  Lists timeline events for the specified incident record.

                                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm-incidents/src/commands/StartIncidentCommand.ts b/clients/client-ssm-incidents/src/commands/StartIncidentCommand.ts index 89de28688f53..5c1c252fe6a6 100644 --- a/clients/client-ssm-incidents/src/commands/StartIncidentCommand.ts +++ b/clients/client-ssm-incidents/src/commands/StartIncidentCommand.ts @@ -22,7 +22,8 @@ export interface StartIncidentCommandInput extends StartIncidentInput {} export interface StartIncidentCommandOutput extends StartIncidentOutput, __MetadataBearer {} /** - *

                                                                                  Used to start an incident from CloudWatch alarms, EventBridge events, or manually.

                                                                                  + *

                                                                                  Used to start an incident from CloudWatch alarms, EventBridge events, or + * manually.

                                                                                  * @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-ssm-incidents/src/commands/UpdateIncidentRecordCommand.ts b/clients/client-ssm-incidents/src/commands/UpdateIncidentRecordCommand.ts index 0627f8f97535..a96476d3528e 100644 --- a/clients/client-ssm-incidents/src/commands/UpdateIncidentRecordCommand.ts +++ b/clients/client-ssm-incidents/src/commands/UpdateIncidentRecordCommand.ts @@ -22,7 +22,7 @@ export interface UpdateIncidentRecordCommandInput extends UpdateIncidentRecordIn export interface UpdateIncidentRecordCommandOutput extends UpdateIncidentRecordOutput, __MetadataBearer {} /** - *

                                                                                  Update the details of an incident record. You can use this action to update an + *

                                                                                  Update the details of an incident record. You can use this operation to update an * incident record from the defined chat channel. For more information about using actions * in chat channels, see Interacting through chat.

                                                                                  * @example diff --git a/clients/client-ssm-incidents/src/models/models_0.ts b/clients/client-ssm-incidents/src/models/models_0.ts index 81b7a8ab2b51..afc9117f9256 100644 --- a/clients/client-ssm-incidents/src/models/models_0.ts +++ b/clients/client-ssm-incidents/src/models/models_0.ts @@ -1,7 +1,7 @@ import { MetadataBearer as $MetadataBearer, SmithyException as __SmithyException } from "@aws-sdk/types"; /** - *

                                                                                  You don't have sufficient access to perform this action.

                                                                                  + *

                                                                                  You don't have sufficient access to perform this operation.

                                                                                  */ export interface AccessDeniedException extends __SmithyException, $MetadataBearer { name: "AccessDeniedException"; @@ -24,7 +24,8 @@ export enum SsmTargetAccount { } /** - *

                                                                                  Details about the Systems Manager automation document that will be used as a runbook during an incident.

                                                                                  + *

                                                                                  Details about the Systems Manager automation document that will be used as a runbook + * during an incident.

                                                                                  */ export interface SsmAutomation { /** @@ -70,8 +71,8 @@ export type Action = Action.SsmAutomationMember | Action.$UnknownMember; export namespace Action { /** - *

                                                                                  The Systems Manager automation document to start as the runbook at the beginning of the - * incident.

                                                                                  + *

                                                                                  The Systems Manager automation document to start as the runbook at the beginning of + * the incident.

                                                                                  */ export interface SsmAutomationMember { ssmAutomation: SsmAutomation; @@ -103,11 +104,12 @@ export namespace Action { } /** - *

                                                                                  Defines the Region and KMS key to add to the replication set.

                                                                                  + *

                                                                                  Defines the Amazon Web Services Region and KMS key to add to the + * replication set.

                                                                                  */ export interface AddRegionAction { /** - *

                                                                                  The Region name to add to the replication set.

                                                                                  + *

                                                                                  The Amazon Web Services Region name to add to the replication set.

                                                                                  */ regionName: string | undefined; @@ -182,9 +184,8 @@ export namespace AttributeValueList { } /** - *

                                                                                  The Systems Manager automation document - * process - * to start as the runbook at the beginning of the incident.

                                                                                  + *

                                                                                  The Systems Manager automation document process to start as the runbook at the + * beginning of the incident.

                                                                                  */ export type AutomationExecution = AutomationExecution.SsmExecutionArnMember | AutomationExecution.$UnknownMember; @@ -236,7 +237,8 @@ export namespace EmptyChatChannel { } /** - *

                                                                                  The AWS Chatbot chat channel used for collaboration during an incident.

                                                                                  + *

                                                                                  The Chatbot chat channel used for collaboration during an + * incident.

                                                                                  */ export type ChatChannel = ChatChannel.ChatbotSnsMember | ChatChannel.EmptyMember | ChatChannel.$UnknownMember; @@ -251,10 +253,11 @@ export namespace ChatChannel { } /** - *

                                                                                  The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an - * incident. You can also make updates to the incident through the chat channel + *

                                                                                  The Amazon SNS targets that Chatbot uses to notify the chat channel + * of updates to an incident. You can also make updates to the incident through the chat + * channel * by - * using the SNS topics.

                                                                                  + * using the Amazon SNS topics.

                                                                                  */ export interface ChatbotSnsMember { empty?: never; @@ -389,6 +392,11 @@ export interface ConflictException extends __SmithyException, $MetadataBearer { * The resource type */ resourceType?: ResourceType | string; + + /** + * If present in the output, the operation can be retried after this time + */ + retryAfter?: Date; } export namespace ConflictException { @@ -401,7 +409,8 @@ export namespace ConflictException { } /** - *

                                                                                  The mapping between a Region and the key that's used to encrypt the data.

                                                                                  + *

                                                                                  The mapping between a Amazon Web Services Region and the key that's used to encrypt the + * data.

                                                                                  */ export interface RegionMapInputValue { /** @@ -427,7 +436,8 @@ export interface CreateReplicationSetInput { regions: { [key: string]: RegionMapInputValue } | undefined; /** - *

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  + *

                                                                                  A token ensuring that the operation is called only once with the specified + * details.

                                                                                  */ clientToken?: string; } @@ -545,7 +555,8 @@ export namespace ThrottlingException { } /** - *

                                                                                  The input fails to satisfy the constraints specified by an AWS service.

                                                                                  + *

                                                                                  The input fails to satisfy the constraints specified by an Amazon Web Services + * service.

                                                                                  */ export interface ValidationException extends __SmithyException, $MetadataBearer { name: "ValidationException"; @@ -626,7 +637,8 @@ export interface IncidentTemplate { dedupeString?: string; /** - *

                                                                                  The SNS targets that are notified when updates are made to an incident.

                                                                                  + *

                                                                                  The Amazon SNS targets that are notified when updates are made to an + * incident.

                                                                                  */ notificationTargets?: NotificationTargetItem[]; } @@ -645,7 +657,8 @@ export namespace IncidentTemplate { export interface CreateResponsePlanInput { /** - *

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  + *

                                                                                  A token ensuring that the operation is called only once with the specified + * details.

                                                                                  */ clientToken?: string; @@ -665,9 +678,8 @@ export interface CreateResponsePlanInput { incidentTemplate: IncidentTemplate | undefined; /** - *

                                                                                  The - * AWS Chatbot - * chat channel used for collaboration during an incident.

                                                                                  + *

                                                                                  The Chatbot chat channel used for collaboration during an + * incident.

                                                                                  */ chatChannel?: ChatChannel; @@ -717,7 +729,7 @@ export namespace CreateResponsePlanOutput { } /** - *

                                                                                  Request references a resource which does not exist.

                                                                                  + *

                                                                                  Request references a resource which doesn't exist.

                                                                                  */ export interface ResourceNotFoundException extends __SmithyException, $MetadataBearer { name: "ResourceNotFoundException"; @@ -745,13 +757,14 @@ export namespace ResourceNotFoundException { export interface CreateTimelineEventInput { /** - *

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  + *

                                                                                  A token ensuring that the action is called only once with the specified + * details.

                                                                                  */ clientToken?: string; /** - *

                                                                                  The Amazon Resource Name (ARN) of the incident record you are adding the event - * to.

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the incident record to which the event will be + * added.

                                                                                  */ incidentRecordArn: string | undefined; @@ -767,7 +780,8 @@ export interface CreateTimelineEventInput { eventType: string | undefined; /** - *

                                                                                  A valid JSON string. There is no other schema imposed. A short description of the event.

                                                                                  + *

                                                                                  A short description of the event as a valid JSON string. There is no other schema + * imposed.

                                                                                  */ eventData: string | undefined; } @@ -830,12 +844,13 @@ export namespace DeleteIncidentRecordOutput { } /** - *

                                                                                  Defines the information about the Region you're deleting from your replication - * set.

                                                                                  + *

                                                                                  Defines the information about the Amazon Web Services Region you're deleting from your + * replication set.

                                                                                  */ export interface DeleteRegionAction { /** - *

                                                                                  The name of the Region you're deleting from the replication set.

                                                                                  + *

                                                                                  The name of the Amazon Web Services Region you're deleting from the replication + * set.

                                                                                  */ regionName: string | undefined; } @@ -937,12 +952,14 @@ export namespace DeleteResponsePlanOutput { export interface DeleteTimelineEventInput { /** - *

                                                                                  The Amazon Resource Name (ARN) of the incident that the event is part of.

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the incident that includes the timeline + * event.

                                                                                  */ incidentRecordArn: string | undefined; /** - *

                                                                                  The ID of the event you are updating. You can find this by using ListTimelineEvents.

                                                                                  + *

                                                                                  The ID of the event you are updating. You can find this by using + * ListTimelineEvents.

                                                                                  */ eventId: string | undefined; } @@ -1048,7 +1065,7 @@ export namespace GetIncidentRecordInput { } /** - *

                                                                                  Details about how the incident record was created and when.

                                                                                  + *

                                                                                  Details about what created the incident record and when it was created.

                                                                                  */ export interface IncidentRecordSource { /** @@ -1068,11 +1085,8 @@ export interface IncidentRecordSource { /** *

                                                                                  The service that started the incident. This can be manually created from Incident Manager, - * automatically created using an - * AWS - * CloudWatch alarm, or - * Amazon - * EventBridge event.

                                                                                  + * automatically created using an Amazon CloudWatch alarm, or Amazon EventBridge + * event.

                                                                                  */ source: string | undefined; } @@ -1106,7 +1120,8 @@ export interface IncidentRecord { title: string | undefined; /** - *

                                                                                  The summary of the incident. The summary is a brief synopsis of what occurred, what is currently happening, and context.

                                                                                  + *

                                                                                  The summary of the incident. The summary is a brief synopsis of what occurred, what's + * currently happening, and context of the incident.

                                                                                  */ summary?: string; @@ -1151,7 +1166,7 @@ export interface IncidentRecord { incidentRecordSource: IncidentRecordSource | undefined; /** - *

                                                                                  The string Incident Manager uses to prevent duplicate incidents from being created by the same incident.

                                                                                  + *

                                                                                  The string Incident Manager uses to prevent duplicate incidents from being created by the same incident in the same account.

                                                                                  */ dedupeString: string | undefined; @@ -1161,7 +1176,8 @@ export interface IncidentRecord { chatChannel?: ChatChannel; /** - *

                                                                                  The SNS targets that are notified when updates are made to an incident.

                                                                                  + *

                                                                                  The Amazon SNS targets that are notified when updates are made to an + * incident.

                                                                                  */ notificationTargets?: NotificationTargetItem[]; } @@ -1184,7 +1200,7 @@ export namespace IncidentRecord { export interface GetIncidentRecordOutput { /** - *

                                                                                  Details structure of the incident record.

                                                                                  + *

                                                                                  Details the structure of the incident record.

                                                                                  */ incidentRecord: IncidentRecord | undefined; } @@ -1235,26 +1251,26 @@ export enum RegionStatus { } /** - *

                                                                                  Information about a Region in your replication set.

                                                                                  + *

                                                                                  Information about a Amazon Web Services Region in your replication set.

                                                                                  */ export interface RegionInfo { /** - *

                                                                                  The ID of the KMS key used to encrypt the data in this Region.

                                                                                  + *

                                                                                  The ID of the KMS key used to encrypt the data in this Amazon Web Services Region.

                                                                                  */ sseKmsKeyId?: string; /** - *

                                                                                  The status of the Region in the replication set.

                                                                                  + *

                                                                                  The status of the Amazon Web Services Region in the replication set.

                                                                                  */ status: RegionStatus | string | undefined; /** - *

                                                                                  Information displayed about the status of the Region.

                                                                                  + *

                                                                                  Information displayed about the status of the Amazon Web Services Region.

                                                                                  */ statusMessage?: string; /** - *

                                                                                  The most recent date and time that the Region's status was updated.

                                                                                  + *

                                                                                  The most recent date and time that Incident Manager updated the Amazon Web Services Region's status.

                                                                                  */ statusUpdateDateTime: Date | undefined; } @@ -1292,8 +1308,8 @@ export enum ReplicationSetStatus { } /** - *

                                                                                  The set of Regions that your Incident Manager data will be replicated to and the KMS key used - * to encrypt the data.

                                                                                  + *

                                                                                  The set of Amazon Web Services Region that your Incident Manager data will be replicated to + * and the KMS key used to encrypt the data.

                                                                                  */ export interface ReplicationSet { /** @@ -1302,8 +1318,7 @@ export interface ReplicationSet { arn?: string; /** - *

                                                                                  The map between each Region in your replication set and the KMS key that is used to - * encrypt the data in that Region.

                                                                                  + *

                                                                                  The map between each Amazon Web Services Region in your replication set and the KMS key that's used to encrypt the data in that Region.

                                                                                  */ regionMap: { [key: string]: RegionInfo } | undefined; @@ -1315,7 +1330,8 @@ export interface ReplicationSet { /** *

                                                                                  Determines if the replication set deletion protection is enabled or not. If deletion - * protection is enabled, you can't delete the last Region in the replication set.

                                                                                  + * protection is enabled, you can't delete the last Amazon Web Services Region in the + * replication set.

                                                                                  */ deletionProtected: boolean | undefined; @@ -1406,7 +1422,7 @@ export interface ResourcePolicy { policyId: string | undefined; /** - *

                                                                                  The Region that policy allows resources to be used in.

                                                                                  + *

                                                                                  The Amazon Web Services Region that policy allows resources to be used in.

                                                                                  */ ramResourceShareRegion: string | undefined; } @@ -1464,7 +1480,7 @@ export interface GetResponsePlanOutput { arn: string | undefined; /** - *

                                                                                  The short format name of the response plan. Can't contain spaces.

                                                                                  + *

                                                                                  The short format name of the response plan. The name can't contain spaces.

                                                                                  */ name: string | undefined; @@ -1479,9 +1495,7 @@ export interface GetResponsePlanOutput { incidentTemplate: IncidentTemplate | undefined; /** - *

                                                                                  The - * AWS - * Chatbot chat channel used for collaboration during an + *

                                                                                  The Chatbot chat channel used for collaboration during an * incident.

                                                                                  */ chatChannel?: ChatChannel; @@ -1512,12 +1526,14 @@ export namespace GetResponsePlanOutput { export interface GetTimelineEventInput { /** - *

                                                                                  The Amazon Resource Name (ARN) of the incident that the timeline event is part of.

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the incident that includes the timeline + * event.

                                                                                  */ incidentRecordArn: string | undefined; /** - *

                                                                                  The ID of the event. You can get an event's ID when you create it or by using ListTimelineEvents.

                                                                                  + *

                                                                                  The ID of the event. You can get an event's ID when you create it, or by using + * ListTimelineEvents.

                                                                                  */ eventId: string | undefined; } @@ -1673,7 +1689,7 @@ export namespace ItemValue { } /** - *

                                                                                  The URL, if the related item is a non-AWS resource.

                                                                                  + *

                                                                                  The URL, if the related item is a non-Amazon Web Services resource.

                                                                                  */ export interface UrlMember { arn?: never; @@ -1683,7 +1699,7 @@ export namespace ItemValue { } /** - *

                                                                                  The metric definition, if the related item is a metric in CloudWatch.

                                                                                  + *

                                                                                  The metric definition, if the related item is a metric in Amazon CloudWatch.

                                                                                  */ export interface MetricDefinitionMember { arn?: never; @@ -1783,8 +1799,8 @@ export namespace ItemIdentifier { export interface ListIncidentRecordsInput { /** - *

                                                                                  Filter the list of incident records you are searching through. You can filter on the - * following keys:

                                                                                  + *

                                                                                  Filters the list of incident records through which you are searching. You can filter + * on the following keys:

                                                                                  *
                                                                                    *
                                                                                  • *

                                                                                    @@ -1807,6 +1823,21 @@ export interface ListIncidentRecordsInput { *

                                                                                    *
                                                                                  • *
                                                                                  + *

                                                                                  Note the following when deciding how to use Filters:

                                                                                  + *
                                                                                    + *
                                                                                  • + *

                                                                                    If you don't specify a Filter, the response includes all incident + * records.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    If you specify more than one filter in a single request, the response returns + * incident records that match all filters.

                                                                                    + *
                                                                                  • + *
                                                                                  • + *

                                                                                    If you specify a filter with more than one value, the response returns + * incident records that match any of the values provided.

                                                                                    + *
                                                                                  • + *
                                                                                  */ filters?: Filter[]; @@ -1854,7 +1885,8 @@ export namespace ListIncidentRecordsOutput { export interface ListRelatedItemsInput { /** - *

                                                                                  The Amazon Resource Name (ARN) of the incident record that you are listing related items for.

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the incident record containing the listed related + * items.

                                                                                  */ incidentRecordArn: string | undefined; @@ -2081,7 +2113,8 @@ export enum SortOrder { export interface ListTimelineEventsInput { /** - *

                                                                                  The Amazon Resource Name (ARN) of the incident that the event is part of.

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the incident that includes the timeline + * event.

                                                                                  */ incidentRecordArn: string | undefined; @@ -2100,6 +2133,21 @@ export interface ListTimelineEventsInput { *

                                                                                  *
                                                                                • *
                                                                                + *

                                                                                Note the following when deciding how to use Filters:

                                                                                + *
                                                                                  + *
                                                                                • + *

                                                                                  If you don't specify a Filter, the response includes all timeline + * events.

                                                                                  + *
                                                                                • + *
                                                                                • + *

                                                                                  If you specify more than one filter in a single request, the response returns + * timeline events that match all filters.

                                                                                  + *
                                                                                • + *
                                                                                • + *

                                                                                  If you specify a filter with more than one value, the response returns + * timeline events that match any of the values provided.

                                                                                  + *
                                                                                • + *
                                                                                */ filters?: Filter[]; @@ -2254,14 +2302,14 @@ export namespace RelatedItemsUpdate { */ export interface TriggerDetails { /** - *

                                                                                Identifies the service that sourced the event. All events sourced from within AWS begin - * with "aws." Customer-generated events can have any value here, as long as it doesn't begin - * with "aws." We recommend the use of Java package-name style reverse domain-name strings.

                                                                                + *

                                                                                Identifies the service that sourced the event. All events sourced from within Amazon Web Services begin with "aws." Customer-generated events can have any value + * here, as long as it doesn't begin with "aws." We recommend the use of Java + * package-name style reverse domain-name strings.

                                                                                */ source: string | undefined; /** - *

                                                                                The ARN of the source that detected the incident.

                                                                                + *

                                                                                The Amazon Resource Name (ARN) of the source that detected the incident.

                                                                                */ triggerArn?: string; @@ -2271,8 +2319,7 @@ export interface TriggerDetails { timestamp: Date | undefined; /** - *

                                                                                Raw data passed from either EventBridge, CloudWatch, or Incident Manager when an - * incident is created.

                                                                                + *

                                                                                Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or Incident Manager when an incident is created.

                                                                                */ rawData?: string; } @@ -2288,13 +2335,14 @@ export namespace TriggerDetails { export interface StartIncidentInput { /** - *

                                                                                A token ensuring that the action is called only once with the specified details.

                                                                                + *

                                                                                A token ensuring that the operation is called only once with the specified + * details.

                                                                                */ clientToken?: string; /** *

                                                                                The Amazon Resource Name (ARN) of the response plan that pre-defines summary, chat - * channels, SNS topics, runbooks, title, and impact of the incident.

                                                                                + * channels, Amazon SNS topics, runbooks, title, and impact of the incident.

                                                                                */ responsePlanArn: string | undefined; @@ -2347,7 +2395,7 @@ export interface StartIncidentInput { /** *

                                                                                Add related items to the incident for other responders to use. Related items are AWS - * resources, external links, or files uploaded to an S3 bucket.

                                                                                + * resources, external links, or files uploaded to an Amazon S3 bucket.

                                                                                */ relatedItems?: RelatedItem[]; } @@ -2454,7 +2502,8 @@ export interface UpdateDeletionProtectionInput { deletionProtected: boolean | undefined; /** - *

                                                                                A token ensuring that the action is called only once with the specified details.

                                                                                + *

                                                                                A token ensuring that the operation is called only once with the specified + * details.

                                                                                */ clientToken?: string; } @@ -2481,7 +2530,8 @@ export namespace UpdateDeletionProtectionOutput { export interface UpdateIncidentRecordInput { /** - *

                                                                                A token ensuring that the action is called only once with the specified details.

                                                                                + *

                                                                                A token that ensures that the operation is called only once with the specified + * details.

                                                                                */ clientToken?: string; @@ -2491,26 +2541,26 @@ export interface UpdateIncidentRecordInput { arn: string | undefined; /** - *

                                                                                The title of the incident is a brief and easily recognizable.

                                                                                + *

                                                                                A brief description of the incident.

                                                                                */ title?: string; /** - *

                                                                                The summary describes what has happened during the incident.

                                                                                + *

                                                                                A longer description of what occurred during the incident.

                                                                                */ summary?: string; /** - *

                                                                                Defines the impact to customers and applications. Providing an impact overwrites the - * impact provided by the response plan.

                                                                                + *

                                                                                Defines the impact of the incident to customers and applications. Providing an impact + * overwrites the impact provided by the response plan.

                                                                                *

                                                                                * Possible impacts: *

                                                                                *
                                                                                  *
                                                                                • *

                                                                                  - * 1 - Critical impact, this typically relates to full application - * failure that impacts many to all customers.

                                                                                  + * 1 - Critical impact, full application failure that impacts many + * to all customers.

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  @@ -2519,12 +2569,12 @@ export interface UpdateIncidentRecordInput { *

                                                                                • *
                                                                                • *

                                                                                  - * 3 - Medium impact, the application is providing reduced service + * 3 - Medium impact, the application is providing reduced service * to customers.

                                                                                  *
                                                                                • *
                                                                                • *

                                                                                  - * 4 - Low impact, customer might aren't impacted by the problem + * 4 - Low impact, customer aren't impacted by the problem * yet.

                                                                                  *
                                                                                • *
                                                                                • @@ -2537,18 +2587,20 @@ export interface UpdateIncidentRecordInput { impact?: number; /** - *

                                                                                  The status of the incident. An incident can be Open or Resolved.

                                                                                  + *

                                                                                  The status of the incident. An incident can be Open or + * Resolved.

                                                                                  */ status?: IncidentRecordStatus | string; /** - *

                                                                                  The AWS Chatbot chat channel for responders to collaborate in.

                                                                                  + *

                                                                                  The Chatbot chat channel where responders can collaborate.

                                                                                  */ chatChannel?: ChatChannel; /** - *

                                                                                  The SNS targets that are notified when updates are made to an incident.

                                                                                  - *

                                                                                  Using multiple SNS topics creates redundancy in the case that a Region is down during + *

                                                                                  The Amazon SNS targets that are notified when updates are made to an + * incident.

                                                                                  + *

                                                                                  Using multiple SNS topics creates redundancy in the event that a Region is down during * the incident.

                                                                                  */ notificationTargets?: NotificationTargetItem[]; @@ -2580,13 +2632,14 @@ export namespace UpdateIncidentRecordOutput { export interface UpdateRelatedItemsInput { /** - *

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  + *

                                                                                  A token ensuring that the operation is called only once with the specified + * details.

                                                                                  */ clientToken?: string; /** - *

                                                                                  The Amazon Resource Name (ARN) of the incident record you are updating related items - * in.

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the incident record containing the related items you + * are updating.

                                                                                  */ incidentRecordArn: string | undefined; @@ -2629,7 +2682,8 @@ export type UpdateReplicationSetAction = export namespace UpdateReplicationSetAction { /** - *

                                                                                  Details about the Region that you're adding to the replication set.

                                                                                  + *

                                                                                  Details about the Amazon Web Services Region that you're adding to the replication + * set.

                                                                                  */ export interface AddRegionActionMember { addRegionAction: AddRegionAction; @@ -2638,7 +2692,8 @@ export namespace UpdateReplicationSetAction { } /** - *

                                                                                  Details about the Region that you're deleting to the replication set.

                                                                                  + *

                                                                                  Details about the Amazon Web Services Region that you're deleting to the replication + * set.

                                                                                  */ export interface DeleteRegionActionMember { addRegionAction?: never; @@ -2688,7 +2743,8 @@ export interface UpdateReplicationSetInput { actions: UpdateReplicationSetAction[] | undefined; /** - *

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  + *

                                                                                  A token ensuring that the operation is called only once with the specified + * details.

                                                                                  */ clientToken?: string; } @@ -2716,7 +2772,8 @@ export namespace UpdateReplicationSetOutput { export interface UpdateResponsePlanInput { /** - *

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  + *

                                                                                  A token ensuring that the operation is called only once with the specified + * details.

                                                                                  */ clientToken?: string; @@ -2726,12 +2783,13 @@ export interface UpdateResponsePlanInput { arn: string | undefined; /** - *

                                                                                  The long format name of the response plan. Can't contain spaces.

                                                                                  + *

                                                                                  The long format name of the response plan. The display name can't contain + * spaces.

                                                                                  */ displayName?: string; /** - *

                                                                                  The short format name of the incident. Can't contain spaces.

                                                                                  + *

                                                                                  The short format name of the incident. The title can't contain spaces.

                                                                                  */ incidentTemplateTitle?: string; @@ -2773,19 +2831,19 @@ export interface UpdateResponsePlanInput { incidentTemplateSummary?: string; /** - *

                                                                                  Used to create only one incident record for an incident.

                                                                                  + *

                                                                                  The string Incident Manager uses to prevent duplicate incidents from being created by the + * same incident in the same account.

                                                                                  */ incidentTemplateDedupeString?: string; /** - *

                                                                                  The SNS targets that are notified when updates are made to an incident.

                                                                                  + *

                                                                                  The Amazon SNS targets that are notified when updates are made to an + * incident.

                                                                                  */ incidentTemplateNotificationTargets?: NotificationTargetItem[]; /** - *

                                                                                  The - * AWS - * Chatbot chat channel used for collaboration during an + *

                                                                                  The Chatbot chat channel used for collaboration during an * incident.

                                                                                  *

                                                                                  Use the empty structure to remove the chat channel from the response plan.

                                                                                  */ @@ -2831,18 +2889,20 @@ export namespace UpdateResponsePlanOutput { export interface UpdateTimelineEventInput { /** - *

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  + *

                                                                                  A token ensuring that the operation is called only once with the specified + * details.

                                                                                  */ clientToken?: string; /** - *

                                                                                  The Amazon Resource Name (ARN) of the incident that the timeline event is part - * of.

                                                                                  + *

                                                                                  The Amazon Resource Name (ARN) of the incident that includes the timeline + * event.

                                                                                  */ incidentRecordArn: string | undefined; /** - *

                                                                                  The ID of the event you are updating. You can find this by using ListTimelineEvents.

                                                                                  + *

                                                                                  The ID of the event you are updating. You can find this by using + * ListTimelineEvents.

                                                                                  */ eventId: string | undefined; diff --git a/clients/client-ssm-incidents/src/protocols/Aws_restJson1.ts b/clients/client-ssm-incidents/src/protocols/Aws_restJson1.ts index 0d35aa2cd4c9..045e3e0fa71c 100644 --- a/clients/client-ssm-incidents/src/protocols/Aws_restJson1.ts +++ b/clients/client-ssm-incidents/src/protocols/Aws_restJson1.ts @@ -3535,6 +3535,7 @@ const deserializeAws_restJson1ConflictExceptionResponse = async ( message: undefined, resourceIdentifier: undefined, resourceType: undefined, + retryAfter: undefined, }; const data: any = parsedOutput.body; if (data.message !== undefined && data.message !== null) { @@ -3546,6 +3547,9 @@ const deserializeAws_restJson1ConflictExceptionResponse = async ( if (data.resourceType !== undefined && data.resourceType !== null) { contents.resourceType = __expectString(data.resourceType); } + if (data.retryAfter !== undefined && data.retryAfter !== null) { + contents.retryAfter = __expectNonNull(__parseEpochTimestamp(__expectNumber(data.retryAfter))); + } return contents; }; diff --git a/clients/client-textract/src/Textract.ts b/clients/client-textract/src/Textract.ts index 1f6d9a38b736..9a0afb8d0210 100644 --- a/clients/client-textract/src/Textract.ts +++ b/clients/client-textract/src/Textract.ts @@ -25,6 +25,11 @@ import { GetDocumentTextDetectionCommandInput, GetDocumentTextDetectionCommandOutput, } from "./commands/GetDocumentTextDetectionCommand"; +import { + GetExpenseAnalysisCommand, + GetExpenseAnalysisCommandInput, + GetExpenseAnalysisCommandOutput, +} from "./commands/GetExpenseAnalysisCommand"; import { StartDocumentAnalysisCommand, StartDocumentAnalysisCommandInput, @@ -35,6 +40,11 @@ import { StartDocumentTextDetectionCommandInput, StartDocumentTextDetectionCommandOutput, } from "./commands/StartDocumentTextDetectionCommand"; +import { + StartExpenseAnalysisCommand, + StartExpenseAnalysisCommandInput, + StartExpenseAnalysisCommandOutput, +} from "./commands/StartExpenseAnalysisCommand"; import { TextractClient } from "./TextractClient"; /** @@ -324,12 +334,60 @@ export class Textract extends TextractClient { } } + /** + *

                                                                                  Gets the results for an Amazon Textract asynchronous operation that analyzes invoices and + * receipts. Amazon Textract finds contact information, items purchased, and vendor name, from input + * invoices and receipts.

                                                                                  + *

                                                                                  You start asynchronous invoice/receipt analysis by calling StartExpenseAnalysis, which returns a job identifier (JobId). Upon + * completion of the invoice/receipt analysis, Amazon Textract publishes the completion status to the + * Amazon Simple Notification Service (Amazon SNS) topic. This topic must be registered in the initial call to + * StartExpenseAnalysis. To get the results of the invoice/receipt analysis operation, + * first ensure that the status value published to the Amazon SNS topic is SUCCEEDED. If so, + * call GetExpenseAnalysis, and pass the job identifier (JobId) from the + * initial call to StartExpenseAnalysis.

                                                                                  + *

                                                                                  Use the MaxResults parameter to limit the number of blocks that are returned. If there are + * more results than specified in MaxResults, the value of NextToken in + * the operation response contains a pagination token for getting the next set of results. To get + * the next page of results, call GetExpenseAnalysis, and populate the + * NextToken request parameter with the token value that's returned from the previous + * call to GetExpenseAnalysis.

                                                                                  + *

                                                                                  For more information, see Analyzing Invoices and Receipts.

                                                                                  + */ + public getExpenseAnalysis( + args: GetExpenseAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public getExpenseAnalysis( + args: GetExpenseAnalysisCommandInput, + cb: (err: any, data?: GetExpenseAnalysisCommandOutput) => void + ): void; + public getExpenseAnalysis( + args: GetExpenseAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetExpenseAnalysisCommandOutput) => void + ): void; + public getExpenseAnalysis( + args: GetExpenseAnalysisCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: GetExpenseAnalysisCommandOutput) => void), + cb?: (err: any, data?: GetExpenseAnalysisCommandOutput) => void + ): Promise | void { + const command = new GetExpenseAnalysisCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } + /** *

                                                                                  Starts the asynchronous analysis of an input document for relationships between detected * items such as key-value pairs, tables, and selection elements.

                                                                                  * *

                                                                                  - * StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, and PDF format. The + * StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The * documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name * of the document. *

                                                                                  @@ -377,7 +435,7 @@ export class Textract extends TextractClient { *

                                                                                  Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of * text and the words that make up a line of text.

                                                                                  *

                                                                                  - * StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, and PDF format. The + * StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The * documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name * of the document. *

                                                                                  @@ -420,4 +478,51 @@ export class Textract extends TextractClient { return this.send(command, optionsOrCb); } } + + /** + *

                                                                                  Starts the asynchronous analysis of invoices or receipts for data like contact information, + * items purchased, and vendor names.

                                                                                  + * + *

                                                                                  + * StartExpenseAnalysis can analyze text in documents that are in JPEG, PNG, and + * PDF format. The documents must be stored in an Amazon S3 bucket. Use the DocumentLocation parameter to specify the name of your S3 bucket and the name of the + * document in that bucket.

                                                                                  + *

                                                                                  + * StartExpenseAnalysis returns a job identifier (JobId) that you + * will provide to GetExpenseAnalysis to retrieve the results of the operation. When + * the analysis of the input invoices/receipts is finished, Amazon Textract publishes a completion + * status to the Amazon Simple Notification Service (Amazon SNS) topic that you provide to the NotificationChannel. + * To obtain the results of the invoice and receipt analysis operation, ensure that the status value + * published to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass the job identifier (JobId) that was + * returned by your call to StartExpenseAnalysis.

                                                                                  + *

                                                                                  For more information, see Analyzing Invoices and Receipts.

                                                                                  + */ + public startExpenseAnalysis( + args: StartExpenseAnalysisCommandInput, + options?: __HttpHandlerOptions + ): Promise; + public startExpenseAnalysis( + args: StartExpenseAnalysisCommandInput, + cb: (err: any, data?: StartExpenseAnalysisCommandOutput) => void + ): void; + public startExpenseAnalysis( + args: StartExpenseAnalysisCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: StartExpenseAnalysisCommandOutput) => void + ): void; + public startExpenseAnalysis( + args: StartExpenseAnalysisCommandInput, + optionsOrCb?: __HttpHandlerOptions | ((err: any, data?: StartExpenseAnalysisCommandOutput) => void), + cb?: (err: any, data?: StartExpenseAnalysisCommandOutput) => void + ): Promise | void { + const command = new StartExpenseAnalysisCommand(args); + if (typeof optionsOrCb === "function") { + this.send(command, optionsOrCb); + } else if (typeof cb === "function") { + if (typeof optionsOrCb !== "object") throw new Error(`Expect http options but get ${typeof optionsOrCb}`); + this.send(command, optionsOrCb || {}, cb); + } else { + return this.send(command, optionsOrCb); + } + } } diff --git a/clients/client-textract/src/TextractClient.ts b/clients/client-textract/src/TextractClient.ts index 85f27313b776..7cf69a9da6d5 100644 --- a/clients/client-textract/src/TextractClient.ts +++ b/clients/client-textract/src/TextractClient.ts @@ -60,6 +60,7 @@ import { GetDocumentTextDetectionCommandInput, GetDocumentTextDetectionCommandOutput, } from "./commands/GetDocumentTextDetectionCommand"; +import { GetExpenseAnalysisCommandInput, GetExpenseAnalysisCommandOutput } from "./commands/GetExpenseAnalysisCommand"; import { StartDocumentAnalysisCommandInput, StartDocumentAnalysisCommandOutput, @@ -68,6 +69,10 @@ import { StartDocumentTextDetectionCommandInput, StartDocumentTextDetectionCommandOutput, } from "./commands/StartDocumentTextDetectionCommand"; +import { + StartExpenseAnalysisCommandInput, + StartExpenseAnalysisCommandOutput, +} from "./commands/StartExpenseAnalysisCommand"; import { getRuntimeConfig as __getRuntimeConfig } from "./runtimeConfig"; export type ServiceInputTypes = @@ -76,8 +81,10 @@ export type ServiceInputTypes = | DetectDocumentTextCommandInput | GetDocumentAnalysisCommandInput | GetDocumentTextDetectionCommandInput + | GetExpenseAnalysisCommandInput | StartDocumentAnalysisCommandInput - | StartDocumentTextDetectionCommandInput; + | StartDocumentTextDetectionCommandInput + | StartExpenseAnalysisCommandInput; export type ServiceOutputTypes = | AnalyzeDocumentCommandOutput @@ -85,8 +92,10 @@ export type ServiceOutputTypes = | DetectDocumentTextCommandOutput | GetDocumentAnalysisCommandOutput | GetDocumentTextDetectionCommandOutput + | GetExpenseAnalysisCommandOutput | StartDocumentAnalysisCommandOutput - | StartDocumentTextDetectionCommandOutput; + | StartDocumentTextDetectionCommandOutput + | StartExpenseAnalysisCommandOutput; export interface ClientDefaults extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> { /** diff --git a/clients/client-textract/src/commands/GetExpenseAnalysisCommand.ts b/clients/client-textract/src/commands/GetExpenseAnalysisCommand.ts new file mode 100644 index 000000000000..d949f608057e --- /dev/null +++ b/clients/client-textract/src/commands/GetExpenseAnalysisCommand.ts @@ -0,0 +1,111 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { GetExpenseAnalysisRequest, GetExpenseAnalysisResponse } from "../models/models_0"; +import { + deserializeAws_json1_1GetExpenseAnalysisCommand, + serializeAws_json1_1GetExpenseAnalysisCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, TextractClientResolvedConfig } from "../TextractClient"; + +export interface GetExpenseAnalysisCommandInput extends GetExpenseAnalysisRequest {} +export interface GetExpenseAnalysisCommandOutput extends GetExpenseAnalysisResponse, __MetadataBearer {} + +/** + *

                                                                                  Gets the results for an Amazon Textract asynchronous operation that analyzes invoices and + * receipts. Amazon Textract finds contact information, items purchased, and vendor name, from input + * invoices and receipts.

                                                                                  + *

                                                                                  You start asynchronous invoice/receipt analysis by calling StartExpenseAnalysis, which returns a job identifier (JobId). Upon + * completion of the invoice/receipt analysis, Amazon Textract publishes the completion status to the + * Amazon Simple Notification Service (Amazon SNS) topic. This topic must be registered in the initial call to + * StartExpenseAnalysis. To get the results of the invoice/receipt analysis operation, + * first ensure that the status value published to the Amazon SNS topic is SUCCEEDED. If so, + * call GetExpenseAnalysis, and pass the job identifier (JobId) from the + * initial call to StartExpenseAnalysis.

                                                                                  + *

                                                                                  Use the MaxResults parameter to limit the number of blocks that are returned. If there are + * more results than specified in MaxResults, the value of NextToken in + * the operation response contains a pagination token for getting the next set of results. To get + * the next page of results, call GetExpenseAnalysis, and populate the + * NextToken request parameter with the token value that's returned from the previous + * call to GetExpenseAnalysis.

                                                                                  + *

                                                                                  For more information, see Analyzing Invoices and Receipts.

                                                                                  + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { TextractClient, GetExpenseAnalysisCommand } from "@aws-sdk/client-textract"; // ES Modules import + * // const { TextractClient, GetExpenseAnalysisCommand } = require("@aws-sdk/client-textract"); // CommonJS import + * const client = new TextractClient(config); + * const command = new GetExpenseAnalysisCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link GetExpenseAnalysisCommandInput} for command's `input` shape. + * @see {@link GetExpenseAnalysisCommandOutput} for command's `response` shape. + * @see {@link TextractClientResolvedConfig | config} for command's `input` shape. + * + */ +export class GetExpenseAnalysisCommand extends $Command< + GetExpenseAnalysisCommandInput, + GetExpenseAnalysisCommandOutput, + TextractClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: GetExpenseAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TextractClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "TextractClient"; + const commandName = "GetExpenseAnalysisCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: GetExpenseAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: GetExpenseAnalysisResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: GetExpenseAnalysisCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1GetExpenseAnalysisCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1GetExpenseAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-textract/src/commands/StartDocumentAnalysisCommand.ts b/clients/client-textract/src/commands/StartDocumentAnalysisCommand.ts index 89cd495d6b06..339db10cf78f 100644 --- a/clients/client-textract/src/commands/StartDocumentAnalysisCommand.ts +++ b/clients/client-textract/src/commands/StartDocumentAnalysisCommand.ts @@ -26,7 +26,7 @@ export interface StartDocumentAnalysisCommandOutput extends StartDocumentAnalysi * items such as key-value pairs, tables, and selection elements.

                                                                                  * *

                                                                                  - * StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, and PDF format. The + * StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The * documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name * of the document. *

                                                                                  diff --git a/clients/client-textract/src/commands/StartDocumentTextDetectionCommand.ts b/clients/client-textract/src/commands/StartDocumentTextDetectionCommand.ts index 1a219520b224..1976421d668c 100644 --- a/clients/client-textract/src/commands/StartDocumentTextDetectionCommand.ts +++ b/clients/client-textract/src/commands/StartDocumentTextDetectionCommand.ts @@ -25,7 +25,7 @@ export interface StartDocumentTextDetectionCommandOutput extends StartDocumentTe *

                                                                                  Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of * text and the words that make up a line of text.

                                                                                  *

                                                                                  - * StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, and PDF format. The + * StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The * documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name * of the document. *

                                                                                  diff --git a/clients/client-textract/src/commands/StartExpenseAnalysisCommand.ts b/clients/client-textract/src/commands/StartExpenseAnalysisCommand.ts new file mode 100644 index 000000000000..c38d0715d347 --- /dev/null +++ b/clients/client-textract/src/commands/StartExpenseAnalysisCommand.ts @@ -0,0 +1,110 @@ +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, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, + SerdeContext as __SerdeContext, +} from "@aws-sdk/types"; + +import { StartExpenseAnalysisRequest, StartExpenseAnalysisResponse } from "../models/models_0"; +import { + deserializeAws_json1_1StartExpenseAnalysisCommand, + serializeAws_json1_1StartExpenseAnalysisCommand, +} from "../protocols/Aws_json1_1"; +import { ServiceInputTypes, ServiceOutputTypes, TextractClientResolvedConfig } from "../TextractClient"; + +export interface StartExpenseAnalysisCommandInput extends StartExpenseAnalysisRequest {} +export interface StartExpenseAnalysisCommandOutput extends StartExpenseAnalysisResponse, __MetadataBearer {} + +/** + *

                                                                                  Starts the asynchronous analysis of invoices or receipts for data like contact information, + * items purchased, and vendor names.

                                                                                  + * + *

                                                                                  + * StartExpenseAnalysis can analyze text in documents that are in JPEG, PNG, and + * PDF format. The documents must be stored in an Amazon S3 bucket. Use the DocumentLocation parameter to specify the name of your S3 bucket and the name of the + * document in that bucket.

                                                                                  + *

                                                                                  + * StartExpenseAnalysis returns a job identifier (JobId) that you + * will provide to GetExpenseAnalysis to retrieve the results of the operation. When + * the analysis of the input invoices/receipts is finished, Amazon Textract publishes a completion + * status to the Amazon Simple Notification Service (Amazon SNS) topic that you provide to the NotificationChannel. + * To obtain the results of the invoice and receipt analysis operation, ensure that the status value + * published to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass the job identifier (JobId) that was + * returned by your call to StartExpenseAnalysis.

                                                                                  + *

                                                                                  For more information, see Analyzing Invoices and Receipts.

                                                                                  + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { TextractClient, StartExpenseAnalysisCommand } from "@aws-sdk/client-textract"; // ES Modules import + * // const { TextractClient, StartExpenseAnalysisCommand } = require("@aws-sdk/client-textract"); // CommonJS import + * const client = new TextractClient(config); + * const command = new StartExpenseAnalysisCommand(input); + * const response = await client.send(command); + * ``` + * + * @see {@link StartExpenseAnalysisCommandInput} for command's `input` shape. + * @see {@link StartExpenseAnalysisCommandOutput} for command's `response` shape. + * @see {@link TextractClientResolvedConfig | config} for command's `input` shape. + * + */ +export class StartExpenseAnalysisCommand extends $Command< + StartExpenseAnalysisCommandInput, + StartExpenseAnalysisCommandOutput, + TextractClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + constructor(readonly input: StartExpenseAnalysisCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: TextractClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "TextractClient"; + const commandName = "StartExpenseAnalysisCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: StartExpenseAnalysisRequest.filterSensitiveLog, + outputFilterSensitiveLog: StartExpenseAnalysisResponse.filterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + private serialize(input: StartExpenseAnalysisCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return serializeAws_json1_1StartExpenseAnalysisCommand(input, context); + } + + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return deserializeAws_json1_1StartExpenseAnalysisCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-textract/src/commands/index.ts b/clients/client-textract/src/commands/index.ts index 7d0b4da13e4d..58145b5e9f67 100644 --- a/clients/client-textract/src/commands/index.ts +++ b/clients/client-textract/src/commands/index.ts @@ -3,5 +3,7 @@ export * from "./AnalyzeExpenseCommand"; export * from "./DetectDocumentTextCommand"; export * from "./GetDocumentAnalysisCommand"; export * from "./GetDocumentTextDetectionCommand"; +export * from "./GetExpenseAnalysisCommand"; export * from "./StartDocumentAnalysisCommand"; export * from "./StartDocumentTextDetectionCommand"; +export * from "./StartExpenseAnalysisCommand"; diff --git a/clients/client-textract/src/models/models_0.ts b/clients/client-textract/src/models/models_0.ts index 83c5a506ce3a..65526cfb4a0f 100644 --- a/clients/client-textract/src/models/models_0.ts +++ b/clients/client-textract/src/models/models_0.ts @@ -40,7 +40,7 @@ export interface S3Object { /** *

                                                                                  The file name of the input document. Synchronous operations can use image files that are - * in JPEG or PNG format. Asynchronous operations also support PDF format files.

                                                                                  + * in JPEG or PNG format. Asynchronous operations also support PDF and TIFF format files.

                                                                                  */ Name?: string; @@ -554,7 +554,7 @@ export interface Block { /** *

                                                                                  The page on which a block was detected. Page is returned by asynchronous * operations. Page values greater than 1 are only returned for multipage documents that are - * in PDF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is + * in PDF or TIFF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is * considered to be a single-page document. The value of Page is always 1. * Synchronous operations don't return Page because every input document is * considered to be a single-page document.

                                                                                  @@ -1363,6 +1363,85 @@ export namespace GetDocumentTextDetectionResponse { }); } +export interface GetExpenseAnalysisRequest { + /** + *

                                                                                  A unique identifier for the text detection job. The JobId is returned from + * StartExpenseAnalysis. A JobId value is only valid for 7 days.

                                                                                  + */ + JobId: string | undefined; + + /** + *

                                                                                  The maximum number of results to return per paginated call. The largest value you can + * specify is 20. If you specify a value greater than 20, a maximum of 20 results is + * returned. The default value is 20.

                                                                                  + */ + MaxResults?: number; + + /** + *

                                                                                  If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination + * token in the response. You can use this pagination token to retrieve the next set of blocks.

                                                                                  + */ + NextToken?: string; +} + +export namespace GetExpenseAnalysisRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetExpenseAnalysisRequest): any => ({ + ...obj, + }); +} + +export interface GetExpenseAnalysisResponse { + /** + *

                                                                                  Information about a document that Amazon Textract processed. DocumentMetadata is + * returned in every page of paginated responses from an Amazon Textract operation.

                                                                                  + */ + DocumentMetadata?: DocumentMetadata; + + /** + *

                                                                                  The current status of the text detection job.

                                                                                  + */ + JobStatus?: JobStatus | string; + + /** + *

                                                                                  If the response is truncated, Amazon Textract returns this token. You can use this token in + * the subsequent request to retrieve the next set of text-detection results.

                                                                                  + */ + NextToken?: string; + + /** + *

                                                                                  The expenses detected by Amazon Textract.

                                                                                  + */ + ExpenseDocuments?: ExpenseDocument[]; + + /** + *

                                                                                  A list of warnings that occurred during the text-detection operation for the + * document.

                                                                                  + */ + Warnings?: Warning[]; + + /** + *

                                                                                  Returns if the detection job could not be completed. Contains explanation for what error occured.

                                                                                  + */ + StatusMessage?: string; + + /** + *

                                                                                  The current model version of AnalyzeExpense.

                                                                                  + */ + AnalyzeExpenseModelVersion?: string; +} + +export namespace GetExpenseAnalysisResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: GetExpenseAnalysisResponse): any => ({ + ...obj, + }); +} + /** *

                                                                                  A ClientRequestToken input parameter was reused with an operation, but at * least one of the other input parameters is different from the previous call to the @@ -1625,3 +1704,74 @@ export namespace StartDocumentTextDetectionResponse { ...obj, }); } + +export interface StartExpenseAnalysisRequest { + /** + *

                                                                                  The location of the document to be processed.

                                                                                  + */ + DocumentLocation: DocumentLocation | undefined; + + /** + *

                                                                                  The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. + * Use ClientRequestToken to prevent the same job from being accidentally started more than once. + * For more information, see Calling Amazon Textract Asynchronous Operations + *

                                                                                  + */ + ClientRequestToken?: string; + + /** + *

                                                                                  An identifier you specify that's included in the completion notification published + * to the Amazon SNS topic. For example, you can use JobTag to identify the type of + * document that the completion notification corresponds to (such as a tax form or a + * receipt).

                                                                                  + */ + JobTag?: string; + + /** + *

                                                                                  The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the + * operation to.

                                                                                  + */ + NotificationChannel?: NotificationChannel; + + /** + *

                                                                                  Sets if the output will go to a customer defined bucket. By default, Amazon Textract will + * save the results internally to be accessed by the GetExpenseAnalysis + * operation.

                                                                                  + */ + OutputConfig?: OutputConfig; + + /** + *

                                                                                  The KMS key used to encrypt the inference results. This can be + * in either Key ID or Key Alias format. When a KMS key is provided, the + * KMS key will be used for server-side encryption of the objects in the + * customer bucket. When this parameter is not enabled, the result will + * be encrypted server side,using SSE-S3.

                                                                                  + */ + KMSKeyId?: string; +} + +export namespace StartExpenseAnalysisRequest { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartExpenseAnalysisRequest): any => ({ + ...obj, + }); +} + +export interface StartExpenseAnalysisResponse { + /** + *

                                                                                  A unique identifier for the text detection job. The JobId is returned from + * StartExpenseAnalysis. A JobId value is only valid for 7 days.

                                                                                  + */ + JobId?: string; +} + +export namespace StartExpenseAnalysisResponse { + /** + * @internal + */ + export const filterSensitiveLog = (obj: StartExpenseAnalysisResponse): any => ({ + ...obj, + }); +} diff --git a/clients/client-textract/src/protocols/Aws_json1_1.ts b/clients/client-textract/src/protocols/Aws_json1_1.ts index c1a24512104b..cefcdde8ebec 100644 --- a/clients/client-textract/src/protocols/Aws_json1_1.ts +++ b/clients/client-textract/src/protocols/Aws_json1_1.ts @@ -25,6 +25,7 @@ import { GetDocumentTextDetectionCommandInput, GetDocumentTextDetectionCommandOutput, } from "../commands/GetDocumentTextDetectionCommand"; +import { GetExpenseAnalysisCommandInput, GetExpenseAnalysisCommandOutput } from "../commands/GetExpenseAnalysisCommand"; import { StartDocumentAnalysisCommandInput, StartDocumentAnalysisCommandOutput, @@ -33,6 +34,10 @@ import { StartDocumentTextDetectionCommandInput, StartDocumentTextDetectionCommandOutput, } from "../commands/StartDocumentTextDetectionCommand"; +import { + StartExpenseAnalysisCommandInput, + StartExpenseAnalysisCommandOutput, +} from "../commands/StartExpenseAnalysisCommand"; import { AccessDeniedException, AnalyzeDocumentRequest, @@ -60,6 +65,8 @@ import { GetDocumentAnalysisResponse, GetDocumentTextDetectionRequest, GetDocumentTextDetectionResponse, + GetExpenseAnalysisRequest, + GetExpenseAnalysisResponse, HumanLoopActivationOutput, HumanLoopConfig, HumanLoopDataAttributes, @@ -83,6 +90,8 @@ import { StartDocumentAnalysisResponse, StartDocumentTextDetectionRequest, StartDocumentTextDetectionResponse, + StartExpenseAnalysisRequest, + StartExpenseAnalysisResponse, ThrottlingException, UnsupportedDocumentException, Warning, @@ -153,6 +162,19 @@ export const serializeAws_json1_1GetDocumentTextDetectionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1GetExpenseAnalysisCommand = async ( + input: GetExpenseAnalysisCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "Textract.GetExpenseAnalysis", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1GetExpenseAnalysisRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const serializeAws_json1_1StartDocumentAnalysisCommand = async ( input: StartDocumentAnalysisCommandInput, context: __SerdeContext @@ -179,6 +201,19 @@ export const serializeAws_json1_1StartDocumentTextDetectionCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +export const serializeAws_json1_1StartExpenseAnalysisCommand = async ( + input: StartExpenseAnalysisCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = { + "content-type": "application/x-amz-json-1.1", + "x-amz-target": "Textract.StartExpenseAnalysis", + }; + let body: any; + body = JSON.stringify(serializeAws_json1_1StartExpenseAnalysisRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + export const deserializeAws_json1_1AnalyzeDocumentCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -761,6 +796,116 @@ const deserializeAws_json1_1GetDocumentTextDetectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1GetExpenseAnalysisCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1GetExpenseAnalysisCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1GetExpenseAnalysisResponse(data, context); + const response: GetExpenseAnalysisCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1GetExpenseAnalysisCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.textract#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerError": + case "com.amazonaws.textract#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidJobIdException": + case "com.amazonaws.textract#InvalidJobIdException": + response = { + ...(await deserializeAws_json1_1InvalidJobIdExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidKMSKeyException": + case "com.amazonaws.textract#InvalidKMSKeyException": + response = { + ...(await deserializeAws_json1_1InvalidKMSKeyExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.textract#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidS3ObjectException": + case "com.amazonaws.textract#InvalidS3ObjectException": + response = { + ...(await deserializeAws_json1_1InvalidS3ObjectExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ProvisionedThroughputExceededException": + case "com.amazonaws.textract#ProvisionedThroughputExceededException": + response = { + ...(await deserializeAws_json1_1ProvisionedThroughputExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.textract#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + export const deserializeAws_json1_1StartDocumentAnalysisCommand = async ( output: __HttpResponse, context: __SerdeContext @@ -1045,6 +1190,148 @@ const deserializeAws_json1_1StartDocumentTextDetectionCommandError = async ( return Promise.reject(Object.assign(new Error(message), response)); }; +export const deserializeAws_json1_1StartExpenseAnalysisCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return deserializeAws_json1_1StartExpenseAnalysisCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = deserializeAws_json1_1StartExpenseAnalysisResponse(data, context); + const response: StartExpenseAnalysisCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return Promise.resolve(response); +}; + +const deserializeAws_json1_1StartExpenseAnalysisCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseBody(output.body, context), + }; + let response: __SmithyException & __MetadataBearer & { [key: string]: any }; + let errorCode = "UnknownError"; + errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "AccessDeniedException": + case "com.amazonaws.textract#AccessDeniedException": + response = { + ...(await deserializeAws_json1_1AccessDeniedExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "BadDocumentException": + case "com.amazonaws.textract#BadDocumentException": + response = { + ...(await deserializeAws_json1_1BadDocumentExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "DocumentTooLargeException": + case "com.amazonaws.textract#DocumentTooLargeException": + response = { + ...(await deserializeAws_json1_1DocumentTooLargeExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "IdempotentParameterMismatchException": + case "com.amazonaws.textract#IdempotentParameterMismatchException": + response = { + ...(await deserializeAws_json1_1IdempotentParameterMismatchExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InternalServerError": + case "com.amazonaws.textract#InternalServerError": + response = { + ...(await deserializeAws_json1_1InternalServerErrorResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidKMSKeyException": + case "com.amazonaws.textract#InvalidKMSKeyException": + response = { + ...(await deserializeAws_json1_1InvalidKMSKeyExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidParameterException": + case "com.amazonaws.textract#InvalidParameterException": + response = { + ...(await deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "InvalidS3ObjectException": + case "com.amazonaws.textract#InvalidS3ObjectException": + response = { + ...(await deserializeAws_json1_1InvalidS3ObjectExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "LimitExceededException": + case "com.amazonaws.textract#LimitExceededException": + response = { + ...(await deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ProvisionedThroughputExceededException": + case "com.amazonaws.textract#ProvisionedThroughputExceededException": + response = { + ...(await deserializeAws_json1_1ProvisionedThroughputExceededExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "ThrottlingException": + case "com.amazonaws.textract#ThrottlingException": + response = { + ...(await deserializeAws_json1_1ThrottlingExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + case "UnsupportedDocumentException": + case "com.amazonaws.textract#UnsupportedDocumentException": + response = { + ...(await deserializeAws_json1_1UnsupportedDocumentExceptionResponse(parsedOutput, context)), + name: errorCode, + $metadata: deserializeMetadata(output), + }; + break; + default: + const parsedBody = parsedOutput.body; + errorCode = parsedBody.code || parsedBody.Code || errorCode; + response = { + ...parsedBody, + name: `${errorCode}`, + message: parsedBody.message || parsedBody.Message || errorCode, + $fault: "client", + $metadata: deserializeMetadata(output), + } as any; + } + const message = response.message || response.Message || errorCode; + response.message = message; + delete response.Message; + return Promise.reject(Object.assign(new Error(message), response)); +}; + const deserializeAws_json1_1AccessDeniedExceptionResponse = async ( parsedOutput: any, context: __SerdeContext @@ -1347,6 +1634,17 @@ const serializeAws_json1_1GetDocumentTextDetectionRequest = ( }; }; +const serializeAws_json1_1GetExpenseAnalysisRequest = ( + input: GetExpenseAnalysisRequest, + context: __SerdeContext +): any => { + return { + ...(input.JobId !== undefined && input.JobId !== null && { JobId: input.JobId }), + ...(input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults }), + ...(input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }), + }; +}; + const serializeAws_json1_1HumanLoopConfig = (input: HumanLoopConfig, context: __SerdeContext): any => { return { ...(input.DataAttributes !== undefined && @@ -1436,6 +1734,28 @@ const serializeAws_json1_1StartDocumentTextDetectionRequest = ( }; }; +const serializeAws_json1_1StartExpenseAnalysisRequest = ( + input: StartExpenseAnalysisRequest, + context: __SerdeContext +): any => { + return { + ...(input.ClientRequestToken !== undefined && + input.ClientRequestToken !== null && { ClientRequestToken: input.ClientRequestToken }), + ...(input.DocumentLocation !== undefined && + input.DocumentLocation !== null && { + DocumentLocation: serializeAws_json1_1DocumentLocation(input.DocumentLocation, context), + }), + ...(input.JobTag !== undefined && input.JobTag !== null && { JobTag: input.JobTag }), + ...(input.KMSKeyId !== undefined && input.KMSKeyId !== null && { KMSKeyId: input.KMSKeyId }), + ...(input.NotificationChannel !== undefined && + input.NotificationChannel !== null && { + NotificationChannel: serializeAws_json1_1NotificationChannel(input.NotificationChannel, context), + }), + ...(input.OutputConfig !== undefined && + input.OutputConfig !== null && { OutputConfig: serializeAws_json1_1OutputConfig(input.OutputConfig, context) }), + }; +}; + const deserializeAws_json1_1AccessDeniedException = (output: any, context: __SerdeContext): AccessDeniedException => { return { Code: __expectString(output.Code), @@ -1709,6 +2029,30 @@ const deserializeAws_json1_1GetDocumentTextDetectionResponse = ( } as any; }; +const deserializeAws_json1_1GetExpenseAnalysisResponse = ( + output: any, + context: __SerdeContext +): GetExpenseAnalysisResponse => { + return { + AnalyzeExpenseModelVersion: __expectString(output.AnalyzeExpenseModelVersion), + DocumentMetadata: + output.DocumentMetadata !== undefined && output.DocumentMetadata !== null + ? deserializeAws_json1_1DocumentMetadata(output.DocumentMetadata, context) + : undefined, + ExpenseDocuments: + output.ExpenseDocuments !== undefined && output.ExpenseDocuments !== null + ? deserializeAws_json1_1ExpenseDocumentList(output.ExpenseDocuments, context) + : undefined, + JobStatus: __expectString(output.JobStatus), + NextToken: __expectString(output.NextToken), + StatusMessage: __expectString(output.StatusMessage), + Warnings: + output.Warnings !== undefined && output.Warnings !== null + ? deserializeAws_json1_1Warnings(output.Warnings, context) + : undefined, + } as any; +}; + const deserializeAws_json1_1HumanLoopActivationOutput = ( output: any, context: __SerdeContext @@ -1937,6 +2281,15 @@ const deserializeAws_json1_1StartDocumentTextDetectionResponse = ( } as any; }; +const deserializeAws_json1_1StartExpenseAnalysisResponse = ( + output: any, + context: __SerdeContext +): StartExpenseAnalysisResponse => { + return { + JobId: __expectString(output.JobId), + } as any; +}; + const deserializeAws_json1_1ThrottlingException = (output: any, context: __SerdeContext): ThrottlingException => { return { Code: __expectString(output.Code), diff --git a/codegen/sdk-codegen/aws-models/auditmanager.json b/codegen/sdk-codegen/aws-models/auditmanager.json index 85e8a0be6939..8b26b560dece 100644 --- a/codegen/sdk-codegen/aws-models/auditmanager.json +++ b/codegen/sdk-codegen/aws-models/auditmanager.json @@ -35,24 +35,24 @@ "id": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified Amazon Web Services account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the Amazon Web Services account.

                                                                                  " } }, "emailAddress": { "target": "com.amazonaws.auditmanager#EmailAddress", "traits": { - "smithy.api#documentation": "

                                                                                  \n The email address associated with the specified Amazon Web Services account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The email address that's associated with the Amazon Web Services account.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#AccountName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the specified Amazon Web Services account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the Amazon Web Services account.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The wrapper of Amazon Web Services account details, such as account ID, email address, and so on. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The wrapper of Amazon Web Services account details, such as account ID or email address.\n

                                                                                  " } }, "com.amazonaws.auditmanager#AWSAccounts": { @@ -67,12 +67,12 @@ "serviceName": { "target": "com.amazonaws.auditmanager#AWSServiceName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the Amazon Web Service. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the Amazon Web Service.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n An Amazon Web Service such as Amazon S3, CloudTrail, and so on. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  An Amazon Web Service such as Amazon S3 or CloudTrail.\n

                                                                                  " } }, "com.amazonaws.auditmanager#AWSServiceName": { @@ -102,7 +102,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n Your account is not registered with Audit Manager. Check the delegated administrator setup on the Audit Manager settings page, and try again.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Your account isn't registered with Audit Manager. Check the delegated\n administrator setup on the Audit Manager settings page, and try again.

                                                                                  ", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -211,36 +211,36 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the assessment.

                                                                                  " } }, "awsAccount": { "target": "com.amazonaws.auditmanager#AWSAccount", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Web Services account associated with the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services account that's associated with the assessment.

                                                                                  " } }, "metadata": { "target": "com.amazonaws.auditmanager#AssessmentMetadata", "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata for the specified assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata for the assessment.

                                                                                  " } }, "framework": { "target": "com.amazonaws.auditmanager#AssessmentFramework", "traits": { - "smithy.api#documentation": "

                                                                                  \n The framework from which the assessment was created. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The framework that the assessment was created from.

                                                                                  " } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

                                                                                  \n The tags associated with the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The tags that are associated with the assessment.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n An entity that defines the scope of audit evidence collected by Audit Manager. An Audit Manager assessment is an implementation of an Audit Manager framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  An entity that defines the scope of audit evidence collected by Audit Manager.\n An Audit Manager assessment is an implementation of an Audit Manager\n framework.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentControl": { @@ -249,60 +249,60 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the control.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the control.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#ControlDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the control.

                                                                                  " } }, "status": { "target": "com.amazonaws.auditmanager#ControlStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \n The status of the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The status of the control.

                                                                                  " } }, "response": { "target": "com.amazonaws.auditmanager#ControlResponse", "traits": { - "smithy.api#documentation": "

                                                                                  \n The response of the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The response of the control.

                                                                                  " } }, "comments": { "target": "com.amazonaws.auditmanager#ControlComments", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of comments attached to the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of comments that's attached to the control.

                                                                                  " } }, "evidenceSources": { "target": "com.amazonaws.auditmanager#EvidenceSources", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of data sources for the specified evidence.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of data sources for the evidence.

                                                                                  " } }, "evidenceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The amount of evidence generated for the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of evidence that's generated for the control.

                                                                                  " } }, "assessmentReportEvidenceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The amount of evidence in the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of evidence in the assessment report.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The control entity that represents a standard or custom control used in an Audit Manager assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The control entity that represents a standard control or a custom control in an Audit Manager assessment.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentControlSet": { @@ -311,54 +311,54 @@ "id": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier of the control set in the assessment. This is the control set name in a plain string format. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier of the control set in the assessment. This is the control set name in a\n plain string format.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description for the control set. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description for the control set.

                                                                                  " } }, "status": { "target": "com.amazonaws.auditmanager#ControlSetStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \nSpecifies the current status of the control set.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies the current status of the control set.

                                                                                  " } }, "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

                                                                                  \n The roles associated with the control set. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The roles that are associated with the control set.

                                                                                  " } }, "controls": { "target": "com.amazonaws.auditmanager#AssessmentControls", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe list of controls contained with the control set.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of controls that's contained with the control set.

                                                                                  " } }, "delegations": { "target": "com.amazonaws.auditmanager#Delegations", "traits": { - "smithy.api#documentation": "

                                                                                  \n The delegations associated with the control set.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The delegations that are associated with the control set.

                                                                                  " } }, "systemEvidenceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The total number of evidence objects retrieved automatically for the control set. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The total number of evidence objects that are retrieved automatically for the control\n set.

                                                                                  " } }, "manualEvidenceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The total number of evidence objects uploaded manually to the control set. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The total number of evidence objects that are uploaded manually to the control set.\n

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents a set of controls in an Audit Manager assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Represents a set of controls in an Audit Manager assessment.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentControlSets": { @@ -389,114 +389,114 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentEvidenceFolderName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the specified evidence folder.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the evidence folder.

                                                                                  " } }, "date": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n The date when the first evidence was added to the evidence folder.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The date when the first evidence was added to the evidence folder.

                                                                                  " } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  " } }, "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the control set. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  " } }, "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n \n The unique identifier for the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the control.

                                                                                  " } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe identifier for the folder in which evidence is stored.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the folder that the evidence is stored in.

                                                                                  " } }, "dataSource": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Web Service from which the evidence was collected. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Service that the evidence was collected from.

                                                                                  " } }, "author": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the user who created the evidence folder.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the user who created the evidence folder.

                                                                                  " } }, "totalEvidence": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The total amount of evidence in the evidence folder.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The total amount of evidence in the evidence folder.

                                                                                  " } }, "assessmentReportSelectionCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The total count of evidence included in the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The total count of evidence that's included in the assessment report.

                                                                                  " } }, "controlName": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the control.

                                                                                  " } }, "evidenceResourcesIncludedCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The amount of evidence included in the evidence folder.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of evidence that's included in the evidence folder.

                                                                                  " } }, "evidenceByTypeConfigurationDataCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The number of evidence that falls under the configuration data category. This evidence is collected from configuration snapshots of other Amazon Web Services services such as Amazon EC2, Amazon S3, or IAM.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of evidence that falls under the configuration data category. This\n evidence is collected from configuration snapshots of other Amazon Web Services services such as Amazon EC2, Amazon S3, or IAM.

                                                                                  " } }, "evidenceByTypeManualCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The number of evidence that falls under the manual category. This evidence is imported manually.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of evidence that falls under the manual category. This evidence is imported\n manually.

                                                                                  " } }, "evidenceByTypeComplianceCheckCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The number of evidence that falls under the compliance check category. This evidence is collected from Config or Security Hub.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of evidence that falls under the compliance check category. This evidence is\n collected from Config or Security Hub.

                                                                                  " } }, "evidenceByTypeComplianceCheckIssuesCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The total number of issues that were reported directly from Security Hub, Config, or both.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The total number of issues that were reported directly from Security Hub,\n Config, or both.

                                                                                  " } }, "evidenceByTypeUserActivityCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The number of evidence that falls under the user activity category. This evidence is collected from CloudTrail logs.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of evidence that falls under the user activity category. This evidence is\n collected from CloudTrail logs.

                                                                                  " } }, "evidenceAwsServiceSourceCount": { "target": "com.amazonaws.auditmanager#Integer", "traits": { - "smithy.api#documentation": "

                                                                                  \n The total number of Amazon Web Services resources assessed to generate the evidence. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The total number of Amazon Web Services resources that were assessed to generate the\n evidence.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The folder in which Audit Manager stores evidence for an assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The folder where Audit Manager stores evidence for an assessment.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentEvidenceFolderName": { @@ -521,13 +521,13 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the framework.

                                                                                  " } }, "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the specified framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the framework.

                                                                                  " } }, "metadata": { @@ -536,12 +536,12 @@ "controlSets": { "target": "com.amazonaws.auditmanager#AssessmentControlSets", "traits": { - "smithy.api#documentation": "

                                                                                  \n The control sets associated with the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The control sets that are associated with the framework.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The file used to structure and automate Audit Manager assessments for a given compliance standard.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The file used to structure and automate Audit Manager assessments for a given\n compliance standard.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentFrameworkDescription": { @@ -560,72 +560,176 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the framework.

                                                                                  " } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identified for the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the framework.

                                                                                  " } }, "type": { "target": "com.amazonaws.auditmanager#FrameworkType", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe framework type, such as standard or custom.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The framework type, such as a standard framework or a custom framework.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#FrameworkName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the framework.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#FrameworkDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the framework.

                                                                                  " } }, "logo": { "target": "com.amazonaws.auditmanager#Filename", "traits": { - "smithy.api#documentation": "

                                                                                  \n The logo associated with the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The logo that's associated with the framework.

                                                                                  " } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

                                                                                  " } }, "controlsCount": { "target": "com.amazonaws.auditmanager#ControlsCount", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe number of controls associated with the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of controls that are associated with the framework.

                                                                                  " } }, "controlSetsCount": { "target": "com.amazonaws.auditmanager#ControlSetsCount", "traits": { - "smithy.api#documentation": "

                                                                                  \n The number of control sets associated with the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of control sets that are associated with the framework.

                                                                                  " } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the framework was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the framework was created.

                                                                                  " } }, "lastUpdatedAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the framework was most recently updated.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the framework was most recently updated.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata associated with a standard or custom framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata that's associated with a standard framework or a custom framework.

                                                                                  " + } + }, + "com.amazonaws.auditmanager#AssessmentFrameworkShareRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier for the share request.

                                                                                  " + } + }, + "frameworkId": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier for the shared custom framework.

                                                                                  " + } + }, + "frameworkName": { + "target": "com.amazonaws.auditmanager#FrameworkName", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of the custom framework that the share request is for.

                                                                                  " + } + }, + "frameworkDescription": { + "target": "com.amazonaws.auditmanager#FrameworkDescription", + "traits": { + "smithy.api#documentation": "

                                                                                  The description of the shared custom framework.

                                                                                  " + } + }, + "status": { + "target": "com.amazonaws.auditmanager#ShareRequestStatus", + "traits": { + "smithy.api#documentation": "

                                                                                  The status of the share request.

                                                                                  " + } + }, + "sourceAccount": { + "target": "com.amazonaws.auditmanager#AccountId", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Web Services account of the sender.

                                                                                  " + } + }, + "destinationAccount": { + "target": "com.amazonaws.auditmanager#AccountId", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Web Services account of the recipient.

                                                                                  " + } + }, + "destinationRegion": { + "target": "com.amazonaws.auditmanager#Region", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Web Services Region of the recipient.

                                                                                  " + } + }, + "expirationTime": { + "target": "com.amazonaws.auditmanager#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                                                  The time when the share request expires.

                                                                                  " + } + }, + "creationTime": { + "target": "com.amazonaws.auditmanager#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                                                  The time when the share request was created.

                                                                                  " + } + }, + "lastUpdated": { + "target": "com.amazonaws.auditmanager#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies when the share request was last updated.

                                                                                  " + } + }, + "comment": { + "target": "com.amazonaws.auditmanager#ShareRequestComment", + "traits": { + "smithy.api#documentation": "

                                                                                  An optional comment from the sender about the share request.

                                                                                  " + } + }, + "standardControlsCount": { + "target": "com.amazonaws.auditmanager#NullableInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The number of standard controls that are part of the shared custom framework.

                                                                                  " + } + }, + "customControlsCount": { + "target": "com.amazonaws.auditmanager#NullableInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The number of custom controls that are part of the shared custom framework.

                                                                                  " + } + }, + "complianceType": { + "target": "com.amazonaws.auditmanager#ComplianceType", + "traits": { + "smithy.api#documentation": "

                                                                                  The compliance type that the shared custom framework supports, such as CIS or HIPAA.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Represents a share request for a custom framework in Audit Manager.

                                                                                  " + } + }, + "com.amazonaws.auditmanager#AssessmentFrameworkShareRequestList": { + "type": "list", + "member": { + "target": "com.amazonaws.auditmanager#AssessmentFrameworkShareRequest" } }, "com.amazonaws.auditmanager#AssessmentMetadata": { @@ -634,72 +738,72 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the assessment.

                                                                                  " } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the assessment.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the assessment.

                                                                                  " } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of a compliance standard related to the assessment, such as PCI-DSS. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the compliance standard that's related to the assessment, such as PCI-DSS.\n

                                                                                  " } }, "status": { "target": "com.amazonaws.auditmanager#AssessmentStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \n The overall status of the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The overall status of the assessment.

                                                                                  " } }, "assessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

                                                                                  \n The destination in which evidence reports are stored for the specified assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The destination that evidence reports are stored in for the assessment.

                                                                                  " } }, "scope": { "target": "com.amazonaws.auditmanager#Scope", "traits": { - "smithy.api#documentation": "

                                                                                  \n The wrapper of Amazon Web Services accounts and services in scope for the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The wrapper of Amazon Web Services accounts and services that are in scope for the\n assessment.

                                                                                  " } }, "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

                                                                                  \n The roles associated with the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The roles that are associated with the assessment.

                                                                                  " } }, "delegations": { "target": "com.amazonaws.auditmanager#Delegations", "traits": { - "smithy.api#documentation": "

                                                                                  \n The delegations associated with the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The delegations that are associated with the assessment.

                                                                                  " } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the assessment was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the assessment was created.

                                                                                  " } }, "lastUpdated": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n The time of the most recent update. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The time of the most recent update.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata associated with the specified assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata that's associated with the specified assessment.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentMetadataItem": { @@ -708,54 +812,54 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the assessment.

                                                                                  " } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the assessment.

                                                                                  " } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the compliance standard related to the assessment, such as PCI-DSS. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the compliance standard that's related to the assessment, such as PCI-DSS.\n

                                                                                  " } }, "status": { "target": "com.amazonaws.auditmanager#AssessmentStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe current status of the assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The current status of the assessment.

                                                                                  " } }, "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

                                                                                  \n The roles associated with the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The roles that are associated with the assessment.

                                                                                  " } }, "delegations": { "target": "com.amazonaws.auditmanager#Delegations", "traits": { - "smithy.api#documentation": "

                                                                                  \n The delegations associated with the assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The delegations that are associated with the assessment.

                                                                                  " } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the assessment was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the assessment was created.

                                                                                  " } }, "lastUpdated": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n The time of the most recent update. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The time of the most recent update.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A metadata object associated with an assessment in Audit Manager.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A metadata object that's associated with an assessment in Audit Manager.\n

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentName": { @@ -774,60 +878,60 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the specified assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the assessment report.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#AssessmentReportName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name given to the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name that's given to the assessment report.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentReportDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the specified assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the specified assessment report.

                                                                                  " } }, "awsAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified Amazon Web Services account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the specified Amazon Web Services account.

                                                                                  " } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the specified assessment.

                                                                                  " } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the associated assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the associated assessment.

                                                                                  " } }, "author": { "target": "com.amazonaws.auditmanager#Username", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the user who created the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the user who created the assessment report.

                                                                                  " } }, "status": { "target": "com.amazonaws.auditmanager#AssessmentReportStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe current status of the specified assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The current status of the specified assessment report.

                                                                                  " } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the assessment report was created. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the assessment report was created.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A finalized document generated from an Audit Manager assessment. These reports summarize the relevant evidence collected for your audit, and link to the relevant evidence folders which are named and organized according to the controls specified in your assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A finalized document that's generated from an Audit Manager assessment. These\n reports summarize the relevant evidence that was collected for your audit, and link to the\n relevant evidence folders. These evidence folders are named and organized according to the\n controls that are specified in your assessment.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentReportDescription": { @@ -857,24 +961,24 @@ "evidenceId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the evidence. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the evidence.

                                                                                  " } }, "errorCode": { "target": "com.amazonaws.auditmanager#ErrorCode", "traits": { - "smithy.api#documentation": "

                                                                                  \n The error code returned by the AssessmentReportEvidence API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The error code that the AssessmentReportEvidence API returned.

                                                                                  " } }, "errorMessage": { "target": "com.amazonaws.auditmanager#ErrorMessage", "traits": { - "smithy.api#documentation": "

                                                                                  \n The error message returned by the AssessmentReportEvidence API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The error message that the AssessmentReportEvidence API returned.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n An error entity for the AssessmentReportEvidence API. This is used to provide more meaningful errors than a simple string message.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  An error entity for the AssessmentReportEvidence API. This is used to\n provide more meaningful errors than a simple string message.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentReportEvidenceErrors": { @@ -889,54 +993,54 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the assessment report.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#AssessmentReportName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the assessment report.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentReportDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe description of the specified assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the assessment report.

                                                                                  " } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the associated assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the associated assessment.

                                                                                  " } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the associated assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the associated assessment.

                                                                                  " } }, "author": { "target": "com.amazonaws.auditmanager#Username", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the user who created the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the user who created the assessment report.

                                                                                  " } }, "status": { "target": "com.amazonaws.auditmanager#AssessmentReportStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe current status of the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The current status of the assessment report.

                                                                                  " } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the assessment report was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the assessment report was created.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata objects associated with the specified assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata objects that are associated with the specified assessment report.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentReportName": { @@ -974,18 +1078,18 @@ "destinationType": { "target": "com.amazonaws.auditmanager#AssessmentReportDestinationType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The destination type, such as Amazon S3. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The destination type, such as Amazon S3.

                                                                                  " } }, "destination": { "target": "com.amazonaws.auditmanager#S3Url", "traits": { - "smithy.api#documentation": "

                                                                                  \n The destination of the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The destination of the assessment report.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The location in which Audit Manager saves assessment reports for the given assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The location where Audit Manager saves assessment reports for the given\n assessment.

                                                                                  " } }, "com.amazonaws.auditmanager#AssessmentReportsMetadata": { @@ -1032,7 +1136,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Associates an evidence folder to the specified assessment report in Audit Manager. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Associates an evidence folder to an assessment report in a Audit Manager\n assessment.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/associateToAssessmentReport", @@ -1046,7 +1150,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1054,7 +1158,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the folder in which evidence is stored.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the folder that the evidence is stored in.

                                                                                  ", "smithy.api#required": {} } } @@ -1097,7 +1201,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Associates a list of evidence to an assessment report in an Audit Manager assessment.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Associates a list of evidence to an assessment report in an Audit Manager\n assessment.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/batchAssociateToAssessmentReport", @@ -1111,7 +1215,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the specified assessment.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1119,14 +1223,14 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the folder in which the evidence is stored.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the folder that the evidence is stored in.

                                                                                  ", "smithy.api#required": {} } }, "evidenceIds": { "target": "com.amazonaws.auditmanager#EvidenceIds", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of evidence identifiers. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The list of evidence identifiers.

                                                                                  ", "smithy.api#required": {} } } @@ -1138,13 +1242,13 @@ "evidenceIds": { "target": "com.amazonaws.auditmanager#EvidenceIds", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the evidence. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of evidence identifiers.

                                                                                  " } }, "errors": { "target": "com.amazonaws.auditmanager#AssessmentReportEvidenceErrors", "traits": { - "smithy.api#documentation": "

                                                                                  \n A list of errors returned by the BatchAssociateAssessmentReportEvidence API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of errors that the BatchAssociateAssessmentReportEvidence API\n returned.

                                                                                  " } } } @@ -1172,7 +1276,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Create a batch of delegations for a specified assessment in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Creates a batch of delegations for an assessment in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/assessments/{assessmentId}/delegations", @@ -1186,24 +1290,24 @@ "createDelegationRequest": { "target": "com.amazonaws.auditmanager#CreateDelegationRequest", "traits": { - "smithy.api#documentation": "

                                                                                  \n The API request to batch create delegations in Audit Manager.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The API request to batch create delegations in Audit Manager.

                                                                                  " } }, "errorCode": { "target": "com.amazonaws.auditmanager#ErrorCode", "traits": { - "smithy.api#documentation": "

                                                                                  \n The error code returned by the BatchCreateDelegationByAssessment API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The error code that the BatchCreateDelegationByAssessment API returned.\n

                                                                                  " } }, "errorMessage": { "target": "com.amazonaws.auditmanager#ErrorMessage", "traits": { - "smithy.api#documentation": "

                                                                                  \n The error message returned by the BatchCreateDelegationByAssessment API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The error message that the BatchCreateDelegationByAssessment API returned.\n

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n An error entity for the BatchCreateDelegationByAssessment API. This is used to provide more meaningful errors than a simple string message.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  An error entity for the BatchCreateDelegationByAssessment API. This is\n used to provide more meaningful errors than a simple string message.

                                                                                  " } }, "com.amazonaws.auditmanager#BatchCreateDelegationByAssessmentErrors": { @@ -1218,14 +1322,14 @@ "createDelegationRequests": { "target": "com.amazonaws.auditmanager#CreateDelegationRequests", "traits": { - "smithy.api#documentation": "

                                                                                  \n The API request to batch create delegations in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The API request to batch create delegations in Audit Manager.

                                                                                  ", "smithy.api#required": {} } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1238,13 +1342,13 @@ "delegations": { "target": "com.amazonaws.auditmanager#Delegations", "traits": { - "smithy.api#documentation": "

                                                                                  \n The delegations associated with the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The delegations that are associated with the assessment.

                                                                                  " } }, "errors": { "target": "com.amazonaws.auditmanager#BatchCreateDelegationByAssessmentErrors", "traits": { - "smithy.api#documentation": "

                                                                                  \n A list of errors returned by the BatchCreateDelegationByAssessment API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of errors that the BatchCreateDelegationByAssessment API returned.\n

                                                                                  " } } } @@ -1272,7 +1376,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Deletes the delegations in the specified Audit Manager assessment.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Deletes a batch of delegations for an assessment in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/delegations", @@ -1286,24 +1390,24 @@ "delegationId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified delegation.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the delegation.

                                                                                  " } }, "errorCode": { "target": "com.amazonaws.auditmanager#ErrorCode", "traits": { - "smithy.api#documentation": "

                                                                                  \n The error code returned by the BatchDeleteDelegationByAssessment API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The error code that the BatchDeleteDelegationByAssessment API returned.\n

                                                                                  " } }, "errorMessage": { "target": "com.amazonaws.auditmanager#ErrorMessage", "traits": { - "smithy.api#documentation": "

                                                                                  \n The error message returned by the BatchDeleteDelegationByAssessment API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The error message that the BatchDeleteDelegationByAssessment API returned.\n

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n An error entity for the BatchDeleteDelegationByAssessment API. This is used to provide more meaningful errors than a simple string message.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  An error entity for the BatchDeleteDelegationByAssessment API. This is\n used to provide more meaningful errors than a simple string message.

                                                                                  " } }, "com.amazonaws.auditmanager#BatchDeleteDelegationByAssessmentErrors": { @@ -1318,14 +1422,14 @@ "delegationIds": { "target": "com.amazonaws.auditmanager#DelegationIds", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifiers for the specified delegations.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifiers for the delegations.

                                                                                  ", "smithy.api#required": {} } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1338,7 +1442,7 @@ "errors": { "target": "com.amazonaws.auditmanager#BatchDeleteDelegationByAssessmentErrors", "traits": { - "smithy.api#documentation": "

                                                                                  \n A list of errors returned by the BatchDeleteDelegationByAssessment API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of errors that the BatchDeleteDelegationByAssessment API returned.\n

                                                                                  " } } } @@ -1366,7 +1470,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Disassociates a list of evidence from the specified assessment report in Audit Manager. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Disassociates a list of evidence from an assessment report in Audit Manager.\n

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/batchDisassociateFromAssessmentReport", @@ -1380,7 +1484,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1388,14 +1492,14 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the folder in which evidence is stored.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the folder that the evidence is stored in.

                                                                                  ", "smithy.api#required": {} } }, "evidenceIds": { "target": "com.amazonaws.auditmanager#EvidenceIds", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of evidence identifiers. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The list of evidence identifiers.

                                                                                  ", "smithy.api#required": {} } } @@ -1407,13 +1511,13 @@ "evidenceIds": { "target": "com.amazonaws.auditmanager#EvidenceIds", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the evidence. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the evidence.

                                                                                  " } }, "errors": { "target": "com.amazonaws.auditmanager#AssessmentReportEvidenceErrors", "traits": { - "smithy.api#documentation": "

                                                                                  \n A list of errors returned by the BatchDisassociateAssessmentReportEvidence API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of errors that the BatchDisassociateAssessmentReportEvidence API\n returned.

                                                                                  " } } } @@ -1441,7 +1545,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Uploads one or more pieces of evidence to the specified control in the assessment in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Uploads one or more pieces of evidence to a control in an Audit Manager\n assessment.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}/evidence", @@ -1455,24 +1559,24 @@ "manualEvidence": { "target": "com.amazonaws.auditmanager#ManualEvidence", "traits": { - "smithy.api#documentation": "

                                                                                  \n Manual evidence that cannot be collected automatically by Audit Manager.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Manual evidence that can't be collected automatically by Audit Manager.

                                                                                  " } }, "errorCode": { "target": "com.amazonaws.auditmanager#ErrorCode", "traits": { - "smithy.api#documentation": "

                                                                                  \n The error code returned by the BatchImportEvidenceToAssessmentControl API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The error code that the BatchImportEvidenceToAssessmentControl API\n returned.

                                                                                  " } }, "errorMessage": { "target": "com.amazonaws.auditmanager#ErrorMessage", "traits": { - "smithy.api#documentation": "

                                                                                  \n The error message returned by the BatchImportEvidenceToAssessmentControl API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The error message that the BatchImportEvidenceToAssessmentControl API\n returned.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n An error entity for the BatchImportEvidenceToAssessmentControl API. This is used to provide more meaningful errors than a simple string message.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  An error entity for the BatchImportEvidenceToAssessmentControl API. This\n is used to provide more meaningful errors than a simple string message.

                                                                                  " } }, "com.amazonaws.auditmanager#BatchImportEvidenceToAssessmentControlErrors": { @@ -1487,7 +1591,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1495,7 +1599,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1503,7 +1607,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n \n The identifier for the specified control. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1511,7 +1615,7 @@ "manualEvidence": { "target": "com.amazonaws.auditmanager#ManualEvidenceList", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of manual evidence objects.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The list of manual evidence objects.

                                                                                  ", "smithy.api#required": {} } } @@ -1523,7 +1627,7 @@ "errors": { "target": "com.amazonaws.auditmanager#BatchImportEvidenceToAssessmentControlErrors", "traits": { - "smithy.api#documentation": "

                                                                                  \n A list of errors returned by the BatchImportEvidenceToAssessmentControl API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of errors that the BatchImportEvidenceToAssessmentControl API\n returned.

                                                                                  " } } } @@ -1568,6 +1672,9 @@ { "target": "com.amazonaws.auditmanager#DeleteAssessmentFramework" }, + { + "target": "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShare" + }, { "target": "com.amazonaws.auditmanager#DeleteAssessmentReport" }, @@ -1631,6 +1738,9 @@ { "target": "com.amazonaws.auditmanager#ListAssessmentFrameworks" }, + { + "target": "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequests" + }, { "target": "com.amazonaws.auditmanager#ListAssessmentReports" }, @@ -1655,6 +1765,9 @@ { "target": "com.amazonaws.auditmanager#RegisterOrganizationAdminAccount" }, + { + "target": "com.amazonaws.auditmanager#StartAssessmentFrameworkShare" + }, { "target": "com.amazonaws.auditmanager#TagResource" }, @@ -1673,6 +1786,9 @@ { "target": "com.amazonaws.auditmanager#UpdateAssessmentFramework" }, + { + "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShare" + }, { "target": "com.amazonaws.auditmanager#UpdateAssessmentStatus" }, @@ -1698,7 +1814,7 @@ "name": "auditmanager" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

                                                                                  Welcome to the Audit Manager API reference. This guide is for developers who need detailed information about the Audit Manager API operations, data types, and errors.

                                                                                  \n

                                                                                  Audit Manager is a service that provides automated evidence collection so that you\n can continuously audit your Amazon Web Services usage, and assess the effectiveness of your controls to\n better manage risk and simplify compliance.

                                                                                  \n

                                                                                  Audit Manager provides pre-built frameworks that structure and automate assessments\n for a given compliance standard. Frameworks include a pre-built collection of controls with\n descriptions and testing procedures, which are grouped according to the requirements of the\n specified compliance standard or regulation. You can also customize frameworks and controls\n to support internal audits with unique requirements.

                                                                                  \n \n

                                                                                  Use the following links to get started with the Audit Manager API:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n Actions: An alphabetical list of all Audit Manager API operations.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n Data types: An alphabetical list of all Audit Manager data types.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n Common parameters: Parameters that all Query operations can use.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n Common errors: Client and server errors that all operations can return.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  If you're new to Audit Manager, we recommend that you review the Audit Manager User Guide.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Welcome to the Audit Manager API reference. This guide is for developers who\n need detailed information about the Audit Manager API operations, data types, and\n errors.

                                                                                  \n

                                                                                  Audit Manager is a service that provides automated evidence collection so that\n you can continually audit your Amazon Web Services usage. You can use it to assess the\n effectiveness of your controls, manage risk, and simplify compliance.

                                                                                  \n

                                                                                  Audit Manager provides prebuilt frameworks that structure and automate\n assessments for a given compliance standard. Frameworks include a prebuilt collection of\n controls with descriptions and testing procedures. These controls are grouped according to\n the requirements of the specified compliance standard or regulation. You can also customize\n frameworks and controls to support internal audits with specific requirements.

                                                                                  \n

                                                                                  Use the following links to get started with the Audit Manager API:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n Actions: An\n alphabetical list of all Audit Manager API operations.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n Data types: An alphabetical list of all Audit Manager data\n types.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n Common\n parameters: Parameters that all Query operations can use.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n Common errors:\n Client and server errors that all operations can return.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  If you're new to Audit Manager, we recommend that you review the \n Audit Manager User Guide.

                                                                                  ", "smithy.api#title": "AWS Audit Manager" } }, @@ -1714,36 +1830,36 @@ "objectType": { "target": "com.amazonaws.auditmanager#ObjectTypeEnum", "traits": { - "smithy.api#documentation": "

                                                                                  \n The changelog object type, such as an assessment, control, or control set. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The object that was changed, such as an assessment, control, or control set.

                                                                                  " } }, "objectName": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the changelog object. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the object that changed. This could be the name of an assessment, control,\n or control set.

                                                                                  " } }, "action": { "target": "com.amazonaws.auditmanager#ActionEnum", "traits": { - "smithy.api#documentation": "

                                                                                  \n The action performed. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The action that was performed.

                                                                                  " } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n The time of creation for the changelog object. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The time when the action was performed and the changelog record was created.

                                                                                  " } }, "createdBy": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The IAM user or role that performed the action. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The IAM user or role that performed the action.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The record of a change within Audit Manager, such as a modified assessment, a delegated control set, and so on. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The record of a change within Audit Manager. For example, this could be the\n status change of an assessment or the delegation of a control set.

                                                                                  " } }, "com.amazonaws.auditmanager#ChangeLogs": { @@ -1768,96 +1884,96 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the specified control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the control.

                                                                                  " } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the control.

                                                                                  " } }, "type": { "target": "com.amazonaws.auditmanager#ControlType", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe type of control, such as custom or standard.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The type of control, such as a custom control or a standard control.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the specified control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the control.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#ControlDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the control.

                                                                                  " } }, "testingInformation": { "target": "com.amazonaws.auditmanager#TestingInformation", "traits": { - "smithy.api#documentation": "

                                                                                  \n The steps to follow to determine if the control has been satisfied.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The steps that you should follow to determine if the control has been satisfied.\n

                                                                                  " } }, "actionPlanTitle": { "target": "com.amazonaws.auditmanager#ActionPlanTitle", "traits": { - "smithy.api#documentation": "

                                                                                  \n The title of the action plan for remediating the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The title of the action plan for remediating the control.

                                                                                  " } }, "actionPlanInstructions": { "target": "com.amazonaws.auditmanager#ActionPlanInstructions", "traits": { - "smithy.api#documentation": "

                                                                                  \n \n The recommended actions to carry out if the control is not fulfilled.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The recommended actions to carry out if the control isn't fulfilled.

                                                                                  " } }, "controlSources": { "target": "com.amazonaws.auditmanager#ControlSources", "traits": { - "smithy.api#documentation": "

                                                                                  \n The data source that determines from where Audit Manager collects evidence for the control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The data source that determines where Audit Manager collects evidence from for\n the control.

                                                                                  " } }, "controlMappingSources": { "target": "com.amazonaws.auditmanager#ControlMappingSources", "traits": { - "smithy.api#documentation": "

                                                                                  \n The data mapping sources for the specified control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The data mapping sources for the control.

                                                                                  " } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \nSpecifies when the control was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the control was created.

                                                                                  " } }, "lastUpdatedAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \nSpecifies when the control was most recently updated.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the control was most recently updated.

                                                                                  " } }, "createdBy": { "target": "com.amazonaws.auditmanager#CreatedBy", "traits": { - "smithy.api#documentation": "

                                                                                  \n The IAM user or role that created the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The IAM user or role that created the control.

                                                                                  " } }, "lastUpdatedBy": { "target": "com.amazonaws.auditmanager#LastUpdatedBy", "traits": { - "smithy.api#documentation": "

                                                                                  \n The IAM user or role that most recently updated the control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The IAM user or role that most recently updated the control.

                                                                                  " } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

                                                                                  \n The tags associated with the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The tags associated with the control.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A control in Audit Manager.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A control in Audit Manager.

                                                                                  " } }, "com.amazonaws.auditmanager#ControlComment": { @@ -1866,24 +1982,24 @@ "authorName": { "target": "com.amazonaws.auditmanager#Username", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the user who authored the comment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the user who authored the comment.

                                                                                  " } }, "commentBody": { "target": "com.amazonaws.auditmanager#ControlCommentBody", "traits": { - "smithy.api#documentation": "

                                                                                  \n The body text of a control comment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The body text of a control comment.

                                                                                  " } }, "postedDate": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n The time when the comment was posted. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The time when the comment was posted.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A comment posted by a user on a control. This includes the author's name, the comment text, and a timestamp. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A comment that's posted by a user on a control. This includes the author's name, the\n comment text, and a timestamp.

                                                                                  " } }, "com.amazonaws.auditmanager#ControlCommentBody": { @@ -1918,31 +2034,31 @@ "sourceId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the specified source.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the source.

                                                                                  " } }, "sourceName": { "target": "com.amazonaws.auditmanager#SourceName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the specified source.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the source.

                                                                                  " } }, "sourceDescription": { "target": "com.amazonaws.auditmanager#SourceDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe description of the specified source.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the source.

                                                                                  " } }, "sourceSetUpOption": { "target": "com.amazonaws.auditmanager#SourceSetUpOption", "traits": { - "smithy.api#documentation": "

                                                                                  \n The setup option for the data source, which reflects if the evidence collection is automated or manual.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The setup option for the data source. This option reflects if the evidence collection\n is automated or manual.

                                                                                  " } }, "sourceType": { "target": "com.amazonaws.auditmanager#SourceType", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies one of the five types of data sources for evidence collection.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies one of the five types of data sources for evidence collection.

                                                                                  " } }, "sourceKeyword": { @@ -1951,18 +2067,18 @@ "sourceFrequency": { "target": "com.amazonaws.auditmanager#SourceFrequency", "traits": { - "smithy.api#documentation": "

                                                                                  \n The frequency of evidence collection for the specified control mapping source.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The frequency of evidence collection for the control mapping source.

                                                                                  " } }, "troubleshootingText": { "target": "com.amazonaws.auditmanager#TroubleshootingText", "traits": { - "smithy.api#documentation": "

                                                                                  \n The instructions for troubleshooting the specified control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The instructions for troubleshooting the control.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The data source that determines from where Audit Manager collects evidence for the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The data source that determines where Audit Manager collects evidence from for\n the control.

                                                                                  " } }, "com.amazonaws.auditmanager#ControlMappingSources": { @@ -1982,42 +2098,42 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the specified control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the control.

                                                                                  " } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the specified control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the control.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the specified control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the control.

                                                                                  " } }, "controlSources": { "target": "com.amazonaws.auditmanager#ControlSources", "traits": { - "smithy.api#documentation": "

                                                                                  \n The data source that determines from where Audit Manager collects evidence for the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The data source that determines where Audit Manager collects evidence from for\n the control.

                                                                                  " } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the control was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the control was created.

                                                                                  " } }, "lastUpdatedAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the control was most recently updated.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the control was most recently updated.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata associated with the specified standard or custom control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata that's associated with the standard control or custom control.

                                                                                  " } }, "com.amazonaws.auditmanager#ControlMetadataList": { @@ -2065,24 +2181,24 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier of the control set in the assessment. This is the control set name in a plain string format. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier of the control set in the assessment. This is the control set name in a\n plain string format.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#ControlSetName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the control set.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the control set.

                                                                                  " } }, "controls": { "target": "com.amazonaws.auditmanager#Controls", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of controls within the control set. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of controls within the control set.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A set of controls in Audit Manager.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A set of controls in Audit Manager.

                                                                                  " } }, "com.amazonaws.auditmanager#ControlSetId": { @@ -2219,7 +2335,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Creates an assessment in Audit Manager. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Creates an assessment in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/assessments", @@ -2250,7 +2366,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Creates a custom framework in Audit Manager. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Creates a custom framework in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/assessmentFrameworks", @@ -2264,12 +2380,12 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier of the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier of the control.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n Control entity attributes that uniquely identify an existing control to be added to a framework in Audit Manager.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The control entity attributes that uniquely identify an existing control to be added to\n a framework in Audit Manager.

                                                                                  " } }, "com.amazonaws.auditmanager#CreateAssessmentFrameworkControlSet": { @@ -2278,19 +2394,19 @@ "name": { "target": "com.amazonaws.auditmanager#ControlSetName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the specified control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the control set.

                                                                                  ", "smithy.api#required": {} } }, "controls": { "target": "com.amazonaws.auditmanager#CreateAssessmentFrameworkControls", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of controls within the control set. This does not contain the control set ID.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of controls within the control set. This doesn't contain the control set ID.\n

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A controlSet entity that represents a collection of controls in Audit Manager. This does not contain the control set ID.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A controlSet entity that represents a collection of controls in Audit Manager. This doesn't contain the control set ID.

                                                                                  " } }, "com.amazonaws.auditmanager#CreateAssessmentFrameworkControlSets": { @@ -2321,33 +2437,33 @@ "name": { "target": "com.amazonaws.auditmanager#FrameworkName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the new custom framework.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the new custom framework.

                                                                                  ", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#FrameworkDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \nAn optional description for the new custom framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  An optional description for the new custom framework.

                                                                                  " } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe compliance type that the new custom framework supports, such as CIS or HIPAA.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

                                                                                  " } }, "controlSets": { "target": "com.amazonaws.auditmanager#CreateAssessmentFrameworkControlSets", "traits": { - "smithy.api#documentation": "

                                                                                  \n The control sets to be associated with the framework. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The control sets that are associated with the framework.

                                                                                  ", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

                                                                                  \n The tags associated with the framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The tags that are associated with the framework.

                                                                                  " } } } @@ -2358,7 +2474,7 @@ "framework": { "target": "com.amazonaws.auditmanager#Framework", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the new framework returned by the CreateAssessmentFramework API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the new framework that the CreateAssessmentFramework API\n returned.

                                                                                  " } } } @@ -2386,7 +2502,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \nCreates an assessment report for the specified assessment.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Creates an assessment report for the specified assessment.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/assessments/{assessmentId}/reports", @@ -2400,20 +2516,20 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentReportName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the new assessment report.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the new assessment report.

                                                                                  ", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentReportDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe description of the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the assessment report.

                                                                                  " } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2426,7 +2542,7 @@ "assessmentReport": { "target": "com.amazonaws.auditmanager#AssessmentReport", "traits": { - "smithy.api#documentation": "

                                                                                  \n The new assessment report returned by the CreateAssessmentReport API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The new assessment report that the CreateAssessmentReport API returned.\n

                                                                                  " } } } @@ -2437,20 +2553,20 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the assessment to be created.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the assessment to be created.

                                                                                  ", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The optional description of the assessment to be created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The optional description of the assessment to be created.

                                                                                  " } }, "assessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

                                                                                  \n The assessment report storage destination for the specified assessment that is being created. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The assessment report storage destination for the assessment that's being created.

                                                                                  ", "smithy.api#required": {} } }, @@ -2463,21 +2579,21 @@ "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of roles for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The list of roles for the assessment.

                                                                                  ", "smithy.api#required": {} } }, "frameworkId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified framework. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the framework that the assessment will be created from.

                                                                                  ", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

                                                                                  \n The tags associated with the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The tags that are associated with the assessment.

                                                                                  " } } } @@ -2513,7 +2629,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Creates a new custom control in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Creates a new custom control in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/controls", @@ -2527,25 +2643,25 @@ "sourceName": { "target": "com.amazonaws.auditmanager#SourceName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the control mapping data source.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the control mapping data source.

                                                                                  " } }, "sourceDescription": { "target": "com.amazonaws.auditmanager#SourceDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the data source that determines from where Audit Manager collects evidence for the control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the data source that determines where Audit Manager collects\n evidence from for the control.

                                                                                  " } }, "sourceSetUpOption": { "target": "com.amazonaws.auditmanager#SourceSetUpOption", "traits": { - "smithy.api#documentation": "

                                                                                  \n The setup option for the data source, which reflects if the evidence collection is automated or manual.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The setup option for the data source, which reflects if the evidence collection is\n automated or manual.

                                                                                  " } }, "sourceType": { "target": "com.amazonaws.auditmanager#SourceType", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies one of the five types of data sources for evidence collection.\n \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies one of the five types of data sources for evidence collection.

                                                                                  " } }, "sourceKeyword": { @@ -2554,18 +2670,18 @@ "sourceFrequency": { "target": "com.amazonaws.auditmanager#SourceFrequency", "traits": { - "smithy.api#documentation": "

                                                                                  \n The frequency of evidence collection for the specified control mapping source.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The frequency of evidence collection for the control mapping source.

                                                                                  " } }, "troubleshootingText": { "target": "com.amazonaws.auditmanager#TroubleshootingText", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe instructions for troubleshooting the specified control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The instructions for troubleshooting the control.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n Control mapping fields that represent the source for evidence collection, along with related parameters and metadata. This does not contain mappingID.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The control mapping fields that represent the source for evidence collection, along\n with related parameters and metadata. This doesn't contain mappingID.

                                                                                  " } }, "com.amazonaws.auditmanager#CreateControlMappingSources": { @@ -2585,45 +2701,45 @@ "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the control.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the control.

                                                                                  ", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#ControlDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe description of the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the control.

                                                                                  " } }, "testingInformation": { "target": "com.amazonaws.auditmanager#TestingInformation", "traits": { - "smithy.api#documentation": "

                                                                                  \n The steps to follow to determine if the control has been satisfied.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The steps to follow to determine if the control is satisfied.

                                                                                  " } }, "actionPlanTitle": { "target": "com.amazonaws.auditmanager#ActionPlanTitle", "traits": { - "smithy.api#documentation": "

                                                                                  \n The title of the action plan for remediating the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The title of the action plan for remediating the control.

                                                                                  " } }, "actionPlanInstructions": { "target": "com.amazonaws.auditmanager#ActionPlanInstructions", "traits": { - "smithy.api#documentation": "

                                                                                  \n The recommended actions to carry out if the control is not fulfilled.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The recommended actions to carry out if the control isn't fulfilled.

                                                                                  " } }, "controlMappingSources": { "target": "com.amazonaws.auditmanager#CreateControlMappingSources", "traits": { - "smithy.api#documentation": "

                                                                                  \n The data mapping sources for the specified control.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The data mapping sources for the control.

                                                                                  ", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

                                                                                  \n The tags associated with the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The tags that are associated with the control.

                                                                                  " } } } @@ -2634,7 +2750,7 @@ "control": { "target": "com.amazonaws.auditmanager#Control", "traits": { - "smithy.api#documentation": "

                                                                                  \n The new control returned by the CreateControl API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The new control that the CreateControl API returned.

                                                                                  " } } } @@ -2645,30 +2761,30 @@ "comment": { "target": "com.amazonaws.auditmanager#DelegationComment", "traits": { - "smithy.api#documentation": "

                                                                                  \n A comment related to the delegation request. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A comment that's related to the delegation request.

                                                                                  " } }, "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the control set. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the control set.

                                                                                  " } }, "roleArn": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the IAM role. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the IAM role.

                                                                                  " } }, "roleType": { "target": "com.amazonaws.auditmanager#RoleType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The type of customer persona.\n

                                                                                  \n \n

                                                                                  In CreateAssessment, roleType can only be PROCESS_OWNER.

                                                                                  \n

                                                                                  In UpdateSettings, roleType can only be PROCESS_OWNER.

                                                                                  \n

                                                                                  In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The type of customer persona.

                                                                                  \n \n

                                                                                  In CreateAssessment, roleType can only be\n PROCESS_OWNER.

                                                                                  \n

                                                                                  In UpdateSettings, roleType can only be\n PROCESS_OWNER.

                                                                                  \n

                                                                                  In BatchCreateDelegationByAssessment, roleType can only be\n RESOURCE_OWNER.

                                                                                  \n
                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A collection of attributes used to create a delegation for an assessment in Audit Manager.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A collection of attributes that's used to create a delegation for an assessment in\n Audit Manager.

                                                                                  " } }, "com.amazonaws.auditmanager#CreateDelegationRequests": { @@ -2699,37 +2815,37 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the delegation. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the delegation.

                                                                                  " } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the associated assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the assessment that's associated with the delegation.

                                                                                  " } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the associated assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the assessment that's associated with the delegation.

                                                                                  " } }, "status": { "target": "com.amazonaws.auditmanager#DelegationStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \n The status of the delegation. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The status of the delegation.

                                                                                  " } }, "roleArn": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the IAM role. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the IAM role.

                                                                                  " } }, "roleType": { "target": "com.amazonaws.auditmanager#RoleType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The type of customer persona.\n

                                                                                  \n \n

                                                                                  In CreateAssessment, roleType can only be PROCESS_OWNER.

                                                                                  \n

                                                                                  In UpdateSettings, roleType can only be PROCESS_OWNER.

                                                                                  \n

                                                                                  In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The type of customer persona.

                                                                                  \n \n

                                                                                  In CreateAssessment, roleType can only be\n PROCESS_OWNER.

                                                                                  \n

                                                                                  In UpdateSettings, roleType can only be\n PROCESS_OWNER.

                                                                                  \n

                                                                                  In BatchCreateDelegationByAssessment, roleType can only be\n RESOURCE_OWNER.

                                                                                  \n
                                                                                  " } }, "creationTime": { @@ -2741,19 +2857,19 @@ "lastUpdated": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the delegation was last updated. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the delegation was last updated.

                                                                                  " } }, "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the associated control set.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the control set that's associated with the delegation.

                                                                                  " } }, "comment": { "target": "com.amazonaws.auditmanager#DelegationComment", "traits": { - "smithy.api#documentation": "

                                                                                  \n The comment related to the delegation. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The comment that's related to the delegation.

                                                                                  " } }, "createdBy": { @@ -2764,7 +2880,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The assignment of a control set to a delegate for review. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The assignment of a control set to a delegate for review.

                                                                                  " } }, "com.amazonaws.auditmanager#DelegationComment": { @@ -2795,48 +2911,48 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the delegation. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the delegation.

                                                                                  " } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the associated assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the associated assessment.

                                                                                  " } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the specified assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the assessment.

                                                                                  " } }, "status": { "target": "com.amazonaws.auditmanager#DelegationStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe current status of the delgation.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The current status of the delegation.

                                                                                  " } }, "roleArn": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the IAM role. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the IAM role.

                                                                                  " } }, "creationTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the delegation was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the delegation was created.

                                                                                  " } }, "controlSetName": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \nSpecifies the name of the control set delegated for review.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies the name of the control set that was delegated for review.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata associated with the specified delegation.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata that's associated with the delegation.

                                                                                  " } }, "com.amazonaws.auditmanager#DelegationMetadataList": { @@ -2893,7 +3009,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Deletes an assessment in Audit Manager. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Deletes an assessment in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "DELETE", "uri": "/assessments/{assessmentId}", @@ -2924,7 +3040,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Deletes a custom framework in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Deletes a custom framework in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "DELETE", "uri": "/assessmentFrameworks/{frameworkId}", @@ -2938,7 +3054,7 @@ "frameworkId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified framework. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the framework.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2949,6 +3065,62 @@ "type": "structure", "members": {} }, + "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShare": { + "type": "operation", + "input": { + "target": "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShareRequest" + }, + "output": { + "target": "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShareResponse" + }, + "errors": [ + { + "target": "com.amazonaws.auditmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.auditmanager#InternalServerException" + }, + { + "target": "com.amazonaws.auditmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.auditmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  \n Deletes a share request for a custom framework in Audit Manager.\n

                                                                                  ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/assessmentFrameworkShareRequests/{requestId}", + "code": 200 + } + } + }, + "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShareRequest": { + "type": "structure", + "members": { + "requestId": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier for the share request to be deleted.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "requestType": { + "target": "com.amazonaws.auditmanager#ShareRequestType", + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies whether the share request is a sent request or a received request.

                                                                                  ", + "smithy.api#httpQuery": "requestType", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.auditmanager#DeleteAssessmentFrameworkShareResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.auditmanager#DeleteAssessmentReport": { "type": "operation", "input": { @@ -2972,7 +3144,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Deletes an assessment report from an assessment in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Deletes an assessment report from an assessment in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "DELETE", "uri": "/assessments/{assessmentId}/reports/{assessmentReportId}", @@ -2986,7 +3158,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2994,7 +3166,7 @@ "assessmentReportId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the assessment report.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The unique identifier for the assessment report.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3011,7 +3183,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3045,7 +3217,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Deletes a custom control in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Deletes a custom control in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "DELETE", "uri": "/controls/{controlId}", @@ -3059,7 +3231,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3093,7 +3265,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Deregisters an account in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Deregisters an account in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/account/deregisterAccount", @@ -3111,7 +3283,7 @@ "status": { "target": "com.amazonaws.auditmanager#AccountStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe registration status of the account.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The registration status of the account.

                                                                                  " } } } @@ -3139,7 +3311,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Removes the specified member Amazon Web Services account as a delegated administrator for Audit Manager.

                                                                                  \n \n

                                                                                  When you remove a delegated administrator from your Audit Manager settings, or when you\n deregister a delegated administrator from Organizations, you continue to have access\n to the evidence that you previously collected under that account. However, Audit Manager\n will stop collecting and attaching evidence to that delegated administrator account\n moving forward.

                                                                                  \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  Removes the specified member Amazon Web Services account as a delegated administrator for\n Audit Manager.

                                                                                  \n \n

                                                                                  When you remove a delegated administrator from your Audit Manager settings, you\n continue to have access to the evidence that you previously collected under that\n account. This is also the case when you deregister a delegated administrator from\n Audit Manager. However, Audit Manager will stop collecting and attaching\n evidence to that delegated administrator account moving forward.

                                                                                  \n
                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/account/deregisterOrganizationAdminAccount", @@ -3153,7 +3325,7 @@ "adminAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified administrator account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the administrator account.

                                                                                  " } } } @@ -3185,7 +3357,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Disassociates an evidence folder from the specified assessment report in Audit Manager. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Disassociates an evidence folder from the specified assessment report in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/disassociateFromAssessmentReport", @@ -3199,7 +3371,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3207,7 +3379,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the folder in which evidence is stored.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the folder in which evidence is stored.

                                                                                  ", "smithy.api#required": {} } } @@ -3263,96 +3435,96 @@ "dataSource": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The data source from which the specified evidence was collected.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The data source where the evidence was collected from.

                                                                                  " } }, "evidenceAwsAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified Amazon Web Services account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the Amazon Web Services account.

                                                                                  " } }, "time": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n The timestamp that represents when the evidence was collected.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The timestamp that represents when the evidence was collected.

                                                                                  " } }, "eventSource": { "target": "com.amazonaws.auditmanager#AWSServiceName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Web Service from which the evidence is collected.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Service that the evidence is collected from.

                                                                                  " } }, "eventName": { "target": "com.amazonaws.auditmanager#EventName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the specified evidence event.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the evidence event.

                                                                                  " } }, "evidenceByType": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The type of automated evidence.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The type of automated evidence.

                                                                                  " } }, "resourcesIncluded": { "target": "com.amazonaws.auditmanager#Resources", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of resources assessed to generate the evidence.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of resources that are assessed to generate the evidence.

                                                                                  " } }, "attributes": { "target": "com.amazonaws.auditmanager#EvidenceAttributes", "traits": { - "smithy.api#documentation": "

                                                                                  \n The names and values used by the evidence event, including an attribute name (such as allowUsersToChangePassword) and value (such as true or false).\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The names and values that are used by the evidence event. This includes an attribute\n name (such as allowUsersToChangePassword) and value (such as true\n or false).

                                                                                  " } }, "iamId": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the IAM user or role associated with the evidence.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the IAM user or role that's associated with\n the evidence.

                                                                                  " } }, "complianceCheck": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  The evaluation status for evidence that falls under the compliance check category. For\n evidence collected from Security Hub, a Pass or\n Fail result is shown. For evidence collected from Config, a\n Compliant or Noncompliant result is shown.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The evaluation status for evidence that falls under the compliance check category. For\n evidence collected from Security Hub, a Pass or\n Fail result is shown. For evidence collected from Config, a Compliant or Noncompliant\n result is shown.

                                                                                  " } }, "awsOrganization": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Web Services account from which the evidence is collected, and its organization path.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services account that the evidence is collected from, and its\n organization path.

                                                                                  " } }, "awsAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified Amazon Web Services account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the Amazon Web Services account.

                                                                                  " } }, "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the folder in which the evidence is stored.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the folder that the evidence is stored in.

                                                                                  " } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  The identifier for the evidence. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the evidence.

                                                                                  " } }, "assessmentReportSelection": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies whether the evidence is included in the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies whether the evidence is included in the assessment report.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A record that contains the information needed to demonstrate compliance with the requirements specified by a control. Examples of evidence include change activity triggered by a user, or a system configuration snapshot. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A record that contains the information needed to demonstrate compliance with the\n requirements specified by a control. Examples of evidence include change activity triggered\n by a user, or a system configuration snapshot.

                                                                                  " } }, "com.amazonaws.auditmanager#EvidenceAttributeKey": { @@ -3424,90 +3596,90 @@ "arn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the framework.

                                                                                  " } }, "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the framework.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#FrameworkName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the framework.

                                                                                  " } }, "type": { "target": "com.amazonaws.auditmanager#FrameworkType", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe framework type, such as custom or standard.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The framework type, such as a custom framework or a standard framework.

                                                                                  " } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#FrameworkDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the framework.

                                                                                  " } }, "logo": { "target": "com.amazonaws.auditmanager#Filename", "traits": { - "smithy.api#documentation": "

                                                                                  \n The logo associated with the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The logo that's associated with the framework.

                                                                                  " } }, "controlSources": { "target": "com.amazonaws.auditmanager#ControlSources", "traits": { - "smithy.api#documentation": "

                                                                                  \n The sources from which Audit Manager collects evidence for the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The sources that Audit Manager collects evidence from for the control.

                                                                                  " } }, "controlSets": { "target": "com.amazonaws.auditmanager#ControlSets", "traits": { - "smithy.api#documentation": "

                                                                                  \n The control sets associated with the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The control sets that are associated with the framework.

                                                                                  " } }, "createdAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the framework was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the framework was created.

                                                                                  " } }, "lastUpdatedAt": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies when the framework was most recently updated.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies when the framework was most recently updated.

                                                                                  " } }, "createdBy": { "target": "com.amazonaws.auditmanager#CreatedBy", "traits": { - "smithy.api#documentation": "

                                                                                  \n The IAM user or role that created the framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The IAM user or role that created the framework.

                                                                                  " } }, "lastUpdatedBy": { "target": "com.amazonaws.auditmanager#LastUpdatedBy", "traits": { - "smithy.api#documentation": "

                                                                                  \n The IAM user or role that most recently updated the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The IAM user or role that most recently updated the framework.

                                                                                  " } }, "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

                                                                                  \n The tags associated with the framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The tags that are associated with the framework.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The file used to structure and automate Audit Manager assessments for a given compliance standard.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The file that's used to structure and automate Audit Manager assessments for a\n given compliance standard.

                                                                                  " } }, "com.amazonaws.auditmanager#FrameworkDescription": { @@ -3526,30 +3698,30 @@ "name": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the framework.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#AssessmentFrameworkDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the framework.

                                                                                  " } }, "logo": { "target": "com.amazonaws.auditmanager#Filename", "traits": { - "smithy.api#documentation": "

                                                                                  \n The logo associated with the framework. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The logo that's associated with the framework.

                                                                                  " } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The compliance standard associated with the framework, such as PCI-DSS or HIPAA.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The compliance standard that's associated with the framework. For example, this could\n be PCI DSS or HIPAA.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata of a framework, such as the name, ID, description, and so on. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata of a framework, such as the name, ID, or description.

                                                                                  " } }, "com.amazonaws.auditmanager#FrameworkMetadataList": { @@ -3607,7 +3779,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns the registration status of an account in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns the registration status of an account in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/account/status", @@ -3625,7 +3797,7 @@ "status": { "target": "com.amazonaws.auditmanager#AccountStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \n The status of the specified Amazon Web Services account.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The status of the Amazon Web Services account.

                                                                                  " } } } @@ -3653,7 +3825,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns an assessment from Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns an assessment from Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}", @@ -3684,7 +3856,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a framework from Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a framework from Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessmentFrameworks/{frameworkId}", @@ -3698,7 +3870,7 @@ "frameworkId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified framework. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the framework.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3711,7 +3883,7 @@ "framework": { "target": "com.amazonaws.auditmanager#Framework", "traits": { - "smithy.api#documentation": "

                                                                                  \n The framework returned by the GetAssessmentFramework API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The framework that the GetAssessmentFramework API returned.

                                                                                  " } } } @@ -3739,7 +3911,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns the URL of a specified assessment report in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns the URL of an assessment report in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/reports/{assessmentReportId}/url", @@ -3753,7 +3925,7 @@ "assessmentReportId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe identifier for the assessment report.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment report.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3761,7 +3933,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3782,7 +3954,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3823,7 +3995,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of changelogs from Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of changelogs from Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/changelogs", @@ -3842,7 +4014,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3850,28 +4022,28 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  ", "smithy.api#httpQuery": "controlSetId" } }, "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n \n The identifier for the specified control. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control.

                                                                                  ", "smithy.api#httpQuery": "controlId" } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -3883,13 +4055,13 @@ "changeLogs": { "target": "com.amazonaws.auditmanager#ChangeLogs", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of user activity for the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of user activity for the control.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -3917,7 +4089,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a control from Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a control from Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/controls/{controlId}", @@ -3931,7 +4103,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n \n The identifier for the specified control. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3944,7 +4116,7 @@ "control": { "target": "com.amazonaws.auditmanager#Control", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the control returned by the GetControl API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the control that the GetControl API returned.

                                                                                  " } } } @@ -3969,7 +4141,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of delegations from an audit owner to a delegate. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of delegations from an audit owner to a delegate.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/delegations", @@ -3988,14 +4160,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -4007,13 +4179,13 @@ "delegations": { "target": "com.amazonaws.auditmanager#DelegationMetadataList", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of delegations returned by the GetDelegations API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of delegations that the GetDelegations API returned.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -4041,7 +4213,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns evidence from Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns evidence from Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence/{evidenceId}", @@ -4072,7 +4244,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns all evidence from a specified evidence folder in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns all evidence from a specified evidence folder in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}/evidence", @@ -4091,7 +4263,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4099,7 +4271,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the control set. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4107,7 +4279,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the folder in which the evidence is stored.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The unique identifier for the folder that the evidence is stored in.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4115,14 +4287,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -4134,13 +4306,13 @@ "evidence": { "target": "com.amazonaws.auditmanager#EvidenceList", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of evidence returned by the GetEvidenceByEvidenceFolder API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of evidence that the GetEvidenceByEvidenceFolder API returned.\n

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -4168,7 +4340,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns an evidence folder from the specified assessment in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns an evidence folder from the specified assessment in Audit Manager.\n

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/evidenceFolders/{evidenceFolderId}", @@ -4182,7 +4354,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4190,7 +4362,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4198,7 +4370,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the folder in which the evidence is stored.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the folder that the evidence is stored in.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4211,7 +4383,7 @@ "evidenceFolder": { "target": "com.amazonaws.auditmanager#AssessmentEvidenceFolder", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe folder in which evidence is stored.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The folder that the evidence is stored in.

                                                                                  " } } } @@ -4239,7 +4411,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns the evidence folders from a specified assessment in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns the evidence folders from a specified assessment in Audit Manager.\n

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/evidenceFolders", @@ -4275,7 +4447,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of evidence folders associated with a specified control of an assessment in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of evidence folders that are associated with a specified control of an\n assessment in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments/{assessmentId}/evidenceFolders-by-assessment-control/{controlSetId}/{controlId}", @@ -4294,7 +4466,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4302,7 +4474,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4310,7 +4482,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4318,14 +4490,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -4337,13 +4509,13 @@ "evidenceFolders": { "target": "com.amazonaws.auditmanager#AssessmentEvidenceFolders", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of evidence folders returned by the GetEvidenceFoldersByAssessmentControl API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of evidence folders that the\n GetEvidenceFoldersByAssessmentControl API returned.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -4354,7 +4526,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4362,14 +4534,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -4381,13 +4553,13 @@ "evidenceFolders": { "target": "com.amazonaws.auditmanager#AssessmentEvidenceFolders", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of evidence folders returned by the GetEvidenceFoldersByAssessment API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of evidence folders that the GetEvidenceFoldersByAssessment API\n returned.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -4398,7 +4570,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4406,7 +4578,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4414,7 +4586,7 @@ "evidenceFolderId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the folder in which the evidence is stored.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the folder that the evidence is stored in.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4422,7 +4594,7 @@ "evidenceId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the evidence. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the evidence.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4435,7 +4607,7 @@ "evidence": { "target": "com.amazonaws.auditmanager#Evidence", "traits": { - "smithy.api#documentation": "

                                                                                  \n The evidence returned by the GetEvidenceResponse API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The evidence that the GetEvidenceResponse API returned.

                                                                                  " } } } @@ -4463,7 +4635,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns the name of the delegated Amazon Web Services administrator account for the organization. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns the name of the delegated Amazon Web Services administrator account for the\n organization.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/account/organizationAdminAccount", @@ -4481,13 +4653,13 @@ "adminAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified administrator account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the administrator account.

                                                                                  " } }, "organizationId": { "target": "com.amazonaws.auditmanager#organizationId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified organization. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the organization.

                                                                                  " } } } @@ -4512,7 +4684,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of the in-scope Amazon Web Services services for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of the in-scope Amazon Web Services services for the specified\n assessment.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/services", @@ -4530,7 +4702,7 @@ "serviceMetadata": { "target": "com.amazonaws.auditmanager#ServiceMetadataList", "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata associated with the Amazon Web Service.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata that's associated with the Amazon Web Service.

                                                                                  " } } } @@ -4552,7 +4724,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns the settings for the specified Amazon Web Services account. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns the settings for the specified Amazon Web Services account.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/settings/{attribute}", @@ -4566,7 +4738,7 @@ "attribute": { "target": "com.amazonaws.auditmanager#SettingAttribute", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of SettingAttribute enum values. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The list of SettingAttribute enum values.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4579,7 +4751,7 @@ "settings": { "target": "com.amazonaws.auditmanager#Settings", "traits": { - "smithy.api#documentation": "

                                                                                  \n The settings object that holds all supported Audit Manager settings. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The settings object that holds all supported Audit Manager settings.

                                                                                  " } } } @@ -4618,7 +4790,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n An internal service error occurred during the processing of your request. Try again later.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  An internal service error occurred during the processing of your request. Try again\n later.

                                                                                  ", "smithy.api#error": "server", "smithy.api#httpError": 500 } @@ -4670,6 +4842,83 @@ "smithy.api#pattern": "^[a-zA-Z0-9\\s-_()\\[\\]]+$" } }, + "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequests": { + "type": "operation", + "input": { + "target": "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequestsRequest" + }, + "output": { + "target": "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequestsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.auditmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.auditmanager#InternalServerException" + }, + { + "target": "com.amazonaws.auditmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Returns a list of sent or received share requests for custom frameworks in Audit Manager.

                                                                                  ", + "smithy.api#http": { + "method": "GET", + "uri": "/assessmentFrameworkShareRequests", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequestsRequest": { + "type": "structure", + "members": { + "requestType": { + "target": "com.amazonaws.auditmanager#ShareRequestType", + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies whether the share request is a sent request or a received request.

                                                                                  ", + "smithy.api#httpQuery": "requestType", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.auditmanager#Token", + "traits": { + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.auditmanager#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", + "smithy.api#httpQuery": "maxResults" + } + } + } + }, + "com.amazonaws.auditmanager#ListAssessmentFrameworkShareRequestsResponse": { + "type": "structure", + "members": { + "assessmentFrameworkShareRequests": { + "target": "com.amazonaws.auditmanager#AssessmentFrameworkShareRequestList", + "traits": { + "smithy.api#documentation": "

                                                                                  The list of share requests that the ListAssessmentFrameworkShareRequests\n API returned.

                                                                                  " + } + }, + "nextToken": { + "target": "com.amazonaws.auditmanager#Token", + "traits": { + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " + } + } + } + }, "com.amazonaws.auditmanager#ListAssessmentFrameworks": { "type": "operation", "input": { @@ -4690,7 +4939,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of the frameworks available in the Audit Manager framework library.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of the frameworks that are available in the Audit Manager\n framework library.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessmentFrameworks", @@ -4709,7 +4958,7 @@ "frameworkType": { "target": "com.amazonaws.auditmanager#FrameworkType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The type of framework, such as standard or custom. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The type of framework, such as a standard framework or a custom framework.

                                                                                  ", "smithy.api#httpQuery": "frameworkType", "smithy.api#required": {} } @@ -4717,14 +4966,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -4736,13 +4985,13 @@ "frameworkMetadataList": { "target": "com.amazonaws.auditmanager#FrameworkMetadataList", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe list of metadata objects for the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of metadata objects for the framework.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -4773,7 +5022,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of assessment reports created in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of assessment reports created in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessmentReports", @@ -4792,14 +5041,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -4811,13 +5060,13 @@ "assessmentReports": { "target": "com.amazonaws.auditmanager#AssessmentReportsMetadata", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of assessment reports returned by the ListAssessmentReports API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of assessment reports that the ListAssessmentReports API\n returned.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -4842,7 +5091,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of current and past assessments from Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of current and past assessments from Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/assessments", @@ -4861,14 +5110,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -4880,13 +5129,13 @@ "assessmentMetadata": { "target": "com.amazonaws.auditmanager#ListAssessmentMetadata", "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata associated with the assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata that's associated with the assessment.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -4911,7 +5160,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of controls from Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of controls from Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/controls", @@ -4930,7 +5179,7 @@ "controlType": { "target": "com.amazonaws.auditmanager#ControlType", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe type of control, such as standard or custom.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The type of control, such as a standard control or a custom control.

                                                                                  ", "smithy.api#httpQuery": "controlType", "smithy.api#required": {} } @@ -4938,14 +5187,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -4957,13 +5206,13 @@ "controlMetadataList": { "target": "com.amazonaws.auditmanager#ControlMetadataList", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of control metadata objects returned by the ListControls API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of control metadata objects that the ListControls API returned.\n

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -4988,7 +5237,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \nReturns a list of keywords that pre-mapped to the specified control data source.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of keywords that are pre-mapped to the specified control data source.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/dataSourceKeywords", @@ -5007,7 +5256,7 @@ "source": { "target": "com.amazonaws.auditmanager#SourceType", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe control mapping data source to which the keywords apply.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The control mapping data source that the keywords apply to.

                                                                                  ", "smithy.api#httpQuery": "source", "smithy.api#required": {} } @@ -5015,14 +5264,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -5034,13 +5283,13 @@ "keywords": { "target": "com.amazonaws.auditmanager#Keywords", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of keywords for the specified event mapping source.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of keywords for the event mapping source.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -5065,7 +5314,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of all Audit Manager notifications. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of all Audit Manager notifications.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/notifications", @@ -5084,14 +5333,14 @@ "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  ", "smithy.api#httpQuery": "nextToken" } }, "maxResults": { "target": "com.amazonaws.auditmanager#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  \n Represents the maximum number of results per page, or per API request call.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Represents the maximum number of results on a page or for an API request call.

                                                                                  ", "smithy.api#httpQuery": "maxResults" } } @@ -5103,13 +5352,13 @@ "notifications": { "target": "com.amazonaws.auditmanager#Notifications", "traits": { - "smithy.api#documentation": "

                                                                                  \n The returned list of notifications. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The returned list of notifications.

                                                                                  " } }, "nextToken": { "target": "com.amazonaws.auditmanager#Token", "traits": { - "smithy.api#documentation": "

                                                                                  \n The pagination token used to fetch the next set of results.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token that's used to fetch the next set of results.

                                                                                  " } } } @@ -5134,7 +5383,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Returns a list of tags for the specified resource in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of tags for the specified resource in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/tags/{resourceArn}", @@ -5148,7 +5397,7 @@ "resourceArn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the specified resource.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the resource.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5161,7 +5410,7 @@ "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of tags returned by the ListTagsForResource API.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of tags that the ListTagsForResource API returned.

                                                                                  " } } } @@ -5172,12 +5421,12 @@ "s3ResourcePath": { "target": "com.amazonaws.auditmanager#S3Url", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon S3 URL that points to a manual evidence object. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon S3 URL that points to a manual evidence object.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n Evidence that is uploaded to Audit Manager manually. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Evidence that's uploaded to Audit Manager manually.

                                                                                  " } }, "com.amazonaws.auditmanager#ManualEvidenceList": { @@ -5219,54 +5468,54 @@ "id": { "target": "com.amazonaws.auditmanager#TimestampUUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the notification. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the notification.

                                                                                  " } }, "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  " } }, "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the related assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the related assessment.

                                                                                  " } }, "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control set.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  " } }, "controlSetName": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies the name of the control set that the notification is about.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies the name of the control set that the notification is about.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the notification. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the notification.

                                                                                  " } }, "eventTime": { "target": "com.amazonaws.auditmanager#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  \n The time when the notification was sent. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The time when the notification was sent.

                                                                                  " } }, "source": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \n The sender of the notification. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The sender of the notification.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The notification used to inform a user of an update in Audit Manager. For example, this includes the notification that is sent when a control set is delegated for review. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The notification that informs a user of an update in Audit Manager. For\n example, this includes the notification that's sent when a control set is delegated for\n review.

                                                                                  " } }, "com.amazonaws.auditmanager#Notifications": { @@ -5275,6 +5524,12 @@ "target": "com.amazonaws.auditmanager#Notification" } }, + "com.amazonaws.auditmanager#NullableInteger": { + "type": "integer", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.auditmanager#ObjectTypeEnum": { "type": "string", "traits": { @@ -5302,6 +5557,12 @@ ] } }, + "com.amazonaws.auditmanager#Region": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z]{2}-[a-z]+-[0-9]{1}$" + } + }, "com.amazonaws.auditmanager#RegisterAccount": { "type": "operation", "input": { @@ -5325,7 +5586,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Enables Audit Manager for the specified Amazon Web Services account. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Enables Audit Manager for the specified Amazon Web Services account.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/account/registerAccount", @@ -5339,13 +5600,13 @@ "kmsKey": { "target": "com.amazonaws.auditmanager#KmsKey", "traits": { - "smithy.api#documentation": "

                                                                                  \n The KMS key details. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The KMS key details.

                                                                                  " } }, "delegatedAdminAccount": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The delegated administrator account for Audit Manager. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The delegated administrator account for Audit Manager.

                                                                                  " } } } @@ -5356,7 +5617,7 @@ "status": { "target": "com.amazonaws.auditmanager#AccountStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \n The status of the account registration request. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The status of the account registration request.

                                                                                  " } } } @@ -5384,7 +5645,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Enables an Amazon Web Services account within the organization as the delegated administrator for Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Enables an Amazon Web Services account within the organization as the delegated\n administrator for Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/account/registerOrganizationAdminAccount", @@ -5398,7 +5659,7 @@ "adminAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified delegated administrator account. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the delegated administrator account.

                                                                                  ", "smithy.api#required": {} } } @@ -5410,13 +5671,13 @@ "adminAccountId": { "target": "com.amazonaws.auditmanager#AccountId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified delegated administrator account. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the delegated administrator account.

                                                                                  " } }, "organizationId": { "target": "com.amazonaws.auditmanager#organizationId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified organization. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier for the organization.

                                                                                  " } } } @@ -5427,18 +5688,18 @@ "arn": { "target": "com.amazonaws.auditmanager#GenericArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) for the specified resource.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) for the resource.

                                                                                  " } }, "value": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The value of the specified resource.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The value of the resource.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A system asset that is evaluated in an Audit Manager assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A system asset that's evaluated in an Audit Manager assessment.

                                                                                  " } }, "com.amazonaws.auditmanager#ResourceNotFoundException": { @@ -5453,20 +5714,20 @@ "resourceId": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the specified resource.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The unique identifier for the resource.

                                                                                  ", "smithy.api#required": {} } }, "resourceType": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The type of resource affected by the error.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The type of resource that's affected by the error.

                                                                                  ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The resource specified in the request cannot be found.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The resource that's specified in the request can't be found.

                                                                                  ", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -5483,18 +5744,18 @@ "roleType": { "target": "com.amazonaws.auditmanager#RoleType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The type of customer persona.\n

                                                                                  \n \n

                                                                                  In CreateAssessment, roleType can only be PROCESS_OWNER.

                                                                                  \n

                                                                                  In UpdateSettings, roleType can only be PROCESS_OWNER.

                                                                                  \n

                                                                                  In BatchCreateDelegationByAssessment, roleType can only be RESOURCE_OWNER.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The type of customer persona.

                                                                                  \n \n

                                                                                  In CreateAssessment, roleType can only be\n PROCESS_OWNER.

                                                                                  \n

                                                                                  In UpdateSettings, roleType can only be\n PROCESS_OWNER.

                                                                                  \n

                                                                                  In BatchCreateDelegationByAssessment, roleType can only be\n RESOURCE_OWNER.

                                                                                  \n
                                                                                  " } }, "roleArn": { "target": "com.amazonaws.auditmanager#IamArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the IAM role. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the IAM role.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The wrapper that contains the Audit Manager role information of the current user, such as the role type and IAM Amazon Resource Name (ARN).\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The wrapper that contains the Audit Manager role information of the current\n user. This includes the role type and IAM Amazon Resource Name (ARN).\n

                                                                                  " } }, "com.amazonaws.auditmanager#RoleType": { @@ -5544,18 +5805,18 @@ "awsAccounts": { "target": "com.amazonaws.auditmanager#AWSAccounts", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Web Services accounts included in the scope of the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services accounts that are included in the scope of the assessment.\n

                                                                                  " } }, "awsServices": { "target": "com.amazonaws.auditmanager#AWSServices", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Web Services services included in the scope of the assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services services that are included in the scope of the assessment.\n

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The wrapper that contains the Amazon Web Services accounts and services in scope for the assessment.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The wrapper that contains the Amazon Web Services accounts and services that are in\n scope for the assessment.

                                                                                  " } }, "com.amazonaws.auditmanager#ServiceMetadata": { @@ -5564,30 +5825,30 @@ "name": { "target": "com.amazonaws.auditmanager#AWSServiceName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the Amazon Web Service.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the Amazon Web Service.

                                                                                  " } }, "displayName": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \n The display name of the Amazon Web Service.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The display name of the Amazon Web Service.

                                                                                  " } }, "description": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the specified Amazon Web Service.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the Amazon Web Service.

                                                                                  " } }, "category": { "target": "com.amazonaws.auditmanager#NonEmptyString", "traits": { - "smithy.api#documentation": "

                                                                                  \n The category in which the Amazon Web Service belongs, such as compute, storage, database, and so on.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The category that the Amazon Web Service belongs to, such as compute, storage,\n or database.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The metadata associated with the specified Amazon Web Service.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metadata that's associated with the Amazon Web Service.

                                                                                  " } }, "com.amazonaws.auditmanager#ServiceMetadataList": { @@ -5629,36 +5890,119 @@ "isAwsOrgEnabled": { "target": "com.amazonaws.auditmanager#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  \n Specifies whether Organizations is enabled. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies whether Organizations is enabled.

                                                                                  " } }, "snsTopic": { "target": "com.amazonaws.auditmanager#SNSTopic", "traits": { - "smithy.api#documentation": "

                                                                                  \n The designated Amazon Simple Notification Service (Amazon SNS) topic. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The designated Amazon Simple Notification Service (Amazon SNS) topic.

                                                                                  " } }, "defaultAssessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

                                                                                  \n The default storage destination for assessment reports.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The default storage destination for assessment reports.

                                                                                  " } }, "defaultProcessOwners": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

                                                                                  \n The designated default audit owners. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The designated default audit owners.

                                                                                  " } }, "kmsKey": { "target": "com.amazonaws.auditmanager#KmsKey", "traits": { - "smithy.api#documentation": "

                                                                                  \n The KMS key details. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The KMS key details.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The settings object that holds all supported Audit Manager settings. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The settings object that holds all supported Audit Manager settings.

                                                                                  " + } + }, + "com.amazonaws.auditmanager#ShareRequestAction": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACCEPT", + "name": "ACCEPT" + }, + { + "value": "DECLINE", + "name": "DECLINE" + }, + { + "value": "REVOKE", + "name": "REVOKE" + } + ] + } + }, + "com.amazonaws.auditmanager#ShareRequestComment": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 500 + }, + "smithy.api#pattern": "^[\\w\\W\\s\\S]*$" + } + }, + "com.amazonaws.auditmanager#ShareRequestStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "REPLICATING", + "name": "REPLICATING" + }, + { + "value": "SHARED", + "name": "SHARED" + }, + { + "value": "EXPIRING", + "name": "EXPIRING" + }, + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "EXPIRED", + "name": "EXPIRED" + }, + { + "value": "DECLINED", + "name": "DECLINED" + }, + { + "value": "REVOKED", + "name": "REVOKED" + } + ] + } + }, + "com.amazonaws.auditmanager#ShareRequestType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "SENT", + "name": "SENT" + }, + { + "value": "RECEIVED", + "name": "RECEIVED" + } + ] } }, "com.amazonaws.auditmanager#SnsArn": { @@ -5706,18 +6050,18 @@ "keywordInputType": { "target": "com.amazonaws.auditmanager#KeywordInputType", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe method of input for the specified keyword.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The method of input for the keyword.

                                                                                  " } }, "keywordValue": { "target": "com.amazonaws.auditmanager#KeywordValue", "traits": { - "smithy.api#documentation": "

                                                                                  \n The value of the keyword used to search CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names when mapping a control data source. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The value of the keyword that's used to search CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names\n when mapping a control data source.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The keyword to search for in CloudTrail logs, Config rules,\n Security Hub checks, and Amazon Web Services API names.

                                                                                  " } }, "com.amazonaws.auditmanager#SourceName": { @@ -5771,6 +6115,81 @@ ] } }, + "com.amazonaws.auditmanager#StartAssessmentFrameworkShare": { + "type": "operation", + "input": { + "target": "com.amazonaws.auditmanager#StartAssessmentFrameworkShareRequest" + }, + "output": { + "target": "com.amazonaws.auditmanager#StartAssessmentFrameworkShareResponse" + }, + "errors": [ + { + "target": "com.amazonaws.auditmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.auditmanager#InternalServerException" + }, + { + "target": "com.amazonaws.auditmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.auditmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Creates a share request for a custom framework in Audit Manager.

                                                                                  \n

                                                                                  The share request specifies a recipient and notifies them that a custom framework is available. Recipients have 120 days to accept or decline the request. If no action is taken, the share request expires.

                                                                                  \n \n

                                                                                  When you invoke the StartAssessmentFrameworkShare API, you are about to\n share a custom framework with another Amazon Web Services account. You may not share a\n custom framework that is derived from a standard framework if the standard framework is\n designated as not eligible for sharing by Amazon Web Services, unless you have obtained\n permission to do so from the owner of the standard framework. To learn more about which\n standard frameworks are eligible for sharing, see Framework sharing eligibility in the Audit Manager User\n Guide.

                                                                                  \n
                                                                                  ", + "smithy.api#http": { + "method": "POST", + "uri": "/assessmentFrameworks/{frameworkId}/shareRequests", + "code": 200 + } + } + }, + "com.amazonaws.auditmanager#StartAssessmentFrameworkShareRequest": { + "type": "structure", + "members": { + "frameworkId": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier for the custom framework to be shared.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "destinationAccount": { + "target": "com.amazonaws.auditmanager#AccountId", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Web Services account of the recipient.

                                                                                  ", + "smithy.api#required": {} + } + }, + "destinationRegion": { + "target": "com.amazonaws.auditmanager#Region", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Web Services Region of the recipient.

                                                                                  ", + "smithy.api#required": {} + } + }, + "comment": { + "target": "com.amazonaws.auditmanager#ShareRequestComment", + "traits": { + "smithy.api#documentation": "

                                                                                  An optional comment from the sender about the share request.

                                                                                  " + } + } + } + }, + "com.amazonaws.auditmanager#StartAssessmentFrameworkShareResponse": { + "type": "structure", + "members": { + "assessmentFrameworkShareRequest": { + "target": "com.amazonaws.auditmanager#AssessmentFrameworkShareRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The share request that's created by the StartAssessmentFrameworkShare API.\n

                                                                                  " + } + } + } + }, "com.amazonaws.auditmanager#String": { "type": "string", "traits": { @@ -5838,7 +6257,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Tags the specified resource in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Tags the specified resource in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/tags/{resourceArn}", @@ -5852,7 +6271,7 @@ "resourceArn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the specified resource.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the resource.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5860,7 +6279,7 @@ "tags": { "target": "com.amazonaws.auditmanager#TagMap", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe tags to be associated with the resource.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The tags that are associated with the resource.

                                                                                  ", "smithy.api#required": {} } } @@ -5929,18 +6348,18 @@ "hyperlinkName": { "target": "com.amazonaws.auditmanager#HyperlinkName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name or word used as a hyperlink to the URL. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name or word that's used as a hyperlink to the URL.

                                                                                  " } }, "link": { "target": "com.amazonaws.auditmanager#UrlLink", "traits": { - "smithy.api#documentation": "

                                                                                  \n The unique identifier for the internet resource. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the internet resource.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A uniform resource locator, used as a unique identifier to locate a resource on the internet. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Short for uniform resource locator. A URL is used as a unique identifier to locate a\n resource on the internet.

                                                                                  " } }, "com.amazonaws.auditmanager#UUID": { @@ -5973,7 +6392,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Removes a tag from a resource in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Removes a tag from a resource in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "DELETE", "uri": "/tags/{resourceArn}", @@ -5987,7 +6406,7 @@ "resourceArn": { "target": "com.amazonaws.auditmanager#AuditManagerArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Resource Name (ARN) of the specified resource.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the specified resource.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5995,7 +6414,7 @@ "tagKeys": { "target": "com.amazonaws.auditmanager#TagKeyList", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name or key of the tag. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name or key of the tag.

                                                                                  ", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -6029,7 +6448,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Edits an Audit Manager assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Edits an Audit Manager assessment.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}", @@ -6060,7 +6479,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Updates a control within an assessment in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Updates a control within an assessment in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/controls/{controlId}", @@ -6074,7 +6493,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6082,7 +6501,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#ControlSetId", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6090,7 +6509,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n \n The identifier for the specified control. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6098,13 +6517,13 @@ "controlStatus": { "target": "com.amazonaws.auditmanager#ControlStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \n The status of the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The status of the control.

                                                                                  " } }, "commentBody": { "target": "com.amazonaws.auditmanager#ControlCommentBody", "traits": { - "smithy.api#documentation": "

                                                                                  \n The comment body text for the specified control. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The comment body text for the control.

                                                                                  " } } } @@ -6115,7 +6534,7 @@ "control": { "target": "com.amazonaws.auditmanager#AssessmentControl", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the updated control set returned by the UpdateAssessmentControl API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the updated control set that the UpdateAssessmentControl API\n returned.

                                                                                  " } } } @@ -6143,7 +6562,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Updates the status of a control set in an Audit Manager assessment.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Updates the status of a control set in an Audit Manager assessment.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/controlSets/{controlSetId}/status", @@ -6157,7 +6576,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6165,7 +6584,7 @@ "controlSetId": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control set.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6173,14 +6592,14 @@ "status": { "target": "com.amazonaws.auditmanager#ControlSetStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe status of the control set that is being updated.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The status of the control set that's being updated.

                                                                                  ", "smithy.api#required": {} } }, "comment": { "target": "com.amazonaws.auditmanager#DelegationComment", "traits": { - "smithy.api#documentation": "

                                                                                  \n The comment related to the status update.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The comment that's related to the status update.

                                                                                  ", "smithy.api#required": {} } } @@ -6192,7 +6611,7 @@ "controlSet": { "target": "com.amazonaws.auditmanager#AssessmentControlSet", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the updated control set returned by the UpdateAssessmentControlSetStatus API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the updated control set that the\n UpdateAssessmentControlSetStatus API returned.

                                                                                  " } } } @@ -6220,7 +6639,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Updates a custom framework in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Updates a custom framework in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessmentFrameworks/{frameworkId}", @@ -6234,25 +6653,25 @@ "id": { "target": "com.amazonaws.auditmanager#ControlSetName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the control set.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the control set.

                                                                                  " } }, "name": { "target": "com.amazonaws.auditmanager#ControlSetName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the control set.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the control set.

                                                                                  ", "smithy.api#required": {} } }, "controls": { "target": "com.amazonaws.auditmanager#CreateAssessmentFrameworkControls", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe list of controls contained within the control set.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of controls that are contained within the control set.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n A controlSet entity that represents a collection of controls in Audit Manager. This does not contain the control set ID.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A controlSet entity that represents a collection of controls in Audit Manager. This doesn't contain the control set ID.

                                                                                  " } }, "com.amazonaws.auditmanager#UpdateAssessmentFrameworkControlSets": { @@ -6267,7 +6686,7 @@ "frameworkId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified framework. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the framework.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6275,26 +6694,26 @@ "name": { "target": "com.amazonaws.auditmanager#FrameworkName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the framework to be updated.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the framework to be updated.

                                                                                  ", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#FrameworkDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe description of the framework that is to be updated.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the updated framework.

                                                                                  " } }, "complianceType": { "target": "com.amazonaws.auditmanager#ComplianceType", "traits": { - "smithy.api#documentation": "

                                                                                  \n The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The compliance type that the new custom framework supports, such as CIS or HIPAA.\n

                                                                                  " } }, "controlSets": { "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkControlSets", "traits": { - "smithy.api#documentation": "

                                                                                  \n The control sets associated with the framework. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The control sets that are associated with the framework.

                                                                                  ", "smithy.api#required": {} } } @@ -6306,7 +6725,76 @@ "framework": { "target": "com.amazonaws.auditmanager#Framework", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the specified framework.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the framework.

                                                                                  " + } + } + } + }, + "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShare": { + "type": "operation", + "input": { + "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShareRequest" + }, + "output": { + "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShareResponse" + }, + "errors": [ + { + "target": "com.amazonaws.auditmanager#AccessDeniedException" + }, + { + "target": "com.amazonaws.auditmanager#InternalServerException" + }, + { + "target": "com.amazonaws.auditmanager#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.auditmanager#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Updates a share request for a custom framework in Audit Manager.

                                                                                  ", + "smithy.api#http": { + "method": "PUT", + "uri": "/assessmentFrameworkShareRequests/{requestId}", + "code": 200 + } + } + }, + "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShareRequest": { + "type": "structure", + "members": { + "requestId": { + "target": "com.amazonaws.auditmanager#UUID", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier for the share request.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "requestType": { + "target": "com.amazonaws.auditmanager#ShareRequestType", + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies whether the share request is a sent request or a received request.

                                                                                  ", + "smithy.api#required": {} + } + }, + "action": { + "target": "com.amazonaws.auditmanager#ShareRequestAction", + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the update action for the share request.

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.auditmanager#UpdateAssessmentFrameworkShareResponse": { + "type": "structure", + "members": { + "assessmentFrameworkShareRequest": { + "target": "com.amazonaws.auditmanager#AssessmentFrameworkShareRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The updated share request that's returned by the\n UpdateAssessmentFrameworkShare operation.

                                                                                  " } } } @@ -6317,7 +6805,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6325,32 +6813,32 @@ "assessmentName": { "target": "com.amazonaws.auditmanager#AssessmentName", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the specified assessment to be updated. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the assessment to be updated.

                                                                                  " } }, "assessmentDescription": { "target": "com.amazonaws.auditmanager#AssessmentDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \n The description of the specified assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The description of the assessment.

                                                                                  " } }, "scope": { "target": "com.amazonaws.auditmanager#Scope", "traits": { - "smithy.api#documentation": "

                                                                                  \n The scope of the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The scope of the assessment.

                                                                                  ", "smithy.api#required": {} } }, "assessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

                                                                                  \n The assessment report storage destination for the specified assessment that is being updated. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The assessment report storage destination for the assessment that's being updated.\n

                                                                                  " } }, "roles": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

                                                                                  \n The list of roles for the specified assessment. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of roles for the assessment.

                                                                                  " } } } @@ -6361,7 +6849,7 @@ "assessment": { "target": "com.amazonaws.auditmanager#Assessment", "traits": { - "smithy.api#documentation": "

                                                                                  \n The response object (name of the updated assessment) for the UpdateAssessmentRequest API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The response object for the UpdateAssessmentRequest API. This is the name\n of the updated assessment.

                                                                                  " } } } @@ -6389,7 +6877,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Updates the status of an assessment in Audit Manager. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Updates the status of an assessment in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/assessments/{assessmentId}/status", @@ -6403,7 +6891,7 @@ "assessmentId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the assessment.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6411,7 +6899,7 @@ "status": { "target": "com.amazonaws.auditmanager#AssessmentStatus", "traits": { - "smithy.api#documentation": "

                                                                                  \n The current status of the specified assessment. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The current status of the assessment.

                                                                                  ", "smithy.api#required": {} } } @@ -6423,7 +6911,7 @@ "assessment": { "target": "com.amazonaws.auditmanager#Assessment", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the updated assessment returned by the UpdateAssessmentStatus API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the updated assessment that the UpdateAssessmentStatus API\n returned.

                                                                                  " } } } @@ -6451,7 +6939,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Updates a custom control in Audit Manager.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Updates a custom control in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/controls/{controlId}", @@ -6465,7 +6953,7 @@ "controlId": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  \n The identifier for the specified control. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier for the control.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6473,38 +6961,38 @@ "name": { "target": "com.amazonaws.auditmanager#ControlName", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe name of the control to be updated.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the updated control.

                                                                                  ", "smithy.api#required": {} } }, "description": { "target": "com.amazonaws.auditmanager#ControlDescription", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe optional description of the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The optional description of the control.

                                                                                  " } }, "testingInformation": { "target": "com.amazonaws.auditmanager#TestingInformation", "traits": { - "smithy.api#documentation": "

                                                                                  \n The steps that to follow to determine if the control has been satisfied.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The steps that you should follow to determine if the control is met.

                                                                                  " } }, "actionPlanTitle": { "target": "com.amazonaws.auditmanager#ActionPlanTitle", "traits": { - "smithy.api#documentation": "

                                                                                  \n The title of the action plan for remediating the control.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The title of the action plan for remediating the control.

                                                                                  " } }, "actionPlanInstructions": { "target": "com.amazonaws.auditmanager#ActionPlanInstructions", "traits": { - "smithy.api#documentation": "

                                                                                  \n \n The recommended actions to carry out if the control is not fulfilled.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The recommended actions to carry out if the control isn't fulfilled.

                                                                                  " } }, "controlMappingSources": { "target": "com.amazonaws.auditmanager#ControlMappingSources", "traits": { - "smithy.api#documentation": "

                                                                                  \n The data mapping sources for the specified control.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The data mapping sources for the control.

                                                                                  ", "smithy.api#required": {} } } @@ -6516,7 +7004,7 @@ "control": { "target": "com.amazonaws.auditmanager#Control", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the updated control set returned by the UpdateControl API. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the updated control set that the UpdateControl API returned.\n

                                                                                  " } } } @@ -6541,7 +7029,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Updates Audit Manager settings for the current user account. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Updates Audit Manager settings for the current user account.

                                                                                  ", "smithy.api#http": { "method": "PUT", "uri": "/settings", @@ -6555,25 +7043,25 @@ "snsTopic": { "target": "com.amazonaws.auditmanager#SnsArn", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Simple Notification Service (Amazon SNS) topic to which Audit Manager sends notifications.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Simple Notification Service (Amazon SNS) topic that Audit Manager sends\n notifications to.

                                                                                  " } }, "defaultAssessmentReportsDestination": { "target": "com.amazonaws.auditmanager#AssessmentReportsDestination", "traits": { - "smithy.api#documentation": "

                                                                                  \n The default storage destination for assessment reports.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The default storage destination for assessment reports.

                                                                                  " } }, "defaultProcessOwners": { "target": "com.amazonaws.auditmanager#Roles", "traits": { - "smithy.api#documentation": "

                                                                                  \nA list of the default audit owners.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of the default audit owners.

                                                                                  " } }, "kmsKey": { "target": "com.amazonaws.auditmanager#KmsKey", "traits": { - "smithy.api#documentation": "

                                                                                  \n The KMS key details. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The KMS key details.

                                                                                  " } } } @@ -6584,7 +7072,7 @@ "settings": { "target": "com.amazonaws.auditmanager#Settings", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe current list of settings.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The current list of settings.

                                                                                  " } } } @@ -6632,7 +7120,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Validates the integrity of an assessment report in Audit Manager. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Validates the integrity of an assessment report in Audit Manager.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/assessmentReports/integrity", @@ -6646,7 +7134,7 @@ "s3RelativePath": { "target": "com.amazonaws.auditmanager#S3Url", "traits": { - "smithy.api#documentation": "

                                                                                  \n The relative path of the specified Amazon S3 bucket in which the assessment report is stored.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The relative path of the Amazon S3 bucket that the assessment report is stored\n in.

                                                                                  ", "smithy.api#required": {} } } @@ -6658,31 +7146,31 @@ "signatureValid": { "target": "com.amazonaws.auditmanager#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  \nSpecifies whether the signature key is valid.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies whether the signature key is valid.

                                                                                  " } }, "signatureAlgorithm": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The signature algorithm used to code sign the assessment report file.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The signature algorithm that's used to code sign the assessment report file.

                                                                                  " } }, "signatureDateTime": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe date and time signature that specifies when the assessment report was created.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The date and time signature that specifies when the assessment report was created.\n

                                                                                  " } }, "signatureKeyId": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \nThe unique identifier for the validation signature key.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The unique identifier for the validation signature key.

                                                                                  " } }, "validationErrors": { "target": "com.amazonaws.auditmanager#ValidationErrors", "traits": { - "smithy.api#documentation": "

                                                                                  \nRepresents any errors that occurred when validating the assessment report.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Represents any errors that occurred when validating the assessment report.

                                                                                  " } } } @@ -6705,18 +7193,18 @@ "reason": { "target": "com.amazonaws.auditmanager#ValidationExceptionReason", "traits": { - "smithy.api#documentation": "

                                                                                  \n The reason the request failed validation.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The reason the request failed validation.

                                                                                  " } }, "fields": { "target": "com.amazonaws.auditmanager#ValidationExceptionFieldList", "traits": { - "smithy.api#documentation": "

                                                                                  \n The fields that caused the error, if applicable.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The fields that caused the error, if applicable.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n The request has invalid or missing parameters. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The request has invalid or missing parameters.

                                                                                  ", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -6727,20 +7215,20 @@ "name": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The name of the validation error. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the validation error.

                                                                                  ", "smithy.api#required": {} } }, "message": { "target": "com.amazonaws.auditmanager#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The body of the error message. \n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The body of the error message.

                                                                                  ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                                                                                  \n Indicates that the request has invalid or missing parameters for the specified field. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Indicates that the request has invalid or missing parameters for the field.

                                                                                  " } }, "com.amazonaws.auditmanager#ValidationExceptionFieldList": { diff --git a/codegen/sdk-codegen/aws-models/auto-scaling.json b/codegen/sdk-codegen/aws-models/auto-scaling.json index d953b6ea1d4e..d13926967ccf 100644 --- a/codegen/sdk-codegen/aws-models/auto-scaling.json +++ b/codegen/sdk-codegen/aws-models/auto-scaling.json @@ -29,6 +29,141 @@ ] }, "shapes": { + "com.amazonaws.autoscaling#AcceleratorCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum value.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum value.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the minimum and maximum for the AcceleratorCount object when\n you specify InstanceRequirements for an Auto Scaling group.

                                                                                  " + } + }, + "com.amazonaws.autoscaling#AcceleratorManufacturer": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "nvidia", + "name": "NVIDIA" + }, + { + "value": "amd", + "name": "AMD" + }, + { + "value": "amazon-web-services", + "name": "AMAZON_WEB_SERVICES" + }, + { + "value": "xilinx", + "name": "XILINX" + } + ] + } + }, + "com.amazonaws.autoscaling#AcceleratorManufacturers": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#AcceleratorManufacturer" + } + }, + "com.amazonaws.autoscaling#AcceleratorName": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "a100", + "name": "A100" + }, + { + "value": "v100", + "name": "V100" + }, + { + "value": "k80", + "name": "K80" + }, + { + "value": "t4", + "name": "T4" + }, + { + "value": "m60", + "name": "M60" + }, + { + "value": "radeon-pro-v520", + "name": "RADEON_PRO_V520" + }, + { + "value": "vu9p", + "name": "VU9P" + } + ] + } + }, + "com.amazonaws.autoscaling#AcceleratorNames": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#AcceleratorName" + } + }, + "com.amazonaws.autoscaling#AcceleratorTotalMemoryMiBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The memory minimum in MiB.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The memory maximum in MiB.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the minimum and maximum for the AcceleratorTotalMemoryMiB\n object when you specify InstanceRequirements for an Auto Scaling group.

                                                                                  " + } + }, + "com.amazonaws.autoscaling#AcceleratorType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "gpu", + "name": "GPU" + }, + { + "value": "fpga", + "name": "FPGA" + }, + { + "value": "inference", + "name": "INFERENCE" + } + ] + } + }, + "com.amazonaws.autoscaling#AcceleratorTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#AcceleratorType" + } + }, "com.amazonaws.autoscaling#ActiveInstanceRefreshNotFoundFault": { "type": "structure", "members": { @@ -571,6 +706,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  Reserved.

                                                                                  " } + }, + "DesiredCapacityType": { + "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", + "traits": { + "smithy.api#documentation": "

                                                                                  The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling\n supports DesiredCapacityType for attribute-based instance type selection\n only. For more information, see Creating\n an Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

                                                                                  \n

                                                                                  By default, Amazon EC2 Auto Scaling specifies units, which translates into number of\n instances.

                                                                                  \n

                                                                                  Valid values: units | vcpu | memory-mib\n

                                                                                  " + } } }, "traits": { @@ -774,6 +915,24 @@ }, "com.amazonaws.autoscaling#AutoScaling_2011_01_01": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Auto Scaling", + "arnNamespace": "autoscaling", + "cloudFormationName": "AutoScaling", + "cloudTrailEventSource": "autoscaling.amazonaws.com", + "endpointPrefix": "autoscaling" + }, + "aws.auth#sigv4": { + "name": "autoscaling" + }, + "aws.protocols#awsQuery": {}, + "smithy.api#documentation": "Amazon EC2 Auto Scaling\n \n \n \n \n \n \n \n\n \n

                                                                                  Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances\n based on user-defined scaling policies, scheduled actions, and health checks.

                                                                                  \n

                                                                                  For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide. For information about granting IAM users required\n permissions for calls to Amazon EC2 Auto Scaling, see Granting\n IAM users required permissions for Amazon EC2 Auto Scaling resources in the\n Amazon EC2 Auto Scaling API Reference.

                                                                                  ", + "smithy.api#title": "Auto Scaling", + "smithy.api#xmlNamespace": { + "uri": "http://autoscaling.amazonaws.com/doc/2011-01-01/" + } + }, "version": "2011-01-01", "operations": [ { @@ -959,25 +1118,7 @@ { "target": "com.amazonaws.autoscaling#UpdateAutoScalingGroup" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Auto Scaling", - "arnNamespace": "autoscaling", - "cloudFormationName": "AutoScaling", - "cloudTrailEventSource": "autoscaling.amazonaws.com", - "endpointPrefix": "autoscaling" - }, - "aws.auth#sigv4": { - "name": "autoscaling" - }, - "aws.protocols#awsQuery": {}, - "smithy.api#documentation": "Amazon EC2 Auto Scaling\n \n \n \n \n \n \n \n\n \n

                                                                                  Amazon EC2 Auto Scaling is designed to automatically launch or terminate EC2 instances\n based on user-defined scaling policies, scheduled actions, and health checks.

                                                                                  \n

                                                                                  For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide. For information about granting IAM users required\n permissions for calls to Amazon EC2 Auto Scaling, see Granting\n IAM users required permissions for Amazon EC2 Auto Scaling resources in the\n Amazon EC2 Auto Scaling API Reference.

                                                                                  ", - "smithy.api#title": "Auto Scaling", - "smithy.api#xmlNamespace": { - "uri": "http://autoscaling.amazonaws.com/doc/2011-01-01/" - } - } + ] }, "com.amazonaws.autoscaling#AvailabilityZones": { "type": "list", @@ -985,6 +1126,45 @@ "target": "com.amazonaws.autoscaling#XmlStringMaxLen255" } }, + "com.amazonaws.autoscaling#BareMetal": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + } + ] + } + }, + "com.amazonaws.autoscaling#BaselineEbsBandwidthMbpsRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum value in Mbps.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum value in Mbps.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the minimum and maximum for the BaselineEbsBandwidthMbps object\n when you specify InstanceRequirements for an Auto Scaling group.

                                                                                  " + } + }, "com.amazonaws.autoscaling#BatchDeleteScheduledAction": { "type": "operation", "input": { @@ -1175,6 +1355,25 @@ "target": "com.amazonaws.autoscaling#BlockDeviceMapping" } }, + "com.amazonaws.autoscaling#BurstablePerformance": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + } + ] + } + }, "com.amazonaws.autoscaling#CancelInstanceRefresh": { "type": "operation", "input": { @@ -1339,6 +1538,31 @@ "smithy.api#box": {} } }, + "com.amazonaws.autoscaling#CpuManufacturer": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "intel", + "name": "INTEL" + }, + { + "value": "amd", + "name": "AMD" + }, + { + "value": "amazon-web-services", + "name": "AMAZON_WEB_SERVICES" + } + ] + } + }, + "com.amazonaws.autoscaling#CpuManufacturers": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#CpuManufacturer" + } + }, "com.amazonaws.autoscaling#CreateAutoScalingGroup": { "type": "operation", "input": { @@ -1387,7 +1611,7 @@ "MixedInstancesPolicy": { "target": "com.amazonaws.autoscaling#MixedInstancesPolicy", "traits": { - "smithy.api#documentation": "

                                                                                  An embedded object that specifies a mixed instances policy. The required properties\n must be specified. If optional properties are unspecified, their default values are\n used.

                                                                                  \n

                                                                                  The policy includes properties that not only define the distribution of On-Demand\n Instances and Spot Instances, the maximum price to pay for Spot Instances, and how the\n Auto Scaling group allocates instance types to fulfill On-Demand and Spot capacities, but also\n the properties that specify the instance configuration information—the launch template\n and instance types. The policy can also include a weight for each instance type and\n different launch templates for individual instance types. For more information, see\n Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  An embedded object that specifies a mixed instances policy.

                                                                                  \n \n \n \n

                                                                                  For more information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                                                                                  " } }, "InstanceId": { @@ -1511,6 +1735,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  Reserved.

                                                                                  " } + }, + "DesiredCapacityType": { + "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", + "traits": { + "smithy.api#documentation": "

                                                                                  The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling\n supports DesiredCapacityType for attribute-based instance type selection\n only. For more information, see Creating\n an Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

                                                                                  \n

                                                                                  By default, Amazon EC2 Auto Scaling specifies units, which translates into number of\n instances.

                                                                                  \n \n

                                                                                  Valid values: units | vcpu | memory-mib\n

                                                                                  " + } } } }, @@ -3347,6 +3577,28 @@ "smithy.api#box": {} } }, + "com.amazonaws.autoscaling#ExcludedInstance": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\.\\*]+$" + } + }, + "com.amazonaws.autoscaling#ExcludedInstanceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#ExcludedInstance" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, "com.amazonaws.autoscaling#ExecutePolicy": { "type": "operation", "input": { @@ -3485,18 +3737,18 @@ "Name": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the filter.

                                                                                  \n

                                                                                  The valid values for Name depend on the API operation that you are\n including the filter in, DescribeAutoScalingGroups or DescribeTags.

                                                                                  \n

                                                                                  \n DescribeAutoScalingGroups\n

                                                                                  \n

                                                                                  Valid values for Name include the following:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n tag-key - Accepts tag keys. The results will only include\n information about the Auto Scaling groups associated with these tag keys.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tag-value - Accepts tag values. The results will only include\n information about the Auto Scaling groups associated with these tag values.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tag: - Accepts the key/value combination of the tag.\n Use the tag key in the filter name and the tag value as the filter value. The\n results will only include information about the Auto Scaling groups associated with the\n specified key/value combination.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n DescribeTags\n

                                                                                  \n

                                                                                  Valid values for Name include the following:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n auto-scaling-group - Accepts the names of Auto Scaling groups. The\n results will only include information about the tags associated with these Auto Scaling\n groups.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n key - Accepts tag keys. The results will only include information\n about the tags associated with these tag keys.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n value - Accepts tag values. The results will only include\n information about the tags associated with these tag values.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n propagate-at-launch - Accepts a boolean value, which specifies\n whether tags propagate to instances at launch. The results will only include\n information about the tags associated with the specified boolean value.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the filter.

                                                                                  \n

                                                                                  The valid values for Name depend on which API operation you're using with\n the filter (DescribeAutoScalingGroups or DescribeTags).

                                                                                  \n

                                                                                  \n DescribeAutoScalingGroups\n

                                                                                  \n

                                                                                  Valid values for Name include the following:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n tag-key - Accepts tag keys. The results only include information\n about the Auto Scaling groups associated with these tag keys.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tag-value - Accepts tag values. The results only include\n information about the Auto Scaling groups associated with these tag values.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tag: - Accepts the key/value combination of the tag.\n Use the tag key in the filter name and the tag value as the filter value. The\n results only include information about the Auto Scaling groups associated with the\n specified key/value combination.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n DescribeTags\n

                                                                                  \n

                                                                                  Valid values for Name include the following:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n auto-scaling-group - Accepts the names of Auto Scaling groups. The\n results only include information about the tags associated with these Auto Scaling\n groups.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n key - Accepts tag keys. The results only include information\n about the tags associated with these tag keys.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n value - Accepts tag values. The results only include information\n about the tags associated with these tag values.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n propagate-at-launch - Accepts a Boolean value, which specifies\n whether tags propagate to instances at launch. The results only include\n information about the tags associated with the specified Boolean value.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "Values": { "target": "com.amazonaws.autoscaling#Values", "traits": { - "smithy.api#documentation": "

                                                                                  One or more filter values. Filter values are case-sensitive.

                                                                                  \n

                                                                                  If you specify multiple values for a filter, the values are joined with an\n OR, and the request returns all results that match any of the specified\n values. For example, specify \"tag:environment\" for the filter name and\n \"production,development\" for the filter values to find Auto Scaling groups with the tag\n \"environment=production\" or \"environment=development\".

                                                                                  " + "smithy.api#documentation": "

                                                                                  One or more filter values. Filter values are case-sensitive.

                                                                                  \n

                                                                                  If you specify multiple values for a filter, the values are automatically logically\n joined with an OR, and the request returns all results that match any of\n the specified values. For example, specify \"tag:environment\" for the filter name and\n \"production,development\" for the filter values to find Auto Scaling groups with the tag\n \"environment=production\" or \"environment=development\".

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Describes a filter that is used to return a more specific list of results from a\n describe operation.

                                                                                  \n

                                                                                  If you specify multiple filters, the filters are joined with an AND, and\n the request returns only results that match all of the specified filters.

                                                                                  \n

                                                                                  For more information, see Tagging Auto Scaling groups and\n instances in the Amazon EC2 Auto Scaling User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Describes a filter that is used to return a more specific list of results from a\n describe operation.

                                                                                  \n

                                                                                  If you specify multiple filters, the filters are automatically logically joined with\n an AND, and the request returns only the results that match all of the\n specified filters.

                                                                                  \n

                                                                                  For more information, see Tagging Auto Scaling groups and\n instances in the Amazon EC2 Auto Scaling User Guide.

                                                                                  " } }, "com.amazonaws.autoscaling#Filters": { @@ -3684,6 +3936,27 @@ "smithy.api#documentation": "

                                                                                  Describes an EC2 instance.

                                                                                  " } }, + "com.amazonaws.autoscaling#InstanceGeneration": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "current", + "name": "CURRENT" + }, + { + "value": "previous", + "name": "PREVIOUS" + } + ] + } + }, + "com.amazonaws.autoscaling#InstanceGenerations": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#InstanceGeneration" + } + }, "com.amazonaws.autoscaling#InstanceIds": { "type": "list", "member": { @@ -3967,6 +4240,142 @@ "target": "com.amazonaws.autoscaling#InstanceRefresh" } }, + "com.amazonaws.autoscaling#InstanceRequirements": { + "type": "structure", + "members": { + "VCpuCount": { + "target": "com.amazonaws.autoscaling#VCpuCountRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of vCPUs for an instance type.

                                                                                  ", + "smithy.api#required": {} + } + }, + "MemoryMiB": { + "target": "com.amazonaws.autoscaling#MemoryMiBRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum instance memory size for an instance type, in MiB.

                                                                                  ", + "smithy.api#required": {} + } + }, + "CpuManufacturers": { + "target": "com.amazonaws.autoscaling#CpuManufacturers", + "traits": { + "smithy.api#documentation": "

                                                                                  Lists which specific CPU manufacturers to include.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with Intel CPUs, specify intel.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD CPUs, specify amd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Amazon Web Services CPUs, specify\n amazon-web-services.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  Don't confuse the CPU hardware manufacturer with the CPU hardware architecture.\n Instances will be launched with a compatible CPU architecture based on the Amazon\n Machine Image (AMI) that you specify in your launch template.

                                                                                  \n
                                                                                  \n

                                                                                  Default: Any manufacturer

                                                                                  " + } + }, + "MemoryGiBPerVCpu": { + "target": "com.amazonaws.autoscaling#MemoryGiBPerVCpuRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory per vCPU for an instance type, in GiB.

                                                                                  \n

                                                                                  Default: No minimum or maximum

                                                                                  " + } + }, + "ExcludedInstanceTypes": { + "target": "com.amazonaws.autoscaling#ExcludedInstanceTypes", + "traits": { + "smithy.api#documentation": "

                                                                                  Lists which instance types to exclude. You can use strings with one or more wild\n cards, represented by an asterisk (*). The following are examples:\n c5*, m5a.*, r*, *3*.

                                                                                  \n

                                                                                  For example, if you specify c5*, you are excluding the entire C5 instance\n family, which includes all C5a and C5n instance types. If you specify\n m5a.*, you are excluding all the M5a instance types, but not the M5n\n instance types.

                                                                                  \n

                                                                                  Default: No excluded instance types

                                                                                  " + } + }, + "InstanceGenerations": { + "target": "com.amazonaws.autoscaling#InstanceGenerations", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether current or previous generation instance types are included.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For current generation instance types, specify current. The\n current generation includes EC2 instance types currently recommended for use.\n This typically includes the latest two to three generations in each instance\n family. For more information, see Instance types in\n the Amazon EC2 User Guide for Linux Instances.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For previous generation instance types, specify previous.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any current or previous generation

                                                                                  " + } + }, + "SpotMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The price protection threshold for Spot Instances. This is the maximum you’ll pay for\n a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance\n type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your\n attributes, we will exclude instance types whose price is higher than your threshold.\n The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off\n price protection, specify a high value, such as 999999.

                                                                                  \n

                                                                                  Default: 100\n

                                                                                  " + } + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The price protection threshold for On-Demand Instances. This is the maximum you’ll pay\n for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R\n instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with\n your attributes, we will exclude instance types whose price is higher than your\n threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage.\n To turn off price protection, specify a high value, such as 999999.

                                                                                  \n

                                                                                  Default: 20\n

                                                                                  " + } + }, + "BareMetal": { + "target": "com.amazonaws.autoscaling#BareMetal", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether bare metal instance types are included, excluded, or\n required.

                                                                                  \n

                                                                                  Default: excluded\n

                                                                                  " + } + }, + "BurstablePerformance": { + "target": "com.amazonaws.autoscaling#BurstablePerformance", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether burstable performance instance types are included, excluded, or\n required. For more information, see Burstable\n performance instances in the Amazon EC2 User Guide for Linux\n Instances.

                                                                                  \n

                                                                                  Default: excluded\n

                                                                                  " + } + }, + "RequireHibernateSupport": { + "target": "com.amazonaws.autoscaling#NullableBoolean", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether instance types must provide On-Demand Instance hibernation\n support.

                                                                                  \n

                                                                                  Default: false\n

                                                                                  " + } + }, + "NetworkInterfaceCount": { + "target": "com.amazonaws.autoscaling#NetworkInterfaceCountRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of network interfaces for an instance type.

                                                                                  \n

                                                                                  Default: No minimum or maximum

                                                                                  " + } + }, + "LocalStorage": { + "target": "com.amazonaws.autoscaling#LocalStorage", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether instance types with instance store volumes are included, excluded,\n or required. For more information, see Amazon EC2 instance store in\n the Amazon EC2 User Guide for Linux Instances.

                                                                                  \n

                                                                                  Default: included\n

                                                                                  " + } + }, + "LocalStorageTypes": { + "target": "com.amazonaws.autoscaling#LocalStorageTypes", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates the type of local storage that is required.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with hard disk drive (HDD) storage, specify\n hdd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with solid state drive (SSD) storage, specify\n sdd.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any local storage type

                                                                                  " + } + }, + "TotalLocalStorageGB": { + "target": "com.amazonaws.autoscaling#TotalLocalStorageGBRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum total local storage size for an instance type, in GB.

                                                                                  \n

                                                                                  Default: No minimum or maximum

                                                                                  " + } + }, + "BaselineEbsBandwidthMbps": { + "target": "com.amazonaws.autoscaling#BaselineEbsBandwidthMbpsRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum baseline bandwidth performance for an instance type, in Mbps.\n For more information, see Amazon EBS–optimized instances\n in the Amazon EC2 User Guide for Linux Instances.

                                                                                  \n

                                                                                  Default: No minimum or maximum

                                                                                  " + } + }, + "AcceleratorTypes": { + "target": "com.amazonaws.autoscaling#AcceleratorTypes", + "traits": { + "smithy.api#documentation": "

                                                                                  Lists the accelerator types that must be on an instance type.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with GPU accelerators, specify gpu.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with FPGA accelerators, specify fpga.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with inference accelerators, specify\n inference.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any accelerator type

                                                                                  " + } + }, + "AcceleratorCount": { + "target": "com.amazonaws.autoscaling#AcceleratorCountRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia\n chips) for an instance type.

                                                                                  \n

                                                                                  To exclude accelerator-enabled instance types, set Max to\n 0.

                                                                                  \n

                                                                                  Default: No minimum or maximum

                                                                                  " + } + }, + "AcceleratorManufacturers": { + "target": "com.amazonaws.autoscaling#AcceleratorManufacturers", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether instance types must have accelerators by specific\n manufacturers.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA devices, specify nvidia.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD devices, specify amd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Amazon Web Services devices, specify\n amazon-web-services.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Xilinx devices, specify xilinx.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any manufacturer

                                                                                  " + } + }, + "AcceleratorNames": { + "target": "com.amazonaws.autoscaling#AcceleratorNames", + "traits": { + "smithy.api#documentation": "

                                                                                  Lists the accelerators that must be on an instance type.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA A100 GPUs, specify a100.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA V100 GPUs, specify v100.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA K80 GPUs, specify k80.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA T4 GPUs, specify t4.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA M60 GPUs, specify m60.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD Radeon Pro V520 GPUs, specify\n radeon-pro-v520.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Xilinx VU9P FPGAs, specify vu9p.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any accelerator

                                                                                  " + } + }, + "AcceleratorTotalMemoryMiB": { + "target": "com.amazonaws.autoscaling#AcceleratorTotalMemoryMiBRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum total memory size for the accelerators on an instance type, in\n MiB.

                                                                                  \n

                                                                                  Default: No minimum or maximum

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

                                                                                  \n \n \n

                                                                                  Represents requirements for the types of instances that can be launched. You\n must specify VCpuCount and MemoryMiB, but all other parameters\n are optional. For more information, see Creating\n an Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

                                                                                  " + } + }, "com.amazonaws.autoscaling#Instances": { "type": "list", "member": { @@ -3979,42 +4388,42 @@ "OnDemandAllocationStrategy": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { - "smithy.api#documentation": "

                                                                                  Indicates how to allocate instance types to fulfill On-Demand capacity. The only valid\n value is prioritized, which is also the default value. This strategy uses\n the order of instance types in the LaunchTemplateOverrides to define the\n launch priority of each instance type. The first instance type in the array is\n prioritized higher than the last. If all your On-Demand capacity cannot be fulfilled\n using your highest priority instance, then the Auto Scaling groups launches the remaining\n capacity using the second priority instance type, and so on.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The order of the launch template overrides to use in fulfilling On-Demand capacity.

                                                                                  \n

                                                                                  If you specify lowest-price, Amazon EC2 Auto Scaling uses price to determine the order,\n launching the lowest price first.

                                                                                  \n

                                                                                  If you specify prioritized, Amazon EC2 Auto Scaling uses the priority that you assigned\n to each launch template override, launching the highest priority first. If all your\n On-Demand capacity cannot be fulfilled using your highest priority instance, then\n Amazon EC2 Auto Scaling launches the remaining capacity using the second priority instance type, and so\n on.

                                                                                  \n

                                                                                  Default: lowest-price for Auto Scaling groups that specify InstanceRequirements in the overrides and prioritized for\n Auto Scaling groups that don't.

                                                                                  " } }, "OnDemandBaseCapacity": { "target": "com.amazonaws.autoscaling#OnDemandBaseCapacity", "traits": { - "smithy.api#documentation": "

                                                                                  The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand\n Instances. This base portion is provisioned first as your group scales. Defaults to 0 if\n not specified. If you specify weights for the instance types in the overrides, set the\n value of OnDemandBaseCapacity in terms of the number of capacity units, and\n not the number of instances.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The minimum amount of the Auto Scaling group's capacity that must be fulfilled by On-Demand\n Instances. This base portion is launched first as your group scales.

                                                                                  \n

                                                                                  If you specify weights for the instance types in the overrides, the base capacity is\n measured in the same unit of measurement as the instance types. If you specify InstanceRequirements in the overrides, the base capacity is measured in\n the same unit of measurement as your group's desired capacity.

                                                                                  \n

                                                                                  Default: 0\n

                                                                                  " } }, "OnDemandPercentageAboveBaseCapacity": { "target": "com.amazonaws.autoscaling#OnDemandPercentageAboveBaseCapacity", "traits": { - "smithy.api#documentation": "

                                                                                  Controls the percentages of On-Demand Instances and Spot Instances for your additional\n capacity beyond OnDemandBaseCapacity. Expressed as a number (for example,\n 20 specifies 20% On-Demand Instances, 80% Spot Instances). Defaults to 100 if not\n specified. If set to 100, only On-Demand Instances are provisioned.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Controls the percentages of On-Demand Instances and Spot Instances for your additional\n capacity beyond OnDemandBaseCapacity. Expressed as a number (for example,\n 20 specifies 20% On-Demand Instances, 80% Spot Instances). If set to 100, only On-Demand\n Instances are used.

                                                                                  \n

                                                                                  Default: 100\n

                                                                                  " } }, "SpotAllocationStrategy": { "target": "com.amazonaws.autoscaling#XmlString", "traits": { - "smithy.api#documentation": "

                                                                                  Indicates how to allocate instances across Spot Instance pools.

                                                                                  \n

                                                                                  If the allocation strategy is lowest-price, the Auto Scaling group launches\n instances using the Spot pools with the lowest price, and evenly allocates your\n instances across the number of Spot pools that you specify. Defaults to\n lowest-price if not specified.

                                                                                  \n

                                                                                  If the allocation strategy is capacity-optimized (recommended), the Auto Scaling\n group launches instances using Spot pools that are optimally chosen based on the\n available Spot capacity. Alternatively, you can use\n capacity-optimized-prioritized and set the order of instance types in\n the list of launch template overrides from highest to lowest priority (from first to\n last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best-effort basis\n but optimizes for capacity first.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Indicates how to allocate instances across Spot Instance pools.

                                                                                  \n

                                                                                  If the allocation strategy is lowest-price, the Auto Scaling group launches\n instances using the Spot pools with the lowest price, and evenly allocates your\n instances across the number of Spot pools that you specify.

                                                                                  \n

                                                                                  If the allocation strategy is capacity-optimized (recommended), the Auto Scaling\n group launches instances using Spot pools that are optimally chosen based on the\n available Spot capacity. Alternatively, you can use\n capacity-optimized-prioritized and set the order of instance types in\n the list of launch template overrides from highest to lowest priority (from first to\n last in the list). Amazon EC2 Auto Scaling honors the instance type priorities on a best-effort basis\n but optimizes for capacity first.

                                                                                  \n

                                                                                  Default: lowest-price\n

                                                                                  " } }, "SpotInstancePools": { "target": "com.amazonaws.autoscaling#SpotInstancePools", "traits": { - "smithy.api#documentation": "

                                                                                  The number of Spot Instance pools across which to allocate your Spot Instances. The\n Spot pools are determined from the different instance types in the overrides. Valid only\n when the Spot allocation strategy is lowest-price. Value must be in the\n range of 1 to 20. Defaults to 2 if not specified.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of Spot Instance pools across which to allocate your Spot Instances. The\n Spot pools are determined from the different instance types in the overrides. Valid only\n when the Spot allocation strategy is lowest-price. Value must be in the\n range of 1–20.

                                                                                  \n

                                                                                  Default: 2\n

                                                                                  " } }, "SpotMaxPrice": { "target": "com.amazonaws.autoscaling#MixedInstanceSpotPrice", "traits": { - "smithy.api#documentation": "

                                                                                  The maximum price per unit hour that you are willing to pay for a Spot Instance. If\n you leave the value at its default (empty), Amazon EC2 Auto Scaling uses the On-Demand price as the\n maximum Spot price. To remove a value that you previously set, include the property but\n specify an empty string (\"\") for the value.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The maximum price per unit hour that you are willing to pay for a Spot Instance. If\n you keep the value at its default (unspecified), Amazon EC2 Auto Scaling uses the On-Demand price as\n the maximum Spot price. To remove a value that you previously set, include the property\n but specify an empty string (\"\") for the value.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Describes an instances distribution for an Auto Scaling group with a MixedInstancesPolicy.

                                                                                  \n

                                                                                  The instances distribution specifies the distribution of On-Demand Instances and Spot\n Instances, the maximum price to pay for Spot Instances, and how the Auto Scaling group allocates\n instance types to fulfill On-Demand and Spot capacities.

                                                                                  \n

                                                                                  When you modify SpotAllocationStrategy, SpotInstancePools,\n or SpotMaxPrice in the UpdateAutoScalingGroup API call,\n this update action does not deploy any changes across the running Amazon EC2 instances\n in the group. Your existing Spot Instances continue to run as long as the maximum price\n for those instances is higher than the current Spot price. When scale out occurs,\n Amazon EC2 Auto Scaling launches instances based on the new settings. When scale in occurs, Amazon EC2 Auto Scaling\n terminates instances according to the group's termination policies.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Describes an instances distribution for an Auto Scaling group.

                                                                                  " } }, "com.amazonaws.autoscaling#InstancesToUpdate": { @@ -4265,12 +4674,12 @@ "Overrides": { "target": "com.amazonaws.autoscaling#Overrides", "traits": { - "smithy.api#documentation": "

                                                                                  Any properties that you specify override the same properties in the launch template.\n If not provided, Amazon EC2 Auto Scaling uses the instance type specified in the launch template when\n it launches an instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Any properties that you specify override the same properties in the launch template.\n If not provided, Amazon EC2 Auto Scaling uses the instance type or instance type requirements specified\n in the launch template when it launches an instance.

                                                                                  \n

                                                                                  The overrides can include either one or more instance types or a set of instance\n requirements, but not both.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Describes a launch template and overrides.

                                                                                  \n

                                                                                  You specify these properties as part of a mixed instances policy.

                                                                                  \n

                                                                                  When you update the launch template or overrides in the UpdateAutoScalingGroup API call, existing Amazon EC2 instances continue to\n run. When scale out occurs, Amazon EC2 Auto Scaling launches instances to match the new settings. When\n scale in occurs, Amazon EC2 Auto Scaling terminates instances according to the group's termination\n policies.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Describes a launch template and overrides. You specify these properties as part of a\n mixed instances policy.

                                                                                  " } }, "com.amazonaws.autoscaling#LaunchTemplateName": { @@ -4295,18 +4704,24 @@ "WeightedCapacity": { "target": "com.amazonaws.autoscaling#XmlStringMaxLen32", "traits": { - "smithy.api#documentation": "

                                                                                  The number of capacity units provided by the specified instance type in terms of\n virtual CPUs, memory, storage, throughput, or other relative performance characteristic.\n When a Spot or On-Demand Instance is provisioned, the capacity units count toward the\n desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally\n fulfilled, even if this results in an overage. For example, if there are 2 units\n remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a\n WeightedCapacity of 5 units, the instance is provisioned, and the\n desired capacity is exceeded by 3 units. For more information, see Instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.\n Value must be in the range of 1 to 999.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of capacity units provided by the instance type specified in\n InstanceType in terms of virtual CPUs, memory, storage, throughput, or\n other relative performance characteristic. When a Spot or On-Demand Instance is\n launched, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling launches\n instances until the desired capacity is totally fulfilled, even if this results in an\n overage. For example, if there are two units remaining to fulfill capacity, and Amazon EC2 Auto Scaling\n can only launch an instance with a WeightedCapacity of five units, the\n instance is launched, and the desired capacity is exceeded by three units. For more\n information, see Instance weighting for\n Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide. Value must be in the\n range of 1–999.

                                                                                  " } }, "LaunchTemplateSpecification": { "target": "com.amazonaws.autoscaling#LaunchTemplateSpecification", "traits": { - "smithy.api#documentation": "

                                                                                  Provides the launch template to be used when launching the instance type. For example,\n some instance types might require a launch template with a different AMI. If not\n provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances\n policy. For more information, see Specifying a\n different launch template for an instance type in the\n Amazon EC2 Auto Scaling User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Provides the launch template to be used when launching the instance type specified in\n InstanceType. For example, some instance types might require a launch\n template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's\n defined for your mixed instances policy. For more information, see Specifying a\n different launch template for an instance type in the\n Amazon EC2 Auto Scaling User Guide.

                                                                                  " + } + }, + "InstanceRequirements": { + "target": "com.amazonaws.autoscaling#InstanceRequirements", + "traits": { + "smithy.api#documentation": "

                                                                                  The instance requirements. When you specify instance requirements, Amazon EC2 Auto Scaling finds\n instance types that satisfy your requirements, and then uses your On-Demand and Spot\n allocation strategies to launch instances from these instance types, in the same way as\n when you specify a list of specific instance types.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Describes an override for a launch template. The maximum number of instance types that\n can be associated with an Auto Scaling group is 40. The maximum number of distinct launch\n templates you can define for an Auto Scaling group is 20. For more information about configuring\n overrides, see Configuring\n overrides in the Amazon EC2 Auto Scaling User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Describes an override for a launch template. For more information, see Configuring overrides in the Amazon EC2 Auto Scaling User Guide.

                                                                                  " } }, "com.amazonaws.autoscaling#LaunchTemplateSpecification": { @@ -4696,6 +5111,46 @@ "target": "com.amazonaws.autoscaling#LoadForecast" } }, + "com.amazonaws.autoscaling#LocalStorage": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + } + ] + } + }, + "com.amazonaws.autoscaling#LocalStorageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "hdd", + "name": "HDD" + }, + { + "value": "ssd", + "name": "SSD" + } + ] + } + }, + "com.amazonaws.autoscaling#LocalStorageTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.autoscaling#LocalStorageType" + } + }, "com.amazonaws.autoscaling#MaxGroupPreparedCapacity": { "type": "integer", "traits": { @@ -4729,6 +5184,47 @@ "smithy.api#box": {} } }, + "com.amazonaws.autoscaling#MemoryGiBPerVCpuRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveDouble", + "traits": { + "smithy.api#documentation": "

                                                                                  The memory minimum in GiB.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveDouble", + "traits": { + "smithy.api#documentation": "

                                                                                  The memory maximum in GiB.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the minimum and maximum for the MemoryGiBPerVCpu object when\n you specify InstanceRequirements for an Auto Scaling group.

                                                                                  " + } + }, + "com.amazonaws.autoscaling#MemoryMiBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The memory minimum in MiB.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The memory maximum in MiB.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the minimum and maximum for the MemoryMiB object when you\n specify InstanceRequirements for an Auto Scaling group.

                                                                                  " + } + }, "com.amazonaws.autoscaling#MetricCollectionType": { "type": "structure", "members": { @@ -4902,18 +5398,18 @@ "LaunchTemplate": { "target": "com.amazonaws.autoscaling#LaunchTemplate", "traits": { - "smithy.api#documentation": "

                                                                                  Specifies the launch template to use and the instance types (overrides) that are used\n to provision EC2 instances to fulfill On-Demand and Spot capacities. Required when\n creating a mixed instances policy.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies the launch template to use and the instance types (overrides) that are used\n to launch EC2 instances to fulfill On-Demand and Spot capacities. Required when creating\n a mixed instances policy.

                                                                                  " } }, "InstancesDistribution": { "target": "com.amazonaws.autoscaling#InstancesDistribution", "traits": { - "smithy.api#documentation": "

                                                                                  Specifies the instances distribution. If not provided, the value for each property in\n InstancesDistribution uses a default value.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies the instances distribution.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Describes a mixed instances policy. A mixed instances policy contains the instance\n types Amazon EC2 Auto Scaling can launch, and other information Amazon EC2 Auto Scaling can use to launch instances to\n help you optimize your costs. For more information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Describes a mixed instances policy. A mixed instances policy contains the instance\n types that Amazon EC2 Auto Scaling can launch and other information that Amazon EC2 Auto Scaling can use to launch\n instances and help optimize your costs. For more information, see Auto Scaling\n groups with multiple instance types and purchase options in the\n Amazon EC2 Auto Scaling User Guide.

                                                                                  " } }, "com.amazonaws.autoscaling#MonitoringEnabled": { @@ -4922,6 +5418,26 @@ "smithy.api#box": {} } }, + "com.amazonaws.autoscaling#NetworkInterfaceCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum number of network interfaces.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of network interfaces.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the minimum and maximum for the NetworkInterfaceCount object\n when you specify InstanceRequirements for an Auto Scaling group.

                                                                                  " + } + }, "com.amazonaws.autoscaling#NoDevice": { "type": "boolean", "traits": { @@ -4980,6 +5496,30 @@ "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*$" } }, + "com.amazonaws.autoscaling#NullableBoolean": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, + "com.amazonaws.autoscaling#NullablePositiveDouble": { + "type": "double", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.autoscaling#NullablePositiveInteger": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0 + } + } + }, "com.amazonaws.autoscaling#NumberOfAutoScalingGroups": { "type": "integer", "traits": { @@ -6882,6 +7422,26 @@ "com.amazonaws.autoscaling#TimestampType": { "type": "timestamp" }, + "com.amazonaws.autoscaling#TotalLocalStorageGBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveDouble", + "traits": { + "smithy.api#documentation": "

                                                                                  The storage minimum in GB.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveDouble", + "traits": { + "smithy.api#documentation": "

                                                                                  The storage maximum in GB.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the minimum and maximum for the TotalLocalStorageGB object when\n you specify InstanceRequirements for an Auto Scaling group.

                                                                                  " + } + }, "com.amazonaws.autoscaling#UpdateAutoScalingGroup": { "type": "operation", "input": { @@ -6927,7 +7487,7 @@ "MixedInstancesPolicy": { "target": "com.amazonaws.autoscaling#MixedInstancesPolicy", "traits": { - "smithy.api#documentation": "

                                                                                  An embedded object that specifies a mixed instances policy. When you make changes to\n an existing policy, all optional properties are left unchanged if not specified. For\n more information, see Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  An embedded object that specifies a mixed instances policy. For more information, see\n Auto Scaling groups with multiple\n instance types and purchase options in the Amazon EC2 Auto Scaling User\n Guide.

                                                                                  " } }, "MinSize": { @@ -7019,7 +7579,34 @@ "traits": { "smithy.api#documentation": "

                                                                                  Reserved.

                                                                                  " } + }, + "DesiredCapacityType": { + "target": "com.amazonaws.autoscaling#XmlStringMaxLen255", + "traits": { + "smithy.api#documentation": "

                                                                                  The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto Scaling\n supports DesiredCapacityType for attribute-based instance type selection\n only. For more information, see Creating\n an Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

                                                                                  \n

                                                                                  By default, Amazon EC2 Auto Scaling specifies units, which translates into number of\n instances.

                                                                                  \n

                                                                                  Valid values: units | vcpu | memory-mib\n

                                                                                  " + } + } + } + }, + "com.amazonaws.autoscaling#VCpuCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum number of vCPUs.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Max": { + "target": "com.amazonaws.autoscaling#NullablePositiveInteger", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of vCPUs.

                                                                                  " + } } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Specifies the minimum and maximum for the VCpuCount object when you\n specify InstanceRequirements for an Auto Scaling group.

                                                                                  " } }, "com.amazonaws.autoscaling#Values": { diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-identity.json b/codegen/sdk-codegen/aws-models/chime-sdk-identity.json index 7df596bf92f6..c322b1392cdf 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-identity.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-identity.json @@ -29,6 +29,21 @@ ] }, "shapes": { + "com.amazonaws.chimesdkidentity#AllowMessages": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALL", + "name": "ALL" + }, + { + "value": "NONE", + "name": "NONE" + } + ] + } + }, "com.amazonaws.chimesdkidentity#AppInstance": { "type": "structure", "members": { @@ -197,6 +212,143 @@ "smithy.api#documentation": "

                                                                                  The details of an AppInstanceUser.

                                                                                  " } }, + "com.amazonaws.chimesdkidentity#AppInstanceUserEndpoint": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  " + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier of the AppInstanceUserEndpoint.

                                                                                  " + } + }, + "Name": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of the AppInstanceUserEndpoint.

                                                                                  " + } + }, + "Type": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointType", + "traits": { + "smithy.api#documentation": "

                                                                                  The type of the AppInstanceUserEndpoint.

                                                                                  " + } + }, + "ResourceArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the resource to which the endpoint belongs.

                                                                                  " + } + }, + "EndpointAttributes": { + "target": "com.amazonaws.chimesdkidentity#EndpointAttributes", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes of an Endpoint.

                                                                                  " + } + }, + "CreatedTimestamp": { + "target": "com.amazonaws.chimesdkidentity#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                                                  The time at which an AppInstanceUserEndpoint was created.

                                                                                  " + } + }, + "LastUpdatedTimestamp": { + "target": "com.amazonaws.chimesdkidentity#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                                                  The time at which an AppInstanceUserEndpoint was last updated.

                                                                                  " + } + }, + "AllowMessages": { + "target": "com.amazonaws.chimesdkidentity#AllowMessages", + "traits": { + "smithy.api#documentation": "

                                                                                  Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. \n NONE indicates the endpoint will receive no messages.

                                                                                  " + } + }, + "EndpointState": { + "target": "com.amazonaws.chimesdkidentity#EndpointState", + "traits": { + "smithy.api#documentation": "

                                                                                  A read-only field that represents the state of an AppInstanceUserEndpoint. Supported values:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n ACTIVE: The AppInstanceUserEndpoint is active and able to receive messages. When ACTIVE, the EndpointStatusReason remains empty.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n INACTIVE: The AppInstanceUserEndpoint is inactive and can't receive message. When INACTIVE, the corresponding reason will be \n conveyed through EndpointStatusReason.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n INVALID_DEVICE_TOKEN indicates that an AppInstanceUserEndpoint is INACTIVE due to invalid device token

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n INVALID_PINPOINT_ARN indicates that an AppInstanceUserEndpoint is INACTIVE due to an invalid pinpoint ARN that was input \n through the ResourceArn field.

                                                                                    \n
                                                                                  • \n
                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  An endpoint under an Amazon Chime AppInstanceUser that receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user.

                                                                                  " + } + }, + "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointSummary": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  " + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier of the AppInstanceUserEndpoint.

                                                                                  " + } + }, + "Name": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of the AppInstanceUserEndpoint.

                                                                                  " + } + }, + "Type": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointType", + "traits": { + "smithy.api#documentation": "

                                                                                  The type of the AppInstanceUserEndpoint.

                                                                                  " + } + }, + "AllowMessages": { + "target": "com.amazonaws.chimesdkidentity#AllowMessages", + "traits": { + "smithy.api#documentation": "

                                                                                  BBoolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. \n NONE indicates the endpoint will receive no messages.

                                                                                  " + } + }, + "EndpointState": { + "target": "com.amazonaws.chimesdkidentity#EndpointState", + "traits": { + "smithy.api#documentation": "

                                                                                  A read-only field that represent the state of an AppInstanceUserEndpoint.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Summary of the details of an AppInstanceUserEndpoint.

                                                                                  " + } + }, + "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointSummary" + } + }, + "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "APNS", + "name": "APNS" + }, + { + "value": "APNS_SANDBOX", + "name": "APNS_SANDBOX" + }, + { + "value": "GCM", + "name": "GCM" + } + ] + } + }, "com.amazonaws.chimesdkidentity#AppInstanceUserList": { "type": "list", "member": { @@ -271,6 +423,21 @@ }, "com.amazonaws.chimesdkidentity#ChimeIdentityService": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Chime SDK Identity", + "arnNamespace": "chime", + "cloudFormationName": "ChimeSDKIdentity", + "cloudTrailEventSource": "chimesdkidentity.amazonaws.com", + "endpointPrefix": "identity-chime" + }, + "aws.auth#sigv4": { + "name": "chime" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

                                                                                  The Amazon Chime SDK Identity APIs in this section allow software developers to create\n and manage unique instances of their messaging applications. These APIs provide the\n overarching framework for creating and sending messages. For more information about the\n identity APIs, refer to Amazon Chime SDK identity.

                                                                                  ", + "smithy.api#title": "Amazon Chime SDK Identity" + }, "version": "2021-04-20", "operations": [ { @@ -291,6 +458,9 @@ { "target": "com.amazonaws.chimesdkidentity#DeleteAppInstanceUser" }, + { + "target": "com.amazonaws.chimesdkidentity#DeregisterAppInstanceUserEndpoint" + }, { "target": "com.amazonaws.chimesdkidentity#DescribeAppInstance" }, @@ -300,6 +470,9 @@ { "target": "com.amazonaws.chimesdkidentity#DescribeAppInstanceUser" }, + { + "target": "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpoint" + }, { "target": "com.amazonaws.chimesdkidentity#GetAppInstanceRetentionSettings" }, @@ -309,34 +482,37 @@ { "target": "com.amazonaws.chimesdkidentity#ListAppInstances" }, + { + "target": "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpoints" + }, { "target": "com.amazonaws.chimesdkidentity#ListAppInstanceUsers" }, + { + "target": "com.amazonaws.chimesdkidentity#ListTagsForResource" + }, { "target": "com.amazonaws.chimesdkidentity#PutAppInstanceRetentionSettings" }, + { + "target": "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpoint" + }, + { + "target": "com.amazonaws.chimesdkidentity#TagResource" + }, + { + "target": "com.amazonaws.chimesdkidentity#UntagResource" + }, { "target": "com.amazonaws.chimesdkidentity#UpdateAppInstance" }, { "target": "com.amazonaws.chimesdkidentity#UpdateAppInstanceUser" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "Chime SDK Identity", - "arnNamespace": "chime", - "cloudFormationName": "ChimeSDKIdentity", - "cloudTrailEventSource": "chimesdkidentity.amazonaws.com", - "endpointPrefix": "identity-chime" - }, - "aws.auth#sigv4": { - "name": "chime" }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

                                                                                  The Amazon Chime SDK Identity APIs in this section allow software developers to create\n and manage unique instances of their messaging applications. These APIs provide the\n overarching framework for creating and sending messages. For more information about the\n identity APIs, refer to Amazon Chime SDK identity.

                                                                                  ", - "smithy.api#title": "Amazon Chime SDK Identity" - } + { + "target": "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpoint" + } + ] }, "com.amazonaws.chimesdkidentity#ClientRequestToken": { "type": "string", @@ -795,6 +971,61 @@ } } }, + "com.amazonaws.chimesdkidentity#DeregisterAppInstanceUserEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#DeregisterAppInstanceUserEndpointRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Deregisters an AppInstanceUserEndpoint.

                                                                                  ", + "smithy.api#http": { + "method": "DELETE", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}", + "code": 204 + } + } + }, + "com.amazonaws.chimesdkidentity#DeregisterAppInstanceUserEndpointRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier of the AppInstanceUserEndpoint.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.chimesdkidentity#DescribeAppInstance": { "type": "operation", "input": { @@ -962,6 +1193,75 @@ } } }, + "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpointRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpointResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Returns the full details of an AppInstanceUserEndpoint.

                                                                                  ", + "smithy.api#http": { + "method": "GET", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpointRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier of the AppInstanceUserEndpoint.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserEndpointResponse": { + "type": "structure", + "members": { + "AppInstanceUserEndpoint": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpoint", + "traits": { + "smithy.api#documentation": "

                                                                                  The full details of an AppInstanceUserEndpoint: the AppInstanceUserArn, ID, name, type, resource ARN, attributes, \n allow messages, state, and created and last updated timestamps. All timestamps use epoch milliseconds.

                                                                                  " + } + } + } + }, "com.amazonaws.chimesdkidentity#DescribeAppInstanceUserRequest": { "type": "structure", "members": { @@ -986,8 +1286,80 @@ } } }, - "com.amazonaws.chimesdkidentity#ErrorCode": { - "type": "string", + "com.amazonaws.chimesdkidentity#EndpointAttributes": { + "type": "structure", + "members": { + "DeviceToken": { + "target": "com.amazonaws.chimesdkidentity#NonEmptySensitiveString1600", + "traits": { + "smithy.api#documentation": "

                                                                                  The device token for the GCM, APNS, and APNS_SANDBOX endpoint types.

                                                                                  ", + "smithy.api#required": {} + } + }, + "VoipDeviceToken": { + "target": "com.amazonaws.chimesdkidentity#NonEmptySensitiveString1600", + "traits": { + "smithy.api#documentation": "

                                                                                  The VOIP device token for the APNS and APNS_SANDBOX endpoint types.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes of an Endpoint.

                                                                                  " + } + }, + "com.amazonaws.chimesdkidentity#EndpointState": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.chimesdkidentity#EndpointStatus", + "traits": { + "smithy.api#documentation": "

                                                                                  Enum that indicates the Status of an AppInstanceUserEndpoint.

                                                                                  ", + "smithy.api#required": {} + } + }, + "StatusReason": { + "target": "com.amazonaws.chimesdkidentity#EndpointStatusReason", + "traits": { + "smithy.api#documentation": "

                                                                                  The reason for the EndpointStatus.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  A read-only field that represents the state of an AppInstanceUserEndpoint. Supported values:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n ACTIVE: The AppInstanceUserEndpoint is active and able to receive messages. When ACTIVE, the EndpointStatusReason remains empty.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n INACTIVE: The AppInstanceUserEndpoint is inactive and can't receive\n message. When INACTIVE, the corresponding reason will be conveyed through\n EndpointStatusReason.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n INVALID_DEVICE_TOKEN indicates that an AppInstanceUserEndpoint is INACTIVE due to invalid device token

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n INVALID_PINPOINT_ARN indicates that an AppInstanceUserEndpoint is INACTIVE due to an invalid pinpoint ARN that was input through the ResourceArn field.

                                                                                    \n
                                                                                  • \n
                                                                                  " + } + }, + "com.amazonaws.chimesdkidentity#EndpointStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "INACTIVE", + "name": "INACTIVE" + } + ] + } + }, + "com.amazonaws.chimesdkidentity#EndpointStatusReason": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "INVALID_DEVICE_TOKEN", + "name": "INVALID_DEVICE_TOKEN" + }, + { + "value": "INVALID_PINPOINT_ARN", + "name": "INVALID_PINPOINT_ARN" + } + ] + } + }, + "com.amazonaws.chimesdkidentity#ErrorCode": { + "type": "string", "traits": { "smithy.api#enum": [ { @@ -1251,6 +1623,92 @@ } } }, + "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpointsRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpointsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Lists all the AppInstanceUserEndpoints created under a single AppInstanceUser.

                                                                                  ", + "smithy.api#http": { + "method": "GET", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpointsRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.chimesdkidentity#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of endpoints that you want to return.

                                                                                  ", + "smithy.api#httpQuery": "max-results" + } + }, + "NextToken": { + "target": "com.amazonaws.chimesdkidentity#NextToken", + "traits": { + "smithy.api#documentation": "

                                                                                  The token passed by previous API calls until all requested endpoints are returned.

                                                                                  ", + "smithy.api#httpQuery": "next-token" + } + } + } + }, + "com.amazonaws.chimesdkidentity#ListAppInstanceUserEndpointsResponse": { + "type": "structure", + "members": { + "AppInstanceUserEndpoints": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointSummaryList", + "traits": { + "smithy.api#documentation": "

                                                                                  The information for each requested AppInstanceUserEndpoint.

                                                                                  " + } + }, + "NextToken": { + "target": "com.amazonaws.chimesdkidentity#NextToken", + "traits": { + "smithy.api#documentation": "

                                                                                  The token passed by previous API calls until all requested endpoints are returned.

                                                                                  " + } + } + } + }, "com.amazonaws.chimesdkidentity#ListAppInstanceUsers": { "type": "operation", "input": { @@ -1421,6 +1879,67 @@ } } }, + "com.amazonaws.chimesdkidentity#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Lists the tags applied to an Amazon Chime SDK identity resource.

                                                                                  ", + "smithy.api#http": { + "method": "GET", + "uri": "/tags", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkidentity#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chimesdkidentity#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the resource.

                                                                                  ", + "smithy.api#httpQuery": "arn", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chimesdkidentity#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "Tags": { + "target": "com.amazonaws.chimesdkidentity#TagList", + "traits": { + "smithy.api#documentation": "

                                                                                  The tag key-value pairs.

                                                                                  " + } + } + } + }, "com.amazonaws.chimesdkidentity#MaxResults": { "type": "integer", "traits": { @@ -1464,6 +1983,17 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.chimesdkidentity#NonEmptySensitiveString1600": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chimesdkidentity#PutAppInstanceRetentionSettings": { "type": "operation", "input": { @@ -1538,6 +2068,120 @@ } } }, + "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpointRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpointResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ConflictException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Registers an endpoint under an Amazon Chime AppInstanceUser. The endpoint receives messages for a user. For push notifications, the endpoint is a mobile device used to receive mobile push notifications for a user.

                                                                                  ", + "smithy.api#http": { + "method": "POST", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints", + "code": 201 + } + } + }, + "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpointRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of the AppInstanceUserEndpoint.

                                                                                  " + } + }, + "Type": { + "target": "com.amazonaws.chimesdkidentity#AppInstanceUserEndpointType", + "traits": { + "smithy.api#documentation": "

                                                                                  The type of the AppInstanceUserEndpoint. Supported types:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n APNS: The mobile notification service for an Apple device.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n APNS_SANDBOX: The sandbox environment of the mobile notification service for an Apple device.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n GCM: The mobile notification service for an Android device.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Populate the ResourceArn value of each type as PinpointAppArn.

                                                                                  ", + "smithy.api#required": {} + } + }, + "ResourceArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the resource to which the endpoint belongs.

                                                                                  ", + "smithy.api#required": {} + } + }, + "EndpointAttributes": { + "target": "com.amazonaws.chimesdkidentity#EndpointAttributes", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes of an Endpoint.

                                                                                  ", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.chimesdkidentity#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

                                                                                  The idempotency token for each client request.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "AllowMessages": { + "target": "com.amazonaws.chimesdkidentity#AllowMessages", + "traits": { + "smithy.api#documentation": "

                                                                                  Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint receives all messages. \n NONE indicates the endpoint receives no messages.

                                                                                  " + } + } + } + }, + "com.amazonaws.chimesdkidentity#RegisterAppInstanceUserEndpointResponse": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  " + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier of the AppInstanceUserEndpoint.

                                                                                  " + } + } + } + }, "com.amazonaws.chimesdkidentity#ResourceLimitExceededException": { "type": "structure", "members": { @@ -1575,6 +2219,39 @@ } } }, + "com.amazonaws.chimesdkidentity#SensitiveChimeArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 5, + "max": 1600 + }, + "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkidentity#SensitiveString1600": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1600 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkidentity#SensitiveString64": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chimesdkidentity#ServiceFailureException": { "type": "structure", "members": { @@ -1616,20 +2293,20 @@ "Key": { "target": "com.amazonaws.chimesdkidentity#TagKey", "traits": { - "smithy.api#documentation": "

                                                                                  The key of the tag.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The key in a tag.

                                                                                  ", "smithy.api#required": {} } }, "Value": { "target": "com.amazonaws.chimesdkidentity#TagValue", "traits": { - "smithy.api#documentation": "

                                                                                  The value of the tag.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The value in a tag.

                                                                                  ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Describes a tag applied to a resource.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A tag object containing a key-value pair.

                                                                                  " } }, "com.amazonaws.chimesdkidentity#TagKey": { @@ -1642,6 +2319,18 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.chimesdkidentity#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.chimesdkidentity#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, "com.amazonaws.chimesdkidentity#TagList": { "type": "list", "member": { @@ -1654,6 +2343,62 @@ } } }, + "com.amazonaws.chimesdkidentity#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#TagResourceRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Applies the specified tags to the specified Amazon Chime SDK identity resource.

                                                                                  ", + "smithy.api#http": { + "method": "POST", + "uri": "/tags?operation=tag-resource", + "code": 204 + } + } + }, + "com.amazonaws.chimesdkidentity#TagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chimesdkidentity#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The resource ARN.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.chimesdkidentity#TagList", + "traits": { + "smithy.api#documentation": "

                                                                                  The tag key-value pairs.

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.chimesdkidentity#TagValue": { "type": "string", "traits": { @@ -1699,6 +2444,59 @@ "smithy.api#httpError": 401 } }, + "com.amazonaws.chimesdkidentity#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#UntagResourceRequest" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Removes the specified tags from the specified Amazon Chime SDK identity resource.

                                                                                  ", + "smithy.api#http": { + "method": "POST", + "uri": "/tags?operation=untag-resource", + "code": 204 + } + } + }, + "com.amazonaws.chimesdkidentity#UntagResourceRequest": { + "type": "structure", + "members": { + "ResourceARN": { + "target": "com.amazonaws.chimesdkidentity#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The resource ARN.

                                                                                  ", + "smithy.api#required": {} + } + }, + "TagKeys": { + "target": "com.amazonaws.chimesdkidentity#TagKeyList", + "traits": { + "smithy.api#documentation": "

                                                                                  The tag keys.

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.chimesdkidentity#UpdateAppInstance": { "type": "operation", "input": { @@ -1820,6 +2618,96 @@ } } }, + "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpoint": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpointRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpointResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkidentity#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ConflictException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkidentity#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkidentity#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Updates the details of an AppInstanceUserEndpoint. You can update the name and AllowMessage values.

                                                                                  ", + "smithy.api#http": { + "method": "PUT", + "uri": "/app-instance-users/{AppInstanceUserArn}/endpoints/{EndpointId}", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpointRequest": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier of the AppInstanceUserEndpoint.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "Name": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString1600", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of the AppInstanceUserEndpoint.

                                                                                  " + } + }, + "AllowMessages": { + "target": "com.amazonaws.chimesdkidentity#AllowMessages", + "traits": { + "smithy.api#documentation": "

                                                                                  Boolean that controls whether the AppInstanceUserEndpoint is opted in to receive messages. ALL indicates the endpoint will receive all messages. \n NONE indicates the endpoint will receive no messages.

                                                                                  " + } + } + } + }, + "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserEndpointResponse": { + "type": "structure", + "members": { + "AppInstanceUserArn": { + "target": "com.amazonaws.chimesdkidentity#SensitiveChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the AppInstanceUser.

                                                                                  " + } + }, + "EndpointId": { + "target": "com.amazonaws.chimesdkidentity#SensitiveString64", + "traits": { + "smithy.api#documentation": "

                                                                                  The unique identifier of the AppInstanceUserEndpoint.

                                                                                  " + } + } + } + }, "com.amazonaws.chimesdkidentity#UpdateAppInstanceUserRequest": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-messaging.json b/codegen/sdk-codegen/aws-models/chime-sdk-messaging.json index 09fa97f61644..a3c8475094c7 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-messaging.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-messaging.json @@ -29,6 +29,25 @@ ] }, "shapes": { + "com.amazonaws.chimesdkmessaging#AllowNotifications": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ALL", + "name": "ALL" + }, + { + "value": "NONE", + "name": "NONE" + }, + { + "value": "FILTERED", + "name": "FILTERED" + } + ] + } + }, "com.amazonaws.chimesdkmessaging#AppInstanceUserMembershipSummary": { "type": "structure", "members": { @@ -208,7 +227,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the member that the service couldn't add.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the member that the service couldn't add.

                                                                                  " } }, "ErrorCode": { @@ -254,7 +273,7 @@ "MemberArns": { "target": "com.amazonaws.chimesdkmessaging#MemberArns", "traits": { - "smithy.api#documentation": "

                                                                                  The ARNs of the members you want to add to the channel.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArns of the members you want to add to the channel.

                                                                                  ", "smithy.api#required": {} } }, @@ -699,6 +718,20 @@ "target": "com.amazonaws.chimesdkmessaging#ChannelMembershipForAppInstanceUserSummary" } }, + "com.amazonaws.chimesdkmessaging#ChannelMembershipPreferences": { + "type": "structure", + "members": { + "PushNotifications": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationPreferences", + "traits": { + "smithy.api#documentation": "

                                                                                  The push notification configuration of a message.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The channel membership preferences for an AppInstanceUser.

                                                                                  " + } + }, "com.amazonaws.chimesdkmessaging#ChannelMembershipSummary": { "type": "structure", "members": { @@ -808,6 +841,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  The status of the channel message.

                                                                                  " } + }, + "MessageAttributes": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeMap", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

                                                                                  " + } } }, "traits": { @@ -961,6 +1000,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  The message status. The status value is SENT for messages sent to a channel without a channel flow. For channels associated with channel flow, the value determines the \n processing stage.

                                                                                  " } + }, + "MessageAttributes": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeMap", + "traits": { + "smithy.api#documentation": "

                                                                                  The message attribues listed in a the summary of a channel message.

                                                                                  " + } } }, "traits": { @@ -1220,6 +1265,9 @@ { "target": "com.amazonaws.chimesdkmessaging#DisassociateChannelFlow" }, + { + "target": "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferences" + }, { "target": "com.amazonaws.chimesdkmessaging#GetChannelMessage" }, @@ -1259,6 +1307,9 @@ { "target": "com.amazonaws.chimesdkmessaging#ListTagsForResource" }, + { + "target": "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferences" + }, { "target": "com.amazonaws.chimesdkmessaging#RedactChannelMessage" }, @@ -1438,7 +1489,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the member being banned.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the member being banned.

                                                                                  ", "smithy.api#required": {} } }, @@ -1597,7 +1648,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Adds a user to a channel. The InvitedBy response field is derived from the\n request header. A channel member can:

                                                                                  \n\n
                                                                                    \n
                                                                                  • \n

                                                                                    List messages

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Send messages

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Receive messages

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Edit their own messages

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Leave the channel

                                                                                    \n
                                                                                  • \n
                                                                                  \n\n

                                                                                  Privacy settings impact this action as follows:

                                                                                  \n\n
                                                                                    \n
                                                                                  • \n

                                                                                    Public Channels: You do not need to be a member to list messages, but you must be\n a member to send messages.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Private Channels: You must be a member to list or send messages.

                                                                                    \n
                                                                                  • \n
                                                                                  \n\n \n

                                                                                  The x-amz-chime-bearer request header is mandatory. Use the\n AppInstanceUserArn of the user that makes the API call as the value in\n the header.

                                                                                  \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  Adds a user to a channel. The InvitedBy field in ChannelMembership is derived from the\n request header. A channel member can:

                                                                                  \n\n
                                                                                    \n
                                                                                  • \n

                                                                                    List messages

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Send messages

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Receive messages

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Edit their own messages

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Leave the channel

                                                                                    \n
                                                                                  • \n
                                                                                  \n\n

                                                                                  Privacy settings impact this action as follows:

                                                                                  \n\n
                                                                                    \n
                                                                                  • \n

                                                                                    Public Channels: You do not need to be a member to list messages, but you must be\n a member to send messages.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Private Channels: You must be a member to list or send messages.

                                                                                    \n
                                                                                  • \n
                                                                                  \n\n \n

                                                                                  The x-amz-chime-bearer request header is mandatory. Use the\n AppInstanceUserArn of the user that makes the API call as the value in\n the header.

                                                                                  \n
                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/channels/{ChannelArn}/memberships", @@ -1619,7 +1670,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the member you want to add to the channel.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the member you want to add to the channel.

                                                                                  ", "smithy.api#required": {} } }, @@ -1714,7 +1765,7 @@ "ChannelModeratorArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the moderator.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the moderator.

                                                                                  ", "smithy.api#required": {} } }, @@ -2013,7 +2064,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the member that you're removing from the channel.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the member that you're removing from the channel.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2139,7 +2190,7 @@ "ChannelModeratorArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the moderator being deleted.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the moderator being deleted.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2266,7 +2317,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the member being banned.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the member being banned.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2484,7 +2535,7 @@ "MemberArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the member.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the member.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2641,7 +2692,7 @@ "ChannelModeratorArn": { "target": "com.amazonaws.chimesdkmessaging#ChimeArn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the channel moderator.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the channel moderator.

                                                                                  ", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2850,6 +2901,16 @@ ] } }, + "com.amazonaws.chimesdkmessaging#FilterRule": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, "com.amazonaws.chimesdkmessaging#ForbiddenException": { "type": "structure", "members": { @@ -2866,6 +2927,92 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferencesRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferencesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkmessaging#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Gets the membership preferences of an AppInstanceUser for the specified channel. The AppInstanceUser must be a member of the channel. \n Only the AppInstanceUser who owns the membership can retrieve preferences. Users in the AppInstanceAdmin and channel moderator roles can't retrieve preferences for other users. \n Banned users can't retrieve membership preferences for the channel from which they are banned.

                                                                                  ", + "smithy.api#http": { + "method": "GET", + "uri": "/channels/{ChannelArn}/memberships/{MemberArn}/preferences", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferencesRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the channel.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the member retrieving the preferences.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ChimeBearer": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The AppInstanceUserARN of the user making the API call.

                                                                                  ", + "smithy.api#httpHeader": "x-amz-chime-bearer", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chimesdkmessaging#GetChannelMembershipPreferencesResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the channel.

                                                                                  " + } + }, + "Member": { + "target": "com.amazonaws.chimesdkmessaging#Identity" + }, + "Preferences": { + "target": "com.amazonaws.chimesdkmessaging#ChannelMembershipPreferences", + "traits": { + "smithy.api#documentation": "

                                                                                  The channel membership preferences for an AppInstanceUser .

                                                                                  " + } + } + } + }, "com.amazonaws.chimesdkmessaging#GetChannelMessage": { "type": "operation", "input": { @@ -3350,7 +3497,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Lists all channel memberships in a channel.

                                                                                  \n\n \n\n

                                                                                  The x-amz-chime-bearer request header is mandatory. Use the\n AppInstanceUserArn of the user that makes the API call as the value in\n the header.

                                                                                  \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  Lists all channel memberships in a channel.

                                                                                  \n\n \n

                                                                                  The x-amz-chime-bearer request header is mandatory. Use the\n AppInstanceUserArn of the user that makes the API call as the value in\n the header.

                                                                                  \n
                                                                                  \n \n

                                                                                  If you want to list the channels to which a specific app instance user belongs, see the \n ListChannelMembershipsForAppInstanceUser API.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/channels/{ChannelArn}/memberships", @@ -4111,6 +4258,57 @@ "target": "com.amazonaws.chimesdkmessaging#Identity" } }, + "com.amazonaws.chimesdkmessaging#MessageAttributeMap": { + "type": "map", + "key": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeName" + }, + "value": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeValue" + } + }, + "com.amazonaws.chimesdkmessaging#MessageAttributeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkmessaging#MessageAttributeStringValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkmessaging#MessageAttributeStringValues": { + "type": "list", + "member": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeStringValue" + } + }, + "com.amazonaws.chimesdkmessaging#MessageAttributeValue": { + "type": "structure", + "members": { + "StringValues": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeStringValues", + "traits": { + "smithy.api#documentation": "

                                                                                  The strings in a message attribute value.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  A list of message attribute values.

                                                                                  " + } + }, "com.amazonaws.chimesdkmessaging#MessageId": { "type": "string", "traits": { @@ -4224,7 +4422,7 @@ "FallbackAction": { "target": "com.amazonaws.chimesdkmessaging#FallbackAction", "traits": { - "smithy.api#documentation": "

                                                                                  Determines whether to continue or stop processing if communication with processor fails. If the last processor in a channel flow sequence has a fallback action of CONTINUE, and communication \n with the processor fails, the message is considered processed and sent to the recipients in the channel.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Determines whether to continue with message processing or stop it in cases where communication with a processor fails. If a processor has a fallback action of ABORT and \n communication with it fails, the processor sets the message status to FAILED and does not send the message to any recipients. Note that if the last processor in the channel flow sequence \n has a fallback action of CONTINUE and communication with the processor fails, then the message is considered processed and sent to recipients of the channel.

                                                                                  ", "smithy.api#required": {} } } @@ -4260,6 +4458,189 @@ } } }, + "com.amazonaws.chimesdkmessaging#PushNotificationBody": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 150 + }, + "smithy.api#pattern": "^[\\s\\S]*$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkmessaging#PushNotificationConfiguration": { + "type": "structure", + "members": { + "Title": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationTitle", + "traits": { + "smithy.api#documentation": "

                                                                                  The title of the push notification.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Body": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationBody", + "traits": { + "smithy.api#documentation": "

                                                                                  The body of the push notification.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationType", + "traits": { + "smithy.api#documentation": "

                                                                                  Enum value that indicates the type of the push notification for a message.\n DEFAULT: Normal mobile push notification.\n VOIP: VOIP mobile push notification.

                                                                                  ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The push notification configuration of the message.

                                                                                  " + } + }, + "com.amazonaws.chimesdkmessaging#PushNotificationPreferences": { + "type": "structure", + "members": { + "AllowNotifications": { + "target": "com.amazonaws.chimesdkmessaging#AllowNotifications", + "traits": { + "smithy.api#documentation": "

                                                                                  Enum value that indicates which push notifications to send to the requested member of a channel.\n ALL sends all push notifications, NONE sends no push notifications, FILTERED sends only filtered push notifications. \n

                                                                                  ", + "smithy.api#required": {} + } + }, + "FilterRule": { + "target": "com.amazonaws.chimesdkmessaging#FilterRule", + "traits": { + "smithy.api#documentation": "

                                                                                  The simple JSON object used to send a subset of a push notification to the requsted member.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The channel membership preferences for push notification.

                                                                                  " + } + }, + "com.amazonaws.chimesdkmessaging#PushNotificationTitle": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + }, + "smithy.api#pattern": ".*", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.chimesdkmessaging#PushNotificationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DEFAULT", + "name": "DEFAULT" + }, + { + "value": "VOIP", + "name": "VOIP" + } + ] + } + }, + "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferences": { + "type": "operation", + "input": { + "target": "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferencesRequest" + }, + "output": { + "target": "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferencesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.chimesdkmessaging#BadRequestException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ConflictException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ForbiddenException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ServiceFailureException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#ThrottledClientException" + }, + { + "target": "com.amazonaws.chimesdkmessaging#UnauthorizedClientException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Sets the membership preferences of an AppInstanceUser for the specified channel. The AppInstanceUser must be a member of the channel. \n Only the AppInstanceUser who owns the membership can set preferences. Users in the AppInstanceAdmin and channel moderator roles can't set preferences for other users. \n Banned users can't set membership preferences for the channel from which they are banned.

                                                                                  ", + "smithy.api#http": { + "method": "PUT", + "uri": "/channels/{ChannelArn}/memberships/{MemberArn}/preferences", + "code": 200 + } + } + }, + "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferencesRequest": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the channel.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MemberArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The AppInstanceUserArn of the member setting the preferences.

                                                                                  ", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ChimeBearer": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The AppInstanceUserARN of the user making the API call.

                                                                                  ", + "smithy.api#httpHeader": "x-amz-chime-bearer", + "smithy.api#required": {} + } + }, + "Preferences": { + "target": "com.amazonaws.chimesdkmessaging#ChannelMembershipPreferences", + "traits": { + "smithy.api#documentation": "

                                                                                  The channel membership preferences of an AppInstanceUser .

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.chimesdkmessaging#PutChannelMembershipPreferencesResponse": { + "type": "structure", + "members": { + "ChannelArn": { + "target": "com.amazonaws.chimesdkmessaging#ChimeArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the channel.

                                                                                  " + } + }, + "Member": { + "target": "com.amazonaws.chimesdkmessaging#Identity" + }, + "Preferences": { + "target": "com.amazonaws.chimesdkmessaging#ChannelMembershipPreferences", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN and metadata of the member being added.

                                                                                  " + } + } + } + }, "com.amazonaws.chimesdkmessaging#RedactChannelMessage": { "type": "operation", "input": { @@ -4463,6 +4844,18 @@ "smithy.api#httpHeader": "x-amz-chime-bearer", "smithy.api#required": {} } + }, + "PushNotification": { + "target": "com.amazonaws.chimesdkmessaging#PushNotificationConfiguration", + "traits": { + "smithy.api#documentation": "

                                                                                  The push notification configuration of the message.

                                                                                  " + } + }, + "MessageAttributes": { + "target": "com.amazonaws.chimesdkmessaging#MessageAttributeMap", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

                                                                                  " + } } } }, diff --git a/codegen/sdk-codegen/aws-models/connectparticipant.json b/codegen/sdk-codegen/aws-models/connectparticipant.json index 9cf274d99aa9..f109a15dabc7 100644 --- a/codegen/sdk-codegen/aws-models/connectparticipant.json +++ b/codegen/sdk-codegen/aws-models/connectparticipant.json @@ -47,6 +47,21 @@ }, "com.amazonaws.connectparticipant#AmazonConnectParticipantServiceLambda": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "ConnectParticipant", + "arnNamespace": "connect", + "cloudFormationName": "ConnectParticipant", + "cloudTrailEventSource": "connectparticipant.amazonaws.com", + "endpointPrefix": "participant.connect" + }, + "aws.auth#sigv4": { + "name": "execute-api" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

                                                                                  Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage\n a customer contact center and provide reliable customer engagement at any scale.

                                                                                  \n

                                                                                  Amazon Connect enables customer contacts through voice or chat.

                                                                                  \n\n

                                                                                  The APIs described here are used by chat participants, such as agents and\n customers.

                                                                                  ", + "smithy.api#title": "Amazon Connect Participant Service" + }, "version": "2018-09-07", "operations": [ { @@ -73,22 +88,7 @@ { "target": "com.amazonaws.connectparticipant#StartAttachmentUpload" } - ], - "traits": { - "aws.api#service": { - "sdkId": "ConnectParticipant", - "arnNamespace": "connect", - "cloudFormationName": "ConnectParticipant", - "cloudTrailEventSource": "connectparticipant.amazonaws.com", - "endpointPrefix": "participant.connect" - }, - "aws.auth#sigv4": { - "name": "execute-api" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

                                                                                  Amazon Connect is a cloud-based contact center solution that makes it easy to set up and manage\n a customer contact center and provide reliable customer engagement at any scale.

                                                                                  \n

                                                                                  Amazon Connect enables customer contacts through voice or chat.

                                                                                  \n\n

                                                                                  The APIs described here are used by chat participants, such as agents and\n customers.

                                                                                  ", - "smithy.api#title": "Amazon Connect Participant Service" - } + ] }, "com.amazonaws.connectparticipant#ArtifactId": { "type": "string", @@ -185,6 +185,12 @@ "target": "com.amazonaws.connectparticipant#AttachmentItem" } }, + "com.amazonaws.connectparticipant#Bool": { + "type": "boolean", + "traits": { + "smithy.api#box": {} + } + }, "com.amazonaws.connectparticipant#ChatContent": { "type": "string", "traits": { @@ -255,6 +261,22 @@ { "value": "CONNECTION_ACK", "name": "CONNECTION_ACK" + }, + { + "value": "PARTICIPANT_ACTIVE", + "name": "PARTICIPANT_ACTIVE" + }, + { + "value": "PARTICIPANT_INACTIVE", + "name": "PARTICIPANT_INACTIVE" + }, + { + "value": "PARTICIPANT_ENGAGED", + "name": "PARTICIPANT_ENGAGED" + }, + { + "value": "PARTICIPANT_DISENGAGED", + "name": "PARTICIPANT_DISENGAGED" } ] } @@ -297,7 +319,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Allows you to confirm that the attachment has been uploaded using the pre-signed URL\n provided in StartAttachmentUpload API.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Allows you to confirm that the attachment has been uploaded using the pre-signed URL\n provided in StartAttachmentUpload API.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/participant/complete-attachment-upload", @@ -440,7 +462,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Creates the participant's connection. Note that ParticipantToken is used for invoking\n this API instead of ConnectionToken.

                                                                                  \n

                                                                                  The participant token is valid for the lifetime of the participant – until they are\n part of a contact.

                                                                                  \n

                                                                                  The response URL for WEBSOCKET Type has a connect expiry timeout of 100s.\n Clients must manually connect to the returned websocket URL and subscribe to the desired\n topic.

                                                                                  \n

                                                                                  For chat, you need to publish the following on the established websocket\n connection:

                                                                                  \n\n\n

                                                                                  \n {\"topic\":\"aws/subscribe\",\"content\":{\"topics\":[\"aws/chat\"]}}\n

                                                                                  \n\n

                                                                                  Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter,\n clients need to call this API again to obtain a new websocket URL and perform the same\n steps as before.

                                                                                  \n\n \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  Creates the participant's connection. Note that ParticipantToken is used for invoking this API instead of\n ConnectionToken.

                                                                                  \n

                                                                                  The participant token is valid for the lifetime of the participant –\n until they are part of a contact.

                                                                                  \n

                                                                                  The response URL for WEBSOCKET Type has a connect expiry timeout of 100s.\n Clients must manually connect to the returned websocket URL and subscribe to the desired\n topic.

                                                                                  \n

                                                                                  For chat, you need to publish the following on the established websocket\n connection:

                                                                                  \n

                                                                                  \n {\"topic\":\"aws/subscribe\",\"content\":{\"topics\":[\"aws/chat\"]}}\n

                                                                                  \n

                                                                                  Upon websocket URL expiry, as specified in the response ConnectionExpiry parameter,\n clients need to call this API again to obtain a new websocket URL and perform the same\n steps as before.

                                                                                  \n

                                                                                  \n Message streaming support: This API can also be used together with the\n StartContactStreaming\n API to create a participant connection for chat contacts that are\n not using a websocket. For more information about message streaming, Enable real-time chat message streaming in the Amazon Connect\n Administrator Guide.

                                                                                  \n

                                                                                  \n Feature specifications: For information about feature specifications, such as the allowed number of open\n websocket connections per participant, see Feature specifications in the Amazon Connect Administrator\n Guide.

                                                                                  \n \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  \n
                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/participant/connection", @@ -461,10 +483,16 @@ "ParticipantToken": { "target": "com.amazonaws.connectparticipant#ParticipantToken", "traits": { - "smithy.api#documentation": "

                                                                                  This is a header parameter.

                                                                                  \n

                                                                                  The Participant Token as obtained from StartChatContact\n API response.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  This is a header parameter.

                                                                                  \n

                                                                                  The ParticipantToken as obtained from StartChatContact\n API response.

                                                                                  ", "smithy.api#httpHeader": "X-Amz-Bearer", "smithy.api#required": {} } + }, + "ConnectParticipant": { + "target": "com.amazonaws.connectparticipant#Bool", + "traits": { + "smithy.api#documentation": "

                                                                                  Amazon Connect Participant is used to mark the participant as connected for message\n streaming.

                                                                                  " + } } } }, @@ -508,7 +536,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Disconnects a participant. Note that ConnectionToken is used for invoking this API\n instead of ParticipantToken.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Disconnects a participant. Note that ConnectionToken is used for invoking this API\n instead of ParticipantToken.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/participant/disconnect", @@ -572,7 +600,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Provides a pre-signed URL for download of a completed attachment. This is an\n asynchronous API for use with active contacts.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Provides a pre-signed URL for download of a completed attachment. This is an\n asynchronous API for use with active contacts.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/participant/attachment", @@ -606,7 +634,7 @@ "Url": { "target": "com.amazonaws.connectparticipant#PreSignedAttachmentUrl", "traits": { - "smithy.api#documentation": "

                                                                                  The pre-signed URL using which file would be downloaded from Amazon S3 by the API caller.

                                                                                  " + "smithy.api#documentation": "

                                                                                  This is the pre-signed URL that can be used for uploading the file to Amazon S3 when used in response \nto StartAttachmentUpload.

                                                                                  " } }, "UrlExpiry": { @@ -640,7 +668,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Retrieves a transcript of the session, including details about any attachments. Note\n that ConnectionToken is used for invoking this API instead of ParticipantToken.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Retrieves a transcript of the session, including details about any attachments. Note\n that ConnectionToken is used for invoking this API instead of ParticipantToken.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/participant/transcript", @@ -957,7 +985,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Sends an event. Note that ConnectionToken is used for invoking this API instead of\n ParticipantToken.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Sends an event. Note that ConnectionToken is used for invoking this API instead of\n ParticipantToken.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/participant/event", @@ -1038,7 +1066,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Sends a message. Note that ConnectionToken is used for invoking this API instead of\n ParticipantToken.

                                                                                  \n \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  Sends a message. Note that ConnectionToken is used for invoking this API instead of\n ParticipantToken.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/participant/message", @@ -1154,7 +1182,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Provides a pre-signed Amazon S3 URL in response for uploading the file directly to\n S3.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Provides a pre-signed Amazon S3 URL in response for uploading the file directly to\n S3.

                                                                                  \n

                                                                                  The Amazon Connect Participant Service APIs do not use Signature Version 4\n authentication.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/participant/start-attachment-upload", @@ -1275,7 +1303,7 @@ "Url": { "target": "com.amazonaws.connectparticipant#UploadMetadataUrl", "traits": { - "smithy.api#documentation": "

                                                                                  The pre-signed URL using which file would be downloaded from Amazon S3 by the API caller.

                                                                                  " + "smithy.api#documentation": "

                                                                                  This is the pre-signed URL that can be used for uploading the file to Amazon S3 when used in response \nto StartAttachmentUpload.

                                                                                  " } }, "UrlExpiry": { diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index 105e4fcde0f0..2e0abefe19c4 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -29,6 +29,198 @@ ] }, "shapes": { + "com.amazonaws.ec2#AcceleratorCount": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

                                                                                  The minimum number of accelerators. If this parameter is not specified, there is no minimum\n limit.

                                                                                  ", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

                                                                                  The maximum number of accelerators. If this parameter is not specified, there is no\n maximum limit.

                                                                                  ", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips)\n on an instance.

                                                                                  " + } + }, + "com.amazonaws.ec2#AcceleratorCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum number of accelerators. To specify no minimum limit, omit this\n parameter.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of accelerators. To specify no maximum limit, omit this\n parameter. To exclude accelerator-enabled instance types, set Max to\n 0.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips)\n on an instance. To exclude accelerator-enabled instance types, set Max to\n 0.

                                                                                  " + } + }, + "com.amazonaws.ec2#AcceleratorManufacturer": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "nvidia", + "name": "NVIDIA" + }, + { + "value": "amd", + "name": "AMD" + }, + { + "value": "amazon-web-services", + "name": "AMAZON_WEB_SERVICES" + }, + { + "value": "xilinx", + "name": "XILINX" + } + ] + } + }, + "com.amazonaws.ec2#AcceleratorManufacturerSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AcceleratorManufacturer", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AcceleratorName": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "a100", + "name": "A100" + }, + { + "value": "v100", + "name": "V100" + }, + { + "value": "k80", + "name": "K80" + }, + { + "value": "t4", + "name": "T4" + }, + { + "value": "m60", + "name": "M60" + }, + { + "value": "radeon-pro-v520", + "name": "RADEON_PRO_V520" + }, + { + "value": "vu9p", + "name": "VU9P" + } + ] + } + }, + "com.amazonaws.ec2#AcceleratorNameSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AcceleratorName", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#AcceleratorTotalMemoryMiB": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

                                                                                  The minimum amount of accelerator memory, in MiB. If this parameter is not specified,\n there is no minimum limit.

                                                                                  ", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

                                                                                  The maximum amount of accelerator memory, in MiB. If this parameter is not specified,\n there is no maximum limit.

                                                                                  ", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of total accelerator memory, in MiB.

                                                                                  " + } + }, + "com.amazonaws.ec2#AcceleratorTotalMemoryMiBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum amount of accelerator memory, in MiB. To specify no minimum limit, omit this\n parameter.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum amount of accelerator memory, in MiB. To specify no maximum limit, omit this\n parameter.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of total accelerator memory, in MiB.

                                                                                  " + } + }, + "com.amazonaws.ec2#AcceleratorType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "gpu", + "name": "GPU" + }, + { + "value": "fpga", + "name": "FPGA" + }, + { + "value": "inference", + "name": "INFERENCE" + } + ] + } + }, + "com.amazonaws.ec2#AcceleratorTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#AcceleratorType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#AcceptReservedInstancesExchangeQuote": { "type": "operation", "input": { @@ -1148,6 +1340,24 @@ }, "com.amazonaws.ec2#AmazonEC2": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "EC2", + "arnNamespace": "ec2", + "cloudFormationName": "EC2", + "cloudTrailEventSource": "ec2.amazonaws.com", + "endpointPrefix": "ec2" + }, + "aws.auth#sigv4": { + "name": "ec2" + }, + "aws.protocols#ec2Query": {}, + "smithy.api#documentation": "Amazon Elastic Compute Cloud\n

                                                                                  Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS Cloud. \n Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications \n faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the \n AWS Cloud where you can launch AWS resources in a virtual network that you've defined. Amazon Elastic Block Store \n (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available \n and reliable storage volumes that can be attached to any running instance and used like a hard drive.

                                                                                  \n

                                                                                  To learn more, see the following resources:

                                                                                  \n ", + "smithy.api#title": "Amazon Elastic Compute Cloud", + "smithy.api#xmlNamespace": { + "uri": "http://ec2.amazonaws.com/doc/2016-11-15" + } + }, "version": "2016-11-15", "operations": [ { @@ -2191,6 +2401,9 @@ { "target": "com.amazonaws.ec2#GetHostReservationPurchasePreview" }, + { + "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirements" + }, { "target": "com.amazonaws.ec2#GetLaunchTemplateData" }, @@ -2209,6 +2422,9 @@ { "target": "com.amazonaws.ec2#GetSerialConsoleAccessStatus" }, + { + "target": "com.amazonaws.ec2#GetSpotPlacementScores" + }, { "target": "com.amazonaws.ec2#GetSubnetCidrReservations" }, @@ -2563,25 +2779,7 @@ { "target": "com.amazonaws.ec2#WithdrawByoipCidr" } - ], - "traits": { - "aws.api#service": { - "sdkId": "EC2", - "arnNamespace": "ec2", - "cloudFormationName": "EC2", - "cloudTrailEventSource": "ec2.amazonaws.com", - "endpointPrefix": "ec2" - }, - "aws.auth#sigv4": { - "name": "ec2" - }, - "aws.protocols#ec2Query": {}, - "smithy.api#documentation": "Amazon Elastic Compute Cloud\n

                                                                                  Amazon Elastic Compute Cloud (Amazon EC2) provides secure and resizable computing capacity in the AWS Cloud. \n Using Amazon EC2 eliminates the need to invest in hardware up front, so you can develop and deploy applications \n faster. Amazon Virtual Private Cloud (Amazon VPC) enables you to provision a logically isolated section of the \n AWS Cloud where you can launch AWS resources in a virtual network that you've defined. Amazon Elastic Block Store \n (Amazon EBS) provides block level storage volumes for use with EC2 instances. EBS volumes are highly available \n and reliable storage volumes that can be attached to any running instance and used like a hard drive.

                                                                                  \n

                                                                                  To learn more, see the following resources:

                                                                                  \n ", - "smithy.api#title": "Amazon Elastic Compute Cloud", - "smithy.api#xmlNamespace": { - "uri": "http://ec2.amazonaws.com/doc/2016-11-15" - } - } + ] }, "com.amazonaws.ec2#AnalysisAclRule": { "type": "structure", @@ -3052,6 +3250,21 @@ } } }, + "com.amazonaws.ec2#ArchitectureTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ArchitectureType", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, "com.amazonaws.ec2#ArchitectureValues": { "type": "string", "traits": { @@ -5200,6 +5413,25 @@ } } }, + "com.amazonaws.ec2#BareMetal": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + } + ] + } + }, "com.amazonaws.ec2#BareMetalFlag": { "type": "boolean", "traits": { @@ -5212,6 +5444,50 @@ "smithy.api#box": {} } }, + "com.amazonaws.ec2#BaselineEbsBandwidthMbps": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

                                                                                  The minimum baseline bandwidth, in Mbps. If this parameter is not specified, there is no\n minimum limit.

                                                                                  ", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

                                                                                  The maximum baseline bandwidth, in Mbps. If this parameter is not specified, there is no\n maximum limit.

                                                                                  ", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

                                                                                  " + } + }, + "com.amazonaws.ec2#BaselineEbsBandwidthMbpsRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit\n this parameter.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit\n this parameter.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

                                                                                  " + } + }, "com.amazonaws.ec2#BaselineIops": { "type": "integer", "traits": { @@ -5608,6 +5884,25 @@ ] } }, + "com.amazonaws.ec2#BurstablePerformance": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + } + ] + } + }, "com.amazonaws.ec2#BurstablePerformanceFlag": { "type": "boolean", "traits": { @@ -8961,6 +9256,34 @@ } } }, + "com.amazonaws.ec2#CpuManufacturer": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "intel", + "name": "INTEL" + }, + { + "value": "amd", + "name": "AMD" + }, + { + "value": "amazon-web-services", + "name": "AMAZON_WEB_SERVICES" + } + ] + } + }, + "com.amazonaws.ec2#CpuManufacturerSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CpuManufacturer", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#CpuOptions": { "type": "structure", "members": { @@ -21416,7 +21739,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

                                                                                  The filters.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n affinity - The affinity setting for an instance running on a\n Dedicated Host (default | host).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n architecture - The instance architecture (i386 |\n x86_64 | arm64).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n availability-zone - The Availability Zone of the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.attach-time - The attach time for an EBS\n volume mapped to the instance, for example,\n 2010-09-15T17:15:20.000Z.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.delete-on-termination - A Boolean that\n indicates whether the EBS volume is deleted on instance termination.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.device-name - The device name specified in the\n block device mapping (for example, /dev/sdh or\n xvdh).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.status - The status for the EBS volume\n (attaching | attached | detaching |\n detached).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.volume-id - The volume ID of the EBS\n volume.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n client-token - The idempotency token you provided when you launched\n the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n dns-name - The public DNS name of the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n group-id - The ID of the security group for the instance.\n EC2-Classic only.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n group-name - The name of the security group for the instance.\n EC2-Classic only.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n hibernation-options.configured - A Boolean that indicates whether\n the instance is enabled for hibernation. A value of true means that\n the instance is enabled for hibernation.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n host-id - The ID of the Dedicated Host on which the instance is\n running, if applicable.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n hypervisor - The hypervisor type of the instance\n (ovm | xen). The value xen\n is used for both Xen and Nitro hypervisors.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n iam-instance-profile.arn - The instance profile associated with\n the instance. Specified as an ARN.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n image-id - The ID of the image used to launch the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-id - The ID of the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-lifecycle - Indicates whether this is a Spot Instance or\n a Scheduled Instance (spot | scheduled).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-state-code - The state of the instance, as a 16-bit\n unsigned integer. The high byte is used for internal purposes and should be\n ignored. The low byte is set based on the state represented. The valid values\n are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64\n (stopping), and 80 (stopped).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-state-name - The state of the instance\n (pending | running | shutting-down |\n terminated | stopping |\n stopped).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-type - The type of instance (for example,\n t2.micro).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance.group-id - The ID of the security group for the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance.group-name - The name of the security group for the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n ip-address - The public IPv4 address of the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n kernel-id - The kernel ID.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n key-name - The name of the key pair used when the instance was\n launched.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n launch-index - When launching multiple instances, this is the\n index for the instance in the launch group (for example, 0, 1, 2, and so on).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n launch-time - The time when the instance was launched.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n metadata-options.http-tokens - The metadata request authorization\n state (optional | required)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n metadata-options.http-put-response-hop-limit - The http metadata\n request put response hop limit (integer, possible values 1 to\n 64)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n metadata-options.http-endpoint - Enable or disable metadata\n access on http endpoint (enabled | disabled)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n monitoring-state - Indicates whether detailed monitoring is\n enabled (disabled | enabled).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.addresses.private-ip-address - The private IPv4\n address associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.addresses.primary - Specifies whether the IPv4\n address of the network interface is the primary private IPv4 address.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.addresses.association.public-ip - The ID of the\n association of an Elastic IP address (IPv4) with a network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.addresses.association.ip-owner-id - The owner\n ID of the private IPv4 address associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.association.public-ip - The address of the\n Elastic IP address (IPv4) bound to the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.association.ip-owner-id - The owner of the\n Elastic IP address (IPv4) associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.association.allocation-id - The allocation ID\n returned when you allocated the Elastic IP address (IPv4) for your network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.association.association-id - The association ID\n returned when the network interface was associated with an IPv4 address.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.attachment-id - The ID of the\n interface attachment.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.instance-id - The ID of the instance\n to which the network interface is attached.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.instance-owner-id - The owner ID of\n the instance to which the network interface is attached.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.device-index - The device index to\n which the network interface is attached.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.status - The status of the\n attachment (attaching | attached |\n detaching | detached).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.attach-time - The time that the\n network interface was attached to an instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.delete-on-termination - Specifies\n whether the attachment is deleted when an instance is terminated.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.availability-zone - The Availability Zone for\n the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.description - The description of the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.group-id - The ID of a security group\n associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.group-name - The name of a security group\n associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.ipv6-addresses.ipv6-address - The IPv6 address\n associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.mac-address - The MAC address of the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.network-interface-id - The ID of the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.owner-id - The ID of the owner of the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.private-dns-name - The private DNS name of the\n network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.requester-id - The requester ID for the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.requester-managed - Indicates whether the\n network interface is being managed by Amazon Web Services.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.status - The status of the network interface\n (available) | in-use).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.source-dest-check - Whether the network\n interface performs source/destination checking. A value of true\n means that checking is enabled, and false means that checking is\n disabled. The value must be false for the network interface to\n perform network address translation (NAT) in your VPC.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.subnet-id - The ID of the subnet for the\n network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.vpc-id - The ID of the VPC for the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n owner-id - The Amazon Web Services account ID of the instance owner.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n placement-group-name - The name of the placement group for the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n placement-partition-number - The partition in which the instance is\n located.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n platform - The platform. To list only Windows instances, use\n windows.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n private-dns-name - The private IPv4 DNS name of the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n private-ip-address - The private IPv4 address of the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n product-code - The product code associated with the AMI used to\n launch the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n product-code.type - The type of product code (devpay |\n marketplace).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n ramdisk-id - The RAM disk ID.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n reason - The reason for the current state of the instance (for\n example, shows \"User Initiated [date]\" when you stop or terminate the instance).\n Similar to the state-reason-code filter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n requester-id - The ID of the entity that launched the instance on\n your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so\n on).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n reservation-id - The ID of the instance's reservation. A\n reservation ID is created any time you launch an instance. A reservation ID has\n a one-to-one relationship with an instance launch request, but can be associated\n with more than one instance if you launch multiple instances using the same\n launch request. For example, if you launch one instance, you get one reservation\n ID. If you launch ten instances using the same launch request, you also get one\n reservation ID.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n root-device-name - The device name of the root device volume (for\n example, /dev/sda1).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n root-device-type - The type of the root device volume\n (ebs | instance-store).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n source-dest-check - Indicates whether the instance performs\n source/destination checking. A value of true means that checking is\n enabled, and false means that checking is disabled. The value must\n be false for the instance to perform network address translation\n (NAT) in your VPC.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n spot-instance-request-id - The ID of the Spot Instance\n request.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n state-reason-code - The reason code for the state change.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n state-reason-message - A message that describes the state\n change.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n subnet-id - The ID of the subnet for the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tenancy - The tenancy of an instance (dedicated |\n default | host).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n virtualization-type - The virtualization type of the instance\n (paravirtual | hvm).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n vpc-id - The ID of the VPC that the instance is running in.

                                                                                    \n
                                                                                  • \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  The filters.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n affinity - The affinity setting for an instance running on a\n Dedicated Host (default | host).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n architecture - The instance architecture (i386 |\n x86_64 | arm64).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n availability-zone - The Availability Zone of the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.attach-time - The attach time for an EBS\n volume mapped to the instance, for example,\n 2010-09-15T17:15:20.000Z.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.delete-on-termination - A Boolean that\n indicates whether the EBS volume is deleted on instance termination.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.device-name - The device name specified in the\n block device mapping (for example, /dev/sdh or\n xvdh).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.status - The status for the EBS volume\n (attaching | attached | detaching |\n detached).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n block-device-mapping.volume-id - The volume ID of the EBS\n volume.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n client-token - The idempotency token you provided when you launched\n the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n dns-name - The public DNS name of the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n group-id - The ID of the security group for the instance.\n EC2-Classic only.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n group-name - The name of the security group for the instance.\n EC2-Classic only.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n hibernation-options.configured - A Boolean that indicates whether\n the instance is enabled for hibernation. A value of true means that\n the instance is enabled for hibernation.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n host-id - The ID of the Dedicated Host on which the instance is\n running, if applicable.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n hypervisor - The hypervisor type of the instance\n (ovm | xen). The value xen\n is used for both Xen and Nitro hypervisors.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n iam-instance-profile.arn - The instance profile associated with\n the instance. Specified as an ARN.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n image-id - The ID of the image used to launch the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-id - The ID of the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-lifecycle - Indicates whether this is a Spot Instance or\n a Scheduled Instance (spot | scheduled).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-state-code - The state of the instance, as a 16-bit\n unsigned integer. The high byte is used for internal purposes and should be\n ignored. The low byte is set based on the state represented. The valid values\n are: 0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64\n (stopping), and 80 (stopped).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-state-name - The state of the instance\n (pending | running | shutting-down |\n terminated | stopping |\n stopped).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance-type - The type of instance (for example,\n t2.micro).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance.group-id - The ID of the security group for the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n instance.group-name - The name of the security group for the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n ip-address - The public IPv4 address of the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n kernel-id - The kernel ID.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n key-name - The name of the key pair used when the instance was\n launched.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n launch-index - When launching multiple instances, this is the\n index for the instance in the launch group (for example, 0, 1, 2, and so on).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n launch-time - The time when the instance was launched, in the ISO\n 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2021-09-29T11:04:43.305Z. You can use a wildcard\n (*), for example, 2021-09-29T*, which matches an\n entire day.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n metadata-options.http-tokens - The metadata request authorization\n state (optional | required)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n metadata-options.http-put-response-hop-limit - The http metadata\n request put response hop limit (integer, possible values 1 to\n 64)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n metadata-options.http-endpoint - Enable or disable metadata\n access on http endpoint (enabled | disabled)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n monitoring-state - Indicates whether detailed monitoring is\n enabled (disabled | enabled).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.addresses.private-ip-address - The private IPv4\n address associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.addresses.primary - Specifies whether the IPv4\n address of the network interface is the primary private IPv4 address.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.addresses.association.public-ip - The ID of the\n association of an Elastic IP address (IPv4) with a network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.addresses.association.ip-owner-id - The owner\n ID of the private IPv4 address associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.association.public-ip - The address of the\n Elastic IP address (IPv4) bound to the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.association.ip-owner-id - The owner of the\n Elastic IP address (IPv4) associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.association.allocation-id - The allocation ID\n returned when you allocated the Elastic IP address (IPv4) for your network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.association.association-id - The association ID\n returned when the network interface was associated with an IPv4 address.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.attachment-id - The ID of the\n interface attachment.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.instance-id - The ID of the instance\n to which the network interface is attached.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.instance-owner-id - The owner ID of\n the instance to which the network interface is attached.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.device-index - The device index to\n which the network interface is attached.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.status - The status of the\n attachment (attaching | attached |\n detaching | detached).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.attach-time - The time that the\n network interface was attached to an instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.attachment.delete-on-termination - Specifies\n whether the attachment is deleted when an instance is terminated.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.availability-zone - The Availability Zone for\n the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.description - The description of the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.group-id - The ID of a security group\n associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.group-name - The name of a security group\n associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.ipv6-addresses.ipv6-address - The IPv6 address\n associated with the network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.mac-address - The MAC address of the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.network-interface-id - The ID of the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.owner-id - The ID of the owner of the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.private-dns-name - The private DNS name of the\n network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.requester-id - The requester ID for the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.requester-managed - Indicates whether the\n network interface is being managed by Amazon Web Services.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.status - The status of the network interface\n (available) | in-use).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.source-dest-check - Whether the network\n interface performs source/destination checking. A value of true\n means that checking is enabled, and false means that checking is\n disabled. The value must be false for the network interface to\n perform network address translation (NAT) in your VPC.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.subnet-id - The ID of the subnet for the\n network interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n network-interface.vpc-id - The ID of the VPC for the network\n interface.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n outpost-arn - The Amazon Resource Name (ARN) of the Outpost.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n owner-id - The Amazon Web Services account ID of the instance owner.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n placement-group-name - The name of the placement group for the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n placement-partition-number - The partition in which the instance is\n located.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n platform - The platform. To list only Windows instances, use\n windows.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n private-dns-name - The private IPv4 DNS name of the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n private-ip-address - The private IPv4 address of the\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n product-code - The product code associated with the AMI used to\n launch the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n product-code.type - The type of product code (devpay |\n marketplace).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n ramdisk-id - The RAM disk ID.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n reason - The reason for the current state of the instance (for\n example, shows \"User Initiated [date]\" when you stop or terminate the instance).\n Similar to the state-reason-code filter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n requester-id - The ID of the entity that launched the instance on\n your behalf (for example, Amazon Web Services Management Console, Auto Scaling, and so\n on).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n reservation-id - The ID of the instance's reservation. A\n reservation ID is created any time you launch an instance. A reservation ID has\n a one-to-one relationship with an instance launch request, but can be associated\n with more than one instance if you launch multiple instances using the same\n launch request. For example, if you launch one instance, you get one reservation\n ID. If you launch ten instances using the same launch request, you also get one\n reservation ID.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n root-device-name - The device name of the root device volume (for\n example, /dev/sda1).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n root-device-type - The type of the root device volume\n (ebs | instance-store).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n source-dest-check - Indicates whether the instance performs\n source/destination checking. A value of true means that checking is\n enabled, and false means that checking is disabled. The value must\n be false for the instance to perform network address translation\n (NAT) in your VPC.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n spot-instance-request-id - The ID of the Spot Instance\n request.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n state-reason-code - The reason code for the state change.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n state-reason-message - A message that describes the state\n change.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n subnet-id - The ID of the subnet for the instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources that have a tag with a specific key, regardless of the tag value.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n tenancy - The tenancy of an instance (dedicated |\n default | host).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n virtualization-type - The virtualization type of the instance\n (paravirtual | hvm).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n vpc-id - The ID of the VPC that the instance is running in.

                                                                                    \n
                                                                                  • \n
                                                                                  ", "smithy.api#xmlName": "Filter" } }, @@ -31410,6 +31733,31 @@ ] } }, + "com.amazonaws.ec2#ExcludedInstanceType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 30 + }, + "smithy.api#pattern": "^[a-zA-Z0-9\\.\\*]+$" + } + }, + "com.amazonaws.ec2#ExcludedInstanceTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ExcludedInstanceType", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 400 + } + } + }, "com.amazonaws.ec2#ExecutableByStringList": { "type": "list", "member": { @@ -33072,7 +33420,7 @@ "target": "com.amazonaws.ec2#InstanceType", "traits": { "aws.protocols#ec2QueryName": "InstanceType", - "smithy.api#documentation": "

                                                                                  The instance type.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The instance type.

                                                                                  \n \n

                                                                                  If you specify InstanceTypes, you can't specify\n InstanceRequirements.

                                                                                  \n
                                                                                  ", "smithy.api#xmlName": "instanceType" } }, @@ -33123,6 +33471,14 @@ "smithy.api#documentation": "

                                                                                  The location where the instance launched, if applicable.

                                                                                  ", "smithy.api#xmlName": "placement" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

                                                                                  \n \n

                                                                                  If you specify InstanceRequirements, you can't specify\n InstanceTypes.

                                                                                  \n
                                                                                  ", + "smithy.api#xmlName": "instanceRequirements" + } } }, "traits": { @@ -33153,7 +33509,7 @@ "InstanceType": { "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#documentation": "

                                                                                  The instance type.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The instance type.

                                                                                  \n \n

                                                                                  If you specify InstanceTypes, you can't specify\n InstanceRequirements.

                                                                                  \n
                                                                                  " } }, "MaxPrice": { @@ -33191,6 +33547,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  The location where the instance launched, if applicable.

                                                                                  " } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

                                                                                  \n \n

                                                                                  If you specify InstanceRequirements, you can't specify\n InstanceTypes.

                                                                                  \n
                                                                                  " + } } }, "traits": { @@ -34729,6 +35091,91 @@ } } }, + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirements": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsResult" + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Returns a list of instance types with the specified instance attributes. You can\n use the response to preview the instance types without launching instances. Note\n that the response does not consider capacity.

                                                                                  \n

                                                                                  When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

                                                                                  \n

                                                                                  For more information, see Preview instance types with specified attributes, Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide, and Creating an\n Auto Scaling group using attribute-based instance type selection in the\n Amazon EC2 Auto Scaling User Guide.

                                                                                  ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "InstanceTypes", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                                                  Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                                                  " + } + }, + "ArchitectureTypes": { + "target": "com.amazonaws.ec2#ArchitectureTypeSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The processor architecture type.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#xmlName": "ArchitectureType" + } + }, + "VirtualizationTypes": { + "target": "com.amazonaws.ec2#VirtualizationTypeSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The virtualization type.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#xmlName": "VirtualizationType" + } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes required for the instance types.

                                                                                  ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of results to return in a single call. Specify a value between 1 and\u2028 \n 1000. The default value is 1000. To retrieve the remaining results, make another call with\u2028 \n the returned NextToken value.

                                                                                  " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The token for the next set of results.

                                                                                  " + } + } + } + }, + "com.amazonaws.ec2#GetInstanceTypesFromInstanceRequirementsResult": { + "type": "structure", + "members": { + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirementsSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceTypeSet", + "smithy.api#documentation": "

                                                                                  The instance types with the specified instance attributes.

                                                                                  ", + "smithy.api#xmlName": "instanceTypeSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                                                  The token for the next set of results.

                                                                                  ", + "smithy.api#xmlName": "nextToken" + } + } + } + }, "com.amazonaws.ec2#GetLaunchTemplateData": { "type": "operation", "input": { @@ -35160,6 +35607,107 @@ } } }, + "com.amazonaws.ec2#GetSpotPlacementScores": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetSpotPlacementScoresRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetSpotPlacementScoresResult" + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Calculates the Spot placement score for a Region or Availability Zone based on the\n specified target capacity and compute requirements.

                                                                                  \n

                                                                                  You can specify your compute requirements either by using\n InstanceRequirementsWithMetadata and letting Amazon EC2 choose the optimal\n instance types to fulfill your Spot request, or you can specify the instance types by using\n InstanceTypes.

                                                                                  \n

                                                                                  For more information, see Spot placement score in\n the Amazon EC2 User Guide.

                                                                                  ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "SpotPlacementScores", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetSpotPlacementScoresRequest": { + "type": "structure", + "members": { + "InstanceTypes": { + "target": "com.amazonaws.ec2#InstanceTypes", + "traits": { + "smithy.api#documentation": "

                                                                                  The instance types. We recommend that you specify at least three instance types. If you\n specify one or two instance types, or specify variations of a single instance type (for\n example, an m3.xlarge with and without instance storage), the returned\n placement score will always be low.

                                                                                  \n

                                                                                  If you specify InstanceTypes, you can't specify\n InstanceRequirementsWithMetadata.

                                                                                  ", + "smithy.api#xmlName": "InstanceType" + } + }, + "TargetCapacity": { + "target": "com.amazonaws.ec2#SpotPlacementScoresTargetCapacity", + "traits": { + "smithy.api#documentation": "

                                                                                  The target capacity.

                                                                                  ", + "smithy.api#required": {} + } + }, + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "traits": { + "smithy.api#documentation": "

                                                                                  The unit for the target capacity.

                                                                                  \n

                                                                                  Default: units (translates to number of instances)

                                                                                  " + } + }, + "SingleAvailabilityZone": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                                                  Specify true so that the response returns a list of scored Availability Zones.\n Otherwise, the response returns a list of scored Regions.

                                                                                  \n

                                                                                  A list of scored Availability Zones is useful if you want to launch all of your Spot\n capacity into a single Availability Zone.

                                                                                  " + } + }, + "RegionNames": { + "target": "com.amazonaws.ec2#RegionNames", + "traits": { + "smithy.api#documentation": "

                                                                                  The Regions used to narrow down the list of Regions to be scored. Enter the Region code,\n for example, us-east-1.

                                                                                  ", + "smithy.api#xmlName": "RegionName" + } + }, + "InstanceRequirementsWithMetadata": { + "target": "com.amazonaws.ec2#InstanceRequirementsWithMetadataRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

                                                                                  \n

                                                                                  If you specify InstanceRequirementsWithMetadata, you can't specify\n InstanceTypes.

                                                                                  " + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                                                  Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

                                                                                  " + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#SpotPlacementScoresMaxResults", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of results to return in a single call. Specify a value between 1 and\u2028 \n 1000. The default value is 1000. To retrieve the remaining results, make another call with\u2028 \n the returned NextToken value.

                                                                                  " + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The token for the next set of results.

                                                                                  " + } + } + } + }, + "com.amazonaws.ec2#GetSpotPlacementScoresResult": { + "type": "structure", + "members": { + "SpotPlacementScores": { + "target": "com.amazonaws.ec2#SpotPlacementScores", + "traits": { + "aws.protocols#ec2QueryName": "SpotPlacementScoreSet", + "smithy.api#documentation": "

                                                                                  The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale\n from 1 to 10. Each score\u2028 reflects how likely it is that each Region or Availability Zone\n will succeed at fulfilling the specified target capacity\u2028 at the time of the Spot\n placement score request. A score of 10 means that your Spot\n capacity request is highly likely to succeed in that Region or Availability Zone.

                                                                                  \n

                                                                                  If you request a Spot placement score for Regions, a high score assumes that your fleet\n request will be configured to use all Availability Zones and the\n capacity-optimized allocation strategy. If you request a Spot placement\n score for Availability Zones, a high score assumes that your fleet request will be\n configured to use a single Availability Zone and the capacity-optimized\n allocation strategy.

                                                                                  \n

                                                                                  Different\u2028 Regions or Availability Zones might return the same score.

                                                                                  \n \n

                                                                                  The Spot placement score serves as a recommendation only. No score guarantees that your\n Spot request will be fully or partially fulfilled.

                                                                                  \n
                                                                                  ", + "smithy.api#xmlName": "spotPlacementScoreSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

                                                                                  The token for the next set of results.

                                                                                  ", + "smithy.api#xmlName": "nextToken" + } + } + } + }, "com.amazonaws.ec2#GetSubnetCidrReservations": { "type": "operation", "input": { @@ -39753,6 +40301,30 @@ "smithy.api#documentation": "

                                                                                  Describes the default credit option for CPU usage of a burstable performance instance family.

                                                                                  " } }, + "com.amazonaws.ec2#InstanceGeneration": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "current", + "name": "CURRENT" + }, + { + "value": "previous", + "name": "PREVIOUS" + } + ] + } + }, + "com.amazonaws.ec2#InstanceGenerationSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceGeneration", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#InstanceHealthStatus": { "type": "string", "traits": { @@ -40618,6 +41190,353 @@ } } }, + "com.amazonaws.ec2#InstanceRequirements": { + "type": "structure", + "members": { + "VCpuCount": { + "target": "com.amazonaws.ec2#VCpuCountRange", + "traits": { + "aws.protocols#ec2QueryName": "VCpuCount", + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of vCPUs.

                                                                                  ", + "smithy.api#xmlName": "vCpuCount" + } + }, + "MemoryMiB": { + "target": "com.amazonaws.ec2#MemoryMiB", + "traits": { + "aws.protocols#ec2QueryName": "MemoryMiB", + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory, in MiB.

                                                                                  ", + "smithy.api#xmlName": "memoryMiB" + } + }, + "CpuManufacturers": { + "target": "com.amazonaws.ec2#CpuManufacturerSet", + "traits": { + "aws.protocols#ec2QueryName": "CpuManufacturerSet", + "smithy.api#documentation": "

                                                                                  The CPU manufacturers to include.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with Intel CPUs, specify intel.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD CPUs, specify amd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Amazon Web Services CPUs, specify amazon-web-services.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  Don't confuse the CPU manufacturer with the CPU architecture. Instances will \n be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you \n specify in your launch template.

                                                                                  \n
                                                                                  \n

                                                                                  Default: Any manufacturer

                                                                                  ", + "smithy.api#xmlName": "cpuManufacturerSet" + } + }, + "MemoryGiBPerVCpu": { + "target": "com.amazonaws.ec2#MemoryGiBPerVCpu", + "traits": { + "aws.protocols#ec2QueryName": "MemoryGiBPerVCpu", + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory per vCPU, in GiB.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  ", + "smithy.api#xmlName": "memoryGiBPerVCpu" + } + }, + "ExcludedInstanceTypes": { + "target": "com.amazonaws.ec2#ExcludedInstanceTypeSet", + "traits": { + "aws.protocols#ec2QueryName": "ExcludedInstanceTypeSet", + "smithy.api#documentation": "

                                                                                  The instance types to exclude. You can use strings with one or more wild cards, represented by\n an asterisk (*), to exclude an instance type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

                                                                                  \n

                                                                                  For example, if you specify c5*.*, Amazon EC2 will exclude the entire C5\n instance family (all C5a and C5n instance types). If you specify c5a.*, Amazon EC2\n excludes all the C5a instance types, but does not exclude the C5n instance types.

                                                                                  \n

                                                                                  Default: No excluded instance types

                                                                                  ", + "smithy.api#xmlName": "excludedInstanceTypeSet" + } + }, + "InstanceGenerations": { + "target": "com.amazonaws.ec2#InstanceGenerationSet", + "traits": { + "aws.protocols#ec2QueryName": "InstanceGenerationSet", + "smithy.api#documentation": "

                                                                                  Indicates whether current or previous generation instance types are included. The\n current generation instance types are recommended for use. Current generation instance types are\n typically the latest two to three generations in each instance family. For more\n information, see Instance types in the\n Amazon EC2 User Guide.

                                                                                  \n

                                                                                  For current generation instance types, specify current.

                                                                                  \n

                                                                                  For previous generation instance types, specify previous.

                                                                                  \n

                                                                                  Default: Current and previous generation instance types

                                                                                  ", + "smithy.api#xmlName": "instanceGenerationSet" + } + }, + "SpotMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "SpotMaxPricePercentageOverLowestPrice", + "smithy.api#documentation": "

                                                                                  The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance,\n expressed as a percentage above the cheapest M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

                                                                                  \n

                                                                                  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

                                                                                  \n

                                                                                  To turn off price protection, specify a high value, such as 999999.

                                                                                  \n

                                                                                  This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

                                                                                  \n

                                                                                  Default: 100\n

                                                                                  ", + "smithy.api#xmlName": "spotMaxPricePercentageOverLowestPrice" + } + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "OnDemandMaxPricePercentageOverLowestPrice", + "smithy.api#documentation": "

                                                                                  The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the cheapest M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

                                                                                  \n

                                                                                  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

                                                                                  \n

                                                                                  To turn off price protection, specify a high value, such as 999999.

                                                                                  \n

                                                                                  This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

                                                                                  \n

                                                                                  Default: 20\n

                                                                                  ", + "smithy.api#xmlName": "onDemandMaxPricePercentageOverLowestPrice" + } + }, + "BareMetal": { + "target": "com.amazonaws.ec2#BareMetal", + "traits": { + "aws.protocols#ec2QueryName": "BareMetal", + "smithy.api#documentation": "

                                                                                  Indicates whether bare metal instance types must be included, excluded, or required.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    To include bare metal instance types, specify included.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To require only bare metal instance types, specify required.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To exclude bare metal instance types, specify excluded.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: excluded\n

                                                                                  ", + "smithy.api#xmlName": "bareMetal" + } + }, + "BurstablePerformance": { + "target": "com.amazonaws.ec2#BurstablePerformance", + "traits": { + "aws.protocols#ec2QueryName": "BurstablePerformance", + "smithy.api#documentation": "

                                                                                  Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see \n Burstable performance instances.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    To include burstable performance instance types, specify included.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To require only burstable performance instance types, specify required.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To exclude burstable performance instance types, specify excluded.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: excluded\n

                                                                                  ", + "smithy.api#xmlName": "burstablePerformance" + } + }, + "RequireHibernateSupport": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "RequireHibernateSupport", + "smithy.api#documentation": "

                                                                                  Indicates whether instance types must support hibernation for On-Demand\n Instances.

                                                                                  \n

                                                                                  This parameter is not supported for GetSpotPlacementScores.

                                                                                  \n

                                                                                  Default: false\n

                                                                                  ", + "smithy.api#xmlName": "requireHibernateSupport" + } + }, + "NetworkInterfaceCount": { + "target": "com.amazonaws.ec2#NetworkInterfaceCount", + "traits": { + "aws.protocols#ec2QueryName": "NetworkInterfaceCount", + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of network interfaces.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  ", + "smithy.api#xmlName": "networkInterfaceCount" + } + }, + "LocalStorage": { + "target": "com.amazonaws.ec2#LocalStorage", + "traits": { + "aws.protocols#ec2QueryName": "LocalStorage", + "smithy.api#documentation": "

                                                                                  Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,\n Amazon\n EC2 instance store in the Amazon EC2 User Guide.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    To include instance types with instance store volumes, specify\n included.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To require only instance types with instance store volumes, specify\n required.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To exclude instance types with instance store volumes, specify\n excluded.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: included\n

                                                                                  ", + "smithy.api#xmlName": "localStorage" + } + }, + "LocalStorageTypes": { + "target": "com.amazonaws.ec2#LocalStorageTypeSet", + "traits": { + "aws.protocols#ec2QueryName": "LocalStorageTypeSet", + "smithy.api#documentation": "

                                                                                  The type of local storage that is required.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with hard disk drive (HDD) storage, specify hdd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with solid state drive (SDD) storage, specify sdd.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: hdd and sdd\n

                                                                                  ", + "smithy.api#xmlName": "localStorageTypeSet" + } + }, + "TotalLocalStorageGB": { + "target": "com.amazonaws.ec2#TotalLocalStorageGB", + "traits": { + "aws.protocols#ec2QueryName": "TotalLocalStorageGB", + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of total local storage, in GB.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  ", + "smithy.api#xmlName": "totalLocalStorageGB" + } + }, + "BaselineEbsBandwidthMbps": { + "target": "com.amazonaws.ec2#BaselineEbsBandwidthMbps", + "traits": { + "aws.protocols#ec2QueryName": "BaselineEbsBandwidthMbps", + "smithy.api#documentation": "

                                                                                  The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  ", + "smithy.api#xmlName": "baselineEbsBandwidthMbps" + } + }, + "AcceleratorTypes": { + "target": "com.amazonaws.ec2#AcceleratorTypeSet", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorTypeSet", + "smithy.api#documentation": "

                                                                                  The accelerator types that must be on the instance type.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with GPU accelerators, specify gpu.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with FPGA accelerators, specify fpga.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with inference accelerators, specify inference.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any accelerator type

                                                                                  ", + "smithy.api#xmlName": "acceleratorTypeSet" + } + }, + "AcceleratorCount": { + "target": "com.amazonaws.ec2#AcceleratorCount", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorCount", + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on\n an instance.

                                                                                  \n

                                                                                  To exclude accelerator-enabled instance types, set Max to 0.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  ", + "smithy.api#xmlName": "acceleratorCount" + } + }, + "AcceleratorManufacturers": { + "target": "com.amazonaws.ec2#AcceleratorManufacturerSet", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorManufacturerSet", + "smithy.api#documentation": "

                                                                                  Indicates whether instance types must have accelerators by specific manufacturers.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA devices, specify nvidia.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD devices, specify amd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Amazon Web Services devices, specify amazon-web-services.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Xilinx devices, specify xilinx.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any manufacturer

                                                                                  ", + "smithy.api#xmlName": "acceleratorManufacturerSet" + } + }, + "AcceleratorNames": { + "target": "com.amazonaws.ec2#AcceleratorNameSet", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorNameSet", + "smithy.api#documentation": "

                                                                                  The accelerators that must be on the instance type.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA A100 GPUs, specify a100.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA V100 GPUs, specify v100.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA K80 GPUs, specify k80.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA T4 GPUs, specify t4.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA M60 GPUs, specify m60.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Xilinx VU9P FPGAs, specify vu9p.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any accelerator

                                                                                  ", + "smithy.api#xmlName": "acceleratorNameSet" + } + }, + "AcceleratorTotalMemoryMiB": { + "target": "com.amazonaws.ec2#AcceleratorTotalMemoryMiB", + "traits": { + "aws.protocols#ec2QueryName": "AcceleratorTotalMemoryMiB", + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of total accelerator memory, in MiB.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  ", + "smithy.api#xmlName": "acceleratorTotalMemoryMiB" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

                                                                                  \n

                                                                                  When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

                                                                                  \n \n

                                                                                  You must specify VCpuCount and MemoryMiB. All other parameters\n are optional. Any unspecified optional parameter is set to its default.

                                                                                  \n
                                                                                  \n

                                                                                  For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.

                                                                                  " + } + }, + "com.amazonaws.ec2#InstanceRequirementsRequest": { + "type": "structure", + "members": { + "VCpuCount": { + "target": "com.amazonaws.ec2#VCpuCountRangeRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of vCPUs.

                                                                                  ", + "smithy.api#required": {} + } + }, + "MemoryMiB": { + "target": "com.amazonaws.ec2#MemoryMiBRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory, in MiB.

                                                                                  ", + "smithy.api#required": {} + } + }, + "CpuManufacturers": { + "target": "com.amazonaws.ec2#CpuManufacturerSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The CPU manufacturers to include.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with Intel CPUs, specify intel.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD CPUs, specify amd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Amazon Web Services CPUs, specify amazon-web-services.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  Don't confuse the CPU manufacturer with the CPU architecture. Instances will \n be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you \n specify in your launch template.

                                                                                  \n
                                                                                  \n

                                                                                  Default: Any manufacturer

                                                                                  ", + "smithy.api#xmlName": "CpuManufacturer" + } + }, + "MemoryGiBPerVCpu": { + "target": "com.amazonaws.ec2#MemoryGiBPerVCpuRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory per vCPU, in GiB.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  " + } + }, + "ExcludedInstanceTypes": { + "target": "com.amazonaws.ec2#ExcludedInstanceTypeSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The instance types to exclude. You can use strings with one or more wild cards, represented by\n an asterisk (*), to exclude an instance family, type, size, or generation. The\n following are examples: m5.8xlarge, c5*.*, m5a.*,\n r*, *3*.

                                                                                  \n

                                                                                  For example, if you specify c5*.*, Amazon EC2 will exclude the entire C5\n instance family (all C5a and C5n instance types). If you specify c5a.*, Amazon EC2\n excludes all the C5a instance types, but does not exclude the C5n instance types.

                                                                                  \n

                                                                                  Default: No excluded instance types

                                                                                  ", + "smithy.api#xmlName": "ExcludedInstanceType" + } + }, + "InstanceGenerations": { + "target": "com.amazonaws.ec2#InstanceGenerationSet", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether current or previous generation instance types are included. The\n current generation instance types are recommended for use. Current generation instance types are\n typically the latest two to three generations in each instance family. For more\n information, see Instance types in the\n Amazon EC2 User Guide.

                                                                                  \n

                                                                                  For current generation instance types, specify current.

                                                                                  \n

                                                                                  For previous generation instance types, specify previous.

                                                                                  \n

                                                                                  Default: Current and previous generation instance types

                                                                                  ", + "smithy.api#xmlName": "InstanceGeneration" + } + }, + "SpotMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance,\n expressed as a percentage above the cheapest M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

                                                                                  \n

                                                                                  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

                                                                                  \n

                                                                                  To turn off price protection, specify a high value, such as 999999.

                                                                                  \n

                                                                                  This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

                                                                                  \n

                                                                                  Default: 100\n

                                                                                  " + } + }, + "OnDemandMaxPricePercentageOverLowestPrice": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance,\n expressed as a percentage above the cheapest M, C, or R instance type with your specified\n attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance\n types priced above your threshold.

                                                                                  \n

                                                                                  The parameter accepts an integer, which Amazon EC2 interprets as a percentage.

                                                                                  \n

                                                                                  To turn off price protection, specify a high value, such as 999999.

                                                                                  \n

                                                                                  This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.

                                                                                  \n

                                                                                  Default: 20\n

                                                                                  " + } + }, + "BareMetal": { + "target": "com.amazonaws.ec2#BareMetal", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether bare metal instance types must be included, excluded, or required.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    To include bare metal instance types, specify included.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To require only bare metal instance types, specify required.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To exclude bare metal instance types, specify excluded.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: excluded\n

                                                                                  " + } + }, + "BurstablePerformance": { + "target": "com.amazonaws.ec2#BurstablePerformance", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see \n Burstable performance instances.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    To include burstable performance instance types, specify included.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To require only burstable performance instance types, specify required.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To exclude burstable performance instance types, specify excluded.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: excluded\n

                                                                                  " + } + }, + "RequireHibernateSupport": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether instance types must support hibernation for On-Demand Instances.

                                                                                  \n

                                                                                  This parameter is not supported for GetSpotPlacementScores.

                                                                                  \n

                                                                                  Default: false\n

                                                                                  " + } + }, + "NetworkInterfaceCount": { + "target": "com.amazonaws.ec2#NetworkInterfaceCountRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of network interfaces.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  " + } + }, + "LocalStorage": { + "target": "com.amazonaws.ec2#LocalStorage", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,\n Amazon\n EC2 instance store in the Amazon EC2 User Guide.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    To include instance types with instance store volumes, specify\n included.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To require only instance types with instance store volumes, specify\n required.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To exclude instance types with instance store volumes, specify\n excluded.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: included\n

                                                                                  " + } + }, + "LocalStorageTypes": { + "target": "com.amazonaws.ec2#LocalStorageTypeSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The type of local storage that is required.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with hard disk drive (HDD) storage, specify hdd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with solid state drive (SDD) storage, specify sdd.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: hdd and sdd\n

                                                                                  ", + "smithy.api#xmlName": "LocalStorageType" + } + }, + "TotalLocalStorageGB": { + "target": "com.amazonaws.ec2#TotalLocalStorageGBRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of total local storage, in GB.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  " + } + }, + "BaselineEbsBandwidthMbps": { + "target": "com.amazonaws.ec2#BaselineEbsBandwidthMbpsRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see\n Amazon\n EBS–optimized instances in the Amazon EC2 User Guide.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  " + } + }, + "AcceleratorTypes": { + "target": "com.amazonaws.ec2#AcceleratorTypeSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The accelerator types that must be on the instance type.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    To include instance types with GPU hardware, specify gpu.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To include instance types with FPGA hardware, specify fpga.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    To include instance types with inference hardware, specify inference.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any accelerator type

                                                                                  ", + "smithy.api#xmlName": "AcceleratorType" + } + }, + "AcceleratorCount": { + "target": "com.amazonaws.ec2#AcceleratorCountRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on\n an instance.

                                                                                  \n

                                                                                  To exclude accelerator-enabled instance types, set Max to 0.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  " + } + }, + "AcceleratorManufacturers": { + "target": "com.amazonaws.ec2#AcceleratorManufacturerSet", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether instance types must have accelerators by specific manufacturers.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA devices, specify nvidia.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD devices, specify amd.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Amazon Web Services devices, specify amazon-web-services.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Xilinx devices, specify xilinx.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any manufacturer

                                                                                  ", + "smithy.api#xmlName": "AcceleratorManufacturer" + } + }, + "AcceleratorNames": { + "target": "com.amazonaws.ec2#AcceleratorNameSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The accelerators that must be on the instance type.

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA A100 GPUs, specify a100.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA V100 GPUs, specify v100.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA K80 GPUs, specify k80.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA T4 GPUs, specify t4.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with NVIDIA M60 GPUs, specify m60.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For instance types with Xilinx VU9P FPGAs, specify vu9p.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Default: Any accelerator

                                                                                  ", + "smithy.api#xmlName": "AcceleratorName" + } + }, + "AcceleratorTotalMemoryMiB": { + "target": "com.amazonaws.ec2#AcceleratorTotalMemoryMiBRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of total accelerator memory, in MiB.

                                                                                  \n

                                                                                  Default: No minimum or maximum limits

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

                                                                                  \n

                                                                                  When you specify multiple parameters, you get instance types that satisfy all of the\n specified parameters. If you specify multiple values for a parameter, you get instance\n types that satisfy any of the specified values.

                                                                                  \n \n

                                                                                  You must specify VCpuCount and MemoryMiB. All other parameters\n are optional. Any unspecified optional parameter is set to its default.

                                                                                  \n
                                                                                  \n

                                                                                  For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot\n placement score in the Amazon EC2 User Guide.

                                                                                  " + } + }, + "com.amazonaws.ec2#InstanceRequirementsWithMetadataRequest": { + "type": "structure", + "members": { + "ArchitectureTypes": { + "target": "com.amazonaws.ec2#ArchitectureTypeSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The architecture type.

                                                                                  ", + "smithy.api#xmlName": "ArchitectureType" + } + }, + "VirtualizationTypes": { + "target": "com.amazonaws.ec2#VirtualizationTypeSet", + "traits": { + "smithy.api#documentation": "

                                                                                  The virtualization type.

                                                                                  ", + "smithy.api#xmlName": "VirtualizationType" + } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The architecture type, virtualization type, and other attributes for the instance types.\n When you specify instance attributes, Amazon EC2 will identify instance types with those\n attributes.

                                                                                  \n

                                                                                  If you specify InstanceRequirementsWithMetadataRequest, you can't specify\n InstanceTypes.

                                                                                  " + } + }, "com.amazonaws.ec2#InstanceSpecification": { "type": "structure", "members": { @@ -42115,6 +43034,10 @@ "value": "d3en.12xlarge", "name": "d3en_12xlarge" }, + { + "value": "dl1.24xlarge", + "name": "dl1_24xlarge" + }, { "value": "f1.2xlarge", "name": "f1_2xlarge" @@ -42933,6 +43856,31 @@ "smithy.api#documentation": "

                                                                                  Describes the instance type.

                                                                                  " } }, + "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirements": { + "type": "structure", + "members": { + "InstanceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

                                                                                  The matching instance type.

                                                                                  ", + "smithy.api#xmlName": "instanceType" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The list of instance types with the specified instance attributes.

                                                                                  " + } + }, + "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirementsSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#InstanceTypeInfoFromInstanceRequirements", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#InstanceTypeInfoList": { "type": "list", "member": { @@ -42989,6 +43937,18 @@ } } }, + "com.amazonaws.ec2#InstanceTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + } + } + }, "com.amazonaws.ec2#InstanceUsage": { "type": "structure", "members": { @@ -45271,6 +46231,14 @@ "smithy.api#documentation": "

                                                                                  The priority for the launch template override. The highest priority is launched\n first.

                                                                                  \n

                                                                                  If OnDemandAllocationStrategy is set to prioritized, Spot Fleet\n uses priority to determine which launch template override to use first in fulfilling\n On-Demand capacity.

                                                                                  \n

                                                                                  If the Spot AllocationStrategy is set to\n capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis\n to determine which launch template override to use in fulfilling Spot capacity, but\n optimizes for capacity first.

                                                                                  \n

                                                                                  Valid values are whole numbers starting at 0. The lower the number, the\n higher the priority. If no number is set, the launch template override has the lowest\n priority. You can set the same priority for different launch template overrides.

                                                                                  ", "smithy.api#xmlName": "priority" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

                                                                                  The instance requirements. When you specify instance requirements, Amazon EC2 will identify\n instance types with the provided requirements, and then use your On-Demand and Spot\n allocation strategies to launch instances from these instance types, in the same way as\n when you specify a list of instance types.

                                                                                  \n \n

                                                                                  If you specify InstanceRequirements, you can't specify\n InstanceTypes.

                                                                                  \n
                                                                                  ", + "smithy.api#xmlName": "instanceRequirements" + } } }, "traits": { @@ -46543,6 +47511,49 @@ } } }, + "com.amazonaws.ec2#LocalStorage": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "included", + "name": "INCLUDED" + }, + { + "value": "required", + "name": "REQUIRED" + }, + { + "value": "excluded", + "name": "EXCLUDED" + } + ] + } + }, + "com.amazonaws.ec2#LocalStorageType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "hdd", + "name": "HDD" + }, + { + "value": "ssd", + "name": "SSD" + } + ] + } + }, + "com.amazonaws.ec2#LocalStorageTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#LocalStorageType", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#Location": { "type": "string" }, @@ -46760,6 +47771,50 @@ ] } }, + "com.amazonaws.ec2#MemoryGiBPerVCpu": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

                                                                                  The minimum amount of memory per vCPU, in GiB. If this parameter is not specified, there is\n no minimum limit.

                                                                                  ", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

                                                                                  The maximum amount of memory per vCPU, in GiB. If this parameter is not specified, there is\n no maximum limit.

                                                                                  ", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory per vCPU, in GiB.

                                                                                  \n

                                                                                  " + } + }, + "com.amazonaws.ec2#MemoryGiBPerVCpuRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this\n parameter.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this\n parameter.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory per vCPU, in GiB.

                                                                                  " + } + }, "com.amazonaws.ec2#MemoryInfo": { "type": "structure", "members": { @@ -46776,6 +47831,51 @@ "smithy.api#documentation": "

                                                                                  Describes the memory for the instance type.

                                                                                  " } }, + "com.amazonaws.ec2#MemoryMiB": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

                                                                                  The minimum amount of memory, in MiB. If this parameter is not specified, there is no minimum\n limit.

                                                                                  ", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

                                                                                  The maximum amount of memory, in MiB. If this parameter is not specified, there is no\n maximum limit.

                                                                                  ", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory, in MiB.

                                                                                  " + } + }, + "com.amazonaws.ec2#MemoryMiBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum amount of memory, in MiB. To specify no minimum limit, specify\n 0.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum amount of memory, in MiB. To specify no maximum limit, omit this\n parameter.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of memory, in MiB.

                                                                                  " + } + }, "com.amazonaws.ec2#MemorySize": { "type": "long", "traits": { @@ -47011,6 +48111,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

                                                                                  " } + }, + "AdditionalInfo": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

                                                                                  Reserved for future use.

                                                                                  " + } } } }, @@ -51262,6 +52368,14 @@ "smithy.api#documentation": "

                                                                                  The ID of the VPC.

                                                                                  ", "smithy.api#xmlName": "vpcId" } + }, + "DenyAllIgwTraffic": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "DenyAllIgwTraffic", + "smithy.api#documentation": "

                                                                                  Indicates whether a network interface with an IPv6 address is unreachable from the \n public internet. If the value is true, inbound traffic from the internet \n is dropped and you cannot assign an elastic IP address to the network interface. The \n network interface is reachable from peered VPCs and resources connected through a \n transit gateway, including on-premises networks.

                                                                                  ", + "smithy.api#xmlName": "denyAllIgwTraffic" + } } }, "traits": { @@ -51454,6 +52568,50 @@ ] } }, + "com.amazonaws.ec2#NetworkInterfaceCount": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

                                                                                  The minimum number of network interfaces. If this parameter is not specified, there is no\n minimum limit.

                                                                                  ", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

                                                                                  The maximum number of network interfaces. If this parameter is not specified, there is no\n maximum limit.

                                                                                  ", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of network interfaces.

                                                                                  " + } + }, + "com.amazonaws.ec2#NetworkInterfaceCountRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum number of network interfaces. To specify no minimum limit, omit this\n parameter.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of network interfaces. To specify no maximum limit, omit this\n parameter.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of network interfaces.

                                                                                  " + } + }, "com.amazonaws.ec2#NetworkInterfaceCreationType": { "type": "string", "traits": { @@ -54456,6 +55614,18 @@ } } }, + "com.amazonaws.ec2#RegionNames": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, "com.amazonaws.ec2#RegisterImage": { "type": "operation", "input": { @@ -55900,7 +57070,7 @@ "InstanceType": { "target": "com.amazonaws.ec2#InstanceType", "traits": { - "smithy.api#documentation": "

                                                                                  The instance type. For more information, see Instance Types in the\n Amazon Elastic Compute Cloud User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The instance type. For more information, see Instance Types in the\n Amazon Elastic Compute Cloud User Guide.

                                                                                  \n

                                                                                  If you specify InstanceTypes, you can't specify\n InstanceRequirements.

                                                                                  " } }, "KeyName": { @@ -56028,6 +57198,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information, \n\t\t\tsee \n\t\t\t\tWhat is Amazon Web Services Nitro Enclaves? in the Amazon Web Services Nitro Enclaves User Guide.

                                                                                  \t\t\n\t\t

                                                                                  You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.

                                                                                  " } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirementsRequest", + "traits": { + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

                                                                                  \n

                                                                                  If you specify InstanceRequirements, you can't specify\n InstanceTypes.

                                                                                  " + } } }, "traits": { @@ -58126,6 +59302,14 @@ "smithy.api#documentation": "

                                                                                  Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves.

                                                                                  ", "smithy.api#xmlName": "enclaveOptions" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with these attributes.

                                                                                  \n

                                                                                  If you specify InstanceRequirements, you can't specify\n InstanceTypes.

                                                                                  ", + "smithy.api#xmlName": "instanceRequirements" + } } }, "traits": { @@ -61924,6 +63108,14 @@ "smithy.api#documentation": "

                                                                                  The tags to apply during creation.

                                                                                  ", "smithy.api#xmlName": "tagSpecificationSet" } + }, + "InstanceRequirements": { + "target": "com.amazonaws.ec2#InstanceRequirements", + "traits": { + "aws.protocols#ec2QueryName": "InstanceRequirements", + "smithy.api#documentation": "

                                                                                  The attributes for the instance types. When you specify instance attributes, Amazon EC2 will\n identify instance types with those attributes.

                                                                                  \n \n

                                                                                  If you specify InstanceRequirements, you can't specify\n InstanceTypes.

                                                                                  \n
                                                                                  ", + "smithy.api#xmlName": "instanceRequirements" + } } }, "traits": { @@ -62199,6 +63391,14 @@ "smithy.api#xmlName": "context" } }, + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "traits": { + "aws.protocols#ec2QueryName": "TargetCapacityUnitType", + "smithy.api#documentation": "

                                                                                  The unit for the target capacity.

                                                                                  \n

                                                                                  Default: units (translates to number of instances)

                                                                                  ", + "smithy.api#xmlName": "targetCapacityUnitType" + } + }, "TagSpecifications": { "target": "com.amazonaws.ec2#TagSpecificationList", "traits": { @@ -62777,6 +63977,65 @@ "smithy.api#documentation": "

                                                                                  Describes Spot Instance placement.

                                                                                  " } }, + "com.amazonaws.ec2#SpotPlacementScore": { + "type": "structure", + "members": { + "Region": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Region", + "smithy.api#documentation": "

                                                                                  The Region.

                                                                                  ", + "smithy.api#xmlName": "region" + } + }, + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

                                                                                  The Availability Zone.

                                                                                  ", + "smithy.api#xmlName": "availabilityZoneId" + } + }, + "Score": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Score", + "smithy.api#documentation": "

                                                                                  The placement score, on a scale from 1 to 10. A score of\n 10 indicates that your Spot request is highly likely to succeed in this\n Region or Availability Zone. A score of 1 indicates that your Spot request is\n not likely to succeed.

                                                                                  ", + "smithy.api#xmlName": "score" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The Spot placement score for this Region or Availability Zone. The score is calculated\n based on the assumption that the capacity-optimized allocation strategy is\n used and that all of the Availability Zones in the Region can be used.

                                                                                  " + } + }, + "com.amazonaws.ec2#SpotPlacementScores": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#SpotPlacementScore", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#SpotPlacementScoresMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 10, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#SpotPlacementScoresTargetCapacity": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 2000000000 + } + } + }, "com.amazonaws.ec2#SpotPrice": { "type": "structure", "members": { @@ -64068,6 +65327,14 @@ "smithy.api#documentation": "

                                                                                  The default TotalTargetCapacity, which is either Spot or\n On-Demand.

                                                                                  ", "smithy.api#xmlName": "defaultTargetCapacityType" } + }, + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "traits": { + "aws.protocols#ec2QueryName": "TargetCapacityUnitType", + "smithy.api#documentation": "

                                                                                  The unit for the target capacity.

                                                                                  \n

                                                                                  Default: units (translates to number of instances)

                                                                                  ", + "smithy.api#xmlName": "targetCapacityUnitType" + } } }, "traits": { @@ -64101,12 +65368,37 @@ "traits": { "smithy.api#documentation": "

                                                                                  The default TotalTargetCapacity, which is either Spot or\n On-Demand.

                                                                                  " } + }, + "TargetCapacityUnitType": { + "target": "com.amazonaws.ec2#TargetCapacityUnitType", + "traits": { + "smithy.api#documentation": "

                                                                                  The unit for the target capacity.

                                                                                  \n

                                                                                  Default: units (translates to number of instances)

                                                                                  " + } } }, "traits": { "smithy.api#documentation": "

                                                                                  The number of units to request. You can choose to set the target capacity as the number of \n instances. Or you can set the target capacity to a performance characteristic that is important to your application workload,\n such as vCPUs, memory, or I/O. If the request type is maintain, you can\n specify a target capacity of 0 and add capacity later.

                                                                                  \n

                                                                                  You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance\n MaxTotalPrice parameter, or both parameters to ensure that your fleet cost\n does not exceed your budget. If you set a maximum price per hour for the On-Demand Instances and Spot Instances\n in your request, EC2 Fleet will launch instances until it reaches the maximum amount that you're\n willing to pay. When the maximum amount you're willing to pay is reached, the fleet stops\n launching instances even if it hasn’t met the target capacity. The\n MaxTotalPrice parameters are located in OnDemandOptionsRequest \n and SpotOptionsRequest.

                                                                                  " } }, + "com.amazonaws.ec2#TargetCapacityUnitType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "vcpu", + "name": "VCPU" + }, + { + "value": "memory-mib", + "name": "MEMORY_MIB" + }, + { + "value": "units", + "name": "UNITS" + } + ] + } + }, "com.amazonaws.ec2#TargetConfiguration": { "type": "structure", "members": { @@ -64513,6 +65805,50 @@ } } }, + "com.amazonaws.ec2#TotalLocalStorageGB": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

                                                                                  The minimum amount of total local storage, in GB. If this parameter is not specified, there is\n no minimum limit.

                                                                                  ", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

                                                                                  The maximum amount of total local storage, in GB. If this parameter is not specified, there is\n no maximum limit.

                                                                                  ", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of total local storage, in GB.

                                                                                  " + } + }, + "com.amazonaws.ec2#TotalLocalStorageGBRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum amount of total local storage, in GB. To specify no minimum limit, omit this\n parameter.

                                                                                  " + } + }, + "Max": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum amount of total local storage, in GB. To specify no maximum limit, omit this\n parameter.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum amount of total local storage, in GB.

                                                                                  " + } + }, "com.amazonaws.ec2#TrafficDirection": { "type": "string", "traits": { @@ -68201,6 +69537,51 @@ "smithy.api#box": {} } }, + "com.amazonaws.ec2#VCpuCountRange": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Min", + "smithy.api#documentation": "

                                                                                  The minimum number of vCPUs. If the value is 0, there is no minimum\n limit.

                                                                                  ", + "smithy.api#xmlName": "min" + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "Max", + "smithy.api#documentation": "

                                                                                  The maximum number of vCPUs. If this parameter is not specified, there is no maximum\n limit.

                                                                                  ", + "smithy.api#xmlName": "max" + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of vCPUs.

                                                                                  " + } + }, + "com.amazonaws.ec2#VCpuCountRangeRequest": { + "type": "structure", + "members": { + "Min": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum number of vCPUs. To specify no minimum limit, specify 0.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Max": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of vCPUs. To specify no maximum limit, omit this parameter.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The minimum and maximum number of vCPUs.

                                                                                  " + } + }, "com.amazonaws.ec2#VCpuInfo": { "type": "structure", "members": { @@ -68405,6 +69786,21 @@ } } }, + "com.amazonaws.ec2#VirtualizationTypeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#VirtualizationType", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2 + } + } + }, "com.amazonaws.ec2#Volume": { "type": "structure", "members": { @@ -70234,6 +71630,30 @@ "smithy.api#xmlName": "transitGatewayId" } }, + "CoreNetworkArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CoreNetworkArn", + "smithy.api#documentation": "

                                                                                  The ARN of the core network.

                                                                                  ", + "smithy.api#xmlName": "coreNetworkArn" + } + }, + "CoreNetworkAttachmentArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CoreNetworkAttachmentArn", + "smithy.api#documentation": "

                                                                                  The ARN of the core network attachment.

                                                                                  ", + "smithy.api#xmlName": "coreNetworkAttachmentArn" + } + }, + "GatewayAssociationState": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GatewayAssociationState", + "smithy.api#documentation": "

                                                                                  The current state of the gateway association.

                                                                                  ", + "smithy.api#xmlName": "gatewayAssociationState" + } + }, "Options": { "target": "com.amazonaws.ec2#VpnConnectionOptions", "traits": { diff --git a/codegen/sdk-codegen/aws-models/ecs.json b/codegen/sdk-codegen/aws-models/ecs.json index 7e9fc17fd676..e756a51bfb27 100644 --- a/codegen/sdk-codegen/aws-models/ecs.json +++ b/codegen/sdk-codegen/aws-models/ecs.json @@ -74,6 +74,24 @@ }, "com.amazonaws.ecs#AmazonEC2ContainerServiceV20141113": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "ECS", + "arnNamespace": "ecs", + "cloudFormationName": "ECS", + "cloudTrailEventSource": "ecs.amazonaws.com", + "endpointPrefix": "ecs" + }, + "aws.auth#sigv4": { + "name": "ecs" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "Amazon Elastic Container Service\n\t\t

                                                                                  Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes\n\t\t\tit easy to run, stop, and manage Docker containers on a cluster. You can host your\n\t\t\tcluster on a serverless infrastructure that is managed by Amazon ECS by launching your\n\t\t\tservices or tasks on Fargate. For more control, you can host your tasks on a cluster\n\t\t\tof Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.

                                                                                  \n\t\t

                                                                                  Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls, allows you to get the state of your cluster from a centralized service, and gives\n\t\t\tyou access to many familiar Amazon EC2 features.

                                                                                  \n\t\t

                                                                                  You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. Amazon ECS eliminates\n\t\t\tthe need for you to operate your own cluster management and configuration management\n\t\t\tsystems or worry about scaling your management infrastructure.

                                                                                  ", + "smithy.api#title": "Amazon EC2 Container Service", + "smithy.api#xmlNamespace": { + "uri": "http://ecs.amazonaws.com/doc/2014-11-13/" + } + }, "version": "2014-11-13", "operations": [ { @@ -232,25 +250,7 @@ { "target": "com.amazonaws.ecs#UpdateTaskSet" } - ], - "traits": { - "aws.api#service": { - "sdkId": "ECS", - "arnNamespace": "ecs", - "cloudFormationName": "ECS", - "cloudTrailEventSource": "ecs.amazonaws.com", - "endpointPrefix": "ecs" - }, - "aws.auth#sigv4": { - "name": "ecs" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon Elastic Container Service\n\t\t

                                                                                  Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes\n\t\t\tit easy to run, stop, and manage Docker containers on a cluster. You can host your\n\t\t\tcluster on a serverless infrastructure that is managed by Amazon ECS by launching your\n\t\t\tservices or tasks on Fargate. For more control, you can host your tasks on a cluster\n\t\t\tof Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.

                                                                                  \n\t\t

                                                                                  Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls, allows you to get the state of your cluster from a centralized service, and gives\n\t\t\tyou access to many familiar Amazon EC2 features.

                                                                                  \n\t\t

                                                                                  You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. Amazon ECS eliminates\n\t\t\tthe need for you to operate your own cluster management and configuration management\n\t\t\tsystems or worry about scaling your management infrastructure.

                                                                                  ", - "smithy.api#title": "Amazon EC2 Container Service", - "smithy.api#xmlNamespace": { - "uri": "http://ecs.amazonaws.com/doc/2014-11-13/" - } - } + ] }, "com.amazonaws.ecs#AssignPublicIp": { "type": "string", @@ -491,6 +491,21 @@ "smithy.api#box": {} } }, + "com.amazonaws.ecs#CPUArchitecture": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "X86_64", + "name": "X86_64" + }, + { + "value": "ARM64", + "name": "ARM64" + } + ] + } + }, "com.amazonaws.ecs#CapacityProvider": { "type": "structure", "members": { @@ -1190,19 +1205,19 @@ "dependsOn": { "target": "com.amazonaws.ecs#ContainerDependencies", "traits": { - "smithy.api#documentation": "

                                                                                  The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

                                                                                  \n\t\t

                                                                                  For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                                  \n\t\t

                                                                                  For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

                                                                                  \n\t\t

                                                                                  For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                                  \n\t\t

                                                                                  For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

                                                                                  \n\t\t
                                                                                    \n
                                                                                  • \n\t\t\t\t

                                                                                    Linux platform\n\t\t\t\t\tversion 1.3.0 or later.

                                                                                    \n\t\t\t
                                                                                  • \n
                                                                                  • \n\t\t\t\t

                                                                                    Windows platform\n\t\t\t\t\tversion 1.0.0 or later.

                                                                                    \n\t\t\t
                                                                                  • \n
                                                                                  " } }, "startTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

                                                                                  Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it does not reach the desired status within that\n\t\t\ttime then containerA will give up and not start. This results in the task transitioning\n\t\t\tto a STOPPED state.

                                                                                  \n\t\t \n\t\t\t

                                                                                  When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it is enforced indendently from this start timeout value.

                                                                                  \n\t\t
                                                                                  \n\t\t

                                                                                  For tasks using the Fargate launch type, this parameter requires that\n\t\t\tthe task or service uses platform version 1.3.0 or later.

                                                                                  \n\t\t

                                                                                  For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of\n\t\t\tthe ecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it does not reach the desired status within that\n\t\t\ttime then containerA will give up and not start. This results in the task transitioning\n\t\t\tto a STOPPED state.

                                                                                  \n\t\t \n\t\t\t

                                                                                  When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it is enforced indendently from this start timeout value.

                                                                                  \n\t\t
                                                                                  \n\t\t

                                                                                  For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

                                                                                  \n\t\t
                                                                                    \n
                                                                                  • \n\t\t\t\t

                                                                                    Linux platform\n\t\t\t\t\tversion 1.3.0 or later.

                                                                                    \n\t\t\t
                                                                                  • \n
                                                                                  • \n\t\t\t\t

                                                                                    Windows platform\n\t\t\t\t\tversion 1.0.0 or later.

                                                                                    \n\t\t\t
                                                                                  • \n
                                                                                  \n\t\t

                                                                                  For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to enable a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of\n\t\t\tthe ecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                                  " } }, "stopTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

                                                                                  Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

                                                                                  \n\t\t

                                                                                  For tasks using the Fargate launch type, the task or service requires\n\t\t\tplatform version 1.3.0 or later. The max stop timeout value is 120 seconds and if the\n\t\t\tparameter is not specified, the default value of 30 seconds is used.

                                                                                  \n\t\t

                                                                                  For tasks using the EC2 launch type, if the stopTimeout\n\t\t\tparameter is not specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to enable a container stop\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

                                                                                  \n\t\t

                                                                                  For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

                                                                                  \n\t\t
                                                                                    \n
                                                                                  • \n\t\t\t\t

                                                                                    Linux platform\n\t\t\t\t\tversion 1.3.0 or later.

                                                                                    \n\t\t\t
                                                                                  • \n
                                                                                  • \n\t\t\t\t

                                                                                    Windows platform\n\t\t\t\t\tversion 1.0.0 or later.

                                                                                    \n\t\t\t
                                                                                  • \n
                                                                                  \n\t\t

                                                                                  The max stop timeout value is 120 seconds and if the\n\t\t\tparameter is not specified, the default value of 30 seconds is used.

                                                                                  \n\t\t

                                                                                  For tasks using the EC2 launch type, if the stopTimeout\n\t\t\tparameter is not specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to enable a container stop\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                                  " } }, "hostname": { @@ -1355,7 +1370,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

                                                                                  \n\t\t

                                                                                  Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tto enable container dependencies. However, we recommend using the latest container agent\n\t\t\tversion. For information about checking your agent version and updating to the latest\n\t\t\tversion, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                                  \n\t\t \n\t\t\t

                                                                                  For tasks using the Fargate launch type, this parameter requires\n\t\t\t\tthat the task or service uses platform version 1.3.0 or later.

                                                                                  \n\t\t
                                                                                  " + "smithy.api#documentation": "

                                                                                  The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

                                                                                  \n\t\t

                                                                                  Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tto enable container dependencies. However, we recommend using the latest container agent\n\t\t\tversion. For information about checking your agent version and updating to the latest\n\t\t\tversion, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you are\n\t\t\tusing an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

                                                                                  \n\t\t \n\t\t\t

                                                                                  For tasks using the Fargate launch type, the task or service requires the followiwng platforms:

                                                                                  \n\t\t\t
                                                                                    \n
                                                                                  • \n\t\t\t\t\t

                                                                                    Linux platform\n\t\t\t\t\t\tversion 1.3.0 or later.

                                                                                    \n\t\t\t\t
                                                                                  • \n
                                                                                  • \n\t\t\t\t\t

                                                                                    Windows platform\n\t\t\t\t\t\tversion 1.0.0 or later.

                                                                                    \n\t\t\t\t
                                                                                  • \n
                                                                                  \n\t\t
                                                                                  " } }, "com.amazonaws.ecs#ContainerInstance": { @@ -2544,6 +2559,12 @@ "smithy.api#documentation": "

                                                                                  The platform version on which your tasks in the service are running. A platform\n\t\t\tversion is only specified for tasks using the Fargate launch type. If one\n\t\t\tis not specified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

                                                                                  " } }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The operating system that your tasks in the service, or tasks are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                                  \n\t\t

                                                                                  All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX..

                                                                                  " + } + }, "networkConfiguration": { "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { @@ -3626,7 +3647,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  A list of files containing the environment variables to pass to a container. You can\n\t\t\tspecify up to ten environment files. The file must have a .env file\n\t\t\textension. Each line in an environment file should contain an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information on the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

                                                                                  \n\t\t

                                                                                  If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they are processed from the top down. It is recommended to use unique\n\t\t\tvariable names. For more information, see Specifying environment\n\t\t\t\tvariables in the Amazon Elastic Container Service Developer Guide.

                                                                                  \n\t\t

                                                                                  This field is only valid for containers in Fargate tasks that use\n\t\t\tplatform version 1.4.0 or later.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of files containing the environment variables to pass to a container. You can\n\t\t\tspecify up to ten environment files. The file must have a .env file\n\t\t\textension. Each line in an environment file should contain an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored. For more information on the environment variable file\n\t\t\tsyntax, see Declare default\n\t\t\t\tenvironment variables in file.

                                                                                  \n\t\t

                                                                                  If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they are processed from the top down. It is recommended to use unique\n\t\t\tvariable names. For more information, see Specifying environment\n\t\t\t\tvariables in the Amazon Elastic Container Service Developer Guide.

                                                                                  \n\t\t

                                                                                  This parameter is only supported for tasks hosted on Fargate using the following platform versions:

                                                                                  \n\t\t
                                                                                    \n
                                                                                  • \n\t\t\t\t

                                                                                    Linux platform\n\t\t\t\t\tversion 1.4.0 or later.

                                                                                    \n\t\t\t
                                                                                  • \n
                                                                                  • \n\t\t\t\t

                                                                                    Windows platform\n\t\t\t\t\tversion 1.0.0 or later.

                                                                                    \n\t\t\t
                                                                                  • \n
                                                                                  " } }, "com.amazonaws.ecs#EnvironmentFileType": { @@ -3664,7 +3685,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

                                                                                  \n\t\t \n\t\t\t

                                                                                  This parameter is only supported for tasks hosted on Fargate using platform\n\t\t\t\tversion 1.4.0 or later.

                                                                                  \n\t\t
                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

                                                                                  \n\t\t \n\t\t\t

                                                                                  This parameter is only supported for tasks hosted on Fargate using the following platform versions:

                                                                                  \n\t\t\t
                                                                                    \n
                                                                                  • \n\t\t\t\t\t

                                                                                    Linux platform\n\t\t\t\t\t\tversion 1.4.0 or later.

                                                                                    \n\t\t\t\t
                                                                                  • \n
                                                                                  • \n\t\t\t\t\t

                                                                                    Windows platform\n\t\t\t\t\t\tversion 1.0.0 or later.

                                                                                    \n\t\t\t\t
                                                                                  • \n
                                                                                  \n\t\t
                                                                                  " } }, "com.amazonaws.ecs#ExecuteCommand": { @@ -3749,7 +3770,7 @@ "s3EncryptionEnabled": { "target": "com.amazonaws.ecs#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  Whether or not to enable encryption on the CloudWatch logs. If not specified,\n\t\t\tencryption will be disabled.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Whether or not to use encryption on the S3 logs. If not specified,\n\t\t\tencryption is not used.

                                                                                  " } }, "s3KeyPrefix": { @@ -5490,6 +5511,45 @@ "smithy.api#error": "client" } }, + "com.amazonaws.ecs#OSFamily": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "WINDOWS_SERVER_2019_FULL", + "name": "WINDOWS_SERVER_2019_FULL" + }, + { + "value": "WINDOWS_SERVER_2019_CORE", + "name": "WINDOWS_SERVER_2019_CORE" + }, + { + "value": "WINDOWS_SERVER_2016_FULL", + "name": "WINDOWS_SERVER_2016_FULL" + }, + { + "value": "WINDOWS_SERVER_2004_CORE", + "name": "WINDOWS_SERVER_2004_CORE" + }, + { + "value": "WINDOWS_SERVER_2022_CORE", + "name": "WINDOWS_SERVER_2022_CORE" + }, + { + "value": "WINDOWS_SERVER_2022_FULL", + "name": "WINDOWS_SERVER_2022_FULL" + }, + { + "value": "WINDOWS_SERVER_20H2_CORE", + "name": "WINDOWS_SERVER_20H2_CORE" + }, + { + "value": "LINUX", + "name": "LINUX" + } + ] + } + }, "com.amazonaws.ecs#PidMode": { "type": "string", "traits": { @@ -6195,7 +6255,13 @@ "ephemeralStorage": { "target": "com.amazonaws.ecs#EphemeralStorage", "traits": { - "smithy.api#documentation": "

                                                                                  The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

                                                                                  \n\t\t \n\t\t\t

                                                                                  This parameter is only supported for tasks hosted on Fargate using platform\n\t\t\t\tversion 1.4.0 or later.

                                                                                  \n\t\t
                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Fargate task\n\t\t\t\tstorage in the Amazon ECS User Guide for Fargate.

                                                                                  \n\t\t \n\t\t\t

                                                                                  This parameter is only supported for tasks hosted on Fargate using the following platform versions:

                                                                                  \n\t\t\t
                                                                                    \n
                                                                                  • \n\t\t\t\t\t

                                                                                    Linux platform\n\t\t\t\t\t\tversion 1.4.0 or later.

                                                                                    \n\t\t\t\t
                                                                                  • \n
                                                                                  • \n\t\t\t\t\t

                                                                                    Windows platform\n\t\t\t\t\t\tversion 1.0.0 or later.

                                                                                    \n\t\t\t\t
                                                                                  • \n
                                                                                  \n\t\t
                                                                                  " + } + }, + "runtimePlatform": { + "target": "com.amazonaws.ecs#RuntimePlatform", + "traits": { + "smithy.api#documentation": "

                                                                                  The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.

                                                                                  \n\t\t

                                                                                  When you specify a task definition in a service, this value must match the runtimePlatform value of the service.

                                                                                  " } } } @@ -6521,6 +6587,26 @@ } } }, + "com.amazonaws.ecs#RuntimePlatform": { + "type": "structure", + "members": { + "cpuArchitecture": { + "target": "com.amazonaws.ecs#CPUArchitecture", + "traits": { + "smithy.api#documentation": "

                                                                                  The CPU architecture.

                                                                                  " + } + }, + "operatingSystemFamily": { + "target": "com.amazonaws.ecs#OSFamily", + "traits": { + "smithy.api#documentation": "

                                                                                  The operating system.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Information about the platform for the Amazon ECS service or task.

                                                                                  " + } + }, "com.amazonaws.ecs#Scale": { "type": "structure", "members": { @@ -6703,6 +6789,12 @@ "smithy.api#documentation": "

                                                                                  The platform version on which to run your service. A platform version is only\n\t\t\tspecified for tasks hosted on Fargate. If one is not specified, the\n\t\t\t\tLATEST platform version is used by default. For more information, see\n\t\t\t\tFargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

                                                                                  " } }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The operating system that your tasks in the service are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                                  \n\t\t

                                                                                  All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX.

                                                                                  " + } + }, "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { @@ -7805,6 +7897,12 @@ "smithy.api#documentation": "

                                                                                  The platform version on which your task is running. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one is not\n\t\t\tspecified, the LATEST platform version is used by default. For more\n\t\t\tinformation, see Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

                                                                                  " } }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The operating system that your tasks are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                                  \n\t\t

                                                                                  All tasks that run as part of this service must use the same platformFamily value as the service, for example, LINUX..

                                                                                  " + } + }, "pullStartedAt": { "target": "com.amazonaws.ecs#Timestamp", "traits": { @@ -7963,6 +8061,12 @@ "smithy.api#documentation": "

                                                                                  The task launch types the task definition validated against during task definition\n\t\t\tregistration. For more information, see Amazon ECS launch types\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

                                                                                  " } }, + "runtimePlatform": { + "target": "com.amazonaws.ecs#RuntimePlatform", + "traits": { + "smithy.api#documentation": "

                                                                                  The operating system that your task definitions are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                                  \n\t\t

                                                                                  When you specify a task in a service, this value must match the runtimePlatform value of the service.

                                                                                  " + } + }, "requiresCompatibilities": { "target": "com.amazonaws.ecs#CompatibilityList", "traits": { @@ -8181,7 +8285,7 @@ "ephemeralStorage": { "target": "com.amazonaws.ecs#EphemeralStorage", "traits": { - "smithy.api#documentation": "

                                                                                  The ephemeral storage setting override for the task.

                                                                                  \n\t\t \n\t\t\t

                                                                                  This parameter is only supported for tasks hosted on Fargate using platform\n\t\t\t\tversion 1.4.0 or later.

                                                                                  \n\t\t
                                                                                  " + "smithy.api#documentation": "

                                                                                  The ephemeral storage setting override for the task.

                                                                                  \n\t\t \n\t\t\t

                                                                                  This parameter is only supported for tasks hosted on Fargate using the following platform versions:

                                                                                  \n\t\t\t
                                                                                    \n
                                                                                  • \n\t\t\t\t\t

                                                                                    Linux platform\n\t\t\t\t\t\tversion 1.4.0 or later.

                                                                                    \n\t\t\t\t
                                                                                  • \n
                                                                                  • \n\t\t\t\t\t

                                                                                    Windows platform\n\t\t\t\t\t\tversion 1.0.0 or later.

                                                                                    \n\t\t\t\t
                                                                                  • \n
                                                                                  \n\t\t
                                                                                  " } } }, @@ -8288,6 +8392,12 @@ "smithy.api#documentation": "

                                                                                  The Fargate platform version on which the tasks in the task set are running. A\n\t\t\tplatform version is only specified for tasks run on Fargate. For more information, see\n\t\t\t\tFargate platform\n\t\t\t\tversions in the Amazon Elastic Container Service Developer Guide.

                                                                                  " } }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The operating system that your tasks in the set are running on. A platform family is specified only for tasks using the Fargate launch type.

                                                                                  \n\t\t

                                                                                  All tasks in the set must have the same value.

                                                                                  " + } + }, "networkConfiguration": { "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { diff --git a/codegen/sdk-codegen/aws-models/eks.json b/codegen/sdk-codegen/aws-models/eks.json index 7374d46b950b..4a610d7476fc 100644 --- a/codegen/sdk-codegen/aws-models/eks.json +++ b/codegen/sdk-codegen/aws-models/eks.json @@ -48,12 +48,35 @@ { "value": "CUSTOM", "name": "CUSTOM" + }, + { + "value": "BOTTLEROCKET_ARM_64", + "name": "BOTTLEROCKET_ARM_64" + }, + { + "value": "BOTTLEROCKET_x86_64", + "name": "BOTTLEROCKET_x86_64" } ] } }, "com.amazonaws.eks#AWSWesleyFrontend": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "EKS", + "arnNamespace": "eks", + "cloudFormationName": "EKS", + "cloudTrailEventSource": "eks.amazonaws.com", + "endpointPrefix": "eks" + }, + "aws.auth#sigv4": { + "name": "eks" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

                                                                                  Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on\n Amazon Web Services without needing to stand up or maintain your own Kubernetes control plane.\n Kubernetes is an open-source system for automating the deployment, scaling, and\n management of containerized applications.

                                                                                  \n

                                                                                  Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use\n all the existing plugins and tooling from the Kubernetes community. Applications running\n on Amazon EKS are fully compatible with applications running on any standard Kubernetes\n environment, whether running in on-premises data centers or public clouds. This means\n that you can easily migrate any standard Kubernetes application to Amazon EKS without any\n code modification required.

                                                                                  ", + "smithy.api#title": "Amazon Elastic Kubernetes Service" + }, "version": "2017-11-01", "operations": [ { @@ -158,22 +181,7 @@ { "target": "com.amazonaws.eks#UpdateNodegroupVersion" } - ], - "traits": { - "aws.api#service": { - "sdkId": "EKS", - "arnNamespace": "eks", - "cloudFormationName": "EKS", - "cloudTrailEventSource": "eks.amazonaws.com", - "endpointPrefix": "eks" - }, - "aws.auth#sigv4": { - "name": "eks" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

                                                                                  Amazon Elastic Kubernetes Service (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on\n Amazon Web Services without needing to stand up or maintain your own Kubernetes control plane.\n Kubernetes is an open-source system for automating the deployment, scaling, and\n management of containerized applications.

                                                                                  \n

                                                                                  Amazon EKS runs up-to-date versions of the open-source Kubernetes software, so you can use\n all the existing plugins and tooling from the Kubernetes community. Applications running\n on Amazon EKS are fully compatible with applications running on any standard Kubernetes\n environment, whether running in on-premises data centers or public clouds. This means\n that you can easily migrate any standard Kubernetes application to Amazon EKS without any\n code modification required.

                                                                                  ", - "smithy.api#title": "Amazon Elastic Kubernetes Service" - } + ] }, "com.amazonaws.eks#Addon": { "type": "structure", diff --git a/codegen/sdk-codegen/aws-models/emr-containers.json b/codegen/sdk-codegen/aws-models/emr-containers.json index 4761f2a4a41f..c4e32b395db8 100644 --- a/codegen/sdk-codegen/aws-models/emr-containers.json +++ b/codegen/sdk-codegen/aws-models/emr-containers.json @@ -105,6 +105,16 @@ "smithy.api#title": "Amazon EMR Containers" } }, + "com.amazonaws.emrcontainers#Base64Encoded": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 5000 + }, + "smithy.api#pattern": "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$" + } + }, "com.amazonaws.emrcontainers#CancelJobRun": { "type": "operation", "input": { @@ -168,6 +178,26 @@ } } }, + "com.amazonaws.emrcontainers#Certificate": { + "type": "structure", + "members": { + "certificateArn": { + "target": "com.amazonaws.emrcontainers#ACMCertArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the certificate generated for managed endpoint.

                                                                                  " + } + }, + "certificateData": { + "target": "com.amazonaws.emrcontainers#Base64Encoded", + "traits": { + "smithy.api#documentation": "

                                                                                  The base64 encoded PEM certificate data generated for managed endpoint.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The entity representing certificate data generated for managed endpoint.

                                                                                  " + } + }, "com.amazonaws.emrcontainers#ClientToken": { "type": "string", "traits": { @@ -391,8 +421,10 @@ "certificateArn": { "target": "com.amazonaws.emrcontainers#ACMCertArn", "traits": { - "smithy.api#documentation": "

                                                                                  The certificate ARN of the managed endpoint.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#deprecated": { + "message": "Customer provided certificate-arn is deprecated and would be removed in future." + }, + "smithy.api#documentation": "

                                                                                  The certificate ARN provided by users for the managed endpoint. This fiedd is under deprecation and will be removed in future releases.

                                                                                  " } }, "configurationOverrides": { @@ -885,7 +917,16 @@ "certificateArn": { "target": "com.amazonaws.emrcontainers#ACMCertArn", "traits": { - "smithy.api#documentation": "

                                                                                  The certificate ARN of the endpoint.

                                                                                  " + "smithy.api#deprecated": { + "message": "Customer provided certificate-arn is deprecated and would be removed in future." + }, + "smithy.api#documentation": "

                                                                                  The certificate ARN of the endpoint. This field is under deprecation and will be removed in future.

                                                                                  " + } + }, + "certificateAuthority": { + "target": "com.amazonaws.emrcontainers#Certificate", + "traits": { + "smithy.api#documentation": "

                                                                                  The certificate generated by emr control plane on customer behalf to secure the managed endpoint.

                                                                                  " } }, "configurationOverrides": { diff --git a/codegen/sdk-codegen/aws-models/gamelift.json b/codegen/sdk-codegen/aws-models/gamelift.json index 403ab4df4eb5..98ada62edb38 100644 --- a/codegen/sdk-codegen/aws-models/gamelift.json +++ b/codegen/sdk-codegen/aws-models/gamelift.json @@ -156,19 +156,19 @@ "com.amazonaws.gamelift#AliasArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:.*:alias\\/alias-\\S+" + "smithy.api#pattern": "^arn:.*:alias\\/alias-\\S+$" } }, "com.amazonaws.gamelift#AliasId": { "type": "string", "traits": { - "smithy.api#pattern": "^alias-\\S+" + "smithy.api#pattern": "^alias-\\S+$" } }, "com.amazonaws.gamelift#AliasIdOrArn": { "type": "string", "traits": { - "smithy.api#pattern": "^alias-\\S+|^arn:.*:alias\\/alias-\\S+" + "smithy.api#pattern": "^alias-\\S+|^arn:.*:alias\\/alias-\\S+$" } }, "com.amazonaws.gamelift#AliasList": { @@ -193,7 +193,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9:/-]+" + "smithy.api#pattern": "^[a-zA-Z0-9:/-]+$" } }, "com.amazonaws.gamelift#AttributeValue": { @@ -235,7 +235,7 @@ "min": 0, "max": 256 }, - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*$" } }, "com.amazonaws.gamelift#AwsCredentials": { @@ -364,19 +364,19 @@ "com.amazonaws.gamelift#BuildArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:.*:build\\/build-\\S+" + "smithy.api#pattern": "^arn:.*:build\\/build-\\S+$" } }, "com.amazonaws.gamelift#BuildId": { "type": "string", "traits": { - "smithy.api#pattern": "^build-\\S+" + "smithy.api#pattern": "^build-\\S+$" } }, "com.amazonaws.gamelift#BuildIdOrArn": { "type": "string", "traits": { - "smithy.api#pattern": "^build-\\S+|^arn:.*:build\\/build-\\S+" + "smithy.api#pattern": "^build-\\S+|^arn:.*:build\\/build-\\S+$" } }, "com.amazonaws.gamelift#BuildList": { @@ -738,6 +738,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -773,13 +776,13 @@ } }, "ServerLaunchPath": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchPathStringModel", "traits": { "smithy.api#documentation": "

                                                                                  \n This parameter is no longer used. Specify a server\n launch path using the RuntimeConfiguration parameter. Requests that use\n this parameter instead continue to be valid.

                                                                                  " } }, "ServerLaunchParameters": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchParametersStringModel", "traits": { "smithy.api#documentation": "

                                                                                  \n This parameter is no longer used. Specify server\n launch parameters using the RuntimeConfiguration parameter. Requests that\n use this parameter instead continue to be valid.

                                                                                  " } @@ -897,6 +900,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -1126,6 +1132,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -2046,6 +2055,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -2658,6 +2670,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -2962,6 +2977,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3058,6 +3076,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3120,6 +3141,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3530,6 +3554,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3766,6 +3793,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -3867,6 +3897,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -4317,6 +4350,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -5218,7 +5254,7 @@ "com.amazonaws.gamelift#FleetArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:.*:fleet\\/fleet-\\S+" + "smithy.api#pattern": "^arn:.*:fleet\\/fleet-\\S+$" } }, "com.amazonaws.gamelift#FleetAttributes": { @@ -5303,13 +5339,13 @@ } }, "ServerLaunchPath": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchPathStringModel", "traits": { "smithy.api#documentation": "

                                                                                  \n This parameter is no longer used. Server launch paths\n are now defined using the fleet's RuntimeConfiguration parameter.\n Requests that use this parameter instead continue to be valid.

                                                                                  " } }, "ServerLaunchParameters": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchParametersStringModel", "traits": { "smithy.api#documentation": "

                                                                                  \n This parameter is no longer used. Server launch\n parameters are now defined using the fleet's RuntimeConfiguration\n parameter. Requests that use this parameter instead continue to be valid.

                                                                                  " } @@ -5432,7 +5468,7 @@ "com.amazonaws.gamelift#FleetId": { "type": "string", "traits": { - "smithy.api#pattern": "^fleet-\\S+" + "smithy.api#pattern": "^fleet-\\S+$" } }, "com.amazonaws.gamelift#FleetIdList": { @@ -5449,7 +5485,7 @@ "com.amazonaws.gamelift#FleetIdOrArn": { "type": "string", "traits": { - "smithy.api#pattern": "^fleet-\\S+|^arn:.*:fleet\\/fleet-\\S+" + "smithy.api#pattern": "^fleet-\\S+|^arn:.*:fleet\\/fleet-\\S+$" } }, "com.amazonaws.gamelift#FleetIdOrArnList": { @@ -6051,7 +6087,7 @@ "min": 1, "max": 512 }, - "smithy.api#pattern": ".*\\S.*" + "smithy.api#pattern": "\\S" } }, "com.amazonaws.gamelift#GameServerData": { @@ -6061,7 +6097,7 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": ".*\\S.*" + "smithy.api#pattern": "\\S" } }, "com.amazonaws.gamelift#GameServerGroup": { @@ -6174,7 +6210,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#GameServerGroupAutoScalingPolicy": { @@ -6305,6 +6341,38 @@ "value": "c5a.24xlarge", "name": "c5a_24xlarge" }, + { + "value": "c6g.medium", + "name": "c6g_medium" + }, + { + "value": "c6g.large", + "name": "c6g_large" + }, + { + "value": "c6g.xlarge", + "name": "c6g_xlarge" + }, + { + "value": "c6g.2xlarge", + "name": "c6g_2xlarge" + }, + { + "value": "c6g.4xlarge", + "name": "c6g_4xlarge" + }, + { + "value": "c6g.8xlarge", + "name": "c6g_8xlarge" + }, + { + "value": "c6g.12xlarge", + "name": "c6g_12xlarge" + }, + { + "value": "c6g.16xlarge", + "name": "c6g_16xlarge" + }, { "value": "r4.large", "name": "r4_large" @@ -6393,6 +6461,38 @@ "value": "r5a.24xlarge", "name": "r5a_24xlarge" }, + { + "value": "r6g.medium", + "name": "r6g_medium" + }, + { + "value": "r6g.large", + "name": "r6g_large" + }, + { + "value": "r6g.xlarge", + "name": "r6g_xlarge" + }, + { + "value": "r6g.2xlarge", + "name": "r6g_2xlarge" + }, + { + "value": "r6g.4xlarge", + "name": "r6g_4xlarge" + }, + { + "value": "r6g.8xlarge", + "name": "r6g_8xlarge" + }, + { + "value": "r6g.12xlarge", + "name": "r6g_12xlarge" + }, + { + "value": "r6g.16xlarge", + "name": "r6g_16xlarge" + }, { "value": "m4.large", "name": "m4_large" @@ -6476,6 +6576,38 @@ { "value": "m5a.24xlarge", "name": "m5a_24xlarge" + }, + { + "value": "m6g.medium", + "name": "m6g_medium" + }, + { + "value": "m6g.large", + "name": "m6g_large" + }, + { + "value": "m6g.xlarge", + "name": "m6g_xlarge" + }, + { + "value": "m6g.2xlarge", + "name": "m6g_2xlarge" + }, + { + "value": "m6g.4xlarge", + "name": "m6g_4xlarge" + }, + { + "value": "m6g.8xlarge", + "name": "m6g_8xlarge" + }, + { + "value": "m6g.12xlarge", + "name": "m6g_12xlarge" + }, + { + "value": "m6g.16xlarge", + "name": "m6g_16xlarge" } ] } @@ -6487,7 +6619,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]+" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]+$" } }, "com.amazonaws.gamelift#GameServerGroupNameOrArn": { @@ -6497,7 +6629,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]+|^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]+" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]+|^arn:.*:gameservergroup\\/[a-zA-Z0-9-\\.]+$" } }, "com.amazonaws.gamelift#GameServerGroupStatus": { @@ -6559,7 +6691,7 @@ "min": 3, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]+" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]+$" } }, "com.amazonaws.gamelift#GameServerInstance": { @@ -7112,7 +7244,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+" + "smithy.api#pattern": "^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+$" } }, "com.amazonaws.gamelift#GameSessionQueueDestination": { @@ -7148,7 +7280,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9-]+" + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, "com.amazonaws.gamelift#GameSessionQueueNameOrArn": { @@ -7158,7 +7290,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9-]+|^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+" + "smithy.api#pattern": "^[a-zA-Z0-9-]+|^arn:.*:gamesessionqueue\\/[a-zA-Z0-9-]+$" } }, "com.amazonaws.gamelift#GameSessionQueueNameOrArnList": { @@ -7329,7 +7461,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "^arn:.*:role\\/[\\w+=,.@-]+" + "smithy.api#pattern": "^arn:.*:role\\/[\\w+=,.@-]+$" } }, "com.amazonaws.gamelift#IdStringModel": { @@ -7339,7 +7471,7 @@ "min": 1, "max": 48 }, - "smithy.api#pattern": "[a-zA-Z0-9-]+" + "smithy.api#pattern": "^[a-zA-Z0-9-]+$" } }, "com.amazonaws.gamelift#IdempotentParameterMismatchException": { @@ -7517,7 +7649,7 @@ "com.amazonaws.gamelift#InstanceId": { "type": "string", "traits": { - "smithy.api#pattern": "[a-zA-Z0-9\\.-]+" + "smithy.api#pattern": "^[a-zA-Z0-9\\.-]+$" } }, "com.amazonaws.gamelift#InstanceList": { @@ -7597,7 +7729,14 @@ } }, "com.amazonaws.gamelift#IpAddress": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^(?:[0-9]{1,3}\\.){3}[0-9]{1,3}$" + } }, "com.amazonaws.gamelift#IpPermission": { "type": "structure", @@ -7680,6 +7819,26 @@ "target": "com.amazonaws.gamelift#PositiveInteger" } }, + "com.amazonaws.gamelift#LaunchParametersStringModel": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^[A-Za-z0-9_:.+\\/\\\\\\- =@;{},?'\\[\\]\"]+$" + } + }, + "com.amazonaws.gamelift#LaunchPathStringModel": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^[A-Za-z0-9_:.+\\/\\\\\\- ]+$" + } + }, "com.amazonaws.gamelift#LaunchTemplateId": { "type": "string", "traits": { @@ -7687,7 +7846,7 @@ "min": 1, "max": 255 }, - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+$" } }, "com.amazonaws.gamelift#LaunchTemplateName": { @@ -7697,7 +7856,7 @@ "min": 3, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9\\(\\)\\.\\-/_]+" + "smithy.api#pattern": "^[a-zA-Z0-9\\(\\)\\.\\-/_]+$" } }, "com.amazonaws.gamelift#LaunchTemplateSpecification": { @@ -7733,7 +7892,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+" + "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]+$" } }, "com.amazonaws.gamelift#LimitExceededException": { @@ -8336,7 +8495,7 @@ "min": 1, "max": 64 }, - "smithy.api#pattern": "^[a-z]+(-([a-z]+|\\d))*" + "smithy.api#pattern": "^[a-z]+(-([a-z]+|\\d))*$" } }, "com.amazonaws.gamelift#LocationUpdateStatus": { @@ -8509,7 +8668,7 @@ "type": "string", "traits": { "smithy.api#documentation": "Data type used for Matchmaking Configuration ARN.", - "smithy.api#pattern": "^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingConfigurationList": { @@ -8525,7 +8684,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingconfiguration\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingConfigurationNameList": { @@ -8586,7 +8745,7 @@ "min": 0, "max": 128 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingRequestTimeoutInteger": { @@ -8636,7 +8795,7 @@ "type": "string", "traits": { "smithy.api#documentation": "Data type used for Matchmaking RuleSet ARN.", - "smithy.api#pattern": "^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingRuleSetList": { @@ -8652,7 +8811,7 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*" + "smithy.api#pattern": "^[a-zA-Z0-9-\\.]*|^arn:.*:matchmakingruleset\\/[a-zA-Z0-9-\\.]*$" } }, "com.amazonaws.gamelift#MatchmakingRuleSetNameList": { @@ -8836,13 +8995,13 @@ "min": 1, "max": 1024 }, - "smithy.api#pattern": ".*\\S.*" + "smithy.api#pattern": "\\S" } }, "com.amazonaws.gamelift#NonBlankString": { "type": "string", "traits": { - "smithy.api#pattern": "[^\\s]+" + "smithy.api#pattern": "^[^\\s]+$" } }, "com.amazonaws.gamelift#NonEmptyString": { @@ -9173,7 +9332,7 @@ "com.amazonaws.gamelift#PlayerSessionId": { "type": "string", "traits": { - "smithy.api#pattern": "^psess-\\S+" + "smithy.api#pattern": "^psess-\\S+$" } }, "com.amazonaws.gamelift#PlayerSessionList": { @@ -9442,7 +9601,7 @@ "min": 0, "max": 256 }, - "smithy.api#pattern": "[\\s\\S]*" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.gamelift#QueueSnsArnStringModel": { @@ -9452,7 +9611,7 @@ "min": 0, "max": 300 }, - "smithy.api#pattern": "[a-zA-Z0-9:_-]*(\\.fifo)?" + "smithy.api#pattern": "^[a-zA-Z0-9:_-]*(\\.fifo)?$" } }, "com.amazonaws.gamelift#RegisterGameServer": { @@ -10054,19 +10213,19 @@ "com.amazonaws.gamelift#ScriptArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:.*:script\\/script-\\S+" + "smithy.api#pattern": "^arn:.*:script\\/script-\\S+$" } }, "com.amazonaws.gamelift#ScriptId": { "type": "string", "traits": { - "smithy.api#pattern": "^script-\\S+" + "smithy.api#pattern": "^script-\\S+$" } }, "com.amazonaws.gamelift#ScriptIdOrArn": { "type": "string", "traits": { - "smithy.api#pattern": "^script-\\S+|^arn:.*:script\\/script-\\S+" + "smithy.api#pattern": "^script-\\S+|^arn:.*:script\\/script-\\S+$" } }, "com.amazonaws.gamelift#ScriptList": { @@ -10098,6 +10257,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -10183,14 +10345,14 @@ "type": "structure", "members": { "LaunchPath": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchPathStringModel", "traits": { "smithy.api#documentation": "

                                                                                  The location of a game build executable or the Realtime script file that contains the\n Init() function. Game builds and Realtime scripts are installed on\n instances at the root:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Windows (custom game builds only): C:\\game. Example:\n \"C:\\game\\MyGame\\server.exe\"

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Linux: /local/game. Examples: \"/local/game/MyGame/server.exe\" or\n \"/local/game/MyRealtimeScript.js\"

                                                                                    \n
                                                                                  • \n
                                                                                  ", "smithy.api#required": {} } }, "Parameters": { - "target": "com.amazonaws.gamelift#NonZeroAndMaxString", + "target": "com.amazonaws.gamelift#LaunchParametersStringModel", "traits": { "smithy.api#documentation": "

                                                                                  An optional list of parameters to pass to the server executable or Realtime script on\n launch.

                                                                                  " } @@ -10226,7 +10388,7 @@ "min": 0, "max": 300 }, - "smithy.api#pattern": "[a-zA-Z0-9:_/-]*(.fifo)?" + "smithy.api#pattern": "^[a-zA-Z0-9:_/-]*(.fifo)?$" } }, "com.amazonaws.gamelift#SortOrder": { @@ -10264,6 +10426,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -10579,6 +10744,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { @@ -11313,6 +11481,9 @@ }, { "target": "com.amazonaws.gamelift#UnauthorizedException" + }, + { + "target": "com.amazonaws.gamelift#UnsupportedRegionException" } ], "traits": { diff --git a/codegen/sdk-codegen/aws-models/rds.json b/codegen/sdk-codegen/aws-models/rds.json index 9365c4fdb73b..604680903b4e 100644 --- a/codegen/sdk-codegen/aws-models/rds.json +++ b/codegen/sdk-codegen/aws-models/rds.json @@ -165,7 +165,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the feature for the DB cluster that the IAM role is to be associated with. \n For the list of supported feature names, see DBEngineVersion.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the feature for the DB cluster that the IAM role is to be associated with. \n For information about supported feature names, see DBEngineVersion.

                                                                                  " } } } @@ -190,7 +190,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Associates an Amazon Web Services Identity and Access Management (IAM) role with a DB instance.

                                                                                  \n \n

                                                                                  To add a role to a DB instance, the status of the DB instance must be available.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  Associates an Amazon Web Services Identity and Access Management (IAM) role with a DB instance.

                                                                                  \n \n

                                                                                  To add a role to a DB instance, the status of the DB instance must be available.

                                                                                  \n
                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  " } }, "com.amazonaws.rds#AddRoleToDBInstanceMessage": { @@ -213,7 +213,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the feature for the DB instance that the IAM role is to be associated with. \n For the list of supported feature names, see DBEngineVersion.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the feature for the DB instance that the IAM role is to be associated with. \n For information about supported feature names, see DBEngineVersion.\n

                                                                                  ", "smithy.api#required": {} } } @@ -363,6 +363,9 @@ { "target": "com.amazonaws.rds#CreateCustomAvailabilityZone" }, + { + "target": "com.amazonaws.rds#CreateCustomDBEngineVersion" + }, { "target": "com.amazonaws.rds#CreateDBCluster" }, @@ -411,6 +414,9 @@ { "target": "com.amazonaws.rds#DeleteCustomAvailabilityZone" }, + { + "target": "com.amazonaws.rds#DeleteCustomDBEngineVersion" + }, { "target": "com.amazonaws.rds#DeleteDBCluster" }, @@ -603,6 +609,9 @@ { "target": "com.amazonaws.rds#ModifyCurrentDBClusterCapacity" }, + { + "target": "com.amazonaws.rds#ModifyCustomDBEngineVersion" + }, { "target": "com.amazonaws.rds#ModifyDBCluster" }, @@ -971,6 +980,21 @@ } } }, + "com.amazonaws.rds#AutomationMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "full", + "name": "FULL" + }, + { + "value": "all-paused", + "name": "ALL_PAUSED" + } + ] + } + }, "com.amazonaws.rds#AvailabilityZone": { "type": "structure", "members": { @@ -1130,6 +1154,16 @@ "smithy.api#box": {} } }, + "com.amazonaws.rds#BucketName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 63 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.rds#CancelExportTask": { "type": "operation", "input": { @@ -1504,7 +1538,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Copies a snapshot of a DB cluster.

                                                                                  \n

                                                                                  To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier\n must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

                                                                                  \n\n

                                                                                  You can copy an encrypted DB cluster snapshot from another Amazon Web Services Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot action \n is the destination Amazon Web Services Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another Amazon Web Services Region, \n you must provide the following values:

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key to use to \n encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n PreSignedUrl - A URL that contains a Signature Version 4 signed request for the \n CopyDBClusterSnapshot action to be called in the source Amazon Web Services Region where the DB cluster snapshot is copied from. \n The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the \n source Amazon Web Services Region that contains the encrypted DB cluster snapshot to be copied.

                                                                                    \n

                                                                                    The pre-signed URL request must contain the following parameter values:

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      \n KmsKeyId - The Amazon Web Services KMS key identifier for the customer master key (CMK) to use to encrypt the copy of the DB \n cluster snapshot in the destination Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot \n action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n DestinationRegion - The name of the Amazon Web Services Region that the DB cluster snapshot is to be created in.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster \n snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, \n if you are copying an encrypted DB cluster snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier\n looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

                                                                                      \n
                                                                                    • \n
                                                                                    \n

                                                                                    To learn how to generate a Signature Version 4 signed request, see \n\n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

                                                                                    \n \n

                                                                                    If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

                                                                                    \n
                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination Amazon Web Services Region.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. \n This identifier must be in the ARN format for the source Amazon Web Services Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified\n by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

                                                                                  \n

                                                                                  For more information on copying encrypted DB cluster snapshots from one Amazon Web Services Region to another, see \n \n Copying a Snapshot in the Amazon Aurora User Guide.\n

                                                                                  \n

                                                                                  For more information on Amazon Aurora, see \n \n What Is Amazon Aurora? in the Amazon Aurora User Guide.\n

                                                                                  \n \n

                                                                                  This action only applies to Aurora DB clusters.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  Copies a snapshot of a DB cluster.

                                                                                  \n

                                                                                  To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier\n must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.

                                                                                  \n\n

                                                                                  You can copy an encrypted DB cluster snapshot from another Amazon Web Services Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot action \n is the destination Amazon Web Services Region for the encrypted DB cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot from another Amazon Web Services Region, \n you must provide the following values:

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services Key Management System (Amazon Web Services KMS) key identifier for the key to use to \n encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n PreSignedUrl - A URL that contains a Signature Version 4 signed request for the \n CopyDBClusterSnapshot action to be called in the source Amazon Web Services Region where the DB cluster snapshot is copied from. \n The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be executed in the \n source Amazon Web Services Region that contains the encrypted DB cluster snapshot to be copied.

                                                                                    \n

                                                                                    The pre-signed URL request must contain the following parameter values:

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      \n KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of the DB \n cluster snapshot in the destination Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot \n action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n DestinationRegion - The name of the Amazon Web Services Region that the DB cluster snapshot is to be created in.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster \n snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, \n if you are copying an encrypted DB cluster snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier\n looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

                                                                                      \n
                                                                                    • \n
                                                                                    \n

                                                                                    To learn how to generate a Signature Version 4 signed request, see \n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

                                                                                    \n \n

                                                                                    If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

                                                                                    \n
                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n TargetDBClusterSnapshotIdentifier - The identifier for the new copy of the DB cluster snapshot in the destination Amazon Web Services Region.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster snapshot to be copied. \n This identifier must be in the ARN format for the source Amazon Web Services Region and is the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed URL.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  To cancel the copy operation once it is in progress, delete the target DB cluster snapshot identified\n by TargetDBClusterSnapshotIdentifier while that DB cluster snapshot is in \"copying\" status.

                                                                                  \n

                                                                                  For more information on copying encrypted DB cluster snapshots from one Amazon Web Services Region to another, see \n \n Copying a Snapshot in the Amazon Aurora User Guide.\n

                                                                                  \n

                                                                                  For more information on Amazon Aurora, see \n \n What Is Amazon Aurora? in the Amazon Aurora User Guide.\n

                                                                                  \n \n

                                                                                  This action only applies to Aurora DB clusters.

                                                                                  \n
                                                                                  " } }, "com.amazonaws.rds#CopyDBClusterSnapshotMessage": { @@ -1527,13 +1561,13 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  \n \n

                                                                                  If you copy an encrypted DB cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new Amazon Web Services KMS CMK. \n If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same Amazon Web Services KMS key as the source DB cluster snapshot. \n

                                                                                  \n \n

                                                                                  If you copy an encrypted DB cluster snapshot that is shared from another Amazon Web Services account, then you must specify a value for KmsKeyId.

                                                                                  \n \n

                                                                                  To copy an encrypted DB cluster snapshot to another Amazon Web Services Region, you must set KmsKeyId to the Amazon Web Services KMS key identifier you want to use to encrypt the copy of the DB cluster snapshot \n in the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to the Amazon Web Services Region that they are created in, and you can't use CMKs from one Amazon Web Services Region \n in another Amazon Web Services Region.

                                                                                  \n \n

                                                                                  If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, \n an error is returned.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS key.

                                                                                  \n \n

                                                                                  If you copy an encrypted DB cluster snapshot from your Amazon Web Services account, you can specify a value for KmsKeyId to encrypt the copy with a new KMS key. \n If you don't specify a value for KmsKeyId, then the copy of the DB cluster snapshot is encrypted with the same KMS key as the source DB cluster snapshot. \n

                                                                                  \n \n

                                                                                  If you copy an encrypted DB cluster snapshot that is shared from another Amazon Web Services account, then you must specify a value for KmsKeyId.

                                                                                  \n \n

                                                                                  To copy an encrypted DB cluster snapshot to another Amazon Web Services Region, you must set KmsKeyId to the Amazon Web Services KMS key identifier \n you want to use to encrypt the copy of the DB cluster snapshot in the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services \n Region that they are created in, and you can't use KMS keys from one Amazon Web Services Region \n in another Amazon Web Services Region.

                                                                                  \n \n

                                                                                  If you copy an unencrypted DB cluster snapshot and specify a value for the KmsKeyId parameter, \n an error is returned.

                                                                                  " } }, "PreSignedUrl": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the Amazon Web Services Region that contains the \n source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another Amazon Web Services Region. \n Don't specify PreSignedUrl when you are copying an encrypted DB cluster snapshot in the same Amazon Web Services Region.

                                                                                  \n

                                                                                  The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be\n executed in the source Amazon Web Services Region that contains the encrypted DB cluster snapshot to be copied. \n The pre-signed URL request must contain the following parameter values:

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services KMS key identifier for the customer master key (CMK) to use to encrypt the copy of the DB \n cluster snapshot in the destination Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot \n action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n DestinationRegion - The name of the Amazon Web Services Region that the DB cluster snapshot is to be created in.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster \n snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, \n if you are copying an encrypted DB cluster snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier\n looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  To learn how to generate a Signature Version 4 signed request, see \n\n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

                                                                                  \n \n \n

                                                                                  If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot API action in the Amazon Web Services Region that contains the \n source DB cluster snapshot to copy. The PreSignedUrl parameter must be used when copying an encrypted DB cluster snapshot from another Amazon Web Services Region. \n Don't specify PreSignedUrl when you are copying an encrypted DB cluster snapshot in the same Amazon Web Services Region.

                                                                                  \n

                                                                                  The pre-signed URL must be a valid request for the CopyDBClusterSnapshot API action that can be\n executed in the source Amazon Web Services Region that contains the encrypted DB cluster snapshot to be copied. \n The pre-signed URL request must contain the following parameter values:

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of the DB \n cluster snapshot in the destination Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot \n action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n DestinationRegion - The name of the Amazon Web Services Region that the DB cluster snapshot is to be created in.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier for the encrypted DB cluster \n snapshot to be copied. This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, \n if you are copying an encrypted DB cluster snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier\n looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  To learn how to generate a Signature Version 4 signed request, see \n\n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

                                                                                  \n \n \n

                                                                                  If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

                                                                                  \n
                                                                                  " } }, "CopyTags": { @@ -1650,7 +1684,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Copies the specified DB snapshot. The source DB snapshot must be in the available state.

                                                                                  \n \n

                                                                                  You can copy a snapshot from one Amazon Web Services Region to another. In that case, the Amazon Web Services Region\n where you call the CopyDBSnapshot action is the destination Amazon Web Services Region for the\n DB snapshot copy.

                                                                                  \n \n

                                                                                  For more information about copying snapshots, see \n Copying a DB Snapshot in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Copies the specified DB snapshot. The source DB snapshot must be in the available state.

                                                                                  \n \n

                                                                                  You can copy a snapshot from one Amazon Web Services Region to another. In that case, the Amazon Web Services Region\n where you call the CopyDBSnapshot action is the destination Amazon Web Services Region for the\n DB snapshot copy.

                                                                                  \n \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  \n \n

                                                                                  For more information about copying snapshots, see \n Copying a DB Snapshot in the Amazon RDS User Guide.\n

                                                                                  " } }, "com.amazonaws.rds#CopyDBSnapshotMessage": { @@ -1673,7 +1707,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB snapshot. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). \n

                                                                                  \n \n

                                                                                  If you copy an encrypted DB snapshot from your Amazon Web Services account, \n you can specify a value for this parameter to encrypt the copy with a new Amazon Web Services KMS CMK. \n If you don't specify a value for this parameter, \n then the copy of the DB snapshot is encrypted with the same Amazon Web Services KMS key as the source DB snapshot. \n

                                                                                  \n\n

                                                                                  If you copy an encrypted DB snapshot that is shared from another Amazon Web Services account, \n then you must specify a value for this parameter.\n

                                                                                  \n \n

                                                                                  If you specify this parameter when you copy an unencrypted snapshot, \n the copy is encrypted.\n

                                                                                  \n \n

                                                                                  If you copy an encrypted snapshot to a different Amazon Web Services Region, then you must specify\n a Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to the Amazon Web Services Region\n that they are created in, and you can't use CMKs from one Amazon Web Services Region in another\n Amazon Web Services Region.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB snapshot. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. \n

                                                                                  \n \n

                                                                                  If you copy an encrypted DB snapshot from your Amazon Web Services account, \n you can specify a value for this parameter to encrypt the copy with a new KMS key. \n If you don't specify a value for this parameter, \n then the copy of the DB snapshot is encrypted with the same Amazon Web Services KMS key as the source DB snapshot. \n

                                                                                  \n\n

                                                                                  If you copy an encrypted DB snapshot that is shared from another Amazon Web Services account, \n then you must specify a value for this parameter.\n

                                                                                  \n \n

                                                                                  If you specify this parameter when you copy an unencrypted snapshot, \n the copy is encrypted.\n

                                                                                  \n \n

                                                                                  If you copy an encrypted snapshot to a different Amazon Web Services Region, then you must specify\n an Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to the Amazon Web Services Region\n that they are created in, and you can't use KMS keys from one Amazon Web Services Region in another\n Amazon Web Services Region.\n

                                                                                  " } }, "Tags": { @@ -1688,7 +1722,7 @@ "PreSignedUrl": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The URL that contains a Signature Version 4 signed request for the\n CopyDBSnapshot API action in the source Amazon Web Services Region that contains the\n source DB snapshot to copy.

                                                                                  \n \n

                                                                                  You must specify this parameter when you copy an encrypted DB snapshot from another\n Amazon Web Services Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are \n copying an encrypted DB snapshot in the same Amazon Web Services Region.

                                                                                  \n \n

                                                                                  The presigned URL must be a valid request for the CopyDBSnapshot API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted DB snapshot to be copied. \n The presigned URL request must contain the following parameter values:\n

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n DestinationRegion - The Amazon Web Services Region that the encrypted DB snapshot is copied to. \n This Amazon Web Services Region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.\n

                                                                                    \n\n

                                                                                    For example, if you copy an encrypted DB snapshot from the us-west-2 Amazon Web Services Region\n to the us-east-1 Amazon Web Services Region, then you call the CopyDBSnapshot action in\n the us-east-1 Amazon Web Services Region and provide a presigned URL that contains a call to the\n CopyDBSnapshot action in the us-west-2 Amazon Web Services Region. For this\n example, the DestinationRegion in the presigned URL must be set to\n the us-east-1 Amazon Web Services Region.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services KMS key identifier for the customer master key (CMK) to use to encrypt the copy of the DB snapshot in the destination Amazon Web Services Region. \n This is the same identifier for both the CopyDBSnapshot action that is called in the destination Amazon Web Services Region, \n and the action contained in the presigned URL.\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. \n This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. \n For example, if you are copying an encrypted DB snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBSnapshotIdentifier looks like\n the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.\n

                                                                                    \n
                                                                                  • \n
                                                                                  \n\n\t

                                                                                  To learn how to generate a Signature Version 4 signed request, see \n\t\tAuthenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n\t\tSignature Version 4 Signing Process.\n\t

                                                                                  \n \n \n

                                                                                  If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The URL that contains a Signature Version 4 signed request for the\n CopyDBSnapshot API action in the source Amazon Web Services Region that contains the\n source DB snapshot to copy.

                                                                                  \n \n

                                                                                  You must specify this parameter when you copy an encrypted DB snapshot from another\n Amazon Web Services Region by using the Amazon RDS API. Don't specify PreSignedUrl when you are \n copying an encrypted DB snapshot in the same Amazon Web Services Region.

                                                                                  \n \n

                                                                                  The presigned URL must be a valid request for the CopyDBSnapshot API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted DB snapshot to be copied. \n The presigned URL request must contain the following parameter values:\n

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n DestinationRegion - The Amazon Web Services Region that the encrypted DB snapshot is copied to. \n This Amazon Web Services Region is the same one where the CopyDBSnapshot action is called that contains this presigned URL.\n

                                                                                    \n\n

                                                                                    For example, if you copy an encrypted DB snapshot from the us-west-2 Amazon Web Services Region\n to the us-east-1 Amazon Web Services Region, then you call the CopyDBSnapshot action in\n the us-east-1 Amazon Web Services Region and provide a presigned URL that contains a call to the\n CopyDBSnapshot action in the us-west-2 Amazon Web Services Region. For this\n example, the DestinationRegion in the presigned URL must be set to\n the us-east-1 Amazon Web Services Region.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of the DB snapshot in the destination Amazon Web Services Region. \n This is the same identifier for both the CopyDBSnapshot action that is called in the destination Amazon Web Services Region, \n and the action contained in the presigned URL.\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted snapshot to be copied. \n This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. \n For example, if you are copying an encrypted DB snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBSnapshotIdentifier looks like\n the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.\n

                                                                                    \n
                                                                                  • \n
                                                                                  \n\n\t

                                                                                  To learn how to generate a Signature Version 4 signed request, see \n\t\tAuthenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n\t\tSignature Version 4 Signing Process.\n\t

                                                                                  \n \n \n

                                                                                  If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

                                                                                  \n
                                                                                  " } }, "OptionGroupName": { @@ -1843,6 +1877,84 @@ } } }, + "com.amazonaws.rds#CreateCustomDBEngineVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.rds#CreateCustomDBEngineVersionMessage" + }, + "output": { + "target": "com.amazonaws.rds#DBEngineVersion" + }, + "errors": [ + { + "target": "com.amazonaws.rds#CustomDBEngineVersionAlreadyExistsFault" + }, + { + "target": "com.amazonaws.rds#CustomDBEngineVersionQuotaExceededFault" + }, + { + "target": "com.amazonaws.rds#KMSKeyNotAccessibleFault" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot of a database engine and \n specific AMI. The only supported engine is Oracle Database 19c Enterprise Edition with the January 2021 \n or later RU/RUR. For \n more information, see \n Amazon RDS Custom requirements and limitations in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  Amazon RDS, which is a fully managed service, supplies the Amazon Machine Image (AMI) and database software.\n The Amazon RDS database software is preinstalled, so you need only select a DB engine and version, and create\n your database. With Amazon RDS Custom, you upload your database installation files in Amazon S3. For \n more information, see \n Preparing to create a CEV in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  When you create a custom engine version, you specify the files in a JSON document called a CEV manifest. \n This document describes installation .zip files stored in Amazon S3. RDS Custom creates your CEV from \n the installation files that you provided. This service model is called Bring Your Own Media (BYOM).

                                                                                  \n

                                                                                  Creation takes approximately two hours. If creation fails, RDS Custom issues RDS-EVENT-0196 with \n the message Creation failed for custom engine version, and includes details about the failure. \n For example, the event prints missing files.

                                                                                  \n

                                                                                  After you create the CEV, it is available for use. You can create multiple CEVs, and create multiple \n RDS Custom instances from any CEV. You can also change the status of a CEV to make it available or\n inactive.

                                                                                  \n \n

                                                                                  The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with \n Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the \n CreateCustomDbEngineVersion event aren't logged. However, you might see calls from the \n API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for \n the CreateCustomDbEngineVersion event.

                                                                                  \n
                                                                                  \n

                                                                                  For more information, see \n Creating a CEV in the Amazon RDS User Guide.

                                                                                  " + } + }, + "com.amazonaws.rds#CreateCustomDBEngineVersionMessage": { + "type": "structure", + "members": { + "Engine": { + "target": "com.amazonaws.rds#CustomEngineName", + "traits": { + "smithy.api#documentation": "

                                                                                  The database engine to use for your custom engine version (CEV). The only supported value is \n custom-oracle-ee.

                                                                                  ", + "smithy.api#required": {} + } + }, + "EngineVersion": { + "target": "com.amazonaws.rds#CustomEngineVersion", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of your CEV. The name format is 19.customized_string\n . For example, \n a valid name is 19.my_cev1. This setting is required for RDS Custom, but optional for Amazon RDS. \n The combination of Engine and EngineVersion is unique per customer per Region.

                                                                                  ", + "smithy.api#required": {} + } + }, + "DatabaseInstallationFilesS3BucketName": { + "target": "com.amazonaws.rds#BucketName", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of an Amazon S3 bucket that contains database installation files for your CEV. For example, a valid \n bucket name is my-custom-installation-files.

                                                                                  ", + "smithy.api#required": {} + } + }, + "DatabaseInstallationFilesS3Prefix": { + "target": "com.amazonaws.rds#String255", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon S3 directory that contains the database installation files for your CEV. For example, a valid \n bucket name is 123456789012/cev1. If this setting isn't specified, no prefix is assumed.

                                                                                  " + } + }, + "KMSKeyId": { + "target": "com.amazonaws.rds#KmsKeyIdOrArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted CEV. A symmetric KMS key is required for \n RDS Custom, but optional for Amazon RDS.

                                                                                  \n

                                                                                  If you have an existing symmetric KMS key in your account, you can use it with RDS Custom. \n No further action is necessary. If you don't already have a symmetric KMS key in your account, \n follow the instructions in \n Creating symmetric KMS keys in the Amazon Web Services Key Management Service\n Developer Guide.

                                                                                  \n

                                                                                  You can choose the same symmetric key when you create a CEV and a DB instance, or choose different keys.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.rds#Description", + "traits": { + "smithy.api#documentation": "

                                                                                  An optional description of your CEV.

                                                                                  " + } + }, + "Manifest": { + "target": "com.amazonaws.rds#CustomDBEngineVersionManifest", + "traits": { + "smithy.api#documentation": "

                                                                                  The CEV manifest, which is a JSON document that describes the installation .zip files stored in Amazon S3. \n Specify the name/value pairs in a file or a quoted string. RDS Custom applies the patches in the order in which \n they are listed.

                                                                                  \n

                                                                                  The following JSON fields are valid:

                                                                                  \n
                                                                                  \n
                                                                                  MediaImportTemplateVersion
                                                                                  \n
                                                                                  \n

                                                                                  Version of the CEV manifest. The date is in the format YYYY-MM-DD.

                                                                                  \n
                                                                                  \n
                                                                                  databaseInstallationFileNames
                                                                                  \n
                                                                                  \n

                                                                                  Ordered list of installation files for the CEV.

                                                                                  \n
                                                                                  \n
                                                                                  opatchFileNames
                                                                                  \n
                                                                                  \n

                                                                                  Ordered list of OPatch installers used for the Oracle DB engine.

                                                                                  \n
                                                                                  \n
                                                                                  psuRuPatchFileNames
                                                                                  \n
                                                                                  \n

                                                                                  The PSU and RU patches for this CEV.

                                                                                  \n
                                                                                  \n
                                                                                  OtherPatchFileNames
                                                                                  \n
                                                                                  \n

                                                                                  The patches that are not in the list of PSU and RU patches. \n Amazon RDS applies these patches after applying the PSU and RU patches.

                                                                                  \n
                                                                                  \n
                                                                                  \n

                                                                                  For more information, see \n Creating the CEV manifest in the Amazon RDS User Guide.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.rds#TagList" + } + } + }, "com.amazonaws.rds#CreateDBCluster": { "type": "operation", "input": { @@ -2109,13 +2221,13 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB cluster.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  When a CMK isn't specified in KmsKeyId:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If ReplicationSourceIdentifier identifies an encrypted\n source, then Amazon RDS will use the CMK used to encrypt the\n source. Otherwise, Amazon RDS will use your default CMK.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the StorageEncrypted parameter is enabled and\n ReplicationSourceIdentifier isn't specified, then Amazon RDS\n will use your default CMK.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  There is a default CMK for your Amazon Web Services account. Your Amazon Web Services account\n has a different default CMK for each Amazon Web Services Region.

                                                                                  \n

                                                                                  If you create a read replica of an encrypted DB cluster in another Amazon Web Services Region, you\n must set KmsKeyId to a Amazon Web Services KMS key identifier that is valid in the destination Amazon Web Services\n Region. This CMK is used to encrypt the read replica in that Amazon Web Services Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB cluster.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  When a KMS key isn't specified in KmsKeyId:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If ReplicationSourceIdentifier identifies an encrypted\n source, then Amazon RDS will use the KMS key used to encrypt the\n source. Otherwise, Amazon RDS will use your default KMS key.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the StorageEncrypted parameter is enabled and\n ReplicationSourceIdentifier isn't specified, then Amazon RDS\n will use your default KMS key.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account\n has a different default KMS key for each Amazon Web Services Region.

                                                                                  \n

                                                                                  If you create a read replica of an encrypted DB cluster in another Amazon Web Services Region, you\n must set KmsKeyId to a KMS key identifier that is valid in the destination Amazon Web Services\n Region. This KMS key is used to encrypt the read replica in that Amazon Web Services Region.

                                                                                  " } }, "PreSignedUrl": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  A URL that contains a Signature Version 4 signed request for \n the CreateDBCluster action to be called in the source Amazon Web Services Region where the DB cluster is replicated from. \n You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

                                                                                  \n \n

                                                                                  The pre-signed URL must be a valid request for the CreateDBCluster API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted DB cluster to be copied.

                                                                                  \n

                                                                                  The pre-signed URL request must contain the following parameter values:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services KMS key identifier for the key to use to encrypt the copy of \n the DB cluster in the destination Amazon Web Services Region. This should refer to the same Amazon Web Services KMS CMK for both the CreateDBCluster \n action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n DestinationRegion - The name of the Amazon Web Services Region that Aurora read replica will\n be created in.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. \n This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, if you are copying an \n encrypted DB cluster from the us-west-2 Amazon Web Services Region, then your ReplicationSourceIdentifier would look like\n Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  To learn how to generate a Signature Version 4 signed request, see \n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

                                                                                  \n \n

                                                                                  If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  A URL that contains a Signature Version 4 signed request for \n the CreateDBCluster action to be called in the source Amazon Web Services Region where the DB cluster is replicated from. \n You only need to specify PreSignedUrl when you are performing cross-region replication from an encrypted DB cluster.

                                                                                  \n \n

                                                                                  The pre-signed URL must be a valid request for the CreateDBCluster API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted DB cluster to be copied.

                                                                                  \n

                                                                                  The pre-signed URL request must contain the following parameter values:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services KMS key identifier for the KMS key to use to encrypt the copy of \n the DB cluster in the destination Amazon Web Services Region. This should refer to the same KMS key for both the CreateDBCluster \n action that is called in the destination Amazon Web Services Region, and the action contained in the pre-signed URL.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n DestinationRegion - The name of the Amazon Web Services Region that Aurora read replica will\n be created in.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n ReplicationSourceIdentifier - The DB cluster identifier for the encrypted DB cluster to be copied. \n This identifier must be in the Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, if you are copying an \n encrypted DB cluster from the us-west-2 Amazon Web Services Region, then your ReplicationSourceIdentifier would look like\n Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  To learn how to generate a Signature Version 4 signed request, see \n \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n \n Signature Version 4 Signing Process.

                                                                                  \n \n

                                                                                  If you are using an Amazon Web Services SDK tool or the CLI, you can specify SourceRegion (or --source-region for the CLI) \n instead of specifying PreSignedUrl manually. Specifying SourceRegion autogenerates a pre-signed URL that is a valid \n request for the operation that can be executed in the source Amazon Web Services Region.

                                                                                  \n
                                                                                  " } }, "EnableIAMDatabaseAuthentication": { @@ -2408,7 +2520,7 @@ "DBName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The meaning of this parameter differs according to the database engine you use.

                                                                                  \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must contain 1 to 64 letters or numbers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be a word reserved by the specified database engine

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must contain 1 to 64 letters or numbers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be a word reserved by the specified database engine

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  The name of the database to create when the DB instance is created. If this parameter isn't specified, a database named postgres \n is created in the DB instance.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must contain 1 to 63 letters, numbers, or underscores.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be a word reserved by the specified database engine

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  The Oracle System ID (SID) of the created DB instance.\n If you specify null, the default value ORCL is used.\n You can't specify the string NULL, or any other reserved word, for DBName. \n

                                                                                  \n

                                                                                  Default: ORCL\n

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Can't be longer than 8 characters

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n SQL Server\n

                                                                                  \n

                                                                                  Not applicable. Must be null.

                                                                                  \n

                                                                                  \n Amazon Aurora MySQL\n

                                                                                  \n

                                                                                  The name of the database to create when the primary DB instance of the Aurora MySQL DB cluster is\n created. If this parameter isn't specified for an Aurora MySQL DB cluster, no database is created \n in the DB cluster.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    It must contain 1 to 64 alphanumeric characters.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It can't be a word reserved by the database engine.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n Amazon Aurora PostgreSQL\n

                                                                                  \n

                                                                                  The name of the database to create when the primary DB instance of the Aurora PostgreSQL DB cluster is\n created. If this parameter isn't specified for an Aurora PostgreSQL DB cluster, \n a database named postgres is created in the DB cluster.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    It must contain 1 to 63 alphanumeric characters.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It must begin with a letter or an underscore.\n Subsequent characters can be letters, underscores, or digits\n (0 to 9).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It can't be a word reserved by the\n database engine.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The meaning of this parameter differs according to the database engine you use.

                                                                                  \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must contain 1 to 64 letters or numbers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be a word reserved by the specified database engine

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  The name of the database to create when the DB instance is created. If this parameter isn't specified, no database is created in the DB instance.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must contain 1 to 64 letters or numbers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be a word reserved by the specified database engine

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  The name of the database to create when the DB instance is created. If this parameter isn't specified, a database named postgres \n is created in the DB instance.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must contain 1 to 63 letters, numbers, or underscores.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must begin with a letter. Subsequent characters can be letters, underscores, or digits (0-9).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be a word reserved by the specified database engine

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  The Oracle System ID (SID) of the created DB instance.\n If you specify null, the default value ORCL is used.\n You can't specify the string NULL, or any other reserved word, for DBName. \n

                                                                                  \n

                                                                                  Default: ORCL\n

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Can't be longer than 8 characters

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n Amazon RDS Custom\n

                                                                                  \n

                                                                                  The Oracle System ID (SID) of the created RDS Custom DB instance.\n If you don't specify a value, the default value is ORCL.\n

                                                                                  \n

                                                                                  Default: ORCL\n

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    It must contain 1 to 8 alphanumeric characters.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It must contain a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It can't be a word reserved by the database engine.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n SQL Server\n

                                                                                  \n

                                                                                  Not applicable. Must be null.

                                                                                  \n

                                                                                  \n Amazon Aurora MySQL\n

                                                                                  \n

                                                                                  The name of the database to create when the primary DB instance of the Aurora MySQL DB cluster is\n created. If this parameter isn't specified for an Aurora MySQL DB cluster, no database is created \n in the DB cluster.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    It must contain 1 to 64 alphanumeric characters.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It can't be a word reserved by the database engine.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  \n Amazon Aurora PostgreSQL\n

                                                                                  \n

                                                                                  The name of the database to create when the primary DB instance of the Aurora PostgreSQL DB cluster is\n created. If this parameter isn't specified for an Aurora PostgreSQL DB cluster, \n a database named postgres is created in the DB cluster.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    It must contain 1 to 63 alphanumeric characters.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It must begin with a letter or an underscore.\n Subsequent characters can be letters, underscores, or digits\n (0 to 9).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It can't be a word reserved by the\n database engine.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "DBInstanceIdentifier": { @@ -2421,7 +2533,7 @@ "AllocatedStorage": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The amount of storage in gibibytes (GiB) to allocate for the DB instance.

                                                                                  \n

                                                                                  Type: Integer

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. Aurora cluster volumes automatically grow as the amount of data in your \n database increases, though you are only charged for the space that you use in an Aurora cluster volume.

                                                                                  \n\n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard): Must be an integer from 10 to 3072.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n SQL Server\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2):

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      Enterprise and Standard editions: Must be an integer from 200 to 16384.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Web and Express editions: Must be an integer from 20 to 16384.

                                                                                      \n
                                                                                    • \n
                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1):

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      Enterprise and Standard editions: Must be an integer from 200 to 16384.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Web and Express editions: Must be an integer from 100 to 16384.

                                                                                      \n
                                                                                    • \n
                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard):

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      Enterprise and Standard editions: Must be an integer from 200 to 1024.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Web and Express editions: Must be an integer from 20 to 1024.

                                                                                      \n
                                                                                    • \n
                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of storage in gibibytes (GiB) to allocate for the DB instance.

                                                                                  \n

                                                                                  Type: Integer

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. Aurora cluster volumes automatically grow as the amount of data in your \n database increases, though you are only charged for the space that you use in an Aurora cluster volume.

                                                                                  \n\n

                                                                                  \n Amazon RDS Custom\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 40 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 40 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard): Must be an integer from 5 to 3072.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard): Must be an integer from 10 to 3072.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  \n SQL Server\n

                                                                                  \n

                                                                                  Constraints to the amount of storage for each storage type are the following:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    General Purpose (SSD) storage (gp2):

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      Enterprise and Standard editions: Must be an integer from 200 to 16384.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Web and Express editions: Must be an integer from 20 to 16384.

                                                                                      \n
                                                                                    • \n
                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Provisioned IOPS storage (io1):

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      Enterprise and Standard editions: Must be an integer from 200 to 16384.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Web and Express editions: Must be an integer from 100 to 16384.

                                                                                      \n
                                                                                    • \n
                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Magnetic storage (standard):

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      Enterprise and Standard editions: Must be an integer from 200 to 1024.

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      Web and Express editions: Must be an integer from 20 to 1024.

                                                                                      \n
                                                                                    • \n
                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "DBInstanceClass": { @@ -2434,7 +2546,7 @@ "Engine": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the database engine to be used for this instance.\n

                                                                                  \n \n

                                                                                  Not every database engine is available for every Amazon Web Services Region.\n

                                                                                  \n\n

                                                                                  Valid Values:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n aurora (for MySQL 5.6-compatible Aurora)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n aurora-mysql (for MySQL 5.7-compatible Aurora)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n aurora-postgresql\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n mariadb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n mysql\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n postgres\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-se\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ex\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-web\n

                                                                                    \n
                                                                                  • \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the database engine to be used for this instance.\n

                                                                                  \n \n

                                                                                  Not every database engine is available for every Amazon Web Services Region.\n

                                                                                  \n\n

                                                                                  Valid Values:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n aurora (for MySQL 5.6-compatible Aurora)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n aurora-mysql (for MySQL 5.7-compatible Aurora)

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n aurora-postgresql\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n custom-oracle-ee (for RDS Custom instances)\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n mariadb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n mysql\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n postgres\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-se\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ex\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-web\n

                                                                                    \n
                                                                                  • \n
                                                                                  ", "smithy.api#required": {} } }, @@ -2483,13 +2595,13 @@ "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then \n the default DB parameter group for the specified DB engine and version is used.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to associate with this DB instance. If you do not specify a value, then \n the default DB parameter group for the specified DB engine and version is used.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "BackupRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The number of days for which automated backups are retained. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The retention period for automated backups is managed by the DB\n cluster.

                                                                                  \n

                                                                                  Default: 1

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be a value from 0 to 35

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be set to 0 if the DB instance is a source to read replicas

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of days for which automated backups are retained. Setting this parameter to a positive number enables \n backups. Setting this parameter to 0 disables automated backups.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The retention period for automated backups is managed by the DB cluster.

                                                                                  \n

                                                                                  Default: 1

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be a value from 0 to 35

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be set to 0 if the DB instance is a source to read replicas

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be set to 0 or 35 for an RDS Custom DB instance

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "PreferredBackupWindow": { @@ -2507,25 +2619,25 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set \n the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is a Multi-AZ deployment. You can't set \n the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EngineVersion": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The version number of the database engine to use.

                                                                                  \n

                                                                                  For a list of valid engine versions, use the DescribeDBEngineVersions action.

                                                                                  \n

                                                                                  The following are the database engines and links to information about the major and minor versions that are available with \n Amazon RDS. Not every database engine is available for every Amazon Web Services Region.

                                                                                  \n \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The version number of the database engine to be used by the DB\n instance is managed by the DB cluster.

                                                                                  \n \n

                                                                                  \n MariaDB\n

                                                                                  \n\n

                                                                                  See MariaDB on Amazon RDS Versions in the \n Amazon RDS User Guide.\n

                                                                                  \n \n

                                                                                  \n Microsoft SQL Server\n

                                                                                  \n \n

                                                                                  See Microsoft SQL Server Versions on Amazon RDS in the \n Amazon RDS User Guide.\n

                                                                                  \n \n

                                                                                  \n MySQL\n

                                                                                  \n\n

                                                                                  See MySQL on Amazon RDS Versions in the \n Amazon RDS User Guide.\n

                                                                                  \n \n

                                                                                  \n Oracle\n

                                                                                  \n \n

                                                                                  See Oracle Database Engine Release Notes in the \n Amazon RDS User Guide.\n

                                                                                  \n\n

                                                                                  \n PostgreSQL\n

                                                                                  \n\n

                                                                                  See Amazon RDS for PostgreSQL versions and extensions in the \n Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The version number of the database engine to use.

                                                                                  \n

                                                                                  For a list of valid engine versions, use the DescribeDBEngineVersions action.

                                                                                  \n

                                                                                  The following are the database engines and links to information about the major and minor versions that are available with \n Amazon RDS. Not every database engine is available for every Amazon Web Services Region.

                                                                                  \n \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The version number of the database engine to be used by the DB\n instance is managed by the DB cluster.

                                                                                  \n \n

                                                                                  \n Amazon RDS Custom\n

                                                                                  \n

                                                                                  A custom engine version (CEV) that you have previously created. This setting is required for RDS Custom. The CEV \n name has the following format: 19.customized_string\n . An example identifier is \n 19.my_cev1. For more information, see \n Creating an RDS Custom DB instance in the Amazon RDS User Guide..

                                                                                  \n \n

                                                                                  \n MariaDB\n

                                                                                  \n\n

                                                                                  See MariaDB on Amazon RDS Versions in the \n Amazon RDS User Guide.\n

                                                                                  \n \n

                                                                                  \n Microsoft SQL Server\n

                                                                                  \n \n

                                                                                  See Microsoft SQL Server Versions on Amazon RDS in the \n Amazon RDS User Guide.\n

                                                                                  \n \n

                                                                                  \n MySQL\n

                                                                                  \n\n

                                                                                  See MySQL on Amazon RDS Versions in the \n Amazon RDS User Guide.\n

                                                                                  \n \n

                                                                                  \n Oracle\n

                                                                                  \n \n

                                                                                  See Oracle Database Engine Release Notes in the \n Amazon RDS User Guide.\n

                                                                                  \n\n

                                                                                  \n PostgreSQL\n

                                                                                  \n\n

                                                                                  See Amazon RDS for PostgreSQL versions and extensions in the \n Amazon RDS User Guide.\n

                                                                                  " } }, "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. \n By default, minor engine upgrades are applied automatically.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether minor engine upgrades are applied automatically to the DB instance during the maintenance window. \n By default, minor engine upgrades are applied automatically.

                                                                                  \n

                                                                                  If you create an RDS Custom DB instance, you must set AutoMinorVersionUpgrade to \n false.

                                                                                  " } }, "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  License model information for this DB instance.

                                                                                  \n

                                                                                  \n Valid values: license-included | bring-your-own-license | general-public-license\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  License model information for this DB instance.

                                                                                  \n

                                                                                  \n Valid values: license-included | bring-your-own-license | general-public-license\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "Iops": { @@ -2537,19 +2649,19 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates that the DB instance should be associated with the specified option group.

                                                                                  \n

                                                                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group. Also, that option group can't be removed from a DB instance once it is associated with a DB instance

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates that the DB instance should be associated with the specified option group.

                                                                                  \n

                                                                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed \n from an option group. Also, that option group can't be removed from a DB instance after it is \n associated with a DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "CharacterSetName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  For supported engines, indicates that the DB instance should be associated with the specified CharacterSet.

                                                                                  \n \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The character set is managed by\n the DB cluster. For more information, see CreateDBCluster.

                                                                                  " + "smithy.api#documentation": "

                                                                                  For supported engines, this value indicates that the DB instance should be associated with the \n specified CharacterSet.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom. However, if you need to change the character set, \n you can change it on the database itself.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The character set is managed by\n the DB cluster. For more information, see CreateDBCluster.

                                                                                  " } }, "NcharCharacterSetName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the NCHAR character set for the Oracle DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the NCHAR character set for the Oracle DB instance.

                                                                                  \n

                                                                                  This parameter doesn't apply to RDS Custom.

                                                                                  " } }, "PubliclyAccessible": { @@ -2567,7 +2679,7 @@ "DBClusterIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The identifier of the DB cluster that the instance will belong to.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The identifier of the DB cluster that the instance will belong to.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "StorageType": { @@ -2579,31 +2691,31 @@ "TdeCredentialArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "TdeCredentialPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The password for the given ARN from the key store in order to access the device.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The password for the given ARN from the key store in order to access the device.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "StorageEncrypted": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.

                                                                                  \n \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The encryption for DB instances is managed by\n the DB cluster.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is encrypted. By default, it isn't encrypted.

                                                                                  \n

                                                                                  For RDS Custom Oracle instances, either set this parameter to true or leave it unset. \n If you set this parameter to false, RDS reports an error.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The encryption for DB instances is managed by the DB cluster.

                                                                                  " } }, "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB instance.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The Amazon Web Services KMS key identifier is managed by\n the DB cluster. For more information, see CreateDBCluster.

                                                                                  \n

                                                                                  If StorageEncrypted is enabled, and you do\n not specify a value for the KmsKeyId parameter, then\n Amazon RDS uses your default CMK. There is a \n default CMK for your Amazon Web Services account. Your Amazon Web Services account has a different\n default CMK for each Amazon Web Services Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB instance.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The Amazon Web Services KMS key identifier is managed by\n the DB cluster. For more information, see CreateDBCluster.

                                                                                  \n

                                                                                  If StorageEncrypted is enabled, and you do\n not specify a value for the KmsKeyId parameter, then\n Amazon RDS uses your default KMS key. There is a \n default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different\n default KMS key for each Amazon Web Services Region.

                                                                                  \n

                                                                                  \n Amazon RDS Custom\n

                                                                                  \n

                                                                                  A KMS key is required for RDS Custom Oracle instances. For most RDS engines, if you leave this parameter empty \n while enabling StorageEncrypted, the engine uses the default KMS key. However, RDS Custom for Oracle \n doesn't use the default key when this parameter is empty. You must explicitly specify a key.

                                                                                  " } }, "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "CopyTagsToSnapshot": { @@ -2615,25 +2727,25 @@ "MonitoringInterval": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

                                                                                  \n

                                                                                  If MonitoringRoleArn is specified, then you must also set MonitoringInterval\n to a value other than 0.

                                                                                  \n

                                                                                  Valid Values: 0, 1, 5, 10, 15, 30, 60\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are collected for \n the DB instance. To disable collection of Enhanced Monitoring metrics, specify 0. The default is 0.

                                                                                  \n

                                                                                  If MonitoringRoleArn is specified, then you must set MonitoringInterval\n to a value other than 0.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Valid Values: 0, 1, 5, 10, 15, 30, 60\n

                                                                                  " } }, "MonitoringRoleArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n go to Setting Up and Enabling Enhanced Monitoring \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n see Setting Up and Enabling Enhanced Monitoring \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "PromotionTier": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that specifies the order in which an Aurora Replica is promoted to the primary instance \n after a failure of the existing primary instance. For more information, \n see \n Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.\n

                                                                                  \n

                                                                                  Default: 1

                                                                                  \n

                                                                                  Valid Values: 0 - 15

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that specifies the order in which an Aurora Replica is promoted to the primary instance \n after a failure of the existing primary instance. For more information, \n see \n Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide. \n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Default: 1

                                                                                  \n

                                                                                  Valid Values: 0 - 15

                                                                                  " } }, "Timezone": { @@ -2645,37 +2757,37 @@ "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n \n

                                                                                  This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB\n cluster.

                                                                                  \n \n

                                                                                  For more information, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom or Amazon Aurora. In Aurora, mapping Amazon Web Services IAM accounts \n to database accounts is managed by the DB cluster.

                                                                                  \n

                                                                                  For more information, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  " } }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable Performance Insights for the DB instance.\n

                                                                                  \n

                                                                                  For more information, see \n Using Amazon Performance Insights in the Amazon Relational Database Service\n User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable Performance Insights for the DB instance. For more information, see \n Using Amazon Performance Insights in the Amazon Relational Database Service\n User Guide.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  \n

                                                                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default CMK. There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  \n

                                                                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default KMS key. There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "PerformanceInsightsRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableCloudwatchLogsExports": { "target": "com.amazonaws.rds#LogTypeList", "traits": { - "smithy.api#documentation": "

                                                                                  The list of log types that need to be enabled for exporting to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database\n Service User Guide.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. CloudWatch Logs exports are managed by the DB cluster.\n

                                                                                  \n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  Possible values are audit, error, general, and slowquery. \n

                                                                                  \n

                                                                                  \n Microsoft SQL Server\n

                                                                                  \n

                                                                                  Possible values are agent and error.\n

                                                                                  \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  Possible values are audit, error, general, and slowquery. \n

                                                                                  \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  Possible values are alert, audit, listener, trace, and\n oemagent.\n

                                                                                  \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  Possible values are postgresql and upgrade.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of log types that need to be enabled for exporting to CloudWatch Logs. The values\n in the list depend on the DB engine. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database\n Service User Guide.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. CloudWatch Logs exports are managed by the DB cluster.\n

                                                                                  \n

                                                                                  \n RDS Custom\n

                                                                                  \n

                                                                                  Not applicable.\n

                                                                                  \n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  Possible values are audit, error, general, and slowquery. \n

                                                                                  \n

                                                                                  \n Microsoft SQL Server\n

                                                                                  \n

                                                                                  Possible values are agent and error.\n

                                                                                  \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  Possible values are audit, error, general, and slowquery. \n

                                                                                  \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  Possible values are alert, audit, listener, trace, and\n oemagent.\n

                                                                                  \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  Possible values are postgresql and upgrade.\n

                                                                                  " } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DeletionProtection": { @@ -2687,7 +2799,7 @@ "MaxAllocatedStorage": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                                                  \n

                                                                                  For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                                                  \n

                                                                                  For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableCustomerOwnedIp": { @@ -2695,6 +2807,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS\n on Outposts DB instance.

                                                                                  \n

                                                                                  A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

                                                                                  \n

                                                                                  For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

                                                                                  " } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    The profile must exist in your account.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

                                                                                  \n

                                                                                  This setting is required for RDS Custom.

                                                                                  " + } } }, "traits": { @@ -2785,7 +2903,7 @@ "SourceDBInstanceIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The identifier of the DB instance that will act as the source for the read replica.\n Each DB instance can have up to five read replicas.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server DB\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can specify a DB instance that is a MySQL read replica only if the source is running MySQL\n 5.6 or later.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For the limitations of Oracle read replicas, see Read Replica Limitations with Oracle in the\n Amazon RDS User Guide.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For the limitations of SQL Server read replicas, see Read Replica\n Limitations with Microsoft SQL Server in the Amazon RDS User Guide.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can specify a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or\n later (9.4.7 and higher for cross-region replication).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The specified DB instance must have automatic backups enabled, that is, its backup\n retention period must be greater than 0.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the source DB instance is in the same Amazon Web Services Region as the read replica, specify a valid DB\n instance identifier.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the source DB instance is in a different Amazon Web Services Region from the read replica, specify a valid DB instance ARN. \n For more information, see Constructing an ARN for Amazon RDS \n in the Amazon RDS User Guide. This doesn't apply to SQL Server, which doesn't support cross-region replicas.

                                                                                    \n
                                                                                  • \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  The identifier of the DB instance that will act as the source for the read replica.\n Each DB instance can have up to five read replicas.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server DB\n instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can specify a DB instance that is a MySQL read replica only if the source is running MySQL\n 5.6 or later.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For the limitations of Oracle read replicas, see Read Replica Limitations with Oracle in the\n Amazon RDS User Guide.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    For the limitations of SQL Server read replicas, see Read Replica\n Limitations with Microsoft SQL Server in the Amazon RDS User Guide.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can specify a PostgreSQL DB instance only if the source is running PostgreSQL 9.3.5 or\n later (9.4.7 and higher for cross-region replication).

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The specified DB instance must have automatic backups enabled, that is, its backup\n retention period must be greater than 0.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the source DB instance is in the same Amazon Web Services Region as the read replica, specify a valid DB\n instance identifier.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the source DB instance is in a different Amazon Web Services Region from the read replica, specify a valid DB instance ARN. \n For more information, see Constructing an ARN for Amazon RDS \n in the Amazon RDS User Guide. This doesn't apply to SQL Server or RDS Custom, which don't support \n cross-Region replicas.

                                                                                    \n
                                                                                  • \n
                                                                                  ", "smithy.api#required": {} } }, @@ -2810,13 +2928,13 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the read replica is in a Multi-AZ deployment.

                                                                                  \n \n

                                                                                  You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of\n your replica in another Availability Zone for failover support for the replica. Creating\n your read replica as a Multi-AZ DB instance is independent of whether the source\n database is a Multi-AZ DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the read replica is in a Multi-AZ deployment.

                                                                                  \n \n

                                                                                  You can create a read replica as a Multi-AZ DB instance. RDS creates a standby of\n your replica in another Availability Zone for failover support for the replica. Creating\n your read replica as a Multi-AZ DB instance is independent of whether the source\n database is a Multi-AZ DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether minor engine upgrades are applied automatically to the\n read replica during the maintenance window.

                                                                                  \n

                                                                                  Default: Inherits from the source DB instance

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether minor engine upgrades are applied automatically to the\n read replica during the maintenance window.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Default: Inherits from the source DB instance

                                                                                  " } }, "Iops": { @@ -2828,13 +2946,13 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

                                                                                  \n \n

                                                                                  For SQL Server, you must use the option group associated with the source\n instance.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The option group the DB instance is associated with. If omitted, the option group associated with the source instance is used.

                                                                                  \n \n

                                                                                  For SQL Server, you must use the option group associated with the source\n instance.

                                                                                  \n
                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to associate with this DB instance.

                                                                                  \n

                                                                                  If you do not specify a value for DBParameterGroupName, then Amazon RDS\n uses the DBParameterGroup of source DB instance for a same region read\n replica, or the default DBParameterGroup for the specified DB engine for a\n cross region read replica.

                                                                                  \n \n

                                                                                  Currently, specifying a parameter group for this operation is only supported for Oracle DB instances.

                                                                                  \n
                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to associate with this DB instance.

                                                                                  \n

                                                                                  If you do not specify a value for DBParameterGroupName, then Amazon RDS\n uses the DBParameterGroup of source DB instance for a same region read\n replica, or the default DBParameterGroup for the specified DB engine for a\n cross region read replica.

                                                                                  \n

                                                                                  Specifying a parameter group for this operation is only supported for Oracle DB instances. It \n isn't supported for RDS Custom.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "PubliclyAccessible": { @@ -2855,7 +2973,7 @@ "VpcSecurityGroupIds": { "target": "com.amazonaws.rds#VpcSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

                                                                                  A list of EC2 VPC security groups to associate with the read replica.

                                                                                  \n

                                                                                  \n Default: The default EC2 VPC security group for the DB subnet group's VPC.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of Amazon EC2 VPC security groups to associate with the read replica.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  \n Default: The default EC2 VPC security group for the DB subnet group's VPC.\n

                                                                                  " } }, "StorageType": { @@ -2873,67 +2991,67 @@ "MonitoringInterval": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are\n collected for the read replica. To disable collecting Enhanced Monitoring metrics,\n specify 0. The default is 0.

                                                                                  \n

                                                                                  If MonitoringRoleArn is specified, then you must also set MonitoringInterval\n to a value other than 0.

                                                                                  \n

                                                                                  Valid Values: 0, 1, 5, 10, 15, 30, 60\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are\n collected for the read replica. To disable collecting Enhanced Monitoring metrics,\n specify 0. The default is 0.

                                                                                  \n

                                                                                  If MonitoringRoleArn is specified, then you must also set MonitoringInterval\n to a value other than 0.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Valid Values: 0, 1, 5, 10, 15, 30, 60\n

                                                                                  " } }, "MonitoringRoleArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n go to To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n go to To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  If MonitoringInterval is set to a value other than 0, then you must \n supply a MonitoringRoleArn value.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted read replica.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS CMK.

                                                                                  \n

                                                                                  If you create an encrypted read replica in the same Amazon Web Services Region as the source DB\n instance, then do not specify a value for this parameter. A read replica in the same Region\n is always encrypted with the same Amazon Web Services KMS CMK as the source DB instance.

                                                                                  \n

                                                                                  If you create an encrypted read replica in a different Amazon Web Services Region, then you must\n specify a Amazon Web Services KMS key identifier for the destination Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to\n the Amazon Web Services Region that they are created in, and you can't use CMKs from one\n Amazon Web Services Region in another Amazon Web Services Region.

                                                                                  \n

                                                                                  You can't create an encrypted read replica from an unencrypted DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted read replica.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  \n

                                                                                  If you create an encrypted read replica in the same Amazon Web Services Region as the source DB\n instance, then do not specify a value for this parameter. A read replica in the same Amazon Web Services Region\n is always encrypted with the same KMS key as the source DB instance.

                                                                                  \n

                                                                                  If you create an encrypted read replica in a different Amazon Web Services Region, then you must\n specify a KMS key identifier for the destination Amazon Web Services Region. KMS keys are specific to\n the Amazon Web Services Region that they are created in, and you can't use KMS keys from one\n Amazon Web Services Region in another Amazon Web Services Region.

                                                                                  \n

                                                                                  You can't create an encrypted read replica from an unencrypted DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom, which uses the same KMS key as the primary \n replica.

                                                                                  " } }, "PreSignedUrl": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action \n in the source Amazon Web Services Region that contains the source DB instance.\n

                                                                                  \n \n

                                                                                  You must specify this parameter when you create an encrypted read replica from\n another Amazon Web Services Region by using the Amazon RDS API. Don't specify\n PreSignedUrl when you are creating an encrypted read replica in the\n same Amazon Web Services Region.

                                                                                  \n \n

                                                                                  The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted source DB instance. \n The presigned URL request must contain the following parameter values:\n

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n DestinationRegion - The Amazon Web Services Region that the encrypted read\n replica is created in. This Amazon Web Services Region is the same one where the\n CreateDBInstanceReadReplica action is called that contains this presigned URL.

                                                                                    \n \n

                                                                                    For example, if you create an encrypted DB instance in the us-west-1 Amazon Web Services Region,\n from a source DB instance in the us-east-2 Amazon Web Services Region, \n then you call the CreateDBInstanceReadReplica action in\n the us-east-1 Amazon Web Services Region and provide a presigned URL that contains a call to the\n CreateDBInstanceReadReplica action in the us-west-2 Amazon Web Services Region. For this\n example, the DestinationRegion in the presigned URL must be set to\n the us-east-1 Amazon Web Services Region.\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services KMS key identifier for the key to use to\n encrypt the read replica in the destination Amazon Web Services Region. This is the same\n identifier for both the CreateDBInstanceReadReplica action that is\n called in the destination Amazon Web Services Region, and the action contained in the presigned\n URL.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n SourceDBInstanceIdentifier - The DB instance identifier for\n the encrypted DB instance to be replicated. This identifier must be in the\n Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, if you\n are creating an encrypted read replica from a DB instance in the us-west-2 Amazon Web Services\n Region, then your SourceDBInstanceIdentifier looks like the\n following example:\n arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  To learn how to generate a Signature Version 4 signed request, see \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n Signature Version 4 Signing Process.\n

                                                                                  \n \n \n

                                                                                  If you are using an Amazon Web Services SDK tool or the CLI, you can specify\n SourceRegion (or --source-region for the CLI)\n instead of specifying PreSignedUrl manually. Specifying\n SourceRegion autogenerates a presigned URL that is a valid request\n for the operation that can be executed in the source Amazon Web Services Region.

                                                                                  \n

                                                                                  \n SourceRegion isn't supported for SQL Server, because SQL Server on Amazon RDS\n doesn't support cross-region read replicas.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica API action \n in the source Amazon Web Services Region that contains the source DB instance.\n

                                                                                  \n \n

                                                                                  You must specify this parameter when you create an encrypted read replica from\n another Amazon Web Services Region by using the Amazon RDS API. Don't specify\n PreSignedUrl when you are creating an encrypted read replica in the\n same Amazon Web Services Region.

                                                                                  \n \n

                                                                                  The presigned URL must be a valid request for the CreateDBInstanceReadReplica API action \n that can be executed in the source Amazon Web Services Region that contains the encrypted source DB instance. \n The presigned URL request must contain the following parameter values:\n

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n DestinationRegion - The Amazon Web Services Region that the encrypted read\n replica is created in. This Amazon Web Services Region is the same one where the\n CreateDBInstanceReadReplica action is called that contains this presigned URL.

                                                                                    \n \n

                                                                                    For example, if you create an encrypted DB instance in the us-west-1 Amazon Web Services Region,\n from a source DB instance in the us-east-2 Amazon Web Services Region, \n then you call the CreateDBInstanceReadReplica action in\n the us-east-1 Amazon Web Services Region and provide a presigned URL that contains a call to the\n CreateDBInstanceReadReplica action in the us-west-2 Amazon Web Services Region. For this\n example, the DestinationRegion in the presigned URL must be set to\n the us-east-1 Amazon Web Services Region.\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n KmsKeyId - The Amazon Web Services KMS key identifier for the key to use to\n encrypt the read replica in the destination Amazon Web Services Region. This is the same\n identifier for both the CreateDBInstanceReadReplica action that is\n called in the destination Amazon Web Services Region, and the action contained in the presigned\n URL.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n SourceDBInstanceIdentifier - The DB instance identifier for\n the encrypted DB instance to be replicated. This identifier must be in the\n Amazon Resource Name (ARN) format for the source Amazon Web Services Region. For example, if you\n are creating an encrypted read replica from a DB instance in the us-west-2 Amazon Web Services\n Region, then your SourceDBInstanceIdentifier looks like the\n following example:\n arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n

                                                                                  To learn how to generate a Signature Version 4 signed request, see \n Authenticating Requests: Using Query Parameters (Amazon Web Services Signature Version 4) and\n Signature Version 4 Signing Process.\n

                                                                                  \n \n \n

                                                                                  If you are using an Amazon Web Services SDK tool or the CLI, you can specify\n SourceRegion (or --source-region for the CLI)\n instead of specifying PreSignedUrl manually. Specifying\n SourceRegion autogenerates a presigned URL that is a valid request\n for the operation that can be executed in the source Amazon Web Services Region.

                                                                                  \n

                                                                                  \n SourceRegion isn't supported for SQL Server, because SQL Server on Amazon RDS\n doesn't support cross-region read replicas.

                                                                                  \n
                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n \n

                                                                                  For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n \n

                                                                                  For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable Performance Insights for the read replica.

                                                                                  \n

                                                                                  For more information, see Using\n Amazon Performance Insights in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable Performance Insights for the read replica.

                                                                                  \n

                                                                                  For more information, see Using\n Amazon Performance Insights in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  \n

                                                                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default CMK. There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  \n

                                                                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default KMS key. There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "PerformanceInsightsRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableCloudwatchLogsExports": { "target": "com.amazonaws.rds#LogTypeList", "traits": { - "smithy.api#documentation": "

                                                                                  The list of logs that the new DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing\n Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of logs that the new DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing\n Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "UseDefaultProcessorFeatures": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DeletionProtection": { @@ -2945,19 +3063,19 @@ "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Active Directory directory ID to create the DB instance in. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "ReplicaMode": { "target": "com.amazonaws.rds#ReplicaMode", "traits": { - "smithy.api#documentation": "

                                                                                  The open mode of the replica database: mounted or read-only.

                                                                                  \n \n

                                                                                  This parameter is only supported for Oracle DB instances.

                                                                                  \n
                                                                                  \n

                                                                                  Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for\n mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active\n Data Guard to transmit information to the mounted replica. Because it doesn't accept\n user connections, a mounted replica can't serve a read-only workload.

                                                                                  \n

                                                                                  You can create a combination of mounted and read-only DB replicas for the same primary DB instance.\n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The open mode of the replica database: mounted or read-only.

                                                                                  \n \n

                                                                                  This parameter is only supported for Oracle DB instances.

                                                                                  \n
                                                                                  \n

                                                                                  Mounted DB replicas are included in Oracle Database Enterprise Edition. The main use case for\n mounted replicas is cross-Region disaster recovery. The primary database doesn't use Active\n Data Guard to transmit information to the mounted replica. Because it doesn't accept\n user connections, a mounted replica can't serve a read-only workload.

                                                                                  \n

                                                                                  You can create a combination of mounted and read-only DB replicas for the same primary DB instance.\n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  For RDS Custom, you must specify this parameter and set it to mounted. The value won't be set by default. \n After replica creation, you can manage the open mode manually.

                                                                                  " } }, "MaxAllocatedStorage": { @@ -2965,6 +3083,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                                                  \n

                                                                                  For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

                                                                                  " } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    The profile must exist in your account.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

                                                                                  \n

                                                                                  This setting is required for RDS Custom.

                                                                                  " + } } } }, @@ -3001,7 +3125,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Creates a new DB parameter group.

                                                                                  \n

                                                                                  \n A DB parameter group is initially created with the default parameters for the\n database engine used by the DB instance. To provide custom values for any of the\n parameters, you must modify the group after creating it using\n ModifyDBParameterGroup. Once you've created a DB parameter group, you need to\n associate it with your DB instance using ModifyDBInstance. When you associate\n a new DB parameter group with a running DB instance, you need to reboot the DB\n instance without failover for the new DB parameter group and associated settings to take effect. \n

                                                                                  \n \n

                                                                                  After you create a DB parameter group, you should wait at least 5 minutes\n before creating your first DB instance that uses that DB parameter group as the default parameter \n group. This allows Amazon RDS to fully complete the create action before the parameter \n group is used as the default for a new DB instance. This is especially important for parameters \n that are critical when creating the default database for a DB instance, such as the character set \n for the default database defined by the character_set_database parameter. You can use the \n Parameter Groups option of the Amazon RDS console or the \n DescribeDBParameters command to verify \n that your DB parameter group has been created or modified.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  Creates a new DB parameter group.

                                                                                  \n

                                                                                  \n A DB parameter group is initially created with the default parameters for the\n database engine used by the DB instance. To provide custom values for any of the\n parameters, you must modify the group after creating it using\n ModifyDBParameterGroup. Once you've created a DB parameter group, you need to\n associate it with your DB instance using ModifyDBInstance. When you associate\n a new DB parameter group with a running DB instance, you need to reboot the DB\n instance without failover for the new DB parameter group and associated settings to take effect. \n

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  \n \n

                                                                                  After you create a DB parameter group, you should wait at least 5 minutes\n before creating your first DB instance that uses that DB parameter group as the default parameter \n group. This allows Amazon RDS to fully complete the create action before the parameter \n group is used as the default for a new DB instance. This is especially important for parameters \n that are critical when creating the default database for a DB instance, such as the character set \n for the default database defined by the character_set_database parameter. You can use the \n Parameter Groups option of the Amazon RDS console or the \n DescribeDBParameters command to verify \n that your DB parameter group has been created or modified.

                                                                                  \n
                                                                                  " } }, "com.amazonaws.rds#CreateDBParameterGroupMessage": { @@ -3612,7 +3736,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Creates a new option group. You can create up to 20 option groups.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Creates a new option group. You can create up to 20 option groups.

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  " } }, "com.amazonaws.rds#CreateOptionGroupMessage": { @@ -3774,6 +3898,106 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.rds#CustomDBEngineVersionAlreadyExistsFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.rds#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "CustomDBEngineVersionAlreadyExistsFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                                                                                  A CEV with the specified name already exists.

                                                                                  ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.rds#CustomDBEngineVersionManifest": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 51000 + }, + "smithy.api#pattern": "^[\\s\\S]*$" + } + }, + "com.amazonaws.rds#CustomDBEngineVersionNotFoundFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.rds#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "CustomDBEngineVersionNotFoundFault", + "httpResponseCode": 404 + }, + "smithy.api#documentation": "

                                                                                  The specified CEV was not found.

                                                                                  ", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.rds#CustomDBEngineVersionQuotaExceededFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.rds#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "CustomDBEngineVersionQuotaExceededFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                                                                                  You have exceeded your CEV quota.

                                                                                  ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.rds#CustomEngineName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 35 + }, + "smithy.api#pattern": "^[A-Za-z0-9-]{1,35}$" + } + }, + "com.amazonaws.rds#CustomEngineVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 60 + }, + "smithy.api#pattern": "^(11\\.\\d{1}|12\\.\\d{1}|18|19)(\\.[a-zA-Z0-9_.-]{1,50})$" + } + }, + "com.amazonaws.rds#CustomEngineVersionStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "available", + "name": "available" + }, + { + "value": "inactive", + "name": "inactive" + }, + { + "value": "inactive-except-restore", + "name": "inactive_except_restore" + } + ] + } + }, "com.amazonaws.rds#DBCluster": { "type": "structure", "members": { @@ -3960,13 +4184,13 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  If StorageEncrypted is enabled, the Amazon Web Services KMS key identifier for the encrypted DB cluster.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  If StorageEncrypted is enabled, the Amazon Web Services KMS key identifier for the encrypted DB cluster.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "DbClusterResourceId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services Region-unique, immutable identifier for the DB cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever \n the Amazon Web Services KMS CMK for the DB cluster is accessed.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services Region-unique, immutable identifier for the DB cluster. This identifier is found in Amazon Web Services CloudTrail log entries whenever \n the KMS key for the DB cluster is accessed.

                                                                                  " } }, "DBClusterArn": { @@ -4065,7 +4289,7 @@ "ActivityStreamKmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "ActivityStreamKinesisStreamName": { @@ -4678,7 +4902,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role.\n For the list of supported feature names, see DBEngineVersion.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role.\n For information about supported feature names, see DBEngineVersion.\n

                                                                                  " } } }, @@ -4854,7 +5078,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  If StorageEncrypted is true, the Amazon Web Services KMS key identifier for the encrypted DB cluster snapshot.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  If StorageEncrypted is true, the Amazon Web Services KMS key identifier for the encrypted DB cluster snapshot.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "DBClusterSnapshotArn": { @@ -5085,7 +5309,7 @@ "SupportedFeatureNames": { "target": "com.amazonaws.rds#FeatureNameList", "traits": { - "smithy.api#documentation": "

                                                                                  \n A list of features supported by the DB engine. Supported feature names include the following.\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    s3Import

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  \n A list of features supported by the DB engine.\n

                                                                                  \n

                                                                                  The supported features vary by DB engine and DB engine version.

                                                                                  \n

                                                                                  To determine the supported features for a specific DB engine and DB engine version using the CLI, \n use the following command:

                                                                                  \n

                                                                                  \n aws rds describe-db-engine-versions --engine --engine-version \n

                                                                                  \n

                                                                                  For example, to determine the supported features for RDS for PostgreSQL version 13.3 using the CLI, \n use the following command:

                                                                                  \n

                                                                                  \n aws rds describe-db-engine-versions --engine postgres --engine-version 13.3\n

                                                                                  \n

                                                                                  The supported features are listed under SupportedFeatureNames in the output.

                                                                                  " } }, "Status": { @@ -5105,6 +5329,45 @@ "traits": { "smithy.api#documentation": "

                                                                                  A value that indicates whether you can use Aurora global databases with a specific DB engine version.

                                                                                  " } + }, + "MajorEngineVersion": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The major engine version of the CEV.

                                                                                  " + } + }, + "DatabaseInstallationFilesS3BucketName": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of the Amazon S3 bucket that contains your database installation files.

                                                                                  " + } + }, + "DatabaseInstallationFilesS3Prefix": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon S3 directory that contains the database installation files. \n If not specified, then no prefix is assumed.

                                                                                  " + } + }, + "DBEngineVersionArn": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the custom engine version.

                                                                                  " + } + }, + "KMSKeyId": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted CEV. This parameter is required for \n RDS Custom, but optional for Amazon RDS.

                                                                                  " + } + }, + "CreateTime": { + "target": "com.amazonaws.rds#TStamp", + "traits": { + "smithy.api#documentation": "

                                                                                  The creation time of the DB engine version.

                                                                                  " + } + }, + "TagList": { + "target": "com.amazonaws.rds#TagList" } }, "traits": { @@ -5266,7 +5529,7 @@ "MultiAZ": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  Specifies if the DB instance is a Multi-AZ deployment.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies if the DB instance is a Multi-AZ deployment. This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EngineVersion": { @@ -5308,7 +5571,7 @@ "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  License model information for this DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  License model information for this DB instance. This setting doesn't apply to RDS Custom.

                                                                                  " } }, "Iops": { @@ -5386,13 +5649,13 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n If StorageEncrypted is true, the Amazon Web Services KMS key identifier \n for the encrypted DB instance.\n

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  \n If StorageEncrypted is true, the Amazon Web Services KMS key identifier \n for the encrypted DB instance.\n

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "DbiResourceId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in Amazon Web Services CloudTrail log \n entries whenever the Amazon Web Services KMS customer master key (CMK) for the DB instance is accessed.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in Amazon Web Services CloudTrail log \n entries whenever the Amazon Web Services KMS key for the DB instance is accessed.

                                                                                  " } }, "CACertificateIdentifier": { @@ -5464,7 +5727,7 @@ "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "PerformanceInsightsRetentionPeriod": { @@ -5539,7 +5802,7 @@ "ActivityStreamKmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS \n customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream. \n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "ActivityStreamKinesisStreamName": { @@ -5559,6 +5822,24 @@ "traits": { "smithy.api#documentation": "

                                                                                  Indicates whether engine-native audit fields are included in the database activity stream.

                                                                                  " } + }, + "AutomationMode": { + "target": "com.amazonaws.rds#AutomationMode", + "traits": { + "smithy.api#documentation": "

                                                                                  The automation mode of the RDS Custom DB instance: full or all paused. \n If full, the DB instance automates monitoring and instance recovery. If \n all paused, the instance pauses automation for the duration set by \n --resume-full-automation-mode-minutes.

                                                                                  " + } + }, + "ResumeFullAutomationModeTime": { + "target": "com.amazonaws.rds#TStamp", + "traits": { + "smithy.api#documentation": "

                                                                                  The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation. \n The minimum value is 60 (default). The maximum value is 1,440.\n

                                                                                  " + } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    The profile must exist in your account.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

                                                                                  " + } } }, "traits": { @@ -5708,7 +5989,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key ID for an automated backup.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key ID for an automated backup.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "Timezone": { @@ -5890,7 +6171,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role.\n For the list of supported feature names, see DBEngineVersion.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the feature associated with the Amazon Web Services Identity and Access Management (IAM) role.\n For information about supported feature names, see DBEngineVersion.\n

                                                                                  " } }, "Status": { @@ -7078,7 +7359,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n If Encrypted is true, the Amazon Web Services KMS key identifier \n for the encrypted DB snapshot.\n

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  \n If Encrypted is true, the Amazon Web Services KMS key identifier \n for the encrypted DB snapshot.\n

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "DBSnapshotArn": { @@ -7469,6 +7750,45 @@ } } }, + "com.amazonaws.rds#DeleteCustomDBEngineVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.rds#DeleteCustomDBEngineVersionMessage" + }, + "output": { + "target": "com.amazonaws.rds#DBEngineVersion" + }, + "errors": [ + { + "target": "com.amazonaws.rds#CustomDBEngineVersionNotFoundFault" + }, + { + "target": "com.amazonaws.rds#InvalidCustomDBEngineVersionStateFault" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    The CEV must not be the default for RDS Custom. If it is, change the default \n before running this command.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The CEV must not be associated with an RDS Custom DB instance, RDS Custom instance snapshot, \n or automated backup of your RDS Custom instance.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Typically, deletion takes a few minutes.

                                                                                  \n \n

                                                                                  The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with \n Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the \n DeleteCustomDbEngineVersion event aren't logged. However, you might see calls from the \n API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for \n the DeleteCustomDbEngineVersion event.

                                                                                  \n
                                                                                  \n

                                                                                  For more information, see \n Deleting a CEV in the Amazon RDS User Guide.

                                                                                  " + } + }, + "com.amazonaws.rds#DeleteCustomDBEngineVersionMessage": { + "type": "structure", + "members": { + "Engine": { + "target": "com.amazonaws.rds#CustomEngineName", + "traits": { + "smithy.api#documentation": "

                                                                                  The database engine. The only supported engine is custom-oracle-ee.

                                                                                  ", + "smithy.api#required": {} + } + }, + "EngineVersion": { + "target": "com.amazonaws.rds#CustomEngineVersion", + "traits": { + "smithy.api#documentation": "

                                                                                  The custom engine version (CEV) for your DB instance. This option is required for \n RDS Custom, but optional for Amazon RDS. The combination of Engine and \n EngineVersion is unique per customer per Amazon Web Services Region.

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.rds#DeleteDBCluster": { "type": "operation", "input": { @@ -7707,7 +8027,7 @@ "DBInstanceAutomatedBackupsArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the automated backups to delete, for example,\n arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the automated backups to delete, for example,\n arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } } }, @@ -7736,13 +8056,13 @@ "SkipFinalSnapshot": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to skip the creation of a final DB snapshot before the DB instance is deleted.\n If skip is specified, no DB snapshot is created. If skip isn't specified, a DB snapshot \n is created before the DB instance is deleted. By default, skip isn't specified, and the DB snapshot is created.

                                                                                  \n

                                                                                  When a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore', or 'incompatible-network', it can only be deleted when skip is specified.

                                                                                  \n

                                                                                  Specify skip when deleting a read replica.

                                                                                  \n \n

                                                                                  The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to skip the creation of a final DB snapshot before deleting the instance.\n If you enable this parameter, RDS doesn't create a DB snapshot. If you don't enable this parameter, \n RDS creates a DB snapshot before the DB instance is deleted. By default, skip isn't enabled, \n and the DB snapshot is created.

                                                                                  \n \n

                                                                                  If you don't enable this parameter, you must specify the FinalDBSnapshotIdentifier parameter.

                                                                                  \n
                                                                                  \n

                                                                                  When a DB instance is in a failure state and has a status of failed, incompatible-restore, \n or incompatible-network, RDS can delete the instance only if you enable this parameter.

                                                                                  \n

                                                                                  If you delete a read replica or an RDS Custom instance, you must enable this setting.

                                                                                  \n

                                                                                  This setting is required for RDS Custom.

                                                                                  " } }, "FinalDBSnapshotIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot\n parameter is disabled.\n

                                                                                  \n \n

                                                                                  Specifying this parameter and also specifying to skip final DB snapshot creation in SkipFinalShapshot results in an error.

                                                                                  \n
                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters or numbers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be specified when deleting a read replica.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  \n The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot\n parameter is disabled.\n

                                                                                  \n \n

                                                                                  If you enable this parameter and also enable SkipFinalShapshot, the command results in an error.

                                                                                  \n
                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters or numbers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be specified when deleting a read replica.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "DeleteAutomatedBackups": { @@ -8936,13 +9256,13 @@ "ListSupportedCharacterSets": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to list the supported character sets for each engine version.

                                                                                  \n

                                                                                  If this parameter is enabled and the requested engine supports the CharacterSetName parameter for CreateDBInstance, \n the response includes a list of supported character sets for each engine version.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to list the supported character sets for each engine version.

                                                                                  \n

                                                                                  If this parameter is enabled and the requested engine supports the CharacterSetName parameter for\n CreateDBInstance, the response includes a list of supported character sets for each engine\n version.

                                                                                  \n

                                                                                  For RDS Custom, the default is not to list supported character sets. If you set ListSupportedCharacterSets\n to true, RDS Custom returns no results.\n

                                                                                  " } }, "ListSupportedTimezones": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to list the supported time zones for each engine version.

                                                                                  \n

                                                                                  If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, \n the response includes a list of supported time zones for each engine version.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to list the supported time zones for each engine version.

                                                                                  \n

                                                                                  If this parameter is enabled and the requested engine supports the TimeZone parameter for CreateDBInstance, \n the response includes a list of supported time zones for each engine version.\n

                                                                                  \n

                                                                                  For RDS Custom, the default is not to list supported time zones. If you set ListSupportedTimezones\n to true, RDS Custom returns no results.\n

                                                                                  " } }, "IncludeAll": { @@ -9012,7 +9332,7 @@ "DBInstanceAutomatedBackupsArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the replicated automated backups, for example,\n arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the replicated automated backups, for example,\n arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } } }, @@ -9218,7 +9538,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Returns a list of DB log files for the DB instance.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns a list of DB log files for the DB instance.

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -10050,13 +10370,13 @@ "IncludeShared": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to include shared manual DB cluster snapshots \n from other Amazon Web Services accounts that this Amazon Web Services account has been given \n permission to copy or restore. By default, these snapshots are not included.

                                                                                  \n

                                                                                  You can give an Amazon Web Services account permission to restore a manual DB snapshot from\n another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to include shared manual DB cluster snapshots \n from other Amazon Web Services accounts that this Amazon Web Services account has been given \n permission to copy or restore. By default, these snapshots are not included.

                                                                                  \n

                                                                                  You can give an Amazon Web Services account permission to restore a manual DB snapshot from\n another Amazon Web Services account by using the ModifyDBSnapshotAttribute API action.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "IncludePublic": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to include manual DB cluster snapshots that are public and can be copied \n or restored by any Amazon Web Services account. By default, the public snapshots are not included.

                                                                                  \n

                                                                                  You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to include manual DB cluster snapshots that are public and can be copied \n or restored by any Amazon Web Services account. By default, the public snapshots are not included.

                                                                                  \n

                                                                                  You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute API.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DbiResourceId": { @@ -10445,7 +10765,7 @@ "Filters": { "target": "com.amazonaws.rds#FilterList", "traits": { - "smithy.api#documentation": "

                                                                                  Filters specify one or more snapshot exports to describe. The filters are specified as name-value pairs that define what to\n include in the output. Filter names and values are case-sensitive.

                                                                                  \n

                                                                                  Supported filters include the following:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n export-task-identifier - An identifier for the snapshot export task.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n s3-bucket - The Amazon S3 bucket the snapshot is exported to.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n source-arn - The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n status - The status of the export task. Must be lowercase, for example, complete.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  Filters specify one or more snapshot exports to describe. The filters are specified as name-value pairs that define what to\n include in the output. Filter names and values are case-sensitive.

                                                                                  \n

                                                                                  Supported filters include the following:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n export-task-identifier - An identifier for the snapshot export task.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n s3-bucket - The Amazon S3 bucket the snapshot is exported to.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n source-arn - The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n status - The status of the export task. Must be lowercase. Valid statuses are the following:

                                                                                    \n
                                                                                      \n
                                                                                    • \n

                                                                                      \n canceled\n

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n canceling\n

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n complete\n

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n failed\n

                                                                                      \n
                                                                                    • \n
                                                                                    • \n

                                                                                      \n starting\n

                                                                                      \n
                                                                                    • \n
                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "Marker": { @@ -10733,19 +11053,19 @@ "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The license model filter value. Specify this parameter to show only the available offerings matching the specified license model.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The license model filter value. Specify this parameter to show only the available offerings \n matching the specified license model.

                                                                                  \n

                                                                                  RDS Custom supports only the BYOL licensing model.

                                                                                  " } }, "AvailabilityZoneGroup": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group.

                                                                                  \n

                                                                                  Omit this parameter to show the available offerings in the specified Amazon Web Services Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Availability Zone group associated with a Local Zone. Specify this parameter to retrieve available offerings for the Local Zones in the group.

                                                                                  \n

                                                                                  Omit this parameter to show the available offerings in the specified Amazon Web Services Region.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "Vpc": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to show only VPC or non-VPC offerings.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to show only VPC or non-VPC offerings. RDS Custom supports \n only VPC offerings.

                                                                                  \n

                                                                                  RDS Custom supports only VPC offerings. If you describe non-VPC offerings for RDS Custom, the output \n shows VPC offerings.

                                                                                  " } }, "Filters": { @@ -11075,7 +11395,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  You can call DescribeValidDBInstanceModifications \n to learn what modifications you can make to your DB instance.\n You can use this information when you call \n ModifyDBInstance.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  You can call DescribeValidDBInstanceModifications to learn what modifications you can make to \n your DB instance. You can use this information when you call ModifyDBInstance.\n

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  " } }, "com.amazonaws.rds#DescribeValidDBInstanceModificationsMessage": { @@ -11101,6 +11421,16 @@ } } }, + "com.amazonaws.rds#Description": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.rds#DomainMembership": { "type": "structure", "members": { @@ -11217,7 +11547,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Downloads all or a portion of the specified log file, up to 1 MB in size.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Downloads all or a portion of the specified log file, up to 1 MB in size.

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  ", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -11701,7 +12031,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The key identifier of the Amazon Web Services KMS customer master key (CMK) that is used to encrypt the snapshot when it's exported to\n Amazon S3. The Amazon Web Services KMS CMK identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export\n must have encryption and decryption permissions to use this Amazon Web Services KMS CMK.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The key identifier of the Amazon Web Services KMS key that is used to encrypt the snapshot when it's exported to\n Amazon S3. The KMS key identifier is its key ARN, key ID, alias ARN, or alias name. The IAM role used for the snapshot export\n must have encryption and decryption permissions to use this KMS key.

                                                                                  " } }, "Status": { @@ -12007,7 +12337,7 @@ "GlobalClusterResourceId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in\n Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS customer master key (CMK) for the DB cluster is accessed.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  \n The Amazon Web Services Region-unique, immutable identifier for the global database cluster. This identifier is found in\n Amazon Web Services CloudTrail log entries whenever the Amazon Web Services KMS key for the DB cluster is accessed.\n

                                                                                  " } }, "GlobalClusterArn": { @@ -12559,6 +12889,23 @@ "smithy.api#box": {} } }, + "com.amazonaws.rds#InvalidCustomDBEngineVersionStateFault": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.rds#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "InvalidCustomDBEngineVersionStateFault", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

                                                                                  You can't delete the CEV.

                                                                                  ", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.rds#InvalidDBClusterCapacityFault": { "type": "structure", "members": { @@ -12990,6 +13337,16 @@ "target": "com.amazonaws.rds#String" } }, + "com.amazonaws.rds#KmsKeyIdOrArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_:\\-\\/]+$" + } + }, "com.amazonaws.rds#ListTagsForResource": { "type": "operation", "input": { @@ -13189,6 +13546,57 @@ } } }, + "com.amazonaws.rds#ModifyCustomDBEngineVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.rds#ModifyCustomDBEngineVersionMessage" + }, + "output": { + "target": "com.amazonaws.rds#DBEngineVersion" + }, + "errors": [ + { + "target": "com.amazonaws.rds#CustomDBEngineVersionNotFoundFault" + }, + { + "target": "com.amazonaws.rds#InvalidCustomDBEngineVersionStateFault" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Modifies the status of a custom engine version (CEV). You can find CEVs to modify by calling \n DescribeDBEngineVersions.

                                                                                  \n \n

                                                                                  The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with \n Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the \n ModifyCustomDbEngineVersion event aren't logged. However, you might see calls from the \n API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for \n the ModifyCustomDbEngineVersion event.

                                                                                  \n
                                                                                  \n

                                                                                  For more information, see Modifying CEV status \n in the Amazon RDS User Guide.

                                                                                  " + } + }, + "com.amazonaws.rds#ModifyCustomDBEngineVersionMessage": { + "type": "structure", + "members": { + "Engine": { + "target": "com.amazonaws.rds#CustomEngineName", + "traits": { + "smithy.api#documentation": "

                                                                                  The DB engine. The only supported value is custom-oracle-ee.

                                                                                  ", + "smithy.api#required": {} + } + }, + "EngineVersion": { + "target": "com.amazonaws.rds#CustomEngineVersion", + "traits": { + "smithy.api#documentation": "

                                                                                  The custom engine version (CEV) that you want to modify. This option is required for \n RDS Custom, but optional for Amazon RDS. The combination of Engine and \n EngineVersion is unique per customer per Amazon Web Services Region.

                                                                                  ", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.rds#Description", + "traits": { + "smithy.api#documentation": "

                                                                                  An optional description of your CEV.

                                                                                  " + } + }, + "Status": { + "target": "com.amazonaws.rds#CustomEngineVersionStatus", + "traits": { + "smithy.api#documentation": "

                                                                                  The availability status to be assigned to the CEV. Valid values are as follows:

                                                                                  \n
                                                                                  \n
                                                                                  available
                                                                                  \n
                                                                                  \n

                                                                                  You can use this CEV to create a new RDS Custom DB instance.

                                                                                  \n
                                                                                  \n
                                                                                  inactive
                                                                                  \n
                                                                                  \n

                                                                                  You can create a new RDS Custom instance by restoring a DB snapshot with this CEV. \n You can't patch or create new instances with this CEV.

                                                                                  \n
                                                                                  \n
                                                                                  \n

                                                                                  You can change any status to any status. A typical reason to change status is to prevent the accidental \n use of a CEV, or to make a deprecated CEV eligible for use again. For example, you might change the status \n of your CEV from available to inactive, and from inactive back to \n available. To change the availability status of the CEV, it must not currently be in use by an \n RDS Custom instance, snapshot, or automated backup.\n

                                                                                  " + } + } + } + }, "com.amazonaws.rds#ModifyDBCluster": { "type": "operation", "input": { @@ -13656,25 +14064,25 @@ "DBInstanceClass": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The new compute and memory capacity of the DB instance, for example, db.m4.large.\n Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.\n For the full list of DB instance classes,\n and availability for your engine, see\n DB Instance Class in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  If you modify the DB instance class, an outage occurs during the change.\n The change is applied during the next maintenance window,\n unless ApplyImmediately is enabled for this request.\n

                                                                                  \n

                                                                                  Default: Uses existing setting

                                                                                  " + "smithy.api#documentation": "

                                                                                  The new compute and memory capacity of the DB instance, for example, db.m4.large.\n Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.\n For the full list of DB instance classes,\n and availability for your engine, see\n DB Instance Class in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  If you modify the DB instance class, an outage occurs during the change.\n The change is applied during the next maintenance window,\n unless ApplyImmediately is enabled for this request.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Default: Uses existing setting

                                                                                  " } }, "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The new DB subnet group for the DB instance.\n You can use this parameter to move your DB instance to a different VPC.\n \n If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC.\n For more information, see \n Working with a DB instance in a VPC \n in the Amazon RDS User Guide. \n

                                                                                  \n

                                                                                  Changing the subnet group causes an outage during the change. \n The change is applied during the next maintenance window,\n unless you enable ApplyImmediately.\n

                                                                                  \n

                                                                                  Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                                                  \n

                                                                                  Example: mySubnetGroup\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The new DB subnet group for the DB instance.\n You can use this parameter to move your DB instance to a different VPC.\n \n If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC.\n For more information, see \n Working with a DB instance in a VPC \n in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  Changing the subnet group causes an outage during the change. \n The change is applied during the next maintenance window,\n unless you enable ApplyImmediately.

                                                                                  \n

                                                                                  This parameter doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraints: If supplied, must match the name of an existing DBSubnetGroup.

                                                                                  \n

                                                                                  Example: mySubnetGroup\n

                                                                                  " } }, "DBSecurityGroups": { "target": "com.amazonaws.rds#DBSecurityGroupNameList", "traits": { - "smithy.api#documentation": "

                                                                                  A list of DB security groups to authorize on this DB instance. Changing this setting doesn't result in an outage and the change is asynchronously applied as soon as possible.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If supplied, must match existing DBSecurityGroups.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of DB security groups to authorize on this DB instance. Changing this setting doesn't \n result in an outage and the change is asynchronously applied as soon as possible.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If supplied, must match existing DBSecurityGroups.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "VpcSecurityGroupIds": { "target": "com.amazonaws.rds#VpcSecurityGroupIdList", "traits": { - "smithy.api#documentation": "

                                                                                  A list of EC2 VPC security groups to authorize on this DB instance. This change is asynchronously applied as soon as possible.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The associated list of EC2 VPC security groups is managed by\n the DB cluster. For more information, see ModifyDBCluster.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If supplied, must match existing VpcSecurityGroupIds.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  A list of Amazon EC2 VPC security groups to authorize on this DB instance. This change is \n asynchronously applied as soon as possible.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The associated list of EC2 VPC security groups is managed by\n the DB cluster. For more information, see ModifyDBCluster.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If supplied, must match existing VpcSecurityGroupIds.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "ApplyImmediately": { @@ -13686,19 +14094,19 @@ "MasterUserPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The new password for the master user. The password can include any printable ASCII character except \"/\", \"\"\", or \"@\".

                                                                                  \n

                                                                                  \n Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. \n Between the time of the request and the completion of the request,\n the MasterUserPassword element exists in the\n PendingModifiedValues element of the operation response.\n

                                                                                  \n \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The password for the master user is managed by the DB cluster. For\n more information, see ModifyDBCluster.\n

                                                                                  \n \n

                                                                                  Default: Uses existing setting

                                                                                  \n\n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 41 characters.

                                                                                  \n \n

                                                                                  \n Microsoft SQL Server\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 128 characters.

                                                                                  \n \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 41 characters.

                                                                                  \n \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 30 characters.

                                                                                  \n \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 128 characters.

                                                                                  \n\n \n

                                                                                  Amazon RDS API actions never return the password, \n so this action provides a way to regain access to a primary instance user if the password is lost. \n This includes restoring privileges that might have been accidentally revoked.\n

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The new password for the master user. The password can include any printable ASCII \n character except \"/\", \"\"\", or \"@\".

                                                                                  \n

                                                                                  \n Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible. \n Between the time of the request and the completion of the request,\n the MasterUserPassword element exists in the\n PendingModifiedValues element of the operation response.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The password for the master user is managed by the DB cluster. For\n more information, see ModifyDBCluster.\n

                                                                                  \n \n

                                                                                  Default: Uses existing setting

                                                                                  \n\n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 41 characters.

                                                                                  \n \n

                                                                                  \n Microsoft SQL Server\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 128 characters.

                                                                                  \n \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 41 characters.

                                                                                  \n \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 30 characters.

                                                                                  \n \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  Constraints: Must contain from 8 to 128 characters.

                                                                                  \n\n \n

                                                                                  Amazon RDS API actions never return the password, \n so this action provides a way to regain access to a primary instance user if the password is lost. \n This includes restoring privileges that might have been accidentally revoked.\n

                                                                                  \n
                                                                                  " } }, "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to apply to the DB instance. Changing this\n setting doesn't result in an outage. The parameter group name itself is changed\n immediately, but the actual parameter changes are not applied until you reboot the\n instance without failover. In this case, the DB instance isn't rebooted automatically and the\n parameter changes isn't applied during the next maintenance window.

                                                                                  \n

                                                                                  Default: Uses existing setting

                                                                                  \n

                                                                                  Constraints: The DB parameter group must be in the same DB parameter group family as this DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to apply to the DB instance.

                                                                                  \n

                                                                                  Changing this setting doesn't result in an outage. The parameter group name itself is changed\n immediately, but the actual parameter changes are not applied until you reboot the\n instance without failover. In this case, the DB instance isn't rebooted automatically, and the\n parameter changes aren't applied during the next maintenance window. However, if you modify \n dynamic parameters in the newly associated DB parameter group, these changes are applied \n immediately without a reboot.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Default: Uses existing setting

                                                                                  \n

                                                                                  Constraints: The DB parameter group must be in the same DB parameter group family as the DB instance.

                                                                                  " } }, "BackupRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

                                                                                  \n \n

                                                                                  Enabling and disabling backups can result in a brief I/O suspension that lasts from a few seconds to a few minutes, depending on the size and class of your DB instance.

                                                                                  \n
                                                                                  \n

                                                                                  These changes are applied during the next maintenance window unless the ApplyImmediately parameter is enabled\n for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously\n applied as soon as possible.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The retention period for automated backups is managed by the DB\n cluster. For more information, see ModifyDBCluster.

                                                                                  \n

                                                                                  Default: Uses existing setting

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must be a value from 0 to 35

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can be specified for a MySQL read replica only if the source is running MySQL 5.6 or\n later

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can be specified for a PostgreSQL read replica only if the source is running PostgreSQL\n 9.3.5

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't be set to 0 if the DB instance is a source to read replicas

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups.

                                                                                  \n \n

                                                                                  Enabling and disabling backups can result in a brief I/O suspension that lasts from a few seconds to a few minutes, depending on the size and class of your DB instance.

                                                                                  \n
                                                                                  \n

                                                                                  These changes are applied during the next maintenance window unless the ApplyImmediately parameter is enabled\n for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously\n applied as soon as possible.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  Not applicable. The retention period for automated backups is managed by the DB\n cluster. For more information, see ModifyDBCluster.

                                                                                  \n

                                                                                  Default: Uses existing setting

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    It must be a value from 0 to 35. It can't be set to 0 if the DB instance is a source to \n read replicas. It can't be set to 0 or 35 for an RDS Custom DB instance.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It can be specified for a MySQL read replica only if the source is running MySQL 5.6 or\n later.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    It can be specified for a PostgreSQL read replica only if the source is running PostgreSQL\n 9.3.5.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "PreferredBackupWindow": { @@ -13716,31 +14124,31 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is a Multi-AZ deployment. \n Changing this parameter doesn't result in an outage and the change \n is applied during the next maintenance window\n unless the ApplyImmediately parameter is \n enabled for this request.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is a Multi-AZ deployment. Changing this parameter doesn't result \n in an outage. The change is applied during the next maintenance window unless the ApplyImmediately \n parameter is enabled for this request.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EngineVersion": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The version number of the database engine to upgrade to. \n Changing this parameter results in an outage and the change \n is applied during the next maintenance window\n unless the ApplyImmediately parameter is enabled for this request.\n

                                                                                  \n

                                                                                  For major version upgrades, if a nondefault DB parameter group is currently in use, a\n new DB parameter group in the DB parameter group family for the new engine version must\n be specified. The new DB parameter group can be the default for that DB parameter group\n family.

                                                                                  \n

                                                                                  If you specify only a major version, Amazon RDS will update the DB instance to the \n default minor version if the current minor version is lower.\n For information about valid engine versions, see CreateDBInstance, \n or call DescribeDBEngineVersions.

                                                                                  " + "smithy.api#documentation": "

                                                                                  \n The version number of the database engine to upgrade to. \n Changing this parameter results in an outage and the change \n is applied during the next maintenance window\n unless the ApplyImmediately parameter is enabled for this request.\n

                                                                                  \n

                                                                                  For major version upgrades, if a nondefault DB parameter group is currently in use, a\n new DB parameter group in the DB parameter group family for the new engine version must\n be specified. The new DB parameter group can be the default for that DB parameter group\n family.

                                                                                  \n

                                                                                  If you specify only a major version, Amazon RDS will update the DB instance to the \n default minor version if the current minor version is lower.\n For information about valid engine versions, see CreateDBInstance, \n or call DescribeDBEngineVersions.

                                                                                  \n

                                                                                  In RDS Custom, this parameter is supported for read replicas only if they are in the \n PATCH_DB_FAILURE lifecycle.\n

                                                                                  " } }, "AllowMajorVersionUpgrade": { "target": "com.amazonaws.rds#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't result in an outage and the change is asynchronously applied as soon as possible.

                                                                                  \n

                                                                                  Constraints: Major version upgrades must be allowed when specifying a value for the EngineVersion parameter that is a different major version than the DB instance's current version.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether major version upgrades are allowed. Changing this parameter doesn't \n result in an outage and the change is asynchronously applied as soon as possible.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraints: Major version upgrades must be allowed when specifying a value \n for the EngineVersion parameter that is a different major version than the DB instance's current version.

                                                                                  " } }, "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  \n A value that indicates whether minor version upgrades are applied automatically\n to the DB instance during the maintenance window. \n Changing this parameter doesn't result in an outage except in the following case \n and the change is asynchronously applied as soon as possible.\n An outage results if this parameter is enabled during the maintenance window, \n and a newer minor version is available, and RDS has enabled auto patching for that engine version.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether minor version upgrades are applied automatically to the DB instance \n during the maintenance window. An outage occurs when all the following conditions are met:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    The automatic upgrade is enabled for the maintenance window.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    A newer minor version is available.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    RDS has enabled automatic patching for the engine version.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  If any of the preceding conditions isn't met, RDS applies the change as soon as possible and\n doesn't cause an outage.

                                                                                  \n

                                                                                  For an RDS Custom DB instance, set AutoMinorVersionUpgrade \n to false. Otherwise, the operation returns an error.

                                                                                  " } }, "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The license model for the DB instance.

                                                                                  \n

                                                                                  Valid values: license-included | bring-your-own-license | \n general-public-license\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The license model for the DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Valid values: license-included | bring-your-own-license | \n general-public-license\n

                                                                                  " } }, "Iops": { @@ -13752,13 +14160,13 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n A value that indicates the DB instance should be associated with the specified option group. \n Changing this parameter doesn't result in an outage except in the following case and the change \n is applied during the next maintenance window\n unless the ApplyImmediately parameter is enabled \n for this request. If the parameter change results in an option group that \n enables OEM, this change can cause a brief (sub-second) period during which new connections \n are rejected but existing connections are not interrupted.\n

                                                                                  \n

                                                                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates the DB instance should be associated with the specified option group.

                                                                                  \n

                                                                                  Changing this parameter doesn't result in an outage, with one exception. If the parameter change results \n in an option group that enables OEM, it can cause a brief period, lasting less than a second, during which \n new connections are rejected but existing connections aren't interrupted.

                                                                                  \n

                                                                                  The change is applied during the next maintenance window unless the ApplyImmediately parameter \n is enabled for this request.

                                                                                  \n

                                                                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed \n from an option group, and that option group can't be removed from a DB instance after \n it is associated with a DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "NewDBInstanceIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  \n The new DB instance identifier for the DB instance when renaming a DB\n instance. When you change the DB instance identifier, an instance \n reboot occurs immediately if you enable ApplyImmediately, or will occur \n during the next maintenance window if you disable Apply Immediately. This value is stored \n as a lowercase string. \n

                                                                                  \n\n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must contain from 1 to 63 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The first character must be a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Example: mydbinstance\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The new DB instance identifier for the DB instance when renaming a DB instance. When you change the DB instance \n identifier, an instance reboot occurs immediately if you enable ApplyImmediately, or will occur \n during the next maintenance window if you disable Apply Immediately. This value is stored as a lowercase string. \n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    Must contain from 1 to 63 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The first character must be a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Example: mydbinstance\n

                                                                                  " } }, "StorageType": { @@ -13770,25 +14178,25 @@ "TdeCredentialArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "TdeCredentialPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The password for the given ARN from the key store in order to access the device.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The password for the given ARN from the key store in order to access the device.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "CACertificateIdentifier": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  Indicates the certificate that needs to be associated with the instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specifies the certificate to associate with the DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Active Directory directory ID to move the DB instance to. \n Specify none to remove the instance from its current domain.\n The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Active Directory directory ID to move the DB instance to. \n Specify none to remove the instance from its current domain.\n You must create the domain before this operation. Currently, you can create only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "CopyTagsToSnapshot": { @@ -13800,79 +14208,79 @@ "MonitoringInterval": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0.

                                                                                  \n

                                                                                  If MonitoringRoleArn is specified, then you must also set MonitoringInterval\n to a value other than 0.

                                                                                  \n

                                                                                  Valid Values: 0, 1, 5, 10, 15, 30, 60\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The interval, in seconds, between points when Enhanced Monitoring metrics are collected \n for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0, which is the default.

                                                                                  \n

                                                                                  If MonitoringRoleArn is specified, set MonitoringInterval to a value other than 0.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Valid Values: 0, 1, 5, 10, 15, 30, 60\n

                                                                                  " } }, "DBPortNumber": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The port number on which the database accepts connections.

                                                                                  \n

                                                                                  The value of the DBPortNumber parameter must not match any of the port values specified for options in the option\n group for the DB instance.

                                                                                  \n

                                                                                  Your database will restart when you change the DBPortNumber value regardless of the value of the ApplyImmediately\n parameter.

                                                                                  \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  \n Default: 3306\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  \n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  \n Default: 3306\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  \n Default: 5432\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  \n

                                                                                  Type: Integer

                                                                                  \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  \n Default: 1521\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  \n

                                                                                  \n SQL Server\n

                                                                                  \n

                                                                                  \n Default: 1433\n

                                                                                  \n

                                                                                  Valid values: 1150-65535 except 1234, 1434,\n 3260, 3343, 3389, 47001, and\n 49152-49156.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  \n Default: 3306\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The port number on which the database accepts connections.

                                                                                  \n

                                                                                  The value of the DBPortNumber parameter must not match any of the port values \n specified for options in the option group for the DB instance.

                                                                                  \n

                                                                                  If you change the DBPortNumber value, your database restarts regardless of \n the value of the ApplyImmediately parameter.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  \n MySQL\n

                                                                                  \n

                                                                                  \n Default: 3306\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  \n

                                                                                  \n MariaDB\n

                                                                                  \n

                                                                                  \n Default: 3306\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  \n

                                                                                  \n PostgreSQL\n

                                                                                  \n

                                                                                  \n Default: 5432\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  \n

                                                                                  Type: Integer

                                                                                  \n

                                                                                  \n Oracle\n

                                                                                  \n

                                                                                  \n Default: 1521\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  \n

                                                                                  \n SQL Server\n

                                                                                  \n

                                                                                  \n Default: 1433\n

                                                                                  \n

                                                                                  Valid values: 1150-65535 except 1234, 1434,\n 3260, 3343, 3389, 47001, and\n 49152-49156.

                                                                                  \n

                                                                                  \n Amazon Aurora\n

                                                                                  \n

                                                                                  \n Default: 3306\n

                                                                                  \n

                                                                                  Valid values: 1150-65535\n

                                                                                  " } }, "PubliclyAccessible": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is publicly accessible.\n

                                                                                  \n

                                                                                  When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, \n and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, \n and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                                                                  \n

                                                                                  When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                                                                  \n

                                                                                  \n PubliclyAccessible only applies to DB instances in a VPC. \n The DB instance must be part of a public subnet and \n PubliclyAccessible must be enabled for it to be publicly accessible.\n

                                                                                  \n

                                                                                  Changes to the PubliclyAccessible parameter are applied immediately regardless\n of the value of the ApplyImmediately parameter.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is publicly accessible.\n

                                                                                  \n

                                                                                  When the DB instance is publicly accessible, its DNS endpoint resolves to the private IP address from within the DB instance's VPC, \n and to the public IP address from outside of the DB instance's VPC. Access to the DB instance is ultimately controlled by the security group it uses, \n and that public access is not permitted if the security group assigned to the DB instance doesn't permit it.

                                                                                  \n

                                                                                  When the DB instance isn't publicly accessible, it is an internal DB instance with a DNS name that resolves to a private IP address.

                                                                                  \n

                                                                                  \n PubliclyAccessible only applies to DB instances in a VPC. The DB instance must be part of a \n public subnet and PubliclyAccessible must be enabled for it to be publicly accessible.\n

                                                                                  \n

                                                                                  Changes to the PubliclyAccessible parameter are applied immediately regardless\n of the value of the ApplyImmediately parameter.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "MonitoringRoleArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n go to To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  If MonitoringInterval is set to a value other than 0, then you must supply a MonitoringRoleArn value.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The ARN for the IAM role that permits RDS to send enhanced monitoring metrics to Amazon CloudWatch Logs. For\n example, arn:aws:iam:123456789012:role/emaccess. For information on creating a monitoring role,\n see To \n create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  If MonitoringInterval is set to a value other than 0, supply a MonitoringRoleArn \n value.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the IAM role to use when making API calls to the Directory Service.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the IAM role to use when making API calls to the Directory Service.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "PromotionTier": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that specifies the order in which an Aurora Replica is promoted to the primary instance \n after a failure of the existing primary instance. For more information, \n see \n Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.\n

                                                                                  \n

                                                                                  Default: 1

                                                                                  \n

                                                                                  Valid Values: 0 - 15

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that specifies the order in which an Aurora Replica is promoted to the primary instance \n after a failure of the existing primary instance. For more information, \n see \n Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.\n

                                                                                  \n

                                                                                  Default: 1

                                                                                  \n

                                                                                  Valid Values: 0 - 15

                                                                                  " } }, "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n \n

                                                                                  This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB\n cluster.

                                                                                  \n \n

                                                                                  For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n

                                                                                  This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services IAM accounts to database accounts is managed by the DB\n cluster.

                                                                                  \n

                                                                                  For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnablePerformanceInsights": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable Performance Insights for the DB instance.

                                                                                  \n

                                                                                  For more information, see \n Using Amazon Performance Insights in the Amazon Relational Database Service\n User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable Performance Insights for the DB instance.

                                                                                  \n

                                                                                  For more information, see \n Using Amazon Performance Insights in the Amazon Relational Database Service\n User Guide.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  \n

                                                                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default CMK. There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  \n

                                                                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default KMS key. There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "PerformanceInsightsRetentionPeriod": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                                  " + "smithy.api#documentation": "

                                                                                  The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "CloudwatchLogsExportConfiguration": { "target": "com.amazonaws.rds#CloudwatchLogsExportConfiguration", "traits": { - "smithy.api#documentation": "

                                                                                  The configuration setting for the log types to be enabled for export to CloudWatch Logs for a specific DB instance.

                                                                                  \n

                                                                                  A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance \n immediately. Therefore, the ApplyImmediately parameter has no effect.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The configuration setting for the log types to be enabled for export to CloudWatch Logs for a \n specific DB instance.

                                                                                  \n

                                                                                  A change to the CloudwatchLogsExportConfiguration parameter is always applied to the DB instance \n immediately. Therefore, the ApplyImmediately parameter has no effect.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "UseDefaultProcessorFeatures": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DeletionProtection": { @@ -13884,19 +14292,19 @@ "MaxAllocatedStorage": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                                                  \n

                                                                                  For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                                                  \n

                                                                                  For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "CertificateRotationRestart": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is restarted when you rotate your \n SSL/TLS certificate.

                                                                                  \n

                                                                                  By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate \n is not updated until the DB instance is restarted.

                                                                                  \n \n

                                                                                  Set this parameter only if you are not using SSL/TLS to connect to the DB instance.

                                                                                  \n
                                                                                  \n

                                                                                  If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your \n DB engine to rotate your SSL/TLS certificate:

                                                                                  \n " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is restarted when you rotate your \n SSL/TLS certificate.

                                                                                  \n

                                                                                  By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate \n is not updated until the DB instance is restarted.

                                                                                  \n \n

                                                                                  Set this parameter only if you are not using SSL/TLS to connect to the DB instance.

                                                                                  \n
                                                                                  \n

                                                                                  If you are using SSL/TLS to connect to the DB instance, follow the appropriate instructions for your \n DB engine to rotate your SSL/TLS certificate:

                                                                                  \n \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "ReplicaMode": { "target": "com.amazonaws.rds#ReplicaMode", "traits": { - "smithy.api#documentation": "

                                                                                  A value that sets the open mode of a replica database to either mounted or read-only.

                                                                                  \n \n

                                                                                  Currently, this parameter is only supported for Oracle DB instances.

                                                                                  \n
                                                                                  \n

                                                                                  Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for \n mounted replicas is cross-Region disaster recovery. The primary database doesn't use \n Active Data Guard to transmit information to the mounted replica. Because it doesn't \n accept user connections, a mounted replica can't serve a read-only workload. \n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that sets the open mode of a replica database to either mounted or read-only.

                                                                                  \n \n

                                                                                  Currently, this parameter is only supported for Oracle DB instances.

                                                                                  \n
                                                                                  \n

                                                                                  Mounted DB replicas are included in Oracle Enterprise Edition. The main use case for \n mounted replicas is cross-Region disaster recovery. The primary database doesn't use \n Active Data Guard to transmit information to the mounted replica. Because it doesn't \n accept user connections, a mounted replica can't serve a read-only workload. \n For more information, see Working with Oracle Read Replicas for Amazon RDS \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableCustomerOwnedIp": { @@ -13908,7 +14316,19 @@ "AwsBackupRecoveryPointArn": { "target": "com.amazonaws.rds#AwsBackupRecoveryPointArn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services Backup.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " + } + }, + "AutomationMode": { + "target": "com.amazonaws.rds#AutomationMode", + "traits": { + "smithy.api#documentation": "

                                                                                  The automation mode of the RDS Custom DB instance: full or all paused. \n If full, the DB instance automates monitoring and instance recovery. If \n all paused, the instance pauses automation for the duration set by \n ResumeFullAutomationModeMinutes.

                                                                                  " + } + }, + "ResumeFullAutomationModeMinutes": { + "target": "com.amazonaws.rds#IntegerOptional", + "traits": { + "smithy.api#documentation": "

                                                                                  The number of minutes to pause the automation. When the time period ends, RDS Custom resumes \n full automation. The minimum value is 60 (default). The maximum value is 1,440. \n

                                                                                  " } } }, @@ -14194,7 +14614,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Updates a manual DB snapshot with a new engine version. The snapshot can be encrypted\n or unencrypted, but not shared or public.\n \n

                                                                                  \n \n

                                                                                  Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Updates a manual DB snapshot with a new engine version. The snapshot can be encrypted\n or unencrypted, but not shared or public.\n \n

                                                                                  \n \n

                                                                                  Amazon RDS supports upgrading DB snapshots for MySQL, PostgreSQL, and Oracle. This command\n doesn't apply to RDS Custom.\n

                                                                                  " } }, "com.amazonaws.rds#ModifyDBSnapshotAttribute": { @@ -15688,6 +16108,18 @@ "traits": { "smithy.api#documentation": "

                                                                                  Whether mapping of Amazon Web Services Identity and Access Management (IAM) accounts to database accounts is enabled.

                                                                                  " } + }, + "AutomationMode": { + "target": "com.amazonaws.rds#AutomationMode", + "traits": { + "smithy.api#documentation": "

                                                                                  The automation mode of the RDS Custom DB instance: full or all-paused. \n If full, the DB instance automates monitoring and instance recovery. If \n all-paused, the instance pauses automation for the duration set by \n --resume-full-automation-mode-minutes.

                                                                                  " + } + }, + "ResumeFullAutomationModeTime": { + "target": "com.amazonaws.rds#TStamp", + "traits": { + "smithy.api#documentation": "

                                                                                  The number of minutes to pause the automation. When the time period ends, RDS Custom resumes full automation. \n The minimum value is 60 (default). The maximum value is 1,440.\n

                                                                                  " + } } }, "traits": { @@ -15757,7 +16189,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Promotes a read replica DB instance to a standalone DB instance.

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    Backup duration is a function of the amount of changes to the database since the previous\n backup. If you plan to promote a read replica to a standalone instance, we\n recommend that you enable backups and complete at least one backup prior to\n promotion. In addition, a read replica cannot be promoted to a standalone\n instance when it is in the backing-up status. If you have\n enabled backups on your read replica, configure the automated backup window\n so that daily backups do not interfere with read replica\n promotion.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  Promotes a read replica DB instance to a standalone DB instance.

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    Backup duration is a function of the amount of changes to the database since the previous\n backup. If you plan to promote a read replica to a standalone instance, we\n recommend that you enable backups and complete at least one backup prior to\n promotion. In addition, a read replica cannot be promoted to a standalone\n instance when it is in the backing-up status. If you have\n enabled backups on your read replica, configure the automated backup window\n so that daily backups do not interfere with read replica\n promotion.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    This command doesn't apply to Aurora MySQL, Aurora PostgreSQL, or RDS Custom.

                                                                                    \n
                                                                                  • \n
                                                                                  \n \n
                                                                                  " } }, "com.amazonaws.rds#PromoteReadReplicaDBCluster": { @@ -16001,7 +16433,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  You might need to reboot your DB instance, usually for maintenance reasons. \n For example, if you make certain modifications, \n or if you change the DB parameter group associated with the DB instance, \n you must reboot the instance for the changes to take effect.\n

                                                                                  \n\n

                                                                                  Rebooting a DB instance restarts the database engine service. \n Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.\n

                                                                                  \n \n

                                                                                  For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  You might need to reboot your DB instance, usually for maintenance reasons. \n For example, if you make certain modifications, \n or if you change the DB parameter group associated with the DB instance, \n you must reboot the instance for the changes to take effect.\n

                                                                                  \n\n

                                                                                  Rebooting a DB instance restarts the database engine service. \n Rebooting a DB instance results in a momentary outage, during which the DB instance status is set to rebooting.\n

                                                                                  \n \n

                                                                                  For more information about rebooting, see Rebooting a DB Instance in the Amazon RDS User Guide.\n

                                                                                  \n \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  " } }, "com.amazonaws.rds#RebootDBInstanceMessage": { @@ -16232,7 +16664,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the feature for the DB cluster that the IAM role is to be disassociated from.\n For the list of supported feature names, see DBEngineVersion.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the feature for the DB cluster that the IAM role is to be disassociated from.\n For information about supported feature names, see DBEngineVersion.

                                                                                  " } } } @@ -16277,7 +16709,7 @@ "FeatureName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the feature for the DB instance that the IAM role is to be disassociated from.\n For the list of supported feature names, see DBEngineVersion.\n

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name of the feature for the DB instance that the IAM role is to be disassociated from.\n For information about supported feature names, see DBEngineVersion.\n

                                                                                  ", "smithy.api#required": {} } } @@ -16996,7 +17428,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB cluster.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  If the StorageEncrypted parameter is enabled, and you do\n not specify a value for the KmsKeyId parameter, then\n Amazon RDS will use your default CMK. There is a \n default CMK for your Amazon Web Services account. Your Amazon Web Services account has a different\n default CMK for each Amazon Web Services Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB cluster.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  If the StorageEncrypted parameter is enabled, and you do\n not specify a value for the KmsKeyId parameter, then\n Amazon RDS will use your default KMS key. There is a \n default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different\n default KMS key for each Amazon Web Services Region.

                                                                                  " } }, "EnableIAMDatabaseAuthentication": { @@ -17225,7 +17657,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB\n snapshot or DB cluster snapshot.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  When you don't specify a value for the KmsKeyId parameter, then the\n following occurs:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If the DB snapshot or DB cluster snapshot in\n SnapshotIdentifier is encrypted, then the restored DB cluster\n is encrypted using the Amazon Web Services KMS CMK that was used to encrypt the DB snapshot or DB\n cluster snapshot.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the DB snapshot or DB cluster snapshot in \n SnapshotIdentifier isn't encrypted, then the restored DB cluster\n isn't encrypted.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from a DB\n snapshot or DB cluster snapshot.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  When you don't specify a value for the KmsKeyId parameter, then the\n following occurs:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If the DB snapshot or DB cluster snapshot in\n SnapshotIdentifier is encrypted, then the restored DB cluster\n is encrypted using the KMS key that was used to encrypt the DB snapshot or DB\n cluster snapshot.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the DB snapshot or DB cluster snapshot in \n SnapshotIdentifier isn't encrypted, then the restored DB cluster\n isn't encrypted.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "EnableIAMDatabaseAuthentication": { @@ -17434,7 +17866,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  You can restore to a new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK that is different than the\n Amazon Web Services KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the Amazon Web Services KMS CMK\n identified by the KmsKeyId parameter.

                                                                                  \n

                                                                                  If you don't specify a value for the KmsKeyId parameter, then the following occurs:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If the DB cluster is encrypted, then the restored DB cluster is encrypted using the Amazon Web Services KMS CMK that was used to encrypt the source DB cluster.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted.

                                                                                    \n
                                                                                  • \n
                                                                                  \n\n

                                                                                  If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the restore request\n is rejected.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier to use when restoring an encrypted DB cluster from an encrypted DB cluster.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  You can restore to a new DB cluster and encrypt the new DB cluster with a KMS key that is different from the\n KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted with the KMS key\n identified by the KmsKeyId parameter.

                                                                                  \n

                                                                                  If you don't specify a value for the KmsKeyId parameter, then the following occurs:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If the DB cluster is encrypted, then the restored DB cluster is encrypted using the KMS key that was used to encrypt the source DB cluster.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If the DB cluster isn't encrypted, then the restored DB cluster isn't encrypted.

                                                                                    \n
                                                                                  • \n
                                                                                  \n\n

                                                                                  If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then the restore request\n is rejected.

                                                                                  " } }, "EnableIAMDatabaseAuthentication": { @@ -17628,7 +18060,7 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is a Multi-AZ deployment.

                                                                                  \n

                                                                                  Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is a Multi-AZ deployment.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                                                  " } }, "PubliclyAccessible": { @@ -17640,25 +18072,25 @@ "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether minor version upgrades are applied automatically to the DB instance \n during the maintenance window.

                                                                                  \n

                                                                                  If you restore an RDS Custom DB instance, you must disable this parameter.

                                                                                  " } }, "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  License model information for the restored DB instance.

                                                                                  \n

                                                                                  Default: Same as source.

                                                                                  \n

                                                                                  \n Valid values: license-included | bring-your-own-license | general-public-license\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  License model information for the restored DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Default: Same as source.

                                                                                  \n

                                                                                  \n Valid values: license-included | bring-your-own-license | general-public-license\n

                                                                                  " } }, "DBName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The database name for the restored DB instance.

                                                                                  \n \n

                                                                                  This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The database name for the restored DB instance.

                                                                                  \n

                                                                                  This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines. It also doesn't apply to RDS\n Custom DB instances.

                                                                                  " } }, "Engine": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The database engine to use for the new instance.

                                                                                  \n

                                                                                  Default: The same as source

                                                                                  \n

                                                                                  Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

                                                                                  \n\n

                                                                                  Valid Values:

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n mariadb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n mysql\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n postgres\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-se\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ex\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-web\n

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The database engine to use for the new instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Default: The same as source

                                                                                  \n

                                                                                  Constraint: Must be compatible with the engine of the source. For example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.

                                                                                  \n\n

                                                                                  Valid Values:

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n mariadb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n mysql\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n postgres\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-se\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ex\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-web\n

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "Iops": { @@ -17670,7 +18102,7 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the option group to be used for the restored DB instance.

                                                                                  \n \n

                                                                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the option group to be used for the restored DB instance.

                                                                                  \n \n

                                                                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option \n group, and that option group can't be removed from a DB instance after it is associated with a DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "Tags": { @@ -17685,13 +18117,13 @@ "TdeCredentialArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "TdeCredentialPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The password for the given ARN from the key store in order to access the device.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The password for the given ARN from the key store in order to access the device.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "VpcSecurityGroupIds": { @@ -17703,7 +18135,7 @@ "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  Specify the Active Directory directory ID to restore the DB instance in.\n The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specify the Active Directory directory ID to restore the DB instance in.\n The domain/ must be created prior to this operation. Currently, you can create only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "CopyTagsToSnapshot": { @@ -17715,37 +18147,37 @@ "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n \n

                                                                                  For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n \n

                                                                                  For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableCloudwatchLogsExports": { "target": "com.amazonaws.rds#LogTypeList", "traits": { - "smithy.api#documentation": "

                                                                                  The list of logs that the restored DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of logs that the restored DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "UseDefaultProcessorFeatures": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance class of the DB instance uses its default\n processor features.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to associate with this DB instance.

                                                                                  \n

                                                                                  If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup \n for the specified DB engine is used.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If supplied, must match the name of an existing DBParameterGroup.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to associate with this DB instance.

                                                                                  \n

                                                                                  If you don't specify a value for DBParameterGroupName, then RDS uses the default DBParameterGroup \n for the specified DB engine.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If supplied, must match the name of an existing DBParameterGroup.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "DeletionProtection": { @@ -17757,7 +18189,13 @@ "EnableCustomerOwnedIp": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

                                                                                  \n

                                                                                  A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

                                                                                  \n

                                                                                  For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

                                                                                  \n

                                                                                  A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

                                                                                  " + } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    The profile must exist in your account.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

                                                                                  \n

                                                                                  This setting is required for RDS Custom.

                                                                                  " } } }, @@ -17835,7 +18273,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Amazon Relational Database Service (Amazon RDS) \n supports importing MySQL databases by using backup files. \n You can create a backup of your on-premises database, \n store it on Amazon Simple Storage Service (Amazon S3), \n and then restore the backup file onto a new Amazon RDS DB instance running MySQL.\n For more information, see Importing Data into an Amazon RDS MySQL DB Instance \n in the Amazon RDS User Guide. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Amazon Relational Database Service (Amazon RDS) \n supports importing MySQL databases by using backup files. \n You can create a backup of your on-premises database, \n store it on Amazon Simple Storage Service (Amazon S3), \n and then restore the backup file onto a new Amazon RDS DB instance running MySQL.\n For more information, see Importing Data into an Amazon RDS MySQL DB Instance \n in the Amazon RDS User Guide. \n

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  " } }, "com.amazonaws.rds#RestoreDBInstanceFromS3Message": { @@ -18003,7 +18441,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB instance.\n

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).\n To use a CMK in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  If the StorageEncrypted parameter is enabled, \n and you do not specify a value for the KmsKeyId parameter, \n then Amazon RDS will use your default CMK. \n There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for an encrypted DB instance.\n

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.\n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

                                                                                  \n

                                                                                  If the StorageEncrypted parameter is enabled, \n and you do not specify a value for the KmsKeyId parameter, \n then Amazon RDS will use your default KMS key. \n There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.\n

                                                                                  " } }, "CopyTagsToSnapshot": { @@ -18073,7 +18511,7 @@ "PerformanceInsightsKMSKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  \n

                                                                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default CMK. There is a default CMK for your Amazon Web Services account. \n Your Amazon Web Services account has a different default CMK for each Amazon Web Services Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encryption of Performance Insights data.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  \n

                                                                                  If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon RDS \n uses your default KMS key. There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

                                                                                  " } }, "PerformanceInsightsRetentionPeriod": { @@ -18257,7 +18695,7 @@ "MultiAZ": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is a Multi-AZ deployment.

                                                                                  \n

                                                                                  Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a Multi-AZ deployment.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance is a Multi-AZ deployment.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraint: You can't specify the AvailabilityZone parameter if the DB instance is a \n Multi-AZ deployment.

                                                                                  " } }, "PubliclyAccessible": { @@ -18269,25 +18707,25 @@ "AutoMinorVersionUpgrade": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether minor version upgrades are applied automatically to the DB instance during the maintenance window.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether minor version upgrades are applied automatically to the \n DB instance during the maintenance window.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "LicenseModel": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  License model information for the restored DB instance.

                                                                                  \n

                                                                                  Default: Same as source.

                                                                                  \n

                                                                                  \n Valid values: license-included | bring-your-own-license | general-public-license\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  License model information for the restored DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Default: Same as source.

                                                                                  \n

                                                                                  \n Valid values: license-included | bring-your-own-license | general-public-license\n

                                                                                  " } }, "DBName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The database name for the restored DB instance.

                                                                                  \n \n

                                                                                  This parameter isn't used for the MySQL or MariaDB engines.

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The database name for the restored DB instance.

                                                                                  \n \n

                                                                                  This parameter isn't supported for the MySQL or MariaDB engines. It also doesn't apply to RDS Custom.

                                                                                  \n
                                                                                  " } }, "Engine": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The database engine to use for the new instance.

                                                                                  \n

                                                                                  Default: The same as source

                                                                                  \n

                                                                                  Constraint: Must be compatible with the engine of the source

                                                                                  \n\n

                                                                                  Valid Values:

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n mariadb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n mysql\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n postgres\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-se\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ex\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-web\n

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The database engine to use for the new instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Default: The same as source

                                                                                  \n

                                                                                  Constraint: Must be compatible with the engine of the source

                                                                                  \n\n

                                                                                  Valid Values:

                                                                                  \n \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n mariadb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n mysql\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-ee-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n oracle-se2-cdb\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n postgres\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ee\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-se\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-ex\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n sqlserver-web\n

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "Iops": { @@ -18299,7 +18737,7 @@ "OptionGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the option group to be used for the restored DB instance.

                                                                                  \n \n

                                                                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an option group, and that option group can't be removed from a DB instance once it is associated with a DB instance

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the option group to be used for the restored DB instance.

                                                                                  \n \n

                                                                                  Permanent options, such as the TDE option for Oracle Advanced Security TDE, can't be removed from an \n option group, and that option group can't be removed from a DB instance after it is associated with a DB instance

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "CopyTagsToSnapshot": { @@ -18320,13 +18758,13 @@ "TdeCredentialArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The ARN from the key store with which to associate the instance for TDE encryption.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "TdeCredentialPassword": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The password for the given ARN from the key store in order to access the device.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The password for the given ARN from the key store in order to access the device.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "VpcSecurityGroupIds": { @@ -18338,43 +18776,43 @@ "Domain": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  Specify the Active Directory directory ID to restore the DB instance in.\n The domain must be created prior to this operation. Currently, only MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances can be created in an Active Directory Domain.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specify the Active Directory directory ID to restore the DB instance in.\n Create the domain before running this command. Currently, you can create only the MySQL, Microsoft SQL \n Server, Oracle, and PostgreSQL DB instances in an Active Directory Domain.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  For more information, see \n Kerberos Authentication in the Amazon RDS User Guide.

                                                                                  " } }, "DomainIAMRoleName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Specify the name of the IAM role to be used when making API calls to the Directory Service.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableIAMDatabaseAuthentication": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n \n

                                                                                  For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable mapping of Amazon Web Services Identity and Access\n Management (IAM) accounts to database accounts. By default, mapping is disabled.

                                                                                  \n \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n \n

                                                                                  For more information about IAM database authentication, see \n \n IAM Database Authentication for MySQL and PostgreSQL in the Amazon RDS User Guide.\n

                                                                                  " } }, "EnableCloudwatchLogsExports": { "target": "com.amazonaws.rds#LogTypeList", "traits": { - "smithy.api#documentation": "

                                                                                  The list of logs that the restored DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The list of logs that the restored DB instance is to export to CloudWatch Logs. The values\n in the list depend on the DB engine being used. For more information, see \n Publishing Database Logs to Amazon CloudWatch Logs in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "ProcessorFeatures": { "target": "com.amazonaws.rds#ProcessorFeatureList", "traits": { - "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "UseDefaultProcessorFeatures": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance class of the DB instance uses its default processor features.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether the DB instance class of the DB instance uses its default processor features.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "DBParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to associate with this DB instance.

                                                                                  \n

                                                                                  If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup \n for the specified DB engine is used.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If supplied, must match the name of an existing DBParameterGroup.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  The name of the DB parameter group to associate with this DB instance.

                                                                                  \n

                                                                                  If you do not specify a value for DBParameterGroupName, then the default DBParameterGroup \n for the specified DB engine is used.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  Constraints:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If supplied, must match the name of an existing DBParameterGroup.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Must be 1 to 255 letters, numbers, or hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    First character must be a letter.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    Can't end with a hyphen or contain two consecutive hyphens.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "DeletionProtection": { @@ -18392,19 +18830,25 @@ "MaxAllocatedStorage": { "target": "com.amazonaws.rds#IntegerOptional", "traits": { - "smithy.api#documentation": "

                                                                                  The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                                                  \n

                                                                                  For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The upper limit in gibibytes (GiB) to which Amazon RDS can automatically scale the storage of the DB instance.

                                                                                  \n

                                                                                  For more information about this setting, including limitations that apply to it, see \n \n Managing capacity automatically with Amazon RDS storage autoscaling \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "SourceDBInstanceAutomatedBackupsArn": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, \n arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the replicated automated backups from which to restore, for example, \n arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  " } }, "EnableCustomerOwnedIp": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

                                                                                  \n

                                                                                  A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

                                                                                  \n

                                                                                  For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A value that indicates whether to enable a customer-owned IP address (CoIP) for an RDS on Outposts DB instance.

                                                                                  \n

                                                                                  A CoIP provides local or external connectivity to resources in\n your Outpost subnets through your on-premises network. For some use cases, a CoIP can\n provide lower latency for connections to the DB instance from outside of its virtual\n private cloud (VPC) on your local network.

                                                                                  \n

                                                                                  This setting doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  For more information about RDS on Outposts, see Working with Amazon RDS on Amazon Web Services Outposts \n in the Amazon RDS User Guide.

                                                                                  \n

                                                                                  For more information about CoIPs, see Customer-owned IP addresses \n in the Amazon Web Services Outposts User Guide.

                                                                                  " + } + }, + "CustomIamInstanceProfile": { + "target": "com.amazonaws.rds#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    The profile must exist in your account.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The profile must have an IAM role that Amazon EC2 has permissions to assume.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    The instance profile name and the associated IAM role name must start with the prefix AWSRDSCustom.

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

                                                                                  \n

                                                                                  This setting is required for RDS Custom.

                                                                                  " } } }, @@ -18797,6 +19241,10 @@ { "value": "db-cluster-snapshot", "name": "db_cluster_snapshot" + }, + { + "value": "custom-engine-version", + "name": "custom_engine_version" } ] } @@ -18853,7 +19301,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encrypting messages in the database activity stream.\n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier for encrypting messages in the database activity stream.\n The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  ", "smithy.api#required": {} } }, @@ -18999,7 +19447,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services console, the stop-db-instance CLI command, or the StopDBInstance action.\n

                                                                                  \n \n

                                                                                  For more information, see \n \n Starting an Amazon RDS DB instance That Was Previously Stopped in the \n Amazon RDS User Guide.\n

                                                                                  \n \n \n

                                                                                  \n This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.\n For Aurora DB clusters, use StartDBCluster instead.\n

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  \n Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services console, the stop-db-instance CLI command, or the StopDBInstance action.\n

                                                                                  \n \n

                                                                                  For more information, see \n \n Starting an Amazon RDS DB instance That Was Previously Stopped in the \n Amazon RDS User Guide.\n

                                                                                  \n \n \n

                                                                                  \n This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL.\n For Aurora DB clusters, use StartDBCluster instead.\n

                                                                                  \n
                                                                                  " } }, "com.amazonaws.rds#StartDBInstanceAutomatedBackupsReplication": { @@ -19028,7 +19476,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Enables replication of automated backups to a different Amazon Web Services Region.

                                                                                  \n

                                                                                  For more information, see \n Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Enables replication of automated backups to a different Amazon Web Services Region.

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  For more information, see \n Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide.\n

                                                                                  " } }, "com.amazonaws.rds#StartDBInstanceAutomatedBackupsReplicationMessage": { @@ -19127,7 +19575,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Starts an export of a snapshot to Amazon S3. \n The provided IAM role must have access to the S3 bucket. \n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Starts an export of a snapshot to Amazon S3. \n The provided IAM role must have access to the S3 bucket. \n

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  " } }, "com.amazonaws.rds#StartExportTaskMessage": { @@ -19164,7 +19612,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The ID of the Amazon Web Services KMS customer master key (CMK) to use to encrypt the snapshot exported to Amazon S3. The Amazon Web Services KMS \n key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK). \n The caller of this operation must be authorized to \n execute the following operations. These can be set in the Amazon Web Services KMS key policy:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    GrantOperation.Encrypt

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.Decrypt

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.GenerateDataKey

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.GenerateDataKeyWithoutPlaintext

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.ReEncryptFrom

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.ReEncryptTo

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.CreateGrant

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.DescribeKey

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.RetireGrant

                                                                                    \n
                                                                                  • \n
                                                                                  ", + "smithy.api#documentation": "

                                                                                  The ID of the Amazon Web Services KMS key to use to encrypt the snapshot exported to Amazon S3. The Amazon Web Services KMS \n key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. \n The caller of this operation must be authorized to execute the following operations. \n These can be set in the Amazon Web Services KMS key policy:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    GrantOperation.Encrypt

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.Decrypt

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.GenerateDataKey

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.GenerateDataKeyWithoutPlaintext

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.ReEncryptFrom

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.ReEncryptTo

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.CreateGrant

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.DescribeKey

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    GrantOperation.RetireGrant

                                                                                    \n
                                                                                  • \n
                                                                                  ", "smithy.api#required": {} } }, @@ -19235,7 +19683,7 @@ "KmsKeyId": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS key identifier used for encrypting messages in the database activity stream.

                                                                                  \n

                                                                                  The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

                                                                                  " } }, "KinesisStreamName": { @@ -19321,7 +19769,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  \n Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, \n DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if \n necessary.\n

                                                                                  \n \n

                                                                                  For more information, see \n \n Stopping an Amazon RDS DB Instance Temporarily in the \n Amazon RDS User Guide.\n

                                                                                  \n \n \n

                                                                                  \n This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.\n For Aurora clusters, use StopDBCluster instead.\n

                                                                                  \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  \n Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata, including its endpoint, \n DB parameter group, and option group membership. Amazon RDS also retains the transaction logs so you can do a point-in-time restore if \n necessary.\n

                                                                                  \n \n

                                                                                  For more information, see \n \n Stopping an Amazon RDS DB Instance Temporarily in the \n Amazon RDS User Guide.\n

                                                                                  \n \n \n

                                                                                  \n This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL.\n For Aurora clusters, use StopDBCluster instead.\n

                                                                                  \n
                                                                                  " } }, "com.amazonaws.rds#StopDBInstanceAutomatedBackupsReplication": { @@ -19341,7 +19789,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Stops automated backup replication for a DB instance.

                                                                                  \n

                                                                                  For more information, see \n Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide.\n

                                                                                  " + "smithy.api#documentation": "

                                                                                  Stops automated backup replication for a DB instance.

                                                                                  \n

                                                                                  This command doesn't apply to RDS Custom.

                                                                                  \n

                                                                                  For more information, see \n Replicating Automated Backups to Another Amazon Web Services Region in the Amazon RDS User Guide.\n

                                                                                  " } }, "com.amazonaws.rds#StopDBInstanceAutomatedBackupsReplicationMessage": { @@ -19427,6 +19875,16 @@ "com.amazonaws.rds#String": { "type": "string" }, + "com.amazonaws.rds#String255": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.rds#StringList": { "type": "list", "member": { diff --git a/codegen/sdk-codegen/aws-models/route53resolver.json b/codegen/sdk-codegen/aws-models/route53resolver.json index 0ef4e79d12e1..61a593320b51 100644 --- a/codegen/sdk-codegen/aws-models/route53resolver.json +++ b/codegen/sdk-codegen/aws-models/route53resolver.json @@ -384,6 +384,21 @@ } } }, + "com.amazonaws.route53resolver#AutodefinedReverseFlag": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLE", + "name": "ENABLE" + }, + { + "value": "DISABLE", + "name": "DISABLE" + } + ] + } + }, "com.amazonaws.route53resolver#BlockOverrideDnsType": { "type": "string", "traits": { @@ -2174,7 +2189,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 5000 + "max": 30000 } } }, @@ -2454,6 +2469,58 @@ } } }, + "com.amazonaws.route53resolver#GetResolverConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.route53resolver#GetResolverConfigRequest" + }, + "output": { + "target": "com.amazonaws.route53resolver#GetResolverConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.route53resolver#AccessDeniedException" + }, + { + "target": "com.amazonaws.route53resolver#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidParameterException" + }, + { + "target": "com.amazonaws.route53resolver#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.route53resolver#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Retrieves the behavior configuration of Route 53 Resolver behavior for a single VPC from\n\t\t\t\tAmazon Virtual Private Cloud.

                                                                                  " + } + }, + "com.amazonaws.route53resolver#GetResolverConfigRequest": { + "type": "structure", + "members": { + "ResourceId": { + "target": "com.amazonaws.route53resolver#ResourceId", + "traits": { + "smithy.api#documentation": "

                                                                                  Resource ID of the Amazon VPC that you want to get information about.

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.route53resolver#GetResolverConfigResponse": { + "type": "structure", + "members": { + "ResolverConfig": { + "target": "com.amazonaws.route53resolver#ResolverConfig", + "traits": { + "smithy.api#documentation": "

                                                                                  Information about the behavior configuration of Route 53 Resolver behavior for the VPC you\n\t\t\tspecified in the GetResolverConfig request.

                                                                                  " + } + } + } + }, "com.amazonaws.route53resolver#GetResolverDnssecConfig": { "type": "operation", "input": { @@ -3704,6 +3771,88 @@ } } }, + "com.amazonaws.route53resolver#ListResolverConfigs": { + "type": "operation", + "input": { + "target": "com.amazonaws.route53resolver#ListResolverConfigsRequest" + }, + "output": { + "target": "com.amazonaws.route53resolver#ListResolverConfigsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.route53resolver#AccessDeniedException" + }, + { + "target": "com.amazonaws.route53resolver#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidNextTokenException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidParameterException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidRequestException" + }, + { + "target": "com.amazonaws.route53resolver#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Retrieves the Resolver configurations that you have defined. \n\t\t\tRoute 53 Resolver uses the configurations to manage DNS resolution behavior for your VPCs.

                                                                                  ", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.route53resolver#ListResolverConfigsMaxResult": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 5, + "max": 100 + } + } + }, + "com.amazonaws.route53resolver#ListResolverConfigsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.route53resolver#ListResolverConfigsMaxResult", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

                                                                                  The maximum number of Resolver configurations that you want to return in the response to \n\t\t\ta ListResolverConfigs request. If you don't specify a value for MaxResults, \n\t\t\tup to 100 Resolver configurations are returned.

                                                                                  " + } + }, + "NextToken": { + "target": "com.amazonaws.route53resolver#NextToken", + "traits": { + "smithy.api#documentation": "

                                                                                  (Optional) If the current Amazon Web Services account has more than MaxResults Resolver configurations, use \n\t\t\tNextToken to get the second and subsequent pages of results.

                                                                                  \n\t\t

                                                                                  For the first ListResolverConfigs request, omit this value.

                                                                                  \n\t\t

                                                                                  For the second and subsequent requests, get the value of NextToken from the previous response and \n\t\t\tspecify that value for NextToken in the request.

                                                                                  " + } + } + } + }, + "com.amazonaws.route53resolver#ListResolverConfigsResponse": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.route53resolver#NextToken", + "traits": { + "smithy.api#documentation": "

                                                                                  If a response includes the last of the Resolver configurations that are associated with the current Amazon Web Services account, \n\t\t\tNextToken doesn't appear in the response.

                                                                                  \n\t\t

                                                                                  If a response doesn't include the last of the configurations, you can get more configurations by submitting another \n\t\t\tListResolverConfigs request. \n\t\t\tGet the value of NextToken that Amazon Route 53\n returned in the previous response and include it in \n\t\t\tNextToken in the next request.

                                                                                  " + } + }, + "ResolverConfigs": { + "target": "com.amazonaws.route53resolver#ResolverConfigList", + "traits": { + "smithy.api#documentation": "

                                                                                  An array that contains one ResolverConfigs element for each Resolver configuration that is associated \n\t\t\twith the current Amazon Web Services account.

                                                                                  " + } + } + } + }, "com.amazonaws.route53resolver#ListResolverDnssecConfigs": { "type": "operation", "input": { @@ -4626,6 +4775,67 @@ "smithy.api#documentation": "

                                                                                  The response to a PutResolverRulePolicy request.

                                                                                  " } }, + "com.amazonaws.route53resolver#ResolverAutodefinedReverseStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLING", + "name": "Enabling" + }, + { + "value": "ENABLED", + "name": "Enabled" + }, + { + "value": "DISABLING", + "name": "Disabling" + }, + { + "value": "DISABLED", + "name": "Disabled" + } + ] + } + }, + "com.amazonaws.route53resolver#ResolverConfig": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.route53resolver#ResourceId", + "traits": { + "smithy.api#documentation": "

                                                                                  ID for the Resolver configuration.

                                                                                  " + } + }, + "ResourceId": { + "target": "com.amazonaws.route53resolver#ResourceId", + "traits": { + "smithy.api#documentation": "

                                                                                  The ID of the Amazon Virtual Private Cloud VPC that you're configuring Resolver for.

                                                                                  " + } + }, + "OwnerId": { + "target": "com.amazonaws.route53resolver#AccountId", + "traits": { + "smithy.api#documentation": "

                                                                                  The owner account ID of the Amazon Virtual Private Cloud VPC.

                                                                                  " + } + }, + "AutodefinedReverse": { + "target": "com.amazonaws.route53resolver#ResolverAutodefinedReverseStatus", + "traits": { + "smithy.api#documentation": "

                                                                                  The status of whether or not the Resolver will create autodefined rules for reverse DNS\n\t\t\tlookups. This is enabled by default. The status can be one of following:

                                                                                  \n\t\t

                                                                                  Status of the rules generated by VPCs based on CIDR/Region for reverse DNS resolution. The\n\t\t\tstatus can be one of following:

                                                                                  \n\n\t\t
                                                                                    \n
                                                                                  • \n

                                                                                    \n ENABLING: Autodefined rules for reverse DNS lookups are being\n\t\t\t\t\tenabled but are not complete.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n ENABLED: Autodefined rules for reverse DNS lookups are\n\t\t\t\t\tenabled.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n DISABLING: Autodefined rules for reverse DNS lookups are\n\t\t\t\t\tbeing disabled but are not complete.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n DISABLED: Autodefined rules for reverse DNS lookups are\n\t\t\t\t\tdisabled.

                                                                                    \n
                                                                                  • \n
                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  A complex type that contains information about a Resolver configuration for a VPC.

                                                                                  " + } + }, + "com.amazonaws.route53resolver#ResolverConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.route53resolver#ResolverConfig" + } + }, "com.amazonaws.route53resolver#ResolverDNSSECValidationStatus": { "type": "string", "traits": { @@ -5017,7 +5227,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 5000 + "max": 30000 } } }, @@ -5446,6 +5656,9 @@ { "target": "com.amazonaws.route53resolver#GetFirewallRuleGroupPolicy" }, + { + "target": "com.amazonaws.route53resolver#GetResolverConfig" + }, { "target": "com.amazonaws.route53resolver#GetResolverDnssecConfig" }, @@ -5491,6 +5704,9 @@ { "target": "com.amazonaws.route53resolver#ListFirewallRules" }, + { + "target": "com.amazonaws.route53resolver#ListResolverConfigs" + }, { "target": "com.amazonaws.route53resolver#ListResolverDnssecConfigs" }, @@ -5542,6 +5758,9 @@ { "target": "com.amazonaws.route53resolver#UpdateFirewallRuleGroupAssociation" }, + { + "target": "com.amazonaws.route53resolver#UpdateResolverConfig" + }, { "target": "com.amazonaws.route53resolver#UpdateResolverDnssecConfig" }, @@ -6232,6 +6451,74 @@ } } }, + "com.amazonaws.route53resolver#UpdateResolverConfig": { + "type": "operation", + "input": { + "target": "com.amazonaws.route53resolver#UpdateResolverConfigRequest" + }, + "output": { + "target": "com.amazonaws.route53resolver#UpdateResolverConfigResponse" + }, + "errors": [ + { + "target": "com.amazonaws.route53resolver#AccessDeniedException" + }, + { + "target": "com.amazonaws.route53resolver#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidParameterException" + }, + { + "target": "com.amazonaws.route53resolver#InvalidRequestException" + }, + { + "target": "com.amazonaws.route53resolver#LimitExceededException" + }, + { + "target": "com.amazonaws.route53resolver#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.route53resolver#ResourceUnavailableException" + }, + { + "target": "com.amazonaws.route53resolver#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Updates the behavior configuration of Route 53 Resolver behavior for a single VPC from\n\t\t\t\tAmazon Virtual Private Cloud.

                                                                                  " + } + }, + "com.amazonaws.route53resolver#UpdateResolverConfigRequest": { + "type": "structure", + "members": { + "ResourceId": { + "target": "com.amazonaws.route53resolver#ResourceId", + "traits": { + "smithy.api#documentation": "

                                                                                  Resource ID of the Amazon VPC that you want to update the Resolver configuration for.

                                                                                  ", + "smithy.api#required": {} + } + }, + "AutodefinedReverseFlag": { + "target": "com.amazonaws.route53resolver#AutodefinedReverseFlag", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether or not the Resolver will create autodefined rules for reverse DNS\n\t\t\tlookups. This is enabled by default. Disabling this option will also affect EC2-Classic\n\t\t\tinstances using ClassicLink. For more information, see ClassicLink in the\n\t\t\t\t\tAmazon EC2 guide.

                                                                                  \n\t\t \n

                                                                                  It can take some time for the status change to be completed.

                                                                                  \n
                                                                                  \n\t\t

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.route53resolver#UpdateResolverConfigResponse": { + "type": "structure", + "members": { + "ResolverConfig": { + "target": "com.amazonaws.route53resolver#ResolverConfig", + "traits": { + "smithy.api#documentation": "

                                                                                  An array that contains settings for the specified Resolver configuration.

                                                                                  " + } + } + } + }, "com.amazonaws.route53resolver#UpdateResolverDnssecConfig": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/sagemaker.json b/codegen/sdk-codegen/aws-models/sagemaker.json index ee2825a5ead8..3099952c9b2a 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.json @@ -1002,6 +1002,21 @@ ] } }, + "com.amazonaws.sagemaker#AppSecurityGroupManagement": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "Service", + "name": "Service" + }, + { + "value": "Customer", + "name": "Customer" + } + ] + } + }, "com.amazonaws.sagemaker#AppSortKey": { "type": "string", "traits": { @@ -1082,6 +1097,14 @@ { "value": "TensorBoard", "name": "TensorBoard" + }, + { + "value": "RStudioServerPro", + "name": "RStudioServerPro" + }, + { + "value": "RSessionGateway", + "name": "RSessionGateway" } ] } @@ -2397,6 +2420,138 @@ ] } }, + "com.amazonaws.sagemaker#BatchDescribeModelPackage": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageInput" + }, + "output": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageOutput" + }, + "traits": { + "smithy.api#documentation": "

                                                                                  This action batch describes a list of versioned model packages

                                                                                  " + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageError": { + "type": "structure", + "members": { + "ErrorCode": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                                                  ", + "smithy.api#required": {} + } + }, + "ErrorResponse": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                                                  ", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  The error code and error description associated with the resource.

                                                                                  " + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageErrorMap": { + "type": "map", + "key": { + "target": "com.amazonaws.sagemaker#ModelPackageArn" + }, + "value": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageError" + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageInput": { + "type": "structure", + "members": { + "ModelPackageArnList": { + "target": "com.amazonaws.sagemaker#ModelPackageArnList", + "traits": { + "smithy.api#documentation": "

                                                                                  The list of Amazon Resource Name (ARN) of the model package groups.

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageOutput": { + "type": "structure", + "members": { + "ModelPackageSummaries": { + "target": "com.amazonaws.sagemaker#ModelPackageSummaries", + "traits": { + "smithy.api#documentation": "

                                                                                  The summaries for the model package versions

                                                                                  " + } + }, + "BatchDescribeModelPackageErrorMap": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageErrorMap", + "traits": { + "smithy.api#documentation": "

                                                                                  A map of the resource and BatchDescribeModelPackageError objects \n reporting the error associated with describing the model package.

                                                                                  " + } + } + } + }, + "com.amazonaws.sagemaker#BatchDescribeModelPackageSummary": { + "type": "structure", + "members": { + "ModelPackageGroupName": { + "target": "com.amazonaws.sagemaker#EntityName", + "traits": { + "smithy.api#documentation": "

                                                                                  The group name for the model package

                                                                                  ", + "smithy.api#required": {} + } + }, + "ModelPackageVersion": { + "target": "com.amazonaws.sagemaker#ModelPackageVersion", + "traits": { + "smithy.api#documentation": "

                                                                                  The version number of a versioned model.

                                                                                  " + } + }, + "ModelPackageArn": { + "target": "com.amazonaws.sagemaker#ModelPackageArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the model package.

                                                                                  ", + "smithy.api#required": {} + } + }, + "ModelPackageDescription": { + "target": "com.amazonaws.sagemaker#EntityDescription", + "traits": { + "smithy.api#documentation": "

                                                                                  The description of the model package.

                                                                                  " + } + }, + "CreationTime": { + "target": "com.amazonaws.sagemaker#CreationTime", + "traits": { + "smithy.api#documentation": "

                                                                                  The creation time of the mortgage package summary.

                                                                                  ", + "smithy.api#required": {} + } + }, + "InferenceSpecification": { + "target": "com.amazonaws.sagemaker#InferenceSpecification", + "traits": { + "smithy.api#required": {} + } + }, + "ModelPackageStatus": { + "target": "com.amazonaws.sagemaker#ModelPackageStatus", + "traits": { + "smithy.api#documentation": "

                                                                                  The status of the mortgage package.

                                                                                  ", + "smithy.api#required": {} + } + }, + "ModelApprovalStatus": { + "target": "com.amazonaws.sagemaker#ModelApprovalStatus", + "traits": { + "smithy.api#documentation": "

                                                                                  The approval status of the model.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Provides summary information about the model package.

                                                                                  " + } + }, "com.amazonaws.sagemaker#BatchStrategy": { "type": "string", "traits": { @@ -4795,6 +4950,18 @@ "traits": { "smithy.api#documentation": "

                                                                                  SageMaker uses Amazon Web Services KMS to encrypt the EFS volume attached to the domain with an Amazon Web Services managed\n key by default. For more control, specify a customer managed key.

                                                                                  " } + }, + "AppSecurityGroupManagement": { + "target": "com.amazonaws.sagemaker#AppSecurityGroupManagement", + "traits": { + "smithy.api#documentation": "

                                                                                  The entity that creates and manages the required security groups for inter-app\n communication in VPCOnly mode. Required when\n CreateDomain.AppNetworkAccessType is VPCOnly and\n DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is\n provided.

                                                                                  " + } + }, + "DomainSettings": { + "target": "com.amazonaws.sagemaker#DomainSettings", + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of Domain settings.

                                                                                  " + } } } }, @@ -5973,9 +6140,9 @@ } }, "ModelPackageGroupName": { - "target": "com.amazonaws.sagemaker#EntityName", + "target": "com.amazonaws.sagemaker#ArnOrName", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the model group that this model version belongs to.

                                                                                  \n

                                                                                  This parameter is required for versioned models, and does not apply to unversioned\n models.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The name or Amazon Resource Name (ARN) of the model package group that this model version belongs to.

                                                                                  \n

                                                                                  This parameter is required for versioned models, and does not apply to unversioned\n models.

                                                                                  " } }, "ModelPackageDescription": { @@ -6035,6 +6202,12 @@ "smithy.api#documentation": "

                                                                                  A unique token that guarantees that the call to this API is idempotent.

                                                                                  ", "smithy.api#idempotencyToken": {} } + }, + "CustomerMetadataProperties": { + "target": "com.amazonaws.sagemaker#CustomerMetadataMap", + "traits": { + "smithy.api#documentation": "

                                                                                  The metadata properties associated with the model package versions.

                                                                                  " + } } } }, @@ -7514,6 +7687,47 @@ } } }, + "com.amazonaws.sagemaker#CustomerMetadataKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,128}$" + } + }, + "com.amazonaws.sagemaker#CustomerMetadataKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#CustomerMetadataKey" + } + }, + "com.amazonaws.sagemaker#CustomerMetadataMap": { + "type": "map", + "key": { + "target": "com.amazonaws.sagemaker#CustomerMetadataKey" + }, + "value": { + "target": "com.amazonaws.sagemaker#CustomerMetadataValue" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.sagemaker#CustomerMetadataValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:\\/=+\\-@]*)${1,256}$" + } + }, "com.amazonaws.sagemaker#DataCaptureConfig": { "type": "structure", "members": { @@ -10646,6 +10860,24 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Web Services KMS customer managed key used to encrypt\n the EFS volume attached to the domain.

                                                                                  " } + }, + "DomainSettings": { + "target": "com.amazonaws.sagemaker#DomainSettings", + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of Domain settings.

                                                                                  " + } + }, + "AppSecurityGroupManagement": { + "target": "com.amazonaws.sagemaker#AppSecurityGroupManagement", + "traits": { + "smithy.api#documentation": "

                                                                                  The entity that creates and manages the required security groups for inter-app communication in VPCOnly mode. \n Required when CreateDomain.AppNetworkAccessType is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided.

                                                                                  " + } + }, + "SecurityGroupIdForDomainBoundary": { + "target": "com.amazonaws.sagemaker#SecurityGroupId", + "traits": { + "smithy.api#documentation": "

                                                                                  The ID of the security group that authorizes traffic between the RSessionGateway apps and the RStudioServerPro app.

                                                                                  " + } } } }, @@ -12309,7 +12541,7 @@ "target": "com.amazonaws.sagemaker#DescribeModelPackageOutput" }, "traits": { - "smithy.api#documentation": "

                                                                                  Returns a description of the specified model package, which is used to create Amazon SageMaker\n models or list them on Amazon Web Services Marketplace.

                                                                                  \n

                                                                                  To create models in Amazon SageMaker, buyers can subscribe to model packages listed on Amazon Web Services\n Marketplace.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Returns a description of the specified model package, which is used to create SageMaker\n models or list them on Amazon Web Services Marketplace.

                                                                                  \n

                                                                                  To create models in SageMaker, buyers can subscribe to model packages listed on Amazon Web Services\n Marketplace.

                                                                                  " } }, "com.amazonaws.sagemaker#DescribeModelPackageGroup": { @@ -12387,7 +12619,7 @@ "ModelPackageName": { "target": "com.amazonaws.sagemaker#VersionedArnOrName", "traits": { - "smithy.api#documentation": "

                                                                                  The name or Amazon Resource Name (ARN) of the model package to describe.

                                                                                  \n

                                                                                  When you specify a name, the name must have 1 to 63 characters. Valid\n characters are a-z, A-Z, 0-9, and - (hyphen).

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The name or Amazon Resource Name (ARN) of the model package to describe.

                                                                                  \n

                                                                                  When you specify a name, the name must have 1 to 63 characters. Valid\n characters are a-z, A-Z, 0-9, and - (hyphen).

                                                                                  ", "smithy.api#required": {} } } @@ -12450,7 +12682,7 @@ "ValidationSpecification": { "target": "com.amazonaws.sagemaker#ModelPackageValidationSpecification", "traits": { - "smithy.api#documentation": "

                                                                                  Configurations for one or more transform jobs that Amazon SageMaker runs to test the model\n package.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Configurations for one or more transform jobs that SageMaker runs to test the model\n package.

                                                                                  " } }, "ModelPackageStatus": { @@ -12505,6 +12737,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  A description provided for the model approval.

                                                                                  " } + }, + "CustomerMetadataProperties": { + "target": "com.amazonaws.sagemaker#CustomerMetadataMap", + "traits": { + "smithy.api#documentation": "

                                                                                  The metadata properties associated with the model package versions.

                                                                                  " + } } } }, @@ -13535,6 +13773,15 @@ "smithy.api#documentation": "

                                                                                  The time when the project was created.

                                                                                  ", "smithy.api#required": {} } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                                                  The timestamp when project was last modified.

                                                                                  " + } + }, + "LastModifiedBy": { + "target": "com.amazonaws.sagemaker#UserContext" } } }, @@ -15073,6 +15320,52 @@ "smithy.api#pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" } }, + "com.amazonaws.sagemaker#DomainSecurityGroupIds": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#SecurityGroupId" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, + "com.amazonaws.sagemaker#DomainSettings": { + "type": "structure", + "members": { + "SecurityGroupIds": { + "target": "com.amazonaws.sagemaker#DomainSecurityGroupIds", + "traits": { + "smithy.api#documentation": "

                                                                                  The security groups for the Amazon Virtual Private Cloud that the Domain uses for communication between Domain-level apps and user apps.

                                                                                  " + } + }, + "RStudioServerProDomainSettings": { + "target": "com.amazonaws.sagemaker#RStudioServerProDomainSettings", + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of settings that configure the RStudioServerPro Domain-level app.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of settings that apply to the SageMaker Domain. These settings are specified through the CreateDomain API call.

                                                                                  " + } + }, + "com.amazonaws.sagemaker#DomainSettingsForUpdate": { + "type": "structure", + "members": { + "RStudioServerProDomainSettingsForUpdate": { + "target": "com.amazonaws.sagemaker#RStudioServerProDomainSettingsForUpdate", + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of RStudioServerPro Domain-level app settings to update.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of Domain configuration settings to update.

                                                                                  " + } + }, "com.amazonaws.sagemaker#DomainStatus": { "type": "string", "traits": { @@ -25553,6 +25846,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  A list of the tags associated with the model package. For more information, see Tagging Amazon Web Services\n resources in the Amazon Web Services General Reference Guide.

                                                                                  " } + }, + "CustomerMetadataProperties": { + "target": "com.amazonaws.sagemaker#CustomerMetadataMap", + "traits": { + "smithy.api#documentation": "

                                                                                  The metadata properties for the model package.

                                                                                  " + } } }, "traits": { @@ -25569,6 +25868,18 @@ "smithy.api#pattern": "^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:model-package/" } }, + "com.amazonaws.sagemaker#ModelPackageArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.sagemaker#ModelPackageArn" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, "com.amazonaws.sagemaker#ModelPackageContainerDefinition": { "type": "structure", "members": { @@ -25874,6 +26185,15 @@ "target": "com.amazonaws.sagemaker#ModelPackageStatusItem" } }, + "com.amazonaws.sagemaker#ModelPackageSummaries": { + "type": "map", + "key": { + "target": "com.amazonaws.sagemaker#ModelPackageArn" + }, + "value": { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackageSummary" + } + }, "com.amazonaws.sagemaker#ModelPackageSummary": { "type": "structure", "members": { @@ -30463,6 +30783,15 @@ "traits": { "smithy.api#documentation": "

                                                                                  An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in\n different ways, for example, by purpose, owner, or environment. For more information,\n see Tagging Amazon Web Services\n Resources.

                                                                                  " } + }, + "LastModifiedTime": { + "target": "com.amazonaws.sagemaker#Timestamp", + "traits": { + "smithy.api#documentation": "

                                                                                  A timestamp container for when the project was last modified.

                                                                                  " + } + }, + "LastModifiedBy": { + "target": "com.amazonaws.sagemaker#UserContext" } }, "traits": { @@ -30560,6 +30889,18 @@ { "value": "DeleteCompleted", "name": "DELETE_COMPLETED" + }, + { + "value": "UpdateInProgress", + "name": "UPDATE_IN_PROGRESS" + }, + { + "value": "UpdateCompleted", + "name": "UPDATE_COMPLETED" + }, + { + "value": "UpdateFailed", + "name": "UPDATE_FAILED" } ] } @@ -30773,6 +31114,111 @@ } } }, + "com.amazonaws.sagemaker#RSessionAppSettings": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of settings that apply to an RSessionGateway app.

                                                                                  " + } + }, + "com.amazonaws.sagemaker#RStudioServerProAccessStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ENABLED", + "name": "Enabled" + }, + { + "value": "DISABLED", + "name": "Disabled" + } + ] + } + }, + "com.amazonaws.sagemaker#RStudioServerProAppSettings": { + "type": "structure", + "members": { + "AccessStatus": { + "target": "com.amazonaws.sagemaker#RStudioServerProAccessStatus", + "traits": { + "smithy.api#documentation": "

                                                                                  Indicates whether the current user has access to the RStudioServerPro app.

                                                                                  " + } + }, + "UserGroup": { + "target": "com.amazonaws.sagemaker#RStudioServerProUserGroup", + "traits": { + "smithy.api#documentation": "

                                                                                  The level of permissions that the user has within the RStudioServerPro app. This value defaults to `User`. The `Admin` value allows the user access to the RStudio Administrative Dashboard.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of settings that configure user interaction with the RStudioServerPro app. RStudioServerProAppSettings cannot be updated. The RStudioServerPro app must be deleted and a new one created to make any changes.

                                                                                  " + } + }, + "com.amazonaws.sagemaker#RStudioServerProDomainSettings": { + "type": "structure", + "members": { + "DomainExecutionRoleArn": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The ARN of the execution role for the RStudioServerPro Domain-level app.

                                                                                  ", + "smithy.api#required": {} + } + }, + "RStudioConnectUrl": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                                                  A URL pointing to an RStudio Connect server.

                                                                                  " + } + }, + "RStudioPackageManagerUrl": { + "target": "com.amazonaws.sagemaker#String", + "traits": { + "smithy.api#documentation": "

                                                                                  A URL pointing to an RStudio Package Manager server.

                                                                                  " + } + }, + "DefaultResourceSpec": { + "target": "com.amazonaws.sagemaker#ResourceSpec" + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of settings that configure the RStudioServerPro Domain-level app.

                                                                                  " + } + }, + "com.amazonaws.sagemaker#RStudioServerProDomainSettingsForUpdate": { + "type": "structure", + "members": { + "DomainExecutionRoleArn": { + "target": "com.amazonaws.sagemaker#RoleArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The execution role for the RStudioServerPro Domain-level app.

                                                                                  ", + "smithy.api#required": {} + } + }, + "DefaultResourceSpec": { + "target": "com.amazonaws.sagemaker#ResourceSpec" + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of settings that update the current configuration for the RStudioServerPro Domain-level app.

                                                                                  " + } + }, + "com.amazonaws.sagemaker#RStudioServerProUserGroup": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "R_STUDIO_ADMIN", + "name": "Admin" + }, + { + "value": "R_STUDIO_USER", + "name": "User" + } + ] + } + }, "com.amazonaws.sagemaker#RealtimeInferenceInstanceTypes": { "type": "list", "member": { @@ -31673,6 +32119,24 @@ }, "com.amazonaws.sagemaker#SageMaker": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "SageMaker", + "arnNamespace": "sagemaker", + "cloudFormationName": "SageMaker", + "cloudTrailEventSource": "sagemaker.amazonaws.com", + "endpointPrefix": "api.sagemaker" + }, + "aws.auth#sigv4": { + "name": "sagemaker" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

                                                                                  Provides APIs for creating and managing Amazon SageMaker resources.

                                                                                  \n

                                                                                  Other Resources:

                                                                                  \n ", + "smithy.api#title": "Amazon SageMaker Service", + "smithy.api#xmlNamespace": { + "uri": "http://sagemaker.amazonaws.com/doc/2017-05-13/" + } + }, "version": "2017-07-24", "operations": [ { @@ -31684,6 +32148,9 @@ { "target": "com.amazonaws.sagemaker#AssociateTrialComponent" }, + { + "target": "com.amazonaws.sagemaker#BatchDescribeModelPackage" + }, { "target": "com.amazonaws.sagemaker#CreateAction" }, @@ -32377,6 +32844,9 @@ { "target": "com.amazonaws.sagemaker#UpdatePipelineExecution" }, + { + "target": "com.amazonaws.sagemaker#UpdateProject" + }, { "target": "com.amazonaws.sagemaker#UpdateTrainingJob" }, @@ -32395,25 +32865,7 @@ { "target": "com.amazonaws.sagemaker#UpdateWorkteam" } - ], - "traits": { - "aws.api#service": { - "sdkId": "SageMaker", - "arnNamespace": "sagemaker", - "cloudFormationName": "SageMaker", - "cloudTrailEventSource": "sagemaker.amazonaws.com", - "endpointPrefix": "api.sagemaker" - }, - "aws.auth#sigv4": { - "name": "sagemaker" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

                                                                                  Provides APIs for creating and managing Amazon SageMaker resources.

                                                                                  \n

                                                                                  Other Resources:

                                                                                  \n ", - "smithy.api#title": "Amazon SageMaker Service", - "smithy.api#xmlNamespace": { - "uri": "http://sagemaker.amazonaws.com/doc/2017-05-13/" - } - } + ] }, "com.amazonaws.sagemaker#SagemakerServicecatalogStatus": { "type": "string", @@ -33006,6 +33458,26 @@ "smithy.api#documentation": "

                                                                                  Details that you specify to provision a service catalog product. For information about\n service catalog, see What is Amazon Web Services Service\n Catalog.

                                                                                  " } }, + "com.amazonaws.sagemaker#ServiceCatalogProvisioningUpdateDetails": { + "type": "structure", + "members": { + "ProvisioningArtifactId": { + "target": "com.amazonaws.sagemaker#ServiceCatalogEntityId", + "traits": { + "smithy.api#documentation": "

                                                                                  The ID of the provisioning artifact.

                                                                                  " + } + }, + "ProvisioningParameters": { + "target": "com.amazonaws.sagemaker#ProvisioningParameters", + "traits": { + "smithy.api#documentation": "

                                                                                  A list of key value pairs that you specify when you provision a product.

                                                                                  " + } + } + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Details that you specify to provision a service catalog product. \n For information about service catalog, see What is Amazon Web Services Service Catalog.\n

                                                                                  " + } + }, "com.amazonaws.sagemaker#SessionExpirationDurationInSeconds": { "type": "integer", "traits": { @@ -37202,6 +37674,12 @@ "traits": { "smithy.api#documentation": "

                                                                                  A collection of settings.

                                                                                  " } + }, + "DomainSettingsForUpdate": { + "target": "com.amazonaws.sagemaker#DomainSettingsForUpdate", + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of DomainSettings configuration values to update.

                                                                                  " + } } } }, @@ -37470,15 +37948,14 @@ "ModelPackageArn": { "target": "com.amazonaws.sagemaker#ModelPackageArn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the model.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the model package.

                                                                                  ", "smithy.api#required": {} } }, "ModelApprovalStatus": { "target": "com.amazonaws.sagemaker#ModelApprovalStatus", "traits": { - "smithy.api#documentation": "

                                                                                  The approval status of the model.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The approval status of the model.

                                                                                  " } }, "ApprovalDescription": { @@ -37486,6 +37963,18 @@ "traits": { "smithy.api#documentation": "

                                                                                  A description for the approval status of the model.

                                                                                  " } + }, + "CustomerMetadataProperties": { + "target": "com.amazonaws.sagemaker#CustomerMetadataMap", + "traits": { + "smithy.api#documentation": "

                                                                                  The metadata properties associated with the model package versions.

                                                                                  " + } + }, + "CustomerMetadataPropertiesToRemove": { + "target": "com.amazonaws.sagemaker#CustomerMetadataKeyList", + "traits": { + "smithy.api#documentation": "

                                                                                  The metadata properties associated with the model package versions to remove.

                                                                                  " + } } } }, @@ -37818,6 +38307,60 @@ } } }, + "com.amazonaws.sagemaker#UpdateProject": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#UpdateProjectInput" + }, + "output": { + "target": "com.amazonaws.sagemaker#UpdateProjectOutput" + }, + "traits": { + "smithy.api#documentation": "

                                                                                  Updates a machine learning (ML) project that is created from a template that \n sets up an ML pipeline from training to deploying an approved model.

                                                                                  \n \n

                                                                                  You must not update a project that is in use. If you update the\n ServiceCatalogProvisioningUpdateDetails of a project that is active\n or being created, or updated, you may lose resources already created by the\n project.

                                                                                  \n
                                                                                  " + } + }, + "com.amazonaws.sagemaker#UpdateProjectInput": { + "type": "structure", + "members": { + "ProjectName": { + "target": "com.amazonaws.sagemaker#ProjectEntityName", + "traits": { + "smithy.api#documentation": "

                                                                                  The name of the project.

                                                                                  ", + "smithy.api#required": {} + } + }, + "ProjectDescription": { + "target": "com.amazonaws.sagemaker#EntityDescription", + "traits": { + "smithy.api#documentation": "

                                                                                  The description for the project.

                                                                                  " + } + }, + "ServiceCatalogProvisioningUpdateDetails": { + "target": "com.amazonaws.sagemaker#ServiceCatalogProvisioningUpdateDetails", + "traits": { + "smithy.api#documentation": "

                                                                                  The product ID and provisioning artifact ID to provision a service catalog. \n The provisioning artifact ID will default to the latest provisioning artifact \n ID of the product, if you don't provide the provisioning artifact ID. For more \n information, see What is Amazon Web Services Service Catalog.\n

                                                                                  " + } + }, + "Tags": { + "target": "com.amazonaws.sagemaker#TagList", + "traits": { + "smithy.api#documentation": "

                                                                                  An array of key-value pairs. You can use tags to categorize your \n Amazon Web Services resources in different ways, for example, by purpose, owner, or \n environment. For more information, see Tagging Amazon Web Services Resources.

                                                                                  " + } + } + } + }, + "com.amazonaws.sagemaker#UpdateProjectOutput": { + "type": "structure", + "members": { + "ProjectArn": { + "target": "com.amazonaws.sagemaker#ProjectArn", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the project.

                                                                                  ", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.sagemaker#UpdateTrainingJob": { "type": "operation", "input": { @@ -38377,6 +38920,18 @@ "traits": { "smithy.api#documentation": "

                                                                                  The TensorBoard app settings.

                                                                                  " } + }, + "RStudioServerProAppSettings": { + "target": "com.amazonaws.sagemaker#RStudioServerProAppSettings", + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of settings that configure user interaction with the RStudioServerPro app.

                                                                                  " + } + }, + "RSessionAppSettings": { + "target": "com.amazonaws.sagemaker#RSessionAppSettings", + "traits": { + "smithy.api#documentation": "

                                                                                  A collection of settings that configure the RSessionGateway app.

                                                                                  " + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/ssm-incidents.json b/codegen/sdk-codegen/aws-models/ssm-incidents.json index 5889292d12ef..32da7ba2df66 100644 --- a/codegen/sdk-codegen/aws-models/ssm-incidents.json +++ b/codegen/sdk-codegen/aws-models/ssm-incidents.json @@ -12,7 +12,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  You don't have sufficient access to perform this action.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  You don't have sufficient access to perform this operation.

                                                                                  ", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -23,7 +23,7 @@ "ssmAutomation": { "target": "com.amazonaws.ssmincidents#SsmAutomation", "traits": { - "smithy.api#documentation": "

                                                                                  The Systems Manager automation document to start as the runbook at the beginning of the\n incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Systems Manager automation document to start as the runbook at the beginning of\n the incident.

                                                                                  " } } }, @@ -48,8 +48,9 @@ "regionName": { "target": "com.amazonaws.ssmincidents#RegionName", "traits": { - "smithy.api#documentation": "

                                                                                  The Region name to add to the replication set.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The Amazon Web Services Region name to add to the replication set.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "sseKmsKeyId": { @@ -60,7 +61,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  Defines the Region and KMS key to add to the replication set.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Defines the Amazon Web Services Region and KMS key to add to the\n replication set.

                                                                                  " } }, "com.amazonaws.ssmincidents#Arn": { @@ -98,12 +99,13 @@ "ssmExecutionArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the automation process.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the automation process.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } } }, "traits": { - "smithy.api#documentation": "

                                                                                  The Systems Manager automation document\n process\n to start as the runbook at the beginning of the incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Systems Manager automation document process to start as the runbook at the\n beginning of the incident.

                                                                                  " } }, "com.amazonaws.ssmincidents#AutomationExecutionSet": { @@ -129,18 +131,21 @@ "chatbotSns": { "target": "com.amazonaws.ssmincidents#ChatbotSnsConfigurationSet", "traits": { - "smithy.api#documentation": "

                                                                                  The SNS targets that AWS Chatbot uses to notify the chat channel of updates to an\n incident. You can also make updates to the incident through the chat channel\n by\n using the SNS topics.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon SNS targets that Chatbot uses to notify the chat channel\n of updates to an incident. You can also make updates to the incident through the chat\n channel\n by\n using the Amazon SNS topics.

                                                                                  " } } }, "traits": { - "smithy.api#documentation": "

                                                                                  The AWS Chatbot chat channel used for collaboration during an incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Chatbot chat channel used for collaboration during an\n incident.

                                                                                  " } }, "com.amazonaws.ssmincidents#ChatbotSnsConfigurationSet": { "type": "set", "member": { - "target": "com.amazonaws.ssmincidents#SnsArn" + "target": "com.amazonaws.ssmincidents#SnsArn", + "traits": { + "smithy.api#tags": ["logs_investigations"] + } }, "traits": { "smithy.api#length": { @@ -163,13 +168,15 @@ "before": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  Before the specified timestamp

                                                                                  " + "smithy.api#documentation": "

                                                                                  Before the specified timestamp

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "after": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  After the specified timestamp.

                                                                                  " + "smithy.api#documentation": "

                                                                                  After the specified timestamp.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "equals": { @@ -203,6 +210,12 @@ "traits": { "smithy.api#documentation": "The resource type" } + }, + "retryAfter": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "If present in the output, the operation can be retried after this time" + } } }, "traits": { @@ -261,8 +274,9 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } } } @@ -308,7 +322,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Creates a response plan that automates the initial response to incidents. A response\n plan engages contacts, starts chat channel collaboration, and\n initiates\n runbooks at the beginning of an incident.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Creates a response plan that automates the initial response to incidents. A response\n plan engages contacts, starts chat channel collaboration, and initiates runbooks at the\n beginning of an incident.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/createResponsePlan", @@ -323,15 +337,17 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } }, "name": { "target": "com.amazonaws.ssmincidents#ResponsePlanName", "traits": { "smithy.api#documentation": "

                                                                                  The short format name of the response plan. Can't include spaces.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "displayName": { @@ -350,7 +366,7 @@ "chatChannel": { "target": "com.amazonaws.ssmincidents#ChatChannel", "traits": { - "smithy.api#documentation": "

                                                                                  The\n AWS Chatbot\n chat channel used for collaboration during an incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Chatbot chat channel used for collaboration during an\n incident.

                                                                                  " } }, "engagements": { @@ -429,35 +445,39 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } }, "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record you are adding the event\n to.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record to which the event will be\n added.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "eventTime": { "target": "smithy.api#Timestamp", "traits": { "smithy.api#documentation": "

                                                                                  The time that the event occurred.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "eventType": { "target": "com.amazonaws.ssmincidents#TimelineEventType", "traits": { "smithy.api#documentation": "

                                                                                  The type of the event. You can create timeline events of type Custom\n Event.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "eventData": { "target": "com.amazonaws.ssmincidents#EventData", "traits": { - "smithy.api#documentation": "

                                                                                  A valid JSON string. There is no other schema imposed. A short description of the event.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  A short description of the event as a valid JSON string. There is no other schema\n imposed.

                                                                                  ", "smithy.api#required": {} } } @@ -529,7 +549,8 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record you are deleting.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -544,13 +565,14 @@ "regionName": { "target": "com.amazonaws.ssmincidents#RegionName", "traits": { - "smithy.api#documentation": "

                                                                                  The name of the Region you're deleting from the replication set.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The name of the Amazon Web Services Region you're deleting from the replication\n set.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Defines the information about the Region you're deleting from your replication\n set.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Defines the information about the Amazon Web Services Region you're deleting from your\n replication set.

                                                                                  " } }, "com.amazonaws.ssmincidents#DeleteReplicationSet": { @@ -595,7 +617,8 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the replication set you're deleting.

                                                                                  ", "smithy.api#httpQuery": "arn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -630,7 +653,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Deletes the resource policy that\n AWS\n Resource Access Manager uses to share your Incident Manager resource.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Deletes the resource policy that Resource Access Manager uses to share your Incident Manager\n resource.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/deleteResourcePolicy", @@ -645,14 +668,16 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the resource you're deleting the policy from.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "policyId": { "target": "com.amazonaws.ssmincidents#PolicyId", "traits": { "smithy.api#documentation": "

                                                                                  The ID of the resource policy you're deleting.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigation"] } } } @@ -684,7 +709,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Deletes the specified response plan. Deleting a response plan stops all linked\n CloudWatch alarms and EventBridge events from creating an incident with this response\n plan.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Deletes the specified response plan. Deleting a response plan stops all linked CloudWatch alarms and EventBridge events from creating an incident with this\n response plan.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/deleteResponsePlan", @@ -700,7 +725,8 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -747,15 +773,17 @@ "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident that the event is part of.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident that includes the timeline\n event.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "eventId": { "target": "com.amazonaws.ssmincidents#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  The ID of the event you are updating. You can find this by using ListTimelineEvents.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The ID of the event you are updating. You can find this by using\n ListTimelineEvents.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -774,7 +802,10 @@ "com.amazonaws.ssmincidents#EngagementSet": { "type": "set", "member": { - "target": "com.amazonaws.ssmincidents#SsmContactsArn" + "target": "com.amazonaws.ssmincidents#SsmContactsArn", + "traits": { + "smithy.api#tags": ["logs_investigations"] + } }, "traits": { "smithy.api#length": { @@ -857,7 +888,8 @@ "smithy.api#length": { "max": 50 }, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "condition": { @@ -909,7 +941,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Returns the details of the specified incident record.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Returns the details for the specified incident record.

                                                                                  ", "smithy.api#http": { "method": "GET", "uri": "/getIncidentRecord", @@ -926,7 +958,8 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record.

                                                                                  ", "smithy.api#httpQuery": "arn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -937,7 +970,7 @@ "incidentRecord": { "target": "com.amazonaws.ssmincidents#IncidentRecord", "traits": { - "smithy.api#documentation": "

                                                                                  Details structure of the incident record.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Details the structure of the incident record.

                                                                                  ", "smithy.api#required": {} } } @@ -1068,7 +1101,8 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the replication set you want to retrieve.

                                                                                  ", "smithy.api#httpQuery": "arn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -1134,19 +1168,22 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan with the attached resource policy.

                                                                                  ", "smithy.api#httpQuery": "resourceArn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  The maximum number of resource policies to display per page of results.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The maximum number of resource policies to display per page of results.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } } } @@ -1212,7 +1249,8 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan.

                                                                                  ", "smithy.api#httpQuery": "arn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -1230,7 +1268,7 @@ "name": { "target": "com.amazonaws.ssmincidents#ResponsePlanName", "traits": { - "smithy.api#documentation": "

                                                                                  The short format name of the response plan. Can't contain spaces.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The short format name of the response plan. The name can't contain spaces.

                                                                                  ", "smithy.api#required": {} } }, @@ -1250,7 +1288,7 @@ "chatChannel": { "target": "com.amazonaws.ssmincidents#ChatChannel", "traits": { - "smithy.api#documentation": "

                                                                                  The\n AWS\n Chatbot chat channel used for collaboration during an\n incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Chatbot chat channel used for collaboration during an\n incident.

                                                                                  " } }, "engagements": { @@ -1308,17 +1346,19 @@ "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident that the timeline event is part of.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident that includes the timeline\n event.

                                                                                  ", "smithy.api#httpQuery": "incidentRecordArn", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "eventId": { "target": "com.amazonaws.ssmincidents#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  The ID of the event. You can get an event's ID when you create it or by using ListTimelineEvents.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The ID of the event. You can get an event's ID when you create it, or by using\n ListTimelineEvents.

                                                                                  ", "smithy.api#httpQuery": "eventId", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -1365,7 +1405,7 @@ "summary": { "target": "com.amazonaws.ssmincidents#IncidentSummary", "traits": { - "smithy.api#documentation": "

                                                                                  The summary of the incident. The summary is a brief synopsis of what occurred, what is currently happening, and context.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The summary of the incident. The summary is a brief synopsis of what occurred, what's\n currently happening, and context of the incident.

                                                                                  " } }, "status": { @@ -1425,7 +1465,7 @@ "dedupeString": { "target": "com.amazonaws.ssmincidents#DedupeString", "traits": { - "smithy.api#documentation": "

                                                                                  The string Incident Manager uses to prevent duplicate incidents from being created by the same incident.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The string Incident Manager uses to prevent duplicate incidents from being created by the same incident in the same account.

                                                                                  ", "smithy.api#required": {} } }, @@ -1438,7 +1478,7 @@ "notificationTargets": { "target": "com.amazonaws.ssmincidents#NotificationTargetSet", "traits": { - "smithy.api#documentation": "

                                                                                  The SNS targets that are notified when updates are made to an incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon SNS targets that are notified when updates are made to an\n incident.

                                                                                  " } } }, @@ -1453,31 +1493,35 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The principal that started the incident.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "invokedBy": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The principal the assumed the role specified of the createdBy.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The principal the assumed the role specified of the createdBy.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "resourceArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The resource that caused the incident to be created.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The resource that caused the incident to be created.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "source": { "target": "com.amazonaws.ssmincidents#IncidentSource", "traits": { - "smithy.api#documentation": "

                                                                                  The service that started the incident. This can be manually created from Incident Manager,\n automatically created using an\n AWS\n CloudWatch alarm, or\n Amazon\n EventBridge event.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The service that started the incident. This can be manually created from Incident Manager,\n automatically created using an Amazon CloudWatch alarm, or Amazon EventBridge\n event.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Details about how the incident record was created and when.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Details about what created the incident record and when it was created.

                                                                                  " } }, "com.amazonaws.ssmincidents#IncidentRecordStatus": { @@ -1604,13 +1648,14 @@ "dedupeString": { "target": "com.amazonaws.ssmincidents#DedupeString", "traits": { - "smithy.api#documentation": "

                                                                                  Used to stop Incident Manager from creating multiple incident records for the same incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Used to stop Incident Manager from creating multiple incident records for the same incident.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "notificationTargets": { "target": "com.amazonaws.ssmincidents#NotificationTargetSet", "traits": { - "smithy.api#documentation": "

                                                                                  The SNS targets that are notified when updates are made to an incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon SNS targets that are notified when updates are made to an\n incident.

                                                                                  " } } }, @@ -1629,7 +1674,10 @@ "com.amazonaws.ssmincidents#IntegerList": { "type": "list", "member": { - "target": "smithy.api#Integer" + "target": "smithy.api#Integer", + "traits": { + "smithy.api#tags": ["logs_investigations"] + } }, "traits": { "smithy.api#length": { @@ -1667,7 +1715,8 @@ "target": "com.amazonaws.ssmincidents#ItemType", "traits": { "smithy.api#documentation": "

                                                                                  The type of related item. Incident Manager supports the following types:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n ANALYSIS\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n INCIDENT\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n METRIC\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n PARENT\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n ATTACHMENT\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n OTHER\n

                                                                                    \n
                                                                                  • \n
                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } } }, @@ -1712,19 +1761,20 @@ "arn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the related item, if the related item is an Amazon\n resource.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the related item, if the related item is an Amazon\n resource.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "url": { "target": "com.amazonaws.ssmincidents#Url", "traits": { - "smithy.api#documentation": "

                                                                                  The URL, if the related item is a non-AWS resource.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The URL, if the related item is a non-Amazon Web Services resource.

                                                                                  " } }, "metricDefinition": { "target": "com.amazonaws.ssmincidents#MetricDefinition", "traits": { - "smithy.api#documentation": "

                                                                                  The metric definition, if the related item is a metric in CloudWatch.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The metric definition, if the related item is a metric in Amazon CloudWatch.

                                                                                  " } } }, @@ -1776,19 +1826,21 @@ "filters": { "target": "com.amazonaws.ssmincidents#FilterList", "traits": { - "smithy.api#documentation": "

                                                                                  Filter the list of incident records you are searching through. You can filter on the\n following keys:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n creationTime\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n impact\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n status\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n createdBy\n

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  Filters the list of incident records through which you are searching. You can filter\n on the following keys:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n creationTime\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n impact\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n status\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n createdBy\n

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Note the following when deciding how to use Filters:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If you don't specify a Filter, the response includes all incident\n records.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If you specify more than one filter in a single request, the response returns\n incident records that match all filters.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If you specify a filter with more than one value, the response returns\n incident records that match any of the values provided.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  The maximum number of results per page.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The maximum number of results per page.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } } } @@ -1855,20 +1907,23 @@ "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record that you are listing related items for.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record containing the listed related\n items.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  The maximum number of related items per page.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The maximum number of related items per page.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } } } @@ -1935,13 +1990,15 @@ "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  The maximum number of results per page.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The maximum number of results per page.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } } } @@ -2008,13 +2065,15 @@ "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  The maximum number of response plans per page.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The maximum number of response plans per page.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } } } @@ -2080,7 +2139,8 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan.

                                                                                  ", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -2120,7 +2180,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Lists timeline events of the specified incident record.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Lists timeline events for the specified incident record.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/listTimelineEvents", @@ -2141,38 +2201,43 @@ "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident that the event is part of.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident that includes the timeline\n event.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "filters": { "target": "com.amazonaws.ssmincidents#FilterList", "traits": { - "smithy.api#documentation": "

                                                                                  Filters the timeline events based on the provided conditional values. You can filter\n timeline events using the following keys:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n eventTime\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n eventType\n

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  Filters the timeline events based on the provided conditional values. You can filter\n timeline events using the following keys:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n eventTime\n

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n eventType\n

                                                                                    \n
                                                                                  • \n
                                                                                  \n

                                                                                  Note the following when deciding how to use Filters:

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    If you don't specify a Filter, the response includes all timeline\n events.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If you specify more than one filter in a single request, the response returns\n timeline events that match all filters.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    If you specify a filter with more than one value, the response returns\n timeline events that match any of the values provided.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "sortBy": { "target": "com.amazonaws.ssmincidents#TimelineEventSort", "traits": { - "smithy.api#documentation": "

                                                                                  Sort by the specified key value pair.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Sort by the specified key value pair.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "sortOrder": { "target": "com.amazonaws.ssmincidents#SortOrder", "traits": { - "smithy.api#documentation": "

                                                                                  Sorts the order of timeline events by the value specified in the sortBy\n field.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Sorts the order of timeline events by the value specified in the sortBy\n field.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "maxResults": { "target": "com.amazonaws.ssmincidents#MaxResults", "traits": { - "smithy.api#documentation": "

                                                                                  The maximum number of results per page.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The maximum number of results per page.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "nextToken": { "target": "com.amazonaws.ssmincidents#NextToken", "traits": { - "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The pagination token to continue to the next page of results.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } } } @@ -2217,7 +2282,7 @@ "type": "string", "traits": { "smithy.api#length": { - "max": 1000 + "max": 2000 } } }, @@ -2227,7 +2292,8 @@ "snsTopicArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the SNS topic.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the SNS topic.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } } }, @@ -2304,14 +2370,16 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan you're adding the resource policy\n to.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "policy": { "target": "com.amazonaws.ssmincidents#Policy", "traits": { "smithy.api#documentation": "

                                                                                  Details of the resource policy.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } } } @@ -2342,32 +2410,32 @@ "sseKmsKeyId": { "target": "com.amazonaws.ssmincidents#SseKmsKey", "traits": { - "smithy.api#documentation": "

                                                                                  The ID of the KMS key used to encrypt the data in this Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The ID of the KMS key used to encrypt the data in this Amazon Web Services Region.

                                                                                  " } }, "status": { "target": "com.amazonaws.ssmincidents#RegionStatus", "traits": { - "smithy.api#documentation": "

                                                                                  The status of the Region in the replication set.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The status of the Amazon Web Services Region in the replication set.

                                                                                  ", "smithy.api#required": {} } }, "statusMessage": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                                                                                  Information displayed about the status of the Region.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Information displayed about the status of the Amazon Web Services Region.

                                                                                  " } }, "statusUpdateDateTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  The most recent date and time that the Region's status was updated.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The most recent date and time that Incident Manager updated the Amazon Web Services Region's status.

                                                                                  ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

                                                                                  Information about a Region in your replication set.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Information about a Amazon Web Services Region in your replication set.

                                                                                  " } }, "com.amazonaws.ssmincidents#RegionInfoMap": { @@ -2382,7 +2450,10 @@ "com.amazonaws.ssmincidents#RegionMapInput": { "type": "map", "key": { - "target": "com.amazonaws.ssmincidents#RegionName" + "target": "com.amazonaws.ssmincidents#RegionName", + "traits": { + "smithy.api#tags": ["logs_investigations"] + } }, "value": { "target": "com.amazonaws.ssmincidents#RegionMapInputValue" @@ -2405,7 +2476,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  The mapping between a Region and the key that's used to encrypt the data.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The mapping between a Amazon Web Services Region and the key that's used to encrypt the\n data.

                                                                                  " } }, "com.amazonaws.ssmincidents#RegionName": { @@ -2510,7 +2581,7 @@ "regionMap": { "target": "com.amazonaws.ssmincidents#RegionInfoMap", "traits": { - "smithy.api#documentation": "

                                                                                  The map between each Region in your replication set and the KMS key that is used to\n encrypt the data in that Region.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The map between each Amazon Web Services Region in your replication set and the KMS key that's used to encrypt the data in that Region.

                                                                                  ", "smithy.api#required": {} } }, @@ -2524,7 +2595,7 @@ "deletionProtected": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

                                                                                  Determines if the replication set deletion protection is enabled or not. If deletion\n protection is enabled, you can't delete the last Region in the replication set.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Determines if the replication set deletion protection is enabled or not. If deletion\n protection is enabled, you can't delete the last Amazon Web Services Region in the\n replication set.

                                                                                  ", "smithy.api#required": {} } }, @@ -2558,7 +2629,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  The set of Regions that your Incident Manager data will be replicated to and the KMS key used\n to encrypt the data.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The set of Amazon Web Services Region that your Incident Manager data will be replicated to\n and the KMS key used to encrypt the data.

                                                                                  " } }, "com.amazonaws.ssmincidents#ReplicationSetArnList": { @@ -2622,7 +2693,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  Request references a resource which does not exist.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Request references a resource which doesn't exist.

                                                                                  ", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -2647,7 +2718,7 @@ "ramResourceShareRegion": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

                                                                                  The Region that policy allows resources to be used in.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The Amazon Web Services Region that policy allows resources to be used in.

                                                                                  ", "smithy.api#required": {} } } @@ -2870,7 +2941,7 @@ "smithy.api#cors": { "additionalAllowedHeaders": ["x-amz-content-sha256", "x-amz-user-agent", "content-type", "x-amzn-platform-id"] }, - "smithy.api#documentation": "

                                                                                  AWS Systems Manager Incident Manager is an incident management console designed to help\n users mitigate and recover from incidents affecting their AWS-hosted applications. An incident\n is any unplanned interruption or reduction in quality of services.

                                                                                  \n

                                                                                  Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder team\n escalation.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Systems Manager Incident Manager is an incident management console designed to help users\n mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An\n incident is any unplanned interruption or reduction in quality of services.

                                                                                  \n

                                                                                  Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder\n team escalation.

                                                                                  ", "smithy.api#title": "AWS Systems Manager Incident Manager" } }, @@ -2968,7 +3039,8 @@ "target": "com.amazonaws.ssmincidents#RoleArn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the role that the automation document will assume when running commands.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "documentName": { @@ -2976,7 +3048,8 @@ "traits": { "smithy.api#documentation": "

                                                                                  The automation document's name.

                                                                                  ", "smithy.api#pattern": "^[a-zA-Z0-9_\\-.:/]{3,128}$", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "documentVersion": { @@ -2985,13 +3058,15 @@ "smithy.api#documentation": "

                                                                                  The automation document's version to use when running.

                                                                                  ", "smithy.api#length": { "max": 128 - } + }, + "smithy.api#tags": ["logs_investigations"] } }, "targetAccount": { "target": "com.amazonaws.ssmincidents#SsmTargetAccount", "traits": { - "smithy.api#documentation": "

                                                                                  The account that the automation document will be run in. This can be in either the management account or an application account.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The account that the automation document will be run in. This can be in either the management account or an application account.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "parameters": { @@ -3002,7 +3077,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  Details about the Systems Manager automation document that will be used as a runbook during an incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Details about the Systems Manager automation document that will be used as a runbook\n during an incident.

                                                                                  " } }, "com.amazonaws.ssmincidents#SsmContactsArn": { @@ -3097,7 +3172,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Used to start an incident from CloudWatch alarms, EventBridge events, or manually.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Used to start an incident from CloudWatch alarms, EventBridge events, or\n manually.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/startIncident", @@ -3112,15 +3187,17 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } }, "responsePlanArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan that pre-defines summary, chat\n channels, SNS topics, runbooks, title, and impact of the incident.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan that pre-defines summary, chat\n channels, Amazon SNS topics, runbooks, title, and impact of the incident.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "title": { @@ -3144,7 +3221,7 @@ "relatedItems": { "target": "com.amazonaws.ssmincidents#RelatedItemList", "traits": { - "smithy.api#documentation": "

                                                                                  Add related items to the incident for other responders to use. Related items are AWS\n resources, external links, or files uploaded to an S3 bucket.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Add related items to the incident for other responders to use. Related items are AWS\n resources, external links, or files uploaded to an Amazon S3 bucket.

                                                                                  " } } } @@ -3168,7 +3245,8 @@ "traits": { "smithy.api#length": { "max": 1000 - } + }, + "smithy.api#tags": ["logs_investigations"] } }, "traits": { @@ -3262,7 +3340,8 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan you're adding the tags to.

                                                                                  ", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "tags": { @@ -3392,27 +3471,30 @@ "source": { "target": "com.amazonaws.ssmincidents#IncidentSource", "traits": { - "smithy.api#documentation": "

                                                                                  Identifies the service that sourced the event. All events sourced from within AWS begin\n with \"aws.\" Customer-generated events can have any value here, as long as it doesn't begin\n with \"aws.\" We recommend the use of Java package-name style reverse domain-name strings.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  Identifies the service that sourced the event. All events sourced from within Amazon Web Services begin with \"aws.\" Customer-generated events can have any value\n here, as long as it doesn't begin with \"aws.\" We recommend the use of Java\n package-name style reverse domain-name strings.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "triggerArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The ARN of the source that detected the incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the source that detected the incident.

                                                                                  ", + "smithy.api#tags": ["logs_required"] } }, "timestamp": { "target": "smithy.api#Timestamp", "traits": { "smithy.api#documentation": "

                                                                                  The time that the incident was detected.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "rawData": { "target": "com.amazonaws.ssmincidents#RawData", "traits": { - "smithy.api#documentation": "

                                                                                  Raw data passed from either EventBridge, CloudWatch, or Incident Manager when an\n incident is created.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or Incident Manager when an incident is created.

                                                                                  " } } }, @@ -3474,7 +3556,8 @@ "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan you're removing a tag from.

                                                                                  ", "smithy.api#httpLabel": {}, - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "tagKeys": { @@ -3538,21 +3621,24 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the replication set you're updating.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "deletionProtected": { "target": "smithy.api#Boolean", "traits": { "smithy.api#documentation": "

                                                                                  Details if deletion protection is enabled or disabled in your account.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_investigations"] } }, "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } } } @@ -3590,7 +3676,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Update the details of an incident record. You can use this action to update an\n incident record from the defined chat channel. For more information about using actions\n in chat channels, see Interacting through chat.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  Update the details of an incident record. You can use this operation to update an\n incident record from the defined chat channel. For more information about using actions\n in chat channels, see Interacting through chat.

                                                                                  ", "smithy.api#http": { "method": "POST", "uri": "/updateIncidentRecord", @@ -3605,51 +3691,54 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token that ensures that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } }, "arn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record you are updating.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "title": { "target": "com.amazonaws.ssmincidents#IncidentTitle", "traits": { - "smithy.api#documentation": "

                                                                                  The title of the incident is a brief and easily recognizable.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A brief description of the incident.

                                                                                  " } }, "summary": { "target": "com.amazonaws.ssmincidents#IncidentSummary", "traits": { - "smithy.api#documentation": "

                                                                                  The summary describes what has happened during the incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  A longer description of what occurred during the incident.

                                                                                  " } }, "impact": { "target": "com.amazonaws.ssmincidents#Impact", "traits": { - "smithy.api#documentation": "

                                                                                  Defines the impact to customers and applications. Providing an impact overwrites the\n impact provided by the response plan.

                                                                                  \n

                                                                                  \n Possible impacts:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n 1 - Critical impact, this typically relates to full application\n failure that impacts many to all customers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n 2 - High impact, partial application failure with impact to many\n customers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n 3 - Medium impact, the application is providing reduced service\n to customers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n 4 - Low impact, customer might aren't impacted by the problem\n yet.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n 5 - No impact, customers aren't currently impacted but urgent\n action is needed to avoid impact.

                                                                                    \n
                                                                                  • \n
                                                                                  " + "smithy.api#documentation": "

                                                                                  Defines the impact of the incident to customers and applications. Providing an impact\n overwrites the impact provided by the response plan.

                                                                                  \n

                                                                                  \n Possible impacts:\n

                                                                                  \n
                                                                                    \n
                                                                                  • \n

                                                                                    \n 1 - Critical impact, full application failure that impacts many\n to all customers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n 2 - High impact, partial application failure with impact to many\n customers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n 3 - Medium impact, the application is providing reduced service\n to customers.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n 4 - Low impact, customer aren't impacted by the problem\n yet.

                                                                                    \n
                                                                                  • \n
                                                                                  • \n

                                                                                    \n 5 - No impact, customers aren't currently impacted but urgent\n action is needed to avoid impact.

                                                                                    \n
                                                                                  • \n
                                                                                  " } }, "status": { "target": "com.amazonaws.ssmincidents#IncidentRecordStatus", "traits": { - "smithy.api#documentation": "

                                                                                  The status of the incident. An incident can be Open or Resolved.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The status of the incident. An incident can be Open or\n Resolved.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "chatChannel": { "target": "com.amazonaws.ssmincidents#ChatChannel", "traits": { - "smithy.api#documentation": "

                                                                                  The AWS Chatbot chat channel for responders to collaborate in.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Chatbot chat channel where responders can collaborate.

                                                                                  " } }, "notificationTargets": { "target": "com.amazonaws.ssmincidents#NotificationTargetSet", "traits": { - "smithy.api#documentation": "

                                                                                  The SNS targets that are notified when updates are made to an incident.

                                                                                  \n

                                                                                  Using multiple SNS topics creates redundancy in the case that a Region is down during\n the incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon SNS targets that are notified when updates are made to an\n incident.

                                                                                  \n

                                                                                  Using multiple SNS topics creates redundancy in the event that a Region is down during\n the incident.

                                                                                  " } } } @@ -3702,15 +3791,17 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } }, "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record you are updating related items\n in.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident record containing the related items you\n are updating.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "relatedItemsUpdate": { @@ -3766,13 +3857,13 @@ "addRegionAction": { "target": "com.amazonaws.ssmincidents#AddRegionAction", "traits": { - "smithy.api#documentation": "

                                                                                  Details about the Region that you're adding to the replication set.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Details about the Amazon Web Services Region that you're adding to the replication\n set.

                                                                                  " } }, "deleteRegionAction": { "target": "com.amazonaws.ssmincidents#DeleteRegionAction", "traits": { - "smithy.api#documentation": "

                                                                                  Details about the Region that you're deleting to the replication set.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Details about the Amazon Web Services Region that you're deleting to the replication\n set.

                                                                                  " } } }, @@ -3787,7 +3878,8 @@ "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the replication set you're updating.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "actions": { @@ -3804,8 +3896,9 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } } } @@ -3858,27 +3951,29 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } }, "arn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the response plan.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "displayName": { "target": "com.amazonaws.ssmincidents#ResponsePlanDisplayName", "traits": { - "smithy.api#documentation": "

                                                                                  The long format name of the response plan. Can't contain spaces.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The long format name of the response plan. The display name can't contain\n spaces.

                                                                                  " } }, "incidentTemplateTitle": { "target": "com.amazonaws.ssmincidents#IncidentTitle", "traits": { - "smithy.api#documentation": "

                                                                                  The short format name of the incident. Can't contain spaces.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The short format name of the incident. The title can't contain spaces.

                                                                                  " } }, "incidentTemplateImpact": { @@ -3896,19 +3991,20 @@ "incidentTemplateDedupeString": { "target": "com.amazonaws.ssmincidents#DedupeString", "traits": { - "smithy.api#documentation": "

                                                                                  Used to create only one incident record for an incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The string Incident Manager uses to prevent duplicate incidents from being created by the\n same incident in the same account.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "incidentTemplateNotificationTargets": { "target": "com.amazonaws.ssmincidents#NotificationTargetSet", "traits": { - "smithy.api#documentation": "

                                                                                  The SNS targets that are notified when updates are made to an incident.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Amazon SNS targets that are notified when updates are made to an\n incident.

                                                                                  " } }, "chatChannel": { "target": "com.amazonaws.ssmincidents#ChatChannel", "traits": { - "smithy.api#documentation": "

                                                                                  The\n AWS\n Chatbot chat channel used for collaboration during an\n incident.

                                                                                  \n

                                                                                  Use the empty structure to remove the chat channel from the response plan.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The Chatbot chat channel used for collaboration during an\n incident.

                                                                                  \n

                                                                                  Use the empty structure to remove the chat channel from the response plan.

                                                                                  " } }, "engagements": { @@ -3973,34 +4069,39 @@ "clientToken": { "target": "com.amazonaws.ssmincidents#ClientToken", "traits": { - "smithy.api#documentation": "

                                                                                  A token ensuring that the action is called only once with the specified details.

                                                                                  ", - "smithy.api#idempotencyToken": {} + "smithy.api#documentation": "

                                                                                  A token ensuring that the operation is called only once with the specified\n details.

                                                                                  ", + "smithy.api#idempotencyToken": {}, + "smithy.api#tags": ["logs_investigations"] } }, "incidentRecordArn": { "target": "com.amazonaws.ssmincidents#Arn", "traits": { - "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident that the timeline event is part\n of.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The Amazon Resource Name (ARN) of the incident that includes the timeline\n event.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "eventId": { "target": "com.amazonaws.ssmincidents#UUID", "traits": { - "smithy.api#documentation": "

                                                                                  The ID of the event you are updating. You can find this by using ListTimelineEvents.

                                                                                  ", - "smithy.api#required": {} + "smithy.api#documentation": "

                                                                                  The ID of the event you are updating. You can find this by using\n ListTimelineEvents.

                                                                                  ", + "smithy.api#required": {}, + "smithy.api#tags": ["logs_required"] } }, "eventTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

                                                                                  The time that the event occurred.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The time that the event occurred.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "eventType": { "target": "com.amazonaws.ssmincidents#TimelineEventType", "traits": { - "smithy.api#documentation": "

                                                                                  The type of the event. You can update events of type Custom Event.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The type of the event. You can update events of type Custom Event.

                                                                                  ", + "smithy.api#tags": ["logs_investigations"] } }, "eventData": { @@ -4034,7 +4135,7 @@ } }, "traits": { - "smithy.api#documentation": "

                                                                                  The input fails to satisfy the constraints specified by an AWS service.

                                                                                  ", + "smithy.api#documentation": "

                                                                                  The input fails to satisfy the constraints specified by an Amazon Web Services\n service.

                                                                                  ", "smithy.api#error": "client", "smithy.api#httpError": 400 } diff --git a/codegen/sdk-codegen/aws-models/textract.json b/codegen/sdk-codegen/aws-models/textract.json index c62b1d986cab..a95d8fc8c361 100644 --- a/codegen/sdk-codegen/aws-models/textract.json +++ b/codegen/sdk-codegen/aws-models/textract.json @@ -307,7 +307,7 @@ "Page": { "target": "com.amazonaws.textract#UInteger", "traits": { - "smithy.api#documentation": "

                                                                                  The page on which a block was detected. Page is returned by asynchronous\n operations. Page values greater than 1 are only returned for multipage documents that are\n in PDF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is\n considered to be a single-page document. The value of Page is always 1.\n Synchronous operations don't return Page because every input document is\n considered to be a single-page document.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The page on which a block was detected. Page is returned by asynchronous\n operations. Page values greater than 1 are only returned for multipage documents that are\n in PDF or TIFF format. A scanned image (JPEG/PNG), even if it contains multiple document pages, is\n considered to be a single-page document. The value of Page is always 1.\n Synchronous operations don't return Page because every input document is\n considered to be a single-page document.

                                                                                  " } } }, @@ -972,6 +972,115 @@ } } }, + "com.amazonaws.textract#GetExpenseAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.textract#GetExpenseAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.textract#GetExpenseAnalysisResponse" + }, + "errors": [ + { + "target": "com.amazonaws.textract#AccessDeniedException" + }, + { + "target": "com.amazonaws.textract#InternalServerError" + }, + { + "target": "com.amazonaws.textract#InvalidJobIdException" + }, + { + "target": "com.amazonaws.textract#InvalidKMSKeyException" + }, + { + "target": "com.amazonaws.textract#InvalidParameterException" + }, + { + "target": "com.amazonaws.textract#InvalidS3ObjectException" + }, + { + "target": "com.amazonaws.textract#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.textract#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Gets the results for an Amazon Textract asynchronous operation that analyzes invoices and\n receipts. Amazon Textract finds contact information, items purchased, and vendor name, from input\n invoices and receipts.

                                                                                  \n

                                                                                  You start asynchronous invoice/receipt analysis by calling StartExpenseAnalysis, which returns a job identifier (JobId). Upon\n completion of the invoice/receipt analysis, Amazon Textract publishes the completion status to the\n Amazon Simple Notification Service (Amazon SNS) topic. This topic must be registered in the initial call to\n StartExpenseAnalysis. To get the results of the invoice/receipt analysis operation,\n first ensure that the status value published to the Amazon SNS topic is SUCCEEDED. If so,\n call GetExpenseAnalysis, and pass the job identifier (JobId) from the\n initial call to StartExpenseAnalysis.

                                                                                  \n

                                                                                  Use the MaxResults parameter to limit the number of blocks that are returned. If there are\n more results than specified in MaxResults, the value of NextToken in\n the operation response contains a pagination token for getting the next set of results. To get\n the next page of results, call GetExpenseAnalysis, and populate the\n NextToken request parameter with the token value that's returned from the previous\n call to GetExpenseAnalysis.

                                                                                  \n

                                                                                  For more information, see Analyzing Invoices and Receipts.

                                                                                  " + } + }, + "com.amazonaws.textract#GetExpenseAnalysisRequest": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.textract#JobId", + "traits": { + "smithy.api#documentation": "

                                                                                  A unique identifier for the text detection job. The JobId is returned from\n StartExpenseAnalysis. A JobId value is only valid for 7 days.

                                                                                  ", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.textract#MaxResults", + "traits": { + "smithy.api#documentation": "

                                                                                  The maximum number of results to return per paginated call. The largest value you can\n specify is 20. If you specify a value greater than 20, a maximum of 20 results is\n returned. The default value is 20.

                                                                                  " + } + }, + "NextToken": { + "target": "com.amazonaws.textract#PaginationToken", + "traits": { + "smithy.api#documentation": "

                                                                                  If the previous response was incomplete (because there are more blocks to retrieve), Amazon Textract returns a pagination\n token in the response. You can use this pagination token to retrieve the next set of blocks.

                                                                                  " + } + } + } + }, + "com.amazonaws.textract#GetExpenseAnalysisResponse": { + "type": "structure", + "members": { + "DocumentMetadata": { + "target": "com.amazonaws.textract#DocumentMetadata", + "traits": { + "smithy.api#documentation": "

                                                                                  Information about a document that Amazon Textract processed. DocumentMetadata is\n returned in every page of paginated responses from an Amazon Textract operation.

                                                                                  " + } + }, + "JobStatus": { + "target": "com.amazonaws.textract#JobStatus", + "traits": { + "smithy.api#documentation": "

                                                                                  The current status of the text detection job.

                                                                                  " + } + }, + "NextToken": { + "target": "com.amazonaws.textract#PaginationToken", + "traits": { + "smithy.api#documentation": "

                                                                                  If the response is truncated, Amazon Textract returns this token. You can use this token in\n the subsequent request to retrieve the next set of text-detection results.

                                                                                  " + } + }, + "ExpenseDocuments": { + "target": "com.amazonaws.textract#ExpenseDocumentList", + "traits": { + "smithy.api#documentation": "

                                                                                  The expenses detected by Amazon Textract.

                                                                                  " + } + }, + "Warnings": { + "target": "com.amazonaws.textract#Warnings", + "traits": { + "smithy.api#documentation": "

                                                                                  A list of warnings that occurred during the text-detection operation for the\n document.

                                                                                  " + } + }, + "StatusMessage": { + "target": "com.amazonaws.textract#StatusMessage", + "traits": { + "smithy.api#documentation": "

                                                                                  Returns if the detection job could not be completed. Contains explanation for what error occured.

                                                                                  " + } + }, + "AnalyzeExpenseModelVersion": { + "target": "com.amazonaws.textract#String", + "traits": { + "smithy.api#documentation": "

                                                                                  The current model version of AnalyzeExpense.

                                                                                  " + } + } + } + }, "com.amazonaws.textract#HumanLoopActivationOutput": { "type": "structure", "members": { @@ -1528,7 +1637,7 @@ "Name": { "target": "com.amazonaws.textract#S3ObjectName", "traits": { - "smithy.api#documentation": "

                                                                                  The file name of the input document. Synchronous operations can use image files that are\n in JPEG or PNG format. Asynchronous operations also support PDF format files.

                                                                                  " + "smithy.api#documentation": "

                                                                                  The file name of the input document. Synchronous operations can use image files that are\n in JPEG or PNG format. Asynchronous operations also support PDF and TIFF format files.

                                                                                  " } }, "Version": { @@ -1634,7 +1743,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Starts the asynchronous analysis of an input document for relationships between detected\n items such as key-value pairs, tables, and selection elements.

                                                                                  \n\n

                                                                                  \n StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, and PDF format. The\n documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name\n of the document.\n

                                                                                  \n

                                                                                  \n StartDocumentAnalysis returns a job identifier\n (JobId) that you use to get the results of the operation. When text\n analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS)\n topic that you specify in NotificationChannel. To get the results of the text\n analysis operation, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetDocumentAnalysis, and pass\n the job identifier (JobId) from the initial call to\n StartDocumentAnalysis.

                                                                                  \n

                                                                                  For more information, see Document Text Analysis.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Starts the asynchronous analysis of an input document for relationships between detected\n items such as key-value pairs, tables, and selection elements.

                                                                                  \n\n

                                                                                  \n StartDocumentAnalysis can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The\n documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name\n of the document.\n

                                                                                  \n

                                                                                  \n StartDocumentAnalysis returns a job identifier\n (JobId) that you use to get the results of the operation. When text\n analysis is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS)\n topic that you specify in NotificationChannel. To get the results of the text\n analysis operation, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetDocumentAnalysis, and pass\n the job identifier (JobId) from the initial call to\n StartDocumentAnalysis.

                                                                                  \n

                                                                                  For more information, see Document Text Analysis.

                                                                                  " } }, "com.amazonaws.textract#StartDocumentAnalysisRequest": { @@ -1744,7 +1853,7 @@ } ], "traits": { - "smithy.api#documentation": "

                                                                                  Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of\n text and the words that make up a line of text.

                                                                                  \n

                                                                                  \n StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, and PDF format. The\n documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name\n of the document.\n

                                                                                  \n

                                                                                  \n StartTextDetection returns a job identifier\n (JobId) that you use to get the results of the operation. When text\n detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS)\n topic that you specify in NotificationChannel. To get the results of the text\n detection operation, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetDocumentTextDetection, and\n pass the job identifier (JobId) from the initial call to\n StartDocumentTextDetection.

                                                                                  \n

                                                                                  For more information, see Document Text Detection.

                                                                                  " + "smithy.api#documentation": "

                                                                                  Starts the asynchronous detection of text in a document. Amazon Textract can detect lines of\n text and the words that make up a line of text.

                                                                                  \n

                                                                                  \n StartDocumentTextDetection can analyze text in documents that are in JPEG, PNG, TIFF, and PDF format. The\n documents are stored in an Amazon S3 bucket. Use DocumentLocation to specify the bucket name and file name\n of the document.\n

                                                                                  \n

                                                                                  \n StartTextDetection returns a job identifier\n (JobId) that you use to get the results of the operation. When text\n detection is finished, Amazon Textract publishes a completion status to the Amazon Simple Notification Service (Amazon SNS)\n topic that you specify in NotificationChannel. To get the results of the text\n detection operation, first check that the status value published to the Amazon SNS topic is\n SUCCEEDED. If so, call GetDocumentTextDetection, and\n pass the job identifier (JobId) from the initial call to\n StartDocumentTextDetection.

                                                                                  \n

                                                                                  For more information, see Document Text Detection.

                                                                                  " } }, "com.amazonaws.textract#StartDocumentTextDetectionRequest": { @@ -1800,6 +1909,109 @@ } } }, + "com.amazonaws.textract#StartExpenseAnalysis": { + "type": "operation", + "input": { + "target": "com.amazonaws.textract#StartExpenseAnalysisRequest" + }, + "output": { + "target": "com.amazonaws.textract#StartExpenseAnalysisResponse" + }, + "errors": [ + { + "target": "com.amazonaws.textract#AccessDeniedException" + }, + { + "target": "com.amazonaws.textract#BadDocumentException" + }, + { + "target": "com.amazonaws.textract#DocumentTooLargeException" + }, + { + "target": "com.amazonaws.textract#IdempotentParameterMismatchException" + }, + { + "target": "com.amazonaws.textract#InternalServerError" + }, + { + "target": "com.amazonaws.textract#InvalidKMSKeyException" + }, + { + "target": "com.amazonaws.textract#InvalidParameterException" + }, + { + "target": "com.amazonaws.textract#InvalidS3ObjectException" + }, + { + "target": "com.amazonaws.textract#LimitExceededException" + }, + { + "target": "com.amazonaws.textract#ProvisionedThroughputExceededException" + }, + { + "target": "com.amazonaws.textract#ThrottlingException" + }, + { + "target": "com.amazonaws.textract#UnsupportedDocumentException" + } + ], + "traits": { + "smithy.api#documentation": "

                                                                                  Starts the asynchronous analysis of invoices or receipts for data like contact information,\n items purchased, and vendor names.

                                                                                  \n \n

                                                                                  \n StartExpenseAnalysis can analyze text in documents that are in JPEG, PNG, and\n PDF format. The documents must be stored in an Amazon S3 bucket. Use the DocumentLocation parameter to specify the name of your S3 bucket and the name of the\n document in that bucket.

                                                                                  \n

                                                                                  \n StartExpenseAnalysis returns a job identifier (JobId) that you\n will provide to GetExpenseAnalysis to retrieve the results of the operation. When\n the analysis of the input invoices/receipts is finished, Amazon Textract publishes a completion\n status to the Amazon Simple Notification Service (Amazon SNS) topic that you provide to the NotificationChannel.\n To obtain the results of the invoice and receipt analysis operation, ensure that the status value\n published to the Amazon SNS topic is SUCCEEDED. If so, call GetExpenseAnalysis, and pass the job identifier (JobId) that was\n returned by your call to StartExpenseAnalysis.

                                                                                  \n

                                                                                  For more information, see Analyzing Invoices and Receipts.

                                                                                  " + } + }, + "com.amazonaws.textract#StartExpenseAnalysisRequest": { + "type": "structure", + "members": { + "DocumentLocation": { + "target": "com.amazonaws.textract#DocumentLocation", + "traits": { + "smithy.api#documentation": "

                                                                                  The location of the document to be processed.

                                                                                  ", + "smithy.api#required": {} + } + }, + "ClientRequestToken": { + "target": "com.amazonaws.textract#ClientRequestToken", + "traits": { + "smithy.api#documentation": "

                                                                                  The idempotent token that's used to identify the start request. If you use the same token with multiple StartDocumentTextDetection requests, the same JobId is returned. \n Use ClientRequestToken to prevent the same job from being accidentally started more than once. \n For more information, see Calling Amazon Textract Asynchronous Operations\n

                                                                                  " + } + }, + "JobTag": { + "target": "com.amazonaws.textract#JobTag", + "traits": { + "smithy.api#documentation": "

                                                                                  An identifier you specify that's included in the completion notification published\n to the Amazon SNS topic. For example, you can use JobTag to identify the type of\n document that the completion notification corresponds to (such as a tax form or a\n receipt).

                                                                                  " + } + }, + "NotificationChannel": { + "target": "com.amazonaws.textract#NotificationChannel", + "traits": { + "smithy.api#documentation": "

                                                                                  The Amazon SNS topic ARN that you want Amazon Textract to publish the completion status of the\n operation to.

                                                                                  " + } + }, + "OutputConfig": { + "target": "com.amazonaws.textract#OutputConfig", + "traits": { + "smithy.api#documentation": "

                                                                                  Sets if the output will go to a customer defined bucket. By default, Amazon Textract will\n save the results internally to be accessed by the GetExpenseAnalysis\n operation.

                                                                                  " + } + }, + "KMSKeyId": { + "target": "com.amazonaws.textract#KMSKeyId", + "traits": { + "smithy.api#documentation": "

                                                                                  The KMS key used to encrypt the inference results. This can be \n in either Key ID or Key Alias format. When a KMS key is provided, the \n KMS key will be used for server-side encryption of the objects in the \n customer bucket. When this parameter is not enabled, the result will \n be encrypted server side,using SSE-S3.

                                                                                  " + } + } + } + }, + "com.amazonaws.textract#StartExpenseAnalysisResponse": { + "type": "structure", + "members": { + "JobId": { + "target": "com.amazonaws.textract#JobId", + "traits": { + "smithy.api#documentation": "

                                                                                  A unique identifier for the text detection job. The JobId is returned from\n StartExpenseAnalysis. A JobId value is only valid for 7 days.

                                                                                  " + } + } + } + }, "com.amazonaws.textract#StatusMessage": { "type": "string" }, @@ -1833,6 +2045,21 @@ }, "com.amazonaws.textract#Textract": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Textract", + "arnNamespace": "textract", + "cloudFormationName": "Textract", + "cloudTrailEventSource": "textract.amazonaws.com", + "endpointPrefix": "textract" + }, + "aws.auth#sigv4": { + "name": "textract" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

                                                                                  Amazon Textract detects and analyzes text in documents and converts it\n into machine-readable text. This is the API reference documentation for\n Amazon Textract.

                                                                                  ", + "smithy.api#title": "Amazon Textract" + }, "version": "2018-06-27", "operations": [ { @@ -1850,28 +2077,19 @@ { "target": "com.amazonaws.textract#GetDocumentTextDetection" }, + { + "target": "com.amazonaws.textract#GetExpenseAnalysis" + }, { "target": "com.amazonaws.textract#StartDocumentAnalysis" }, { "target": "com.amazonaws.textract#StartDocumentTextDetection" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "Textract", - "arnNamespace": "textract", - "cloudFormationName": "Textract", - "cloudTrailEventSource": "textract.amazonaws.com", - "endpointPrefix": "textract" - }, - "aws.auth#sigv4": { - "name": "textract" }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

                                                                                  Amazon Textract detects and analyzes text in documents and converts it\n into machine-readable text. This is the API reference documentation for\n Amazon Textract.

                                                                                  ", - "smithy.api#title": "Amazon Textract" - } + { + "target": "com.amazonaws.textract#StartExpenseAnalysis" + } + ] }, "com.amazonaws.textract#ThrottlingException": { "type": "structure",