From ede37683d1afd71b2be28ccd7d82a768820a7d2f Mon Sep 17 00:00:00 2001 From: awstools Date: Wed, 20 Nov 2024 19:12:53 +0000 Subject: [PATCH] feat(client-omics): Enabling call caching feature that allows customers to reuse previously computed results from a set of completed tasks in a new workflow run. --- clients/client-omics/README.md | 40 + clients/client-omics/src/Omics.ts | 91 ++ clients/client-omics/src/OmicsClient.ts | 15 + .../src/commands/CreateRunCacheCommand.ts | 133 +++ .../src/commands/DeleteRunCacheCommand.ts | 119 +++ .../src/commands/GetRunCacheCommand.ts | 128 +++ .../src/commands/GetRunCommand.ts | 7 + .../src/commands/GetRunTaskCommand.ts | 2 + .../src/commands/ListRunCachesCommand.ts | 128 +++ .../src/commands/ListRunTasksCommand.ts | 2 + .../src/commands/ListRunsCommand.ts | 4 + .../src/commands/StartRunCommand.ts | 9 +- .../src/commands/UpdateRunCacheCommand.ts | 117 +++ clients/client-omics/src/commands/index.ts | 5 + clients/client-omics/src/models/models_0.ts | 386 +++++++- .../src/pagination/ListRunCachesPaginator.ts | 24 + clients/client-omics/src/pagination/index.ts | 1 + .../src/protocols/Aws_restJson1.ts | 296 +++++++ codegen/sdk-codegen/aws-models/omics.json | 826 +++++++++++++++++- 19 files changed, 2312 insertions(+), 21 deletions(-) create mode 100644 clients/client-omics/src/commands/CreateRunCacheCommand.ts create mode 100644 clients/client-omics/src/commands/DeleteRunCacheCommand.ts create mode 100644 clients/client-omics/src/commands/GetRunCacheCommand.ts create mode 100644 clients/client-omics/src/commands/ListRunCachesCommand.ts create mode 100644 clients/client-omics/src/commands/UpdateRunCacheCommand.ts create mode 100644 clients/client-omics/src/pagination/ListRunCachesPaginator.ts diff --git a/clients/client-omics/README.md b/clients/client-omics/README.md index 58d939251991..e86f9a090edc 100644 --- a/clients/client-omics/README.md +++ b/clients/client-omics/README.md @@ -291,6 +291,14 @@ CreateReferenceStore [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/CreateReferenceStoreCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/CreateReferenceStoreCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/CreateReferenceStoreCommandOutput/) + +
+ +CreateRunCache + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/CreateRunCacheCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/CreateRunCacheCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/CreateRunCacheCommandOutput/) +
@@ -371,6 +379,14 @@ DeleteRun [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/DeleteRunCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/DeleteRunCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/DeleteRunCommandOutput/) +
+
+ +DeleteRunCache + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/DeleteRunCacheCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/DeleteRunCacheCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/DeleteRunCacheCommandOutput/) +
@@ -515,6 +531,14 @@ GetRun [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/GetRunCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/GetRunCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/GetRunCommandOutput/) +
+
+ +GetRunCache + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/GetRunCacheCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/GetRunCacheCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/GetRunCacheCommandOutput/) +
@@ -667,6 +691,14 @@ ListReferenceStores [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/ListReferenceStoresCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/ListReferenceStoresCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/ListReferenceStoresCommandOutput/) +
+
+ +ListRunCaches + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/ListRunCachesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/ListRunCachesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/ListRunCachesCommandOutput/) +
@@ -827,6 +859,14 @@ UpdateAnnotationStoreVersion [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/UpdateAnnotationStoreVersionCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/UpdateAnnotationStoreVersionCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/UpdateAnnotationStoreVersionCommandOutput/) +
+
+ +UpdateRunCache + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/omics/command/UpdateRunCacheCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/UpdateRunCacheCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-omics/Interface/UpdateRunCacheCommandOutput/) +
diff --git a/clients/client-omics/src/Omics.ts b/clients/client-omics/src/Omics.ts index 597841e27059..a0fe590571c0 100644 --- a/clients/client-omics/src/Omics.ts +++ b/clients/client-omics/src/Omics.ts @@ -49,6 +49,11 @@ import { CreateReferenceStoreCommandInput, CreateReferenceStoreCommandOutput, } from "./commands/CreateReferenceStoreCommand"; +import { + CreateRunCacheCommand, + CreateRunCacheCommandInput, + CreateRunCacheCommandOutput, +} from "./commands/CreateRunCacheCommand"; import { CreateRunGroupCommand, CreateRunGroupCommandInput, @@ -90,6 +95,11 @@ import { DeleteReferenceStoreCommandInput, DeleteReferenceStoreCommandOutput, } from "./commands/DeleteReferenceStoreCommand"; +import { + DeleteRunCacheCommand, + DeleteRunCacheCommandInput, + DeleteRunCacheCommandOutput, +} from "./commands/DeleteRunCacheCommand"; import { DeleteRunCommand, DeleteRunCommandInput, DeleteRunCommandOutput } from "./commands/DeleteRunCommand"; import { DeleteRunGroupCommand, @@ -168,6 +178,7 @@ import { GetReferenceStoreCommandInput, GetReferenceStoreCommandOutput, } from "./commands/GetReferenceStoreCommand"; +import { GetRunCacheCommand, GetRunCacheCommandInput, GetRunCacheCommandOutput } from "./commands/GetRunCacheCommand"; import { GetRunCommand, GetRunCommandInput, GetRunCommandOutput } from "./commands/GetRunCommand"; import { GetRunGroupCommand, GetRunGroupCommandInput, GetRunGroupCommandOutput } from "./commands/GetRunGroupCommand"; import { GetRunTaskCommand, GetRunTaskCommandInput, GetRunTaskCommandOutput } from "./commands/GetRunTaskCommand"; @@ -248,6 +259,11 @@ import { ListReferenceStoresCommandInput, ListReferenceStoresCommandOutput, } from "./commands/ListReferenceStoresCommand"; +import { + ListRunCachesCommand, + ListRunCachesCommandInput, + ListRunCachesCommandOutput, +} from "./commands/ListRunCachesCommand"; import { ListRunGroupsCommand, ListRunGroupsCommandInput, @@ -332,6 +348,11 @@ import { UpdateAnnotationStoreVersionCommandInput, UpdateAnnotationStoreVersionCommandOutput, } from "./commands/UpdateAnnotationStoreVersionCommand"; +import { + UpdateRunCacheCommand, + UpdateRunCacheCommandInput, + UpdateRunCacheCommandOutput, +} from "./commands/UpdateRunCacheCommand"; import { UpdateRunGroupCommand, UpdateRunGroupCommandInput, @@ -366,6 +387,7 @@ const commands = { CreateAnnotationStoreVersionCommand, CreateMultipartReadSetUploadCommand, CreateReferenceStoreCommand, + CreateRunCacheCommand, CreateRunGroupCommand, CreateSequenceStoreCommand, CreateShareCommand, @@ -376,6 +398,7 @@ const commands = { DeleteReferenceCommand, DeleteReferenceStoreCommand, DeleteRunCommand, + DeleteRunCacheCommand, DeleteRunGroupCommand, DeleteSequenceStoreCommand, DeleteShareCommand, @@ -394,6 +417,7 @@ const commands = { GetReferenceMetadataCommand, GetReferenceStoreCommand, GetRunCommand, + GetRunCacheCommand, GetRunGroupCommand, GetRunTaskCommand, GetSequenceStoreCommand, @@ -413,6 +437,7 @@ const commands = { ListReferenceImportJobsCommand, ListReferencesCommand, ListReferenceStoresCommand, + ListRunCachesCommand, ListRunGroupsCommand, ListRunsCommand, ListRunTasksCommand, @@ -433,6 +458,7 @@ const commands = { UntagResourceCommand, UpdateAnnotationStoreCommand, UpdateAnnotationStoreVersionCommand, + UpdateRunCacheCommand, UpdateRunGroupCommand, UpdateVariantStoreCommand, UpdateWorkflowCommand, @@ -615,6 +641,20 @@ export interface Omics { cb: (err: any, data?: CreateReferenceStoreCommandOutput) => void ): void; + /** + * @see {@link CreateRunCacheCommand} + */ + createRunCache( + args: CreateRunCacheCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createRunCache(args: CreateRunCacheCommandInput, cb: (err: any, data?: CreateRunCacheCommandOutput) => void): void; + createRunCache( + args: CreateRunCacheCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateRunCacheCommandOutput) => void + ): void; + /** * @see {@link CreateRunGroupCommand} */ @@ -764,6 +804,20 @@ export interface Omics { cb: (err: any, data?: DeleteRunCommandOutput) => void ): void; + /** + * @see {@link DeleteRunCacheCommand} + */ + deleteRunCache( + args: DeleteRunCacheCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteRunCache(args: DeleteRunCacheCommandInput, cb: (err: any, data?: DeleteRunCacheCommandOutput) => void): void; + deleteRunCache( + args: DeleteRunCacheCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteRunCacheCommandOutput) => void + ): void; + /** * @see {@link DeleteRunGroupCommand} */ @@ -1040,6 +1094,17 @@ export interface Omics { cb: (err: any, data?: GetRunCommandOutput) => void ): void; + /** + * @see {@link GetRunCacheCommand} + */ + getRunCache(args: GetRunCacheCommandInput, options?: __HttpHandlerOptions): Promise; + getRunCache(args: GetRunCacheCommandInput, cb: (err: any, data?: GetRunCacheCommandOutput) => void): void; + getRunCache( + args: GetRunCacheCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetRunCacheCommandOutput) => void + ): void; + /** * @see {@link GetRunGroupCommand} */ @@ -1330,6 +1395,18 @@ export interface Omics { cb: (err: any, data?: ListReferenceStoresCommandOutput) => void ): void; + /** + * @see {@link ListRunCachesCommand} + */ + listRunCaches(): Promise; + listRunCaches(args: ListRunCachesCommandInput, options?: __HttpHandlerOptions): Promise; + listRunCaches(args: ListRunCachesCommandInput, cb: (err: any, data?: ListRunCachesCommandOutput) => void): void; + listRunCaches( + args: ListRunCachesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListRunCachesCommandOutput) => void + ): void; + /** * @see {@link ListRunGroupsCommand} */ @@ -1628,6 +1705,20 @@ export interface Omics { cb: (err: any, data?: UpdateAnnotationStoreVersionCommandOutput) => void ): void; + /** + * @see {@link UpdateRunCacheCommand} + */ + updateRunCache( + args: UpdateRunCacheCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateRunCache(args: UpdateRunCacheCommandInput, cb: (err: any, data?: UpdateRunCacheCommandOutput) => void): void; + updateRunCache( + args: UpdateRunCacheCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateRunCacheCommandOutput) => void + ): void; + /** * @see {@link UpdateRunGroupCommand} */ diff --git a/clients/client-omics/src/OmicsClient.ts b/clients/client-omics/src/OmicsClient.ts index d85343801dfc..99fd93a8e094 100644 --- a/clients/client-omics/src/OmicsClient.ts +++ b/clients/client-omics/src/OmicsClient.ts @@ -89,6 +89,7 @@ import { CreateReferenceStoreCommandInput, CreateReferenceStoreCommandOutput, } from "./commands/CreateReferenceStoreCommand"; +import { CreateRunCacheCommandInput, CreateRunCacheCommandOutput } from "./commands/CreateRunCacheCommand"; import { CreateRunGroupCommandInput, CreateRunGroupCommandOutput } from "./commands/CreateRunGroupCommand"; import { CreateSequenceStoreCommandInput, @@ -110,6 +111,7 @@ import { DeleteReferenceStoreCommandInput, DeleteReferenceStoreCommandOutput, } from "./commands/DeleteReferenceStoreCommand"; +import { DeleteRunCacheCommandInput, DeleteRunCacheCommandOutput } from "./commands/DeleteRunCacheCommand"; import { DeleteRunCommandInput, DeleteRunCommandOutput } from "./commands/DeleteRunCommand"; import { DeleteRunGroupCommandInput, DeleteRunGroupCommandOutput } from "./commands/DeleteRunGroupCommand"; import { @@ -152,6 +154,7 @@ import { GetReferenceMetadataCommandOutput, } from "./commands/GetReferenceMetadataCommand"; import { GetReferenceStoreCommandInput, GetReferenceStoreCommandOutput } from "./commands/GetReferenceStoreCommand"; +import { GetRunCacheCommandInput, GetRunCacheCommandOutput } from "./commands/GetRunCacheCommand"; import { GetRunCommandInput, GetRunCommandOutput } from "./commands/GetRunCommand"; import { GetRunGroupCommandInput, GetRunGroupCommandOutput } from "./commands/GetRunGroupCommand"; import { GetRunTaskCommandInput, GetRunTaskCommandOutput } from "./commands/GetRunTaskCommand"; @@ -205,6 +208,7 @@ import { ListReferenceStoresCommandInput, ListReferenceStoresCommandOutput, } from "./commands/ListReferenceStoresCommand"; +import { ListRunCachesCommandInput, ListRunCachesCommandOutput } from "./commands/ListRunCachesCommand"; import { ListRunGroupsCommandInput, ListRunGroupsCommandOutput } from "./commands/ListRunGroupsCommand"; import { ListRunsCommandInput, ListRunsCommandOutput } from "./commands/ListRunsCommand"; import { ListRunTasksCommandInput, ListRunTasksCommandOutput } from "./commands/ListRunTasksCommand"; @@ -255,6 +259,7 @@ import { UpdateAnnotationStoreVersionCommandInput, UpdateAnnotationStoreVersionCommandOutput, } from "./commands/UpdateAnnotationStoreVersionCommand"; +import { UpdateRunCacheCommandInput, UpdateRunCacheCommandOutput } from "./commands/UpdateRunCacheCommand"; import { UpdateRunGroupCommandInput, UpdateRunGroupCommandOutput } from "./commands/UpdateRunGroupCommand"; import { UpdateVariantStoreCommandInput, UpdateVariantStoreCommandOutput } from "./commands/UpdateVariantStoreCommand"; import { UpdateWorkflowCommandInput, UpdateWorkflowCommandOutput } from "./commands/UpdateWorkflowCommand"; @@ -285,6 +290,7 @@ export type ServiceInputTypes = | CreateAnnotationStoreVersionCommandInput | CreateMultipartReadSetUploadCommandInput | CreateReferenceStoreCommandInput + | CreateRunCacheCommandInput | CreateRunGroupCommandInput | CreateSequenceStoreCommandInput | CreateShareCommandInput @@ -294,6 +300,7 @@ export type ServiceInputTypes = | DeleteAnnotationStoreVersionsCommandInput | DeleteReferenceCommandInput | DeleteReferenceStoreCommandInput + | DeleteRunCacheCommandInput | DeleteRunCommandInput | DeleteRunGroupCommandInput | DeleteSequenceStoreCommandInput @@ -312,6 +319,7 @@ export type ServiceInputTypes = | GetReferenceImportJobCommandInput | GetReferenceMetadataCommandInput | GetReferenceStoreCommandInput + | GetRunCacheCommandInput | GetRunCommandInput | GetRunGroupCommandInput | GetRunTaskCommandInput @@ -332,6 +340,7 @@ export type ServiceInputTypes = | ListReferenceImportJobsCommandInput | ListReferenceStoresCommandInput | ListReferencesCommandInput + | ListRunCachesCommandInput | ListRunGroupsCommandInput | ListRunTasksCommandInput | ListRunsCommandInput @@ -352,6 +361,7 @@ export type ServiceInputTypes = | UntagResourceCommandInput | UpdateAnnotationStoreCommandInput | UpdateAnnotationStoreVersionCommandInput + | UpdateRunCacheCommandInput | UpdateRunGroupCommandInput | UpdateVariantStoreCommandInput | UpdateWorkflowCommandInput @@ -372,6 +382,7 @@ export type ServiceOutputTypes = | CreateAnnotationStoreVersionCommandOutput | CreateMultipartReadSetUploadCommandOutput | CreateReferenceStoreCommandOutput + | CreateRunCacheCommandOutput | CreateRunGroupCommandOutput | CreateSequenceStoreCommandOutput | CreateShareCommandOutput @@ -381,6 +392,7 @@ export type ServiceOutputTypes = | DeleteAnnotationStoreVersionsCommandOutput | DeleteReferenceCommandOutput | DeleteReferenceStoreCommandOutput + | DeleteRunCacheCommandOutput | DeleteRunCommandOutput | DeleteRunGroupCommandOutput | DeleteSequenceStoreCommandOutput @@ -399,6 +411,7 @@ export type ServiceOutputTypes = | GetReferenceImportJobCommandOutput | GetReferenceMetadataCommandOutput | GetReferenceStoreCommandOutput + | GetRunCacheCommandOutput | GetRunCommandOutput | GetRunGroupCommandOutput | GetRunTaskCommandOutput @@ -419,6 +432,7 @@ export type ServiceOutputTypes = | ListReferenceImportJobsCommandOutput | ListReferenceStoresCommandOutput | ListReferencesCommandOutput + | ListRunCachesCommandOutput | ListRunGroupsCommandOutput | ListRunTasksCommandOutput | ListRunsCommandOutput @@ -439,6 +453,7 @@ export type ServiceOutputTypes = | UntagResourceCommandOutput | UpdateAnnotationStoreCommandOutput | UpdateAnnotationStoreVersionCommandOutput + | UpdateRunCacheCommandOutput | UpdateRunGroupCommandOutput | UpdateVariantStoreCommandOutput | UpdateWorkflowCommandOutput diff --git a/clients/client-omics/src/commands/CreateRunCacheCommand.ts b/clients/client-omics/src/commands/CreateRunCacheCommand.ts new file mode 100644 index 000000000000..1c9b0507196b --- /dev/null +++ b/clients/client-omics/src/commands/CreateRunCacheCommand.ts @@ -0,0 +1,133 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateRunCacheRequest, CreateRunCacheResponse } from "../models/models_0"; +import { OmicsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OmicsClient"; +import { de_CreateRunCacheCommand, se_CreateRunCacheCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateRunCacheCommand}. + */ +export interface CreateRunCacheCommandInput extends CreateRunCacheRequest {} +/** + * @public + * + * The output of {@link CreateRunCacheCommand}. + */ +export interface CreateRunCacheCommandOutput extends CreateRunCacheResponse, __MetadataBearer {} + +/** + *

You can create a run cache to save the task outputs from completed tasks in a run for a private workflow. + * Subsequent runs use the task outputs from the cache, rather than computing the task outputs again. + * You specify an Amazon S3 location where HealthOmics saves the cached data. This data must be + * immediately accessible (not in an archived state).

+ *

For more information, see Creating a run cache in the AWS HealthOmics User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OmicsClient, CreateRunCacheCommand } from "@aws-sdk/client-omics"; // ES Modules import + * // const { OmicsClient, CreateRunCacheCommand } = require("@aws-sdk/client-omics"); // CommonJS import + * const client = new OmicsClient(config); + * const input = { // CreateRunCacheRequest + * cacheBehavior: "STRING_VALUE", + * cacheS3Location: "STRING_VALUE", // required + * description: "STRING_VALUE", + * name: "STRING_VALUE", + * requestId: "STRING_VALUE", // required + * tags: { // TagMap + * "": "STRING_VALUE", + * }, + * cacheBucketOwnerId: "STRING_VALUE", + * }; + * const command = new CreateRunCacheCommand(input); + * const response = await client.send(command); + * // { // CreateRunCacheResponse + * // arn: "STRING_VALUE", + * // id: "STRING_VALUE", + * // status: "STRING_VALUE", + * // tags: { // TagMap + * // "": "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param CreateRunCacheCommandInput - {@link CreateRunCacheCommandInput} + * @returns {@link CreateRunCacheCommandOutput} + * @see {@link CreateRunCacheCommandInput} for command's `input` shape. + * @see {@link CreateRunCacheCommandOutput} for command's `response` shape. + * @see {@link OmicsClientResolvedConfig | config} for OmicsClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request cannot be applied to the target resource in its current state.

+ * + * @throws {@link InternalServerException} (server fault) + *

An unexpected error occurred. Try the request again.

+ * + * @throws {@link RequestTimeoutException} (client fault) + *

The request timed out.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The target resource was not found in the current Region.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

The request exceeds a service quota.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link OmicsServiceException} + *

Base exception class for all service exceptions from Omics service.

+ * + * @public + */ +export class CreateRunCacheCommand extends $Command + .classBuilder< + CreateRunCacheCommandInput, + CreateRunCacheCommandOutput, + OmicsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: OmicsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Omics", "CreateRunCache", {}) + .n("OmicsClient", "CreateRunCacheCommand") + .f(void 0, void 0) + .ser(se_CreateRunCacheCommand) + .de(de_CreateRunCacheCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateRunCacheRequest; + output: CreateRunCacheResponse; + }; + sdk: { + input: CreateRunCacheCommandInput; + output: CreateRunCacheCommandOutput; + }; + }; +} diff --git a/clients/client-omics/src/commands/DeleteRunCacheCommand.ts b/clients/client-omics/src/commands/DeleteRunCacheCommand.ts new file mode 100644 index 000000000000..e1e41e100dfa --- /dev/null +++ b/clients/client-omics/src/commands/DeleteRunCacheCommand.ts @@ -0,0 +1,119 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteRunCacheRequest } from "../models/models_0"; +import { OmicsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OmicsClient"; +import { de_DeleteRunCacheCommand, se_DeleteRunCacheCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteRunCacheCommand}. + */ +export interface DeleteRunCacheCommandInput extends DeleteRunCacheRequest {} +/** + * @public + * + * The output of {@link DeleteRunCacheCommand}. + */ +export interface DeleteRunCacheCommandOutput extends __MetadataBearer {} + +/** + *

Delete a run cache. This action removes the cache metadata stored in the service account, + * but doesn't delete the data in Amazon S3. + * You can access the cache data in Amazon S3, for inspection or to troubleshoot issues. + * You can remove old cache data using standard S3 Delete operations. + *

+ *

For more information, see Deleting a run cache in the AWS HealthOmics User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OmicsClient, DeleteRunCacheCommand } from "@aws-sdk/client-omics"; // ES Modules import + * // const { OmicsClient, DeleteRunCacheCommand } = require("@aws-sdk/client-omics"); // CommonJS import + * const client = new OmicsClient(config); + * const input = { // DeleteRunCacheRequest + * id: "STRING_VALUE", // required + * }; + * const command = new DeleteRunCacheCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteRunCacheCommandInput - {@link DeleteRunCacheCommandInput} + * @returns {@link DeleteRunCacheCommandOutput} + * @see {@link DeleteRunCacheCommandInput} for command's `input` shape. + * @see {@link DeleteRunCacheCommandOutput} for command's `response` shape. + * @see {@link OmicsClientResolvedConfig | config} for OmicsClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request cannot be applied to the target resource in its current state.

+ * + * @throws {@link InternalServerException} (server fault) + *

An unexpected error occurred. Try the request again.

+ * + * @throws {@link RequestTimeoutException} (client fault) + *

The request timed out.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The target resource was not found in the current Region.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

The request exceeds a service quota.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link OmicsServiceException} + *

Base exception class for all service exceptions from Omics service.

+ * + * @public + */ +export class DeleteRunCacheCommand extends $Command + .classBuilder< + DeleteRunCacheCommandInput, + DeleteRunCacheCommandOutput, + OmicsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: OmicsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Omics", "DeleteRunCache", {}) + .n("OmicsClient", "DeleteRunCacheCommand") + .f(void 0, void 0) + .ser(se_DeleteRunCacheCommand) + .de(de_DeleteRunCacheCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteRunCacheRequest; + output: {}; + }; + sdk: { + input: DeleteRunCacheCommandInput; + output: DeleteRunCacheCommandOutput; + }; + }; +} diff --git a/clients/client-omics/src/commands/GetRunCacheCommand.ts b/clients/client-omics/src/commands/GetRunCacheCommand.ts new file mode 100644 index 000000000000..73634529f469 --- /dev/null +++ b/clients/client-omics/src/commands/GetRunCacheCommand.ts @@ -0,0 +1,128 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetRunCacheRequest, GetRunCacheResponse } from "../models/models_0"; +import { OmicsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OmicsClient"; +import { de_GetRunCacheCommand, se_GetRunCacheCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetRunCacheCommand}. + */ +export interface GetRunCacheCommandInput extends GetRunCacheRequest {} +/** + * @public + * + * The output of {@link GetRunCacheCommand}. + */ +export interface GetRunCacheCommandOutput extends GetRunCacheResponse, __MetadataBearer {} + +/** + *

Retrieve the details for the specified run cache.

+ *

For more information, see Call caching for HealthOmics runs in the AWS HealthOmics User Guide.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OmicsClient, GetRunCacheCommand } from "@aws-sdk/client-omics"; // ES Modules import + * // const { OmicsClient, GetRunCacheCommand } = require("@aws-sdk/client-omics"); // CommonJS import + * const client = new OmicsClient(config); + * const input = { // GetRunCacheRequest + * id: "STRING_VALUE", // required + * }; + * const command = new GetRunCacheCommand(input); + * const response = await client.send(command); + * // { // GetRunCacheResponse + * // arn: "STRING_VALUE", + * // cacheBehavior: "STRING_VALUE", + * // cacheBucketOwnerId: "STRING_VALUE", + * // cacheS3Uri: "STRING_VALUE", + * // creationTime: new Date("TIMESTAMP"), + * // description: "STRING_VALUE", + * // id: "STRING_VALUE", + * // name: "STRING_VALUE", + * // status: "STRING_VALUE", + * // tags: { // TagMap + * // "": "STRING_VALUE", + * // }, + * // }; + * + * ``` + * + * @param GetRunCacheCommandInput - {@link GetRunCacheCommandInput} + * @returns {@link GetRunCacheCommandOutput} + * @see {@link GetRunCacheCommandInput} for command's `input` shape. + * @see {@link GetRunCacheCommandOutput} for command's `response` shape. + * @see {@link OmicsClientResolvedConfig | config} for OmicsClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request cannot be applied to the target resource in its current state.

+ * + * @throws {@link InternalServerException} (server fault) + *

An unexpected error occurred. Try the request again.

+ * + * @throws {@link RequestTimeoutException} (client fault) + *

The request timed out.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The target resource was not found in the current Region.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

The request exceeds a service quota.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link OmicsServiceException} + *

Base exception class for all service exceptions from Omics service.

+ * + * @public + */ +export class GetRunCacheCommand extends $Command + .classBuilder< + GetRunCacheCommandInput, + GetRunCacheCommandOutput, + OmicsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: OmicsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Omics", "GetRunCache", {}) + .n("OmicsClient", "GetRunCacheCommand") + .f(void 0, void 0) + .ser(se_GetRunCacheCommand) + .de(de_GetRunCacheCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetRunCacheRequest; + output: GetRunCacheResponse; + }; + sdk: { + input: GetRunCacheCommandInput; + output: GetRunCacheCommandOutput; + }; + }; +} diff --git a/clients/client-omics/src/commands/GetRunCommand.ts b/clients/client-omics/src/commands/GetRunCommand.ts index 7c33bd82d204..79adc0e15115 100644 --- a/clients/client-omics/src/commands/GetRunCommand.ts +++ b/clients/client-omics/src/commands/GetRunCommand.ts @@ -30,6 +30,10 @@ export interface GetRunCommandOutput extends GetRunResponse, __MetadataBearer {} /** *

Gets information about a workflow run.

*

If a workflow is shared with you, you cannot export information about the run.

+ *

HealthOmics stores a fixed number of runs that are available to the console and API. If + * GetRun doesn't return the requested run, you can find run logs + * for all runs in the CloudWatch logs. For more information about viewing the run logs, see CloudWatch logs + * in the AWS HealthOmics User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -47,6 +51,9 @@ export interface GetRunCommandOutput extends GetRunResponse, __MetadataBearer {} * // { // GetRunResponse * // arn: "STRING_VALUE", * // id: "STRING_VALUE", + * // cacheId: "STRING_VALUE", + * // cacheBehavior: "STRING_VALUE", + * // engineVersion: "STRING_VALUE", * // status: "STRING_VALUE", * // workflowId: "STRING_VALUE", * // workflowType: "STRING_VALUE", diff --git a/clients/client-omics/src/commands/GetRunTaskCommand.ts b/clients/client-omics/src/commands/GetRunTaskCommand.ts index 764ddf6843fa..88d833e405d7 100644 --- a/clients/client-omics/src/commands/GetRunTaskCommand.ts +++ b/clients/client-omics/src/commands/GetRunTaskCommand.ts @@ -46,6 +46,8 @@ export interface GetRunTaskCommandOutput extends GetRunTaskResponse, __MetadataB * // status: "STRING_VALUE", * // name: "STRING_VALUE", * // cpus: Number("int"), + * // cacheHit: true || false, + * // cacheS3Uri: "STRING_VALUE", * // memory: Number("int"), * // creationTime: new Date("TIMESTAMP"), * // startTime: new Date("TIMESTAMP"), diff --git a/clients/client-omics/src/commands/ListRunCachesCommand.ts b/clients/client-omics/src/commands/ListRunCachesCommand.ts new file mode 100644 index 000000000000..31885cf8de28 --- /dev/null +++ b/clients/client-omics/src/commands/ListRunCachesCommand.ts @@ -0,0 +1,128 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListRunCachesRequest, ListRunCachesResponse } from "../models/models_0"; +import { OmicsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OmicsClient"; +import { de_ListRunCachesCommand, se_ListRunCachesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListRunCachesCommand}. + */ +export interface ListRunCachesCommandInput extends ListRunCachesRequest {} +/** + * @public + * + * The output of {@link ListRunCachesCommand}. + */ +export interface ListRunCachesCommandOutput extends ListRunCachesResponse, __MetadataBearer {} + +/** + *

Retrieves a list of your run caches.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OmicsClient, ListRunCachesCommand } from "@aws-sdk/client-omics"; // ES Modules import + * // const { OmicsClient, ListRunCachesCommand } = require("@aws-sdk/client-omics"); // CommonJS import + * const client = new OmicsClient(config); + * const input = { // ListRunCachesRequest + * maxResults: Number("int"), + * startingToken: "STRING_VALUE", + * }; + * const command = new ListRunCachesCommand(input); + * const response = await client.send(command); + * // { // ListRunCachesResponse + * // items: [ // RunCacheList + * // { // RunCacheListItem + * // arn: "STRING_VALUE", + * // cacheBehavior: "STRING_VALUE", + * // cacheS3Uri: "STRING_VALUE", + * // creationTime: new Date("TIMESTAMP"), + * // id: "STRING_VALUE", + * // name: "STRING_VALUE", + * // status: "STRING_VALUE", + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListRunCachesCommandInput - {@link ListRunCachesCommandInput} + * @returns {@link ListRunCachesCommandOutput} + * @see {@link ListRunCachesCommandInput} for command's `input` shape. + * @see {@link ListRunCachesCommandOutput} for command's `response` shape. + * @see {@link OmicsClientResolvedConfig | config} for OmicsClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request cannot be applied to the target resource in its current state.

+ * + * @throws {@link InternalServerException} (server fault) + *

An unexpected error occurred. Try the request again.

+ * + * @throws {@link RequestTimeoutException} (client fault) + *

The request timed out.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The target resource was not found in the current Region.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

The request exceeds a service quota.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link OmicsServiceException} + *

Base exception class for all service exceptions from Omics service.

+ * + * @public + */ +export class ListRunCachesCommand extends $Command + .classBuilder< + ListRunCachesCommandInput, + ListRunCachesCommandOutput, + OmicsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: OmicsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Omics", "ListRunCaches", {}) + .n("OmicsClient", "ListRunCachesCommand") + .f(void 0, void 0) + .ser(se_ListRunCachesCommand) + .de(de_ListRunCachesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListRunCachesRequest; + output: ListRunCachesResponse; + }; + sdk: { + input: ListRunCachesCommandInput; + output: ListRunCachesCommandOutput; + }; + }; +} diff --git a/clients/client-omics/src/commands/ListRunTasksCommand.ts b/clients/client-omics/src/commands/ListRunTasksCommand.ts index 714e437e689a..8503d76283dd 100644 --- a/clients/client-omics/src/commands/ListRunTasksCommand.ts +++ b/clients/client-omics/src/commands/ListRunTasksCommand.ts @@ -50,6 +50,8 @@ export interface ListRunTasksCommandOutput extends ListRunTasksResponse, __Metad * // status: "STRING_VALUE", * // name: "STRING_VALUE", * // cpus: Number("int"), + * // cacheHit: true || false, + * // cacheS3Uri: "STRING_VALUE", * // memory: Number("int"), * // creationTime: new Date("TIMESTAMP"), * // startTime: new Date("TIMESTAMP"), diff --git a/clients/client-omics/src/commands/ListRunsCommand.ts b/clients/client-omics/src/commands/ListRunsCommand.ts index eb0a91791529..bf1ff4b679f3 100644 --- a/clients/client-omics/src/commands/ListRunsCommand.ts +++ b/clients/client-omics/src/commands/ListRunsCommand.ts @@ -29,6 +29,10 @@ export interface ListRunsCommandOutput extends ListRunsResponse, __MetadataBeare /** *

Retrieves a list of runs.

+ *

HealthOmics stores a fixed number of runs that are available to the console and API. If + * the ListRuns response doesn't include specific runs that you expected, you can find run logs + * for all runs in the CloudWatch logs. For more information about viewing the run logs, see CloudWatch logs + * in the AWS HealthOmics User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-omics/src/commands/StartRunCommand.ts b/clients/client-omics/src/commands/StartRunCommand.ts index 2b54c4b090c6..d15f8aa69d86 100644 --- a/clients/client-omics/src/commands/StartRunCommand.ts +++ b/clients/client-omics/src/commands/StartRunCommand.ts @@ -31,9 +31,10 @@ export interface StartRunCommandOutput extends StartRunResponse, __MetadataBeare *

Starts a workflow run. To duplicate a run, specify the run's ID and a role ARN. The * remaining parameters are copied from the previous run.

*

StartRun will not support re-run for a workflow that is shared with you.

- *

The total number of runs in your account is subject to a quota per Region. To avoid - * needing to delete runs manually, you can set the retention mode to REMOVE. - * Runs with this setting are deleted automatically when the run quoata is exceeded.

+ *

HealthOmics stores a fixed number of runs that are available to the console and API. + * By default, HealthOmics doesn't any remove any runs. If HealthOmics reaches the maximum + * number of runs, you must manually remove runs. To have older runs removed automatically, + * set the retention mode to REMOVE.

*

By default, the run uses STATIC storage. For STATIC storage, set the storageCapacity field. * You can set the storage type to DYNAMIC. You do not set storageCapacity, * because HealthOmics dynamically scales the storage up or down as required. @@ -51,6 +52,8 @@ export interface StartRunCommandOutput extends StartRunResponse, __MetadataBeare * runId: "STRING_VALUE", * roleArn: "STRING_VALUE", // required * name: "STRING_VALUE", + * cacheId: "STRING_VALUE", + * cacheBehavior: "STRING_VALUE", * runGroupId: "STRING_VALUE", * priority: Number("int"), * parameters: "DOCUMENT_VALUE", diff --git a/clients/client-omics/src/commands/UpdateRunCacheCommand.ts b/clients/client-omics/src/commands/UpdateRunCacheCommand.ts new file mode 100644 index 000000000000..8e207dd7467b --- /dev/null +++ b/clients/client-omics/src/commands/UpdateRunCacheCommand.ts @@ -0,0 +1,117 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateRunCacheRequest } from "../models/models_0"; +import { OmicsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../OmicsClient"; +import { de_UpdateRunCacheCommand, se_UpdateRunCacheCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateRunCacheCommand}. + */ +export interface UpdateRunCacheCommandInput extends UpdateRunCacheRequest {} +/** + * @public + * + * The output of {@link UpdateRunCacheCommand}. + */ +export interface UpdateRunCacheCommandOutput extends __MetadataBearer {} + +/** + *

Update a run cache.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { OmicsClient, UpdateRunCacheCommand } from "@aws-sdk/client-omics"; // ES Modules import + * // const { OmicsClient, UpdateRunCacheCommand } = require("@aws-sdk/client-omics"); // CommonJS import + * const client = new OmicsClient(config); + * const input = { // UpdateRunCacheRequest + * cacheBehavior: "STRING_VALUE", + * description: "STRING_VALUE", + * id: "STRING_VALUE", // required + * name: "STRING_VALUE", + * }; + * const command = new UpdateRunCacheCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UpdateRunCacheCommandInput - {@link UpdateRunCacheCommandInput} + * @returns {@link UpdateRunCacheCommandOutput} + * @see {@link UpdateRunCacheCommandInput} for command's `input` shape. + * @see {@link UpdateRunCacheCommandOutput} for command's `response` shape. + * @see {@link OmicsClientResolvedConfig | config} for OmicsClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You do not have sufficient access to perform this action.

+ * + * @throws {@link ConflictException} (client fault) + *

The request cannot be applied to the target resource in its current state.

+ * + * @throws {@link InternalServerException} (server fault) + *

An unexpected error occurred. Try the request again.

+ * + * @throws {@link RequestTimeoutException} (client fault) + *

The request timed out.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The target resource was not found in the current Region.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

The request exceeds a service quota.

+ * + * @throws {@link ThrottlingException} (client fault) + *

The request was denied due to request throttling.

+ * + * @throws {@link ValidationException} (client fault) + *

The input fails to satisfy the constraints specified by an AWS service.

+ * + * @throws {@link OmicsServiceException} + *

Base exception class for all service exceptions from Omics service.

+ * + * @public + */ +export class UpdateRunCacheCommand extends $Command + .classBuilder< + UpdateRunCacheCommandInput, + UpdateRunCacheCommandOutput, + OmicsClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: OmicsClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Omics", "UpdateRunCache", {}) + .n("OmicsClient", "UpdateRunCacheCommand") + .f(void 0, void 0) + .ser(se_UpdateRunCacheCommand) + .de(de_UpdateRunCacheCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateRunCacheRequest; + output: {}; + }; + sdk: { + input: UpdateRunCacheCommandInput; + output: UpdateRunCacheCommandOutput; + }; + }; +} diff --git a/clients/client-omics/src/commands/index.ts b/clients/client-omics/src/commands/index.ts index 35e2578b4728..aab3ae2662e7 100644 --- a/clients/client-omics/src/commands/index.ts +++ b/clients/client-omics/src/commands/index.ts @@ -10,6 +10,7 @@ export * from "./CreateAnnotationStoreCommand"; export * from "./CreateAnnotationStoreVersionCommand"; export * from "./CreateMultipartReadSetUploadCommand"; export * from "./CreateReferenceStoreCommand"; +export * from "./CreateRunCacheCommand"; export * from "./CreateRunGroupCommand"; export * from "./CreateSequenceStoreCommand"; export * from "./CreateShareCommand"; @@ -19,6 +20,7 @@ export * from "./DeleteAnnotationStoreCommand"; export * from "./DeleteAnnotationStoreVersionsCommand"; export * from "./DeleteReferenceCommand"; export * from "./DeleteReferenceStoreCommand"; +export * from "./DeleteRunCacheCommand"; export * from "./DeleteRunCommand"; export * from "./DeleteRunGroupCommand"; export * from "./DeleteSequenceStoreCommand"; @@ -37,6 +39,7 @@ export * from "./GetReferenceCommand"; export * from "./GetReferenceImportJobCommand"; export * from "./GetReferenceMetadataCommand"; export * from "./GetReferenceStoreCommand"; +export * from "./GetRunCacheCommand"; export * from "./GetRunCommand"; export * from "./GetRunGroupCommand"; export * from "./GetRunTaskCommand"; @@ -57,6 +60,7 @@ export * from "./ListReadSetsCommand"; export * from "./ListReferenceImportJobsCommand"; export * from "./ListReferenceStoresCommand"; export * from "./ListReferencesCommand"; +export * from "./ListRunCachesCommand"; export * from "./ListRunGroupsCommand"; export * from "./ListRunTasksCommand"; export * from "./ListRunsCommand"; @@ -77,6 +81,7 @@ export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateAnnotationStoreCommand"; export * from "./UpdateAnnotationStoreVersionCommand"; +export * from "./UpdateRunCacheCommand"; export * from "./UpdateRunGroupCommand"; export * from "./UpdateVariantStoreCommand"; export * from "./UpdateWorkflowCommand"; diff --git a/clients/client-omics/src/models/models_0.ts b/clients/client-omics/src/models/models_0.ts index cd4157aee77b..32f5a52eb5f4 100644 --- a/clients/client-omics/src/models/models_0.ts +++ b/clients/client-omics/src/models/models_0.ts @@ -2387,6 +2387,20 @@ export interface BatchDeleteReadSetResponse { errors?: ReadSetBatchError[] | undefined; } +/** + * @public + * @enum + */ +export const CacheBehavior = { + CACHE_ALWAYS: "CACHE_ALWAYS", + CACHE_ON_FAILURE: "CACHE_ON_FAILURE", +} as const; + +/** + * @public + */ +export type CacheBehavior = (typeof CacheBehavior)[keyof typeof CacheBehavior]; + /** * @public */ @@ -2722,6 +2736,111 @@ export interface CreateReferenceStoreResponse { creationTime: Date | undefined; } +/** + * @public + */ +export interface CreateRunCacheRequest { + /** + *

Default cache behavior for runs that use this cache. Supported values are:

+ *

+ * CACHE_ON_FAILURE: Caches task outputs from completed tasks for runs that fail. This setting is + * useful if you're debugging a workflow that fails after several + * tasks completed successfully. The subsequent run uses the cache outputs for previously-completed tasks if the task definition, + * inputs, and container in ECR are identical to the prior run.

+ *

+ * CACHE_ALWAYS: Caches task outputs from completed tasks for all runs. This setting + * is useful in development mode, but do not use it in a production setting.

+ *

If you don't specify a value, the default behavior is CACHE_ON_FAILURE. + * When you start a run that uses this cache, you can override the default cache behavior.

+ *

For more information, see Run cache behavior in the AWS HealthOmics User Guide.

+ * @public + */ + cacheBehavior?: CacheBehavior | undefined; + + /** + *

Specify the S3 location for storing the cached task outputs. + * This data must be immediately accessible (not in an archived state).

+ * @public + */ + cacheS3Location: string | undefined; + + /** + *

Enter a description of the run cache.

+ * @public + */ + description?: string | undefined; + + /** + *

Enter a user-friendly name for the run cache.

+ * @public + */ + name?: string | undefined; + + /** + *

A unique request token, to ensure idempotency. If you don't specify a token, + * HealthOmics automatically generates a universally unique identifier (UUID) for the request.

+ * @public + */ + requestId?: string | undefined; + + /** + *

Specify one or more tags to associate with this run cache.

+ * @public + */ + tags?: Record | undefined; + + /** + *

The AWS account ID of the expected owner of the S3 bucket for the run cache. + * If not provided, your account ID is set as the owner of the bucket.

+ * @public + */ + cacheBucketOwnerId?: string | undefined; +} + +/** + * @public + * @enum + */ +export const RunCacheStatus = { + ACTIVE: "ACTIVE", + DELETED: "DELETED", + FAILED: "FAILED", +} as const; + +/** + * @public + */ +export type RunCacheStatus = (typeof RunCacheStatus)[keyof typeof RunCacheStatus]; + +/** + * @public + */ +export interface CreateRunCacheResponse { + /** + *

Unique resource identifier for the run cache.

+ * @public + */ + arn?: string | undefined; + + /** + *

Identifier for the run cache.

+ * @public + */ + id?: string | undefined; + + /** + *

Run cache status.

+ * @public + */ + status?: RunCacheStatus | undefined; + + /** + *

The tags associated with this run cache.

+ * @public + */ + tags?: Record | undefined; +} + /** * @public */ @@ -3240,6 +3359,17 @@ export interface DeleteRunRequest { id: string | undefined; } +/** + * @public + */ +export interface DeleteRunCacheRequest { + /** + *

Run cache identifier for the cache you want to delete.

+ * @public + */ + id: string | undefined; +} + /** * @public */ @@ -4759,6 +4889,24 @@ export interface GetRunResponse { */ id?: string | undefined; + /** + *

The run cache associated with the run.

+ * @public + */ + cacheId?: string | undefined; + + /** + *

The run cache behavior for the run.

+ * @public + */ + cacheBehavior?: CacheBehavior | undefined; + + /** + *

The workflow engine version.

+ * @public + */ + engineVersion?: string | undefined; + /** *

The run's status.

* @public @@ -4936,6 +5084,82 @@ export interface GetRunResponse { workflowOwnerId?: string | undefined; } +/** + * @public + */ +export interface GetRunCacheRequest { + /** + *

The identifier of the run cache to retrieve.

+ * @public + */ + id: string | undefined; +} + +/** + * @public + */ +export interface GetRunCacheResponse { + /** + *

Unique resource identifier for the run cache.

+ * @public + */ + arn?: string | undefined; + + /** + *

The default cache behavior for runs using this cache.

+ * @public + */ + cacheBehavior?: CacheBehavior | undefined; + + /** + *

The identifier of the bucket owner.

+ * @public + */ + cacheBucketOwnerId?: string | undefined; + + /** + *

The S3 URI where the cache data is stored.

+ * @public + */ + cacheS3Uri?: string | undefined; + + /** + *

Creation time of the run cache (an ISO 8601 formatted string).

+ * @public + */ + creationTime?: Date | undefined; + + /** + *

The run cache description.

+ * @public + */ + description?: string | undefined; + + /** + *

The run cache ID.

+ * @public + */ + id?: string | undefined; + + /** + *

The run cache name.

+ * @public + */ + name?: string | undefined; + + /** + *

The run cache status.

+ * @public + */ + status?: RunCacheStatus | undefined; + + /** + *

The tags associated with the run cache.

+ * @public + */ + tags?: Record | undefined; +} + /** * @public */ @@ -5070,6 +5294,18 @@ export interface GetRunTaskResponse { */ cpus?: number | undefined; + /** + *

Set to true if AWS HealthOmics found a matching entry in the run cache for this task.

+ * @public + */ + cacheHit?: boolean | undefined; + + /** + *

The S3 URI of the cache location.

+ * @public + */ + cacheS3Uri?: string | undefined; + /** *

The task's memory use in gigabytes.

* @public @@ -6694,6 +6930,89 @@ export interface ListReferenceStoresResponse { referenceStores: ReferenceStoreDetail[] | undefined; } +/** + * @public + */ +export interface ListRunCachesRequest { + /** + *

The maximum number of results to return.

+ * @public + */ + maxResults?: number | undefined; + + /** + *

Optional pagination token returned from a prior call to the ListRunCaches API operation.

+ * @public + */ + startingToken?: string | undefined; +} + +/** + *

List entry for one run cache.

+ * @public + */ +export interface RunCacheListItem { + /** + *

Unique resource identifier for the run cache.

+ * @public + */ + arn?: string | undefined; + + /** + *

Default cache behavior for the run cache.

+ * @public + */ + cacheBehavior?: CacheBehavior | undefined; + + /** + *

The S3 uri for the run cache data.

+ * @public + */ + cacheS3Uri?: string | undefined; + + /** + *

The time that this run cache was created (an ISO 8601 formatted string).

+ * @public + */ + creationTime?: Date | undefined; + + /** + *

The identifier for this run cache.

+ * @public + */ + id?: string | undefined; + + /** + *

The name of the run cache.

+ * @public + */ + name?: string | undefined; + + /** + *

The run cache status.

+ * @public + */ + status?: RunCacheStatus | undefined; +} + +/** + * @public + */ +export interface ListRunCachesResponse { + /** + *

Details about each run cache in the response.

+ * @public + */ + items?: RunCacheListItem[] | undefined; + + /** + *

Pagination token to retrieve additional run caches. If the response does not have a + * nextTokenvalue, you have reached to the end of the list.

+ * @public + */ + nextToken?: string | undefined; +} + /** * @public */ @@ -6974,6 +7293,18 @@ export interface TaskListItem { */ cpus?: number | undefined; + /** + *

Set to true if AWS HealthOmics found a matching entry in the run cache for this task.

+ * @public + */ + cacheHit?: boolean | undefined; + + /** + *

The S3 URI of the cache location.

+ * @public + */ + cacheS3Uri?: string | undefined; + /** *

The task's memory use in gigabyes.

* @public @@ -7693,6 +8024,35 @@ export interface StartReferenceImportJobResponse { creationTime: Date | undefined; } +/** + * @public + */ +export interface UpdateRunCacheRequest { + /** + *

Update the default run cache behavior.

+ * @public + */ + cacheBehavior?: CacheBehavior | undefined; + + /** + *

Update the run cache description.

+ * @public + */ + description?: string | undefined; + + /** + *

The identifier of the run cache you want to update.

+ * @public + */ + id: string | undefined; + + /** + *

Update the name of the run cache.

+ * @public + */ + name?: string | undefined; +} + /** * @public */ @@ -7768,6 +8128,21 @@ export interface StartRunRequest { */ name?: string | undefined; + /** + *

Identifier of the cache associated with this run. If you don't specify a cache ID, no task outputs are cached + * for this run.

+ * @public + */ + cacheId?: string | undefined; + + /** + *

The cache behavior for the run. You specify this value if you want to override + * the default behavior for the cache. You had set the default value when you created the cache. + * For more information, see Run cache behavior in the AWS HealthOmics User Guide.

+ * @public + */ + cacheBehavior?: CacheBehavior | undefined; + /** *

The run's group ID.

* @public @@ -7818,7 +8193,14 @@ export interface StartRunRequest { requestId?: string | undefined; /** - *

The retention mode for the run.

+ *

The retention mode for the run. The default value is RETAIN.

+ *

HealthOmics stores a fixed number of runs that are available to the console and API. + * In the default mode (RETAIN), you need to remove runs manually when the number of run exceeds the maximum. + * If you set the retention mode to REMOVE, HealthOmics automatically + * removes runs (that have mode set to REMOVE) when the number of run exceeds the maximum. + * All run logs are available in CloudWatch logs, if you need information about a run that is no longer available to the API.

+ *

For more information about retention mode, see Specifying run retention mode + * in the AWS HealthOmics User Guide.

* @public */ retentionMode?: RunRetentionMode | undefined; @@ -7843,7 +8225,7 @@ export interface StartRunRequest { */ export interface StartRunResponse { /** - *

The run's ARN.

+ *

Unique resource identifier for the run.

* @public */ arn?: string | undefined; diff --git a/clients/client-omics/src/pagination/ListRunCachesPaginator.ts b/clients/client-omics/src/pagination/ListRunCachesPaginator.ts new file mode 100644 index 000000000000..f4ceb87349f2 --- /dev/null +++ b/clients/client-omics/src/pagination/ListRunCachesPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListRunCachesCommand, + ListRunCachesCommandInput, + ListRunCachesCommandOutput, +} from "../commands/ListRunCachesCommand"; +import { OmicsClient } from "../OmicsClient"; +import { OmicsPaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListRunCaches: ( + config: OmicsPaginationConfiguration, + input: ListRunCachesCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + OmicsPaginationConfiguration, + ListRunCachesCommandInput, + ListRunCachesCommandOutput +>(OmicsClient, ListRunCachesCommand, "startingToken", "nextToken", "maxResults"); diff --git a/clients/client-omics/src/pagination/index.ts b/clients/client-omics/src/pagination/index.ts index ba01cefff912..45be55232a0e 100644 --- a/clients/client-omics/src/pagination/index.ts +++ b/clients/client-omics/src/pagination/index.ts @@ -12,6 +12,7 @@ export * from "./ListReadSetsPaginator"; export * from "./ListReferenceImportJobsPaginator"; export * from "./ListReferenceStoresPaginator"; export * from "./ListReferencesPaginator"; +export * from "./ListRunCachesPaginator"; export * from "./ListRunGroupsPaginator"; export * from "./ListRunTasksPaginator"; export * from "./ListRunsPaginator"; diff --git a/clients/client-omics/src/protocols/Aws_restJson1.ts b/clients/client-omics/src/protocols/Aws_restJson1.ts index 11a1ce801952..1162c1c61d3c 100644 --- a/clients/client-omics/src/protocols/Aws_restJson1.ts +++ b/clients/client-omics/src/protocols/Aws_restJson1.ts @@ -74,6 +74,7 @@ import { CreateReferenceStoreCommandInput, CreateReferenceStoreCommandOutput, } from "../commands/CreateReferenceStoreCommand"; +import { CreateRunCacheCommandInput, CreateRunCacheCommandOutput } from "../commands/CreateRunCacheCommand"; import { CreateRunGroupCommandInput, CreateRunGroupCommandOutput } from "../commands/CreateRunGroupCommand"; import { CreateSequenceStoreCommandInput, @@ -95,6 +96,7 @@ import { DeleteReferenceStoreCommandInput, DeleteReferenceStoreCommandOutput, } from "../commands/DeleteReferenceStoreCommand"; +import { DeleteRunCacheCommandInput, DeleteRunCacheCommandOutput } from "../commands/DeleteRunCacheCommand"; import { DeleteRunCommandInput, DeleteRunCommandOutput } from "../commands/DeleteRunCommand"; import { DeleteRunGroupCommandInput, DeleteRunGroupCommandOutput } from "../commands/DeleteRunGroupCommand"; import { @@ -137,6 +139,7 @@ import { GetReferenceMetadataCommandOutput, } from "../commands/GetReferenceMetadataCommand"; import { GetReferenceStoreCommandInput, GetReferenceStoreCommandOutput } from "../commands/GetReferenceStoreCommand"; +import { GetRunCacheCommandInput, GetRunCacheCommandOutput } from "../commands/GetRunCacheCommand"; import { GetRunCommandInput, GetRunCommandOutput } from "../commands/GetRunCommand"; import { GetRunGroupCommandInput, GetRunGroupCommandOutput } from "../commands/GetRunGroupCommand"; import { GetRunTaskCommandInput, GetRunTaskCommandOutput } from "../commands/GetRunTaskCommand"; @@ -190,6 +193,7 @@ import { ListReferenceStoresCommandInput, ListReferenceStoresCommandOutput, } from "../commands/ListReferenceStoresCommand"; +import { ListRunCachesCommandInput, ListRunCachesCommandOutput } from "../commands/ListRunCachesCommand"; import { ListRunGroupsCommandInput, ListRunGroupsCommandOutput } from "../commands/ListRunGroupsCommand"; import { ListRunsCommandInput, ListRunsCommandOutput } from "../commands/ListRunsCommand"; import { ListRunTasksCommandInput, ListRunTasksCommandOutput } from "../commands/ListRunTasksCommand"; @@ -240,6 +244,7 @@ import { UpdateAnnotationStoreVersionCommandInput, UpdateAnnotationStoreVersionCommandOutput, } from "../commands/UpdateAnnotationStoreVersionCommand"; +import { UpdateRunCacheCommandInput, UpdateRunCacheCommandOutput } from "../commands/UpdateRunCacheCommand"; import { UpdateRunGroupCommandInput, UpdateRunGroupCommandOutput } from "../commands/UpdateRunGroupCommand"; import { UpdateVariantStoreCommandInput, UpdateVariantStoreCommandOutput } from "../commands/UpdateVariantStoreCommand"; import { UpdateWorkflowCommandInput, UpdateWorkflowCommandOutput } from "../commands/UpdateWorkflowCommand"; @@ -285,6 +290,7 @@ import { ReferenceStoreFilter, RequestTimeoutException, ResourceNotFoundException, + RunCacheListItem, RunGroupListItem, RunListItem, SchemaValueType, @@ -644,6 +650,42 @@ export const se_CreateReferenceStoreCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateRunCacheCommand + */ +export const se_CreateRunCacheCommand = async ( + input: CreateRunCacheCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/runCache"); + let body: any; + body = JSON.stringify( + take(input, { + cacheBehavior: [], + cacheBucketOwnerId: [], + cacheS3Location: [], + description: [], + name: [], + requestId: [true, (_) => _ ?? generateIdempotencyToken()], + tags: (_) => _json(_), + }) + ); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "workflows-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateRunGroupCommand */ @@ -956,6 +998,30 @@ export const se_DeleteRunCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteRunCacheCommand + */ +export const se_DeleteRunCacheCommand = async ( + input: DeleteRunCacheCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/runCache/{id}"); + b.p("id", () => input.id!, "{id}", false); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "workflows-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteRunGroupCommand */ @@ -1410,6 +1476,30 @@ export const se_GetRunCommand = async (input: GetRunCommandInput, context: __Ser return b.build(); }; +/** + * serializeAws_restJson1GetRunCacheCommand + */ +export const se_GetRunCacheCommand = async ( + input: GetRunCacheCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/runCache/{id}"); + b.p("id", () => input.id!, "{id}", false); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "workflows-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetRunGroupCommand */ @@ -1998,6 +2088,33 @@ export const se_ListReferenceStoresCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListRunCachesCommand + */ +export const se_ListRunCachesCommand = async ( + input: ListRunCachesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/runCache"); + const query: any = map({ + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + [_sT]: [, input[_sT]!], + }); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "workflows-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListRunGroupsCommand */ @@ -2460,6 +2577,8 @@ export const se_StartRunCommand = async ( let body: any; body = JSON.stringify( take(input, { + cacheBehavior: [], + cacheId: [], logLevel: [], name: [], outputUri: [], @@ -2645,6 +2764,39 @@ export const se_UpdateAnnotationStoreVersionCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateRunCacheCommand + */ +export const se_UpdateRunCacheCommand = async ( + input: UpdateRunCacheCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/runCache/{id}"); + b.p("id", () => input.id!, "{id}", false); + let body: any; + body = JSON.stringify( + take(input, { + cacheBehavior: [], + description: [], + name: [], + }) + ); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "workflows-" + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateRunGroupCommand */ @@ -3021,6 +3173,30 @@ export const de_CreateReferenceStoreCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateRunCacheCommand + */ +export const de_CreateRunCacheCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 201 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + arn: __expectString, + id: __expectString, + status: __expectString, + tags: _json, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateRunGroupCommand */ @@ -3237,6 +3413,23 @@ export const de_DeleteRunCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteRunCacheCommand + */ +export const de_DeleteRunCacheCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DeleteRunGroupCommand */ @@ -3692,9 +3885,12 @@ export const de_GetRunCommand = async ( const doc = take(data, { accelerators: __expectString, arn: __expectString, + cacheBehavior: __expectString, + cacheId: __expectString, creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), definition: __expectString, digest: __expectString, + engineVersion: __expectString, failureReason: __expectString, id: __expectString, logLevel: __expectString, @@ -3726,6 +3922,36 @@ export const de_GetRunCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetRunCacheCommand + */ +export const de_GetRunCacheCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + arn: __expectString, + cacheBehavior: __expectString, + cacheBucketOwnerId: __expectString, + cacheS3Uri: __expectString, + creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + description: __expectString, + id: __expectString, + name: __expectString, + status: __expectString, + tags: _json, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetRunGroupCommand */ @@ -3770,6 +3996,8 @@ export const de_GetRunTaskCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + cacheHit: __expectBoolean, + cacheS3Uri: __expectString, cpus: __expectInt32, creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), failureReason: __expectString, @@ -4202,6 +4430,28 @@ export const de_ListReferenceStoresCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListRunCachesCommand + */ +export const de_ListRunCachesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + items: (_) => de_RunCacheList(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListRunGroupsCommand */ @@ -4657,6 +4907,23 @@ export const de_UpdateAnnotationStoreVersionCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateRunCacheCommand + */ +export const de_UpdateRunCacheCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 202 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1UpdateRunGroupCommand */ @@ -5568,6 +5835,33 @@ const de_ReferenceStoreDetailList = (output: any, context: __SerdeContext): Refe return retVal; }; +/** + * deserializeAws_restJson1RunCacheList + */ +const de_RunCacheList = (output: any, context: __SerdeContext): RunCacheListItem[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_RunCacheListItem(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1RunCacheListItem + */ +const de_RunCacheListItem = (output: any, context: __SerdeContext): RunCacheListItem => { + return take(output, { + arn: __expectString, + cacheBehavior: __expectString, + cacheS3Uri: __expectString, + creationTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + id: __expectString, + name: __expectString, + status: __expectString, + }) as any; +}; + /** * deserializeAws_restJson1RunGroupList */ @@ -5729,6 +6023,8 @@ const de_TaskList = (output: any, context: __SerdeContext): TaskListItem[] => { */ const de_TaskListItem = (output: any, context: __SerdeContext): TaskListItem => { return take(output, { + cacheHit: __expectBoolean, + cacheS3Uri: __expectString, cpus: __expectInt32, creationTime: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), gpus: __expectInt32, diff --git a/codegen/sdk-codegen/aws-models/omics.json b/codegen/sdk-codegen/aws-models/omics.json index e9100279bb6f..622bd64293bc 100644 --- a/codegen/sdk-codegen/aws-models/omics.json +++ b/codegen/sdk-codegen/aws-models/omics.json @@ -795,6 +795,16 @@ "smithy.api#uniqueItems": {} } }, + "com.amazonaws.omics#AwsAccountId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^[0-9]+$" + } + }, "com.amazonaws.omics#BatchDeleteReadSet": { "type": "operation", "input": { @@ -873,6 +883,25 @@ "smithy.api#output": {} } }, + "com.amazonaws.omics#CacheBehavior": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CACHE_ON_FAILURE", + "value": "CACHE_ON_FAILURE" + }, + { + "name": "CACHE_ALWAYS", + "value": "CACHE_ALWAYS" + } + ], + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, "com.amazonaws.omics#CancelAnnotationImportJob": { "type": "operation", "input": { @@ -1868,6 +1897,137 @@ "smithy.api#output": {} } }, + "com.amazonaws.omics#CreateRunCache": { + "type": "operation", + "input": { + "target": "com.amazonaws.omics#CreateRunCacheRequest" + }, + "output": { + "target": "com.amazonaws.omics#CreateRunCacheResponse" + }, + "errors": [ + { + "target": "com.amazonaws.omics#AccessDeniedException" + }, + { + "target": "com.amazonaws.omics#ConflictException" + }, + { + "target": "com.amazonaws.omics#InternalServerException" + }, + { + "target": "com.amazonaws.omics#RequestTimeoutException" + }, + { + "target": "com.amazonaws.omics#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.omics#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.omics#ThrottlingException" + }, + { + "target": "com.amazonaws.omics#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

You can create a run cache to save the task outputs from completed tasks in a run for a private workflow. \n Subsequent runs use the task outputs from the cache, rather than computing the task outputs again.\n You specify an Amazon S3 location where HealthOmics saves the cached data. This data must be \n immediately accessible (not in an archived state).

\n

For more information, see Creating a run cache in the AWS HealthOmics User Guide.

", + "smithy.api#endpoint": { + "hostPrefix": "workflows-" + }, + "smithy.api#http": { + "method": "POST", + "uri": "/runCache", + "code": 201 + } + } + }, + "com.amazonaws.omics#CreateRunCacheRequest": { + "type": "structure", + "members": { + "cacheBehavior": { + "target": "com.amazonaws.omics#CacheBehavior", + "traits": { + "smithy.api#documentation": "

Default cache behavior for runs that use this cache. Supported values are:

\n

\n CACHE_ON_FAILURE: Caches task outputs from completed tasks for runs that fail. This setting is \n useful if you're debugging a workflow that fails after several\n tasks completed successfully. The subsequent run uses the cache outputs for previously-completed tasks if the task definition,\n inputs, and container in ECR are identical to the prior run.

\n

\n CACHE_ALWAYS: Caches task outputs from completed tasks for all runs. This setting\n is useful in development mode, but do not use it in a production setting.

\n

If you don't specify a value, the default behavior is CACHE_ON_FAILURE.\n When you start a run that uses this cache, you can override the default cache behavior.

\n

For more information, see Run cache behavior in the AWS HealthOmics User Guide.

" + } + }, + "cacheS3Location": { + "target": "com.amazonaws.omics#S3UriForBucketOrObject", + "traits": { + "smithy.api#documentation": "

Specify the S3 location for storing the cached task outputs.\n This data must be immediately accessible (not in an archived state).

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.omics#UserCustomDescription", + "traits": { + "smithy.api#documentation": "

Enter a description of the run cache.

" + } + }, + "name": { + "target": "com.amazonaws.omics#UserCustomName", + "traits": { + "smithy.api#documentation": "

Enter a user-friendly name for the run cache.

" + } + }, + "requestId": { + "target": "com.amazonaws.omics#RunCacheRequestId", + "traits": { + "smithy.api#documentation": "

A unique request token, to ensure idempotency. If you don't specify a token, \n HealthOmics automatically generates a universally unique identifier (UUID) for the request.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.omics#TagMap", + "traits": { + "smithy.api#documentation": "

Specify one or more tags to associate with this run cache.

" + } + }, + "cacheBucketOwnerId": { + "target": "com.amazonaws.omics#AwsAccountId", + "traits": { + "smithy.api#documentation": "

The AWS account ID of the expected owner of the S3 bucket for the run cache.\n If not provided, your account ID is set as the owner of the bucket.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.omics#CreateRunCacheResponse": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.omics#RunCacheArn", + "traits": { + "smithy.api#documentation": "

Unique resource identifier for the run cache.

" + } + }, + "id": { + "target": "com.amazonaws.omics#RunCacheId", + "traits": { + "smithy.api#documentation": "

Identifier for the run cache.

" + } + }, + "status": { + "target": "com.amazonaws.omics#RunCacheStatus", + "traits": { + "smithy.api#documentation": "

Run cache status.

" + } + }, + "tags": { + "target": "com.amazonaws.omics#TagMap", + "traits": { + "smithy.api#documentation": "

The tags associated with this run cache.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.omics#CreateRunGroup": { "type": "operation", "input": { @@ -2934,6 +3094,69 @@ "smithy.api#idempotent": {} } }, + "com.amazonaws.omics#DeleteRunCache": { + "type": "operation", + "input": { + "target": "com.amazonaws.omics#DeleteRunCacheRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.omics#AccessDeniedException" + }, + { + "target": "com.amazonaws.omics#ConflictException" + }, + { + "target": "com.amazonaws.omics#InternalServerException" + }, + { + "target": "com.amazonaws.omics#RequestTimeoutException" + }, + { + "target": "com.amazonaws.omics#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.omics#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.omics#ThrottlingException" + }, + { + "target": "com.amazonaws.omics#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Delete a run cache. This action removes the cache metadata stored in the service account, \n but doesn't delete the data in Amazon S3. \n You can access the cache data in Amazon S3, for inspection or to troubleshoot issues. \n You can remove old cache data using standard S3 Delete operations.\n

\n

For more information, see Deleting a run cache in the AWS HealthOmics User Guide.

", + "smithy.api#endpoint": { + "hostPrefix": "workflows-" + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/runCache/{id}", + "code": 202 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.omics#DeleteRunCacheRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.omics#RunCacheId", + "traits": { + "smithy.api#documentation": "

Run cache identifier for the cache you want to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.omics#DeleteRunGroup": { "type": "operation", "input": { @@ -3425,6 +3648,12 @@ "smithy.api#pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$" } }, + "com.amazonaws.omics#EngineVersion": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[0-9]{2}.[0-9]{2}.[0-9]$" + } + }, "com.amazonaws.omics#EscapeChar": { "type": "string", "traits": { @@ -5981,7 +6210,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about a workflow run.

\n

If a workflow is shared with you, you cannot export information about the run.

", + "smithy.api#documentation": "

Gets information about a workflow run.

\n

If a workflow is shared with you, you cannot export information about the run.

\n

HealthOmics stores a fixed number of runs that are available to the console and API. If \n GetRun doesn't return the requested run, you can find run logs \n for all runs in the CloudWatch logs. For more information about viewing the run logs, see CloudWatch logs \n in the AWS HealthOmics User Guide.

", "smithy.api#endpoint": { "hostPrefix": "workflows-" }, @@ -6119,6 +6348,137 @@ } } }, + "com.amazonaws.omics#GetRunCache": { + "type": "operation", + "input": { + "target": "com.amazonaws.omics#GetRunCacheRequest" + }, + "output": { + "target": "com.amazonaws.omics#GetRunCacheResponse" + }, + "errors": [ + { + "target": "com.amazonaws.omics#AccessDeniedException" + }, + { + "target": "com.amazonaws.omics#ConflictException" + }, + { + "target": "com.amazonaws.omics#InternalServerException" + }, + { + "target": "com.amazonaws.omics#RequestTimeoutException" + }, + { + "target": "com.amazonaws.omics#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.omics#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.omics#ThrottlingException" + }, + { + "target": "com.amazonaws.omics#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieve the details for the specified run cache.

\n

For more information, see Call caching for HealthOmics runs in the AWS HealthOmics User Guide.

", + "smithy.api#endpoint": { + "hostPrefix": "workflows-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/runCache/{id}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.omics#GetRunCacheRequest": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.omics#RunCacheId", + "traits": { + "smithy.api#documentation": "

The identifier of the run cache to retrieve.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.omics#GetRunCacheResponse": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.omics#RunCacheArn", + "traits": { + "smithy.api#documentation": "

Unique resource identifier for the run cache.

" + } + }, + "cacheBehavior": { + "target": "com.amazonaws.omics#CacheBehavior", + "traits": { + "smithy.api#documentation": "

The default cache behavior for runs using this cache.

" + } + }, + "cacheBucketOwnerId": { + "target": "com.amazonaws.omics#AwsAccountId", + "traits": { + "smithy.api#documentation": "

The identifier of the bucket owner.

" + } + }, + "cacheS3Uri": { + "target": "com.amazonaws.omics#S3UriForBucketOrObject", + "traits": { + "smithy.api#documentation": "

The S3 URI where the cache data is stored.

" + } + }, + "creationTime": { + "target": "com.amazonaws.omics#RunCacheTimestamp", + "traits": { + "smithy.api#documentation": "

Creation time of the run cache (an ISO 8601 formatted string).

" + } + }, + "description": { + "target": "com.amazonaws.omics#UserCustomDescription", + "traits": { + "smithy.api#documentation": "

The run cache description.

" + } + }, + "id": { + "target": "com.amazonaws.omics#RunCacheId", + "traits": { + "smithy.api#documentation": "

The run cache ID.

" + } + }, + "name": { + "target": "com.amazonaws.omics#UserCustomName", + "traits": { + "smithy.api#documentation": "

The run cache name.

" + } + }, + "status": { + "target": "com.amazonaws.omics#RunCacheStatus", + "traits": { + "smithy.api#documentation": "

The run cache status.

" + } + }, + "tags": { + "target": "com.amazonaws.omics#TagMap", + "traits": { + "smithy.api#documentation": "

The tags associated with the run cache.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.omics#GetRunGroup": { "type": "operation", "input": { @@ -6298,6 +6658,24 @@ "smithy.api#documentation": "

The run's ID.

" } }, + "cacheId": { + "target": "com.amazonaws.omics#NumericIdInArn", + "traits": { + "smithy.api#documentation": "

The run cache associated with the run.

" + } + }, + "cacheBehavior": { + "target": "com.amazonaws.omics#CacheBehavior", + "traits": { + "smithy.api#documentation": "

The run cache behavior for the run.

" + } + }, + "engineVersion": { + "target": "com.amazonaws.omics#EngineVersion", + "traits": { + "smithy.api#documentation": "

The workflow engine version.

" + } + }, "status": { "target": "com.amazonaws.omics#RunStatus", "traits": { @@ -6712,6 +7090,18 @@ } } }, + "cacheHit": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Set to true if AWS HealthOmics found a matching entry in the run cache for this task.

" + } + }, + "cacheS3Uri": { + "target": "com.amazonaws.omics#S3UriForBucketOrObject", + "traits": { + "smithy.api#documentation": "

The S3 URI of the cache location.

" + } + }, "memory": { "target": "smithy.api#Integer", "traits": { @@ -9392,10 +9782,110 @@ "smithy.api#httpQuery": "nextToken" } }, - "filter": { - "target": "com.amazonaws.omics#ReferenceFilter", + "filter": { + "target": "com.amazonaws.omics#ReferenceFilter", + "traits": { + "smithy.api#documentation": "

A filter to apply to the list.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.omics#ListReferencesResponse": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.omics#NextToken", + "traits": { + "smithy.api#documentation": "

A pagination token that's included if more results are available.

" + } + }, + "references": { + "target": "com.amazonaws.omics#ReferenceList", + "traits": { + "smithy.api#documentation": "

A list of references.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.omics#ListRunCaches": { + "type": "operation", + "input": { + "target": "com.amazonaws.omics#ListRunCachesRequest" + }, + "output": { + "target": "com.amazonaws.omics#ListRunCachesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.omics#AccessDeniedException" + }, + { + "target": "com.amazonaws.omics#ConflictException" + }, + { + "target": "com.amazonaws.omics#InternalServerException" + }, + { + "target": "com.amazonaws.omics#RequestTimeoutException" + }, + { + "target": "com.amazonaws.omics#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.omics#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.omics#ThrottlingException" + }, + { + "target": "com.amazonaws.omics#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves a list of your run caches.

", + "smithy.api#endpoint": { + "hostPrefix": "workflows-" + }, + "smithy.api#http": { + "method": "GET", + "uri": "/runCache", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "startingToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.omics#ListRunCachesRequest": { + "type": "structure", + "members": { + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "startingToken": { + "target": "com.amazonaws.omics#ListToken", "traits": { - "smithy.api#documentation": "

A filter to apply to the list.

" + "smithy.api#documentation": "

Optional pagination token returned from a prior call to the ListRunCaches API operation.

", + "smithy.api#httpQuery": "startingToken" } } }, @@ -9403,20 +9893,19 @@ "smithy.api#input": {} } }, - "com.amazonaws.omics#ListReferencesResponse": { + "com.amazonaws.omics#ListRunCachesResponse": { "type": "structure", "members": { - "nextToken": { - "target": "com.amazonaws.omics#NextToken", + "items": { + "target": "com.amazonaws.omics#RunCacheList", "traits": { - "smithy.api#documentation": "

A pagination token that's included if more results are available.

" + "smithy.api#documentation": "

Details about each run cache in the response.

" } }, - "references": { - "target": "com.amazonaws.omics#ReferenceList", + "nextToken": { + "target": "com.amazonaws.omics#ListToken", "traits": { - "smithy.api#documentation": "

A list of references.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Pagination token to retrieve additional run caches. If the response does not have a \n nextTokenvalue, you have reached to the end of the list.

" } } }, @@ -9679,7 +10168,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of runs.

", + "smithy.api#documentation": "

Retrieves a list of runs.

\n

HealthOmics stores a fixed number of runs that are available to the console and API. If \n the ListRuns response doesn't include specific runs that you expected, you can find run logs \n for all runs in the CloudWatch logs. For more information about viewing the run logs, see CloudWatch logs \n in the AWS HealthOmics User Guide.

", "smithy.api#endpoint": { "hostPrefix": "workflows-" }, @@ -10045,6 +10534,16 @@ "smithy.api#output": {} } }, + "com.amazonaws.omics#ListToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$" + } + }, "com.amazonaws.omics#ListVariantImportJobs": { "type": "operation", "input": { @@ -10540,6 +11039,16 @@ "smithy.api#httpError": 405 } }, + "com.amazonaws.omics#NumericIdInArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 18 + }, + "smithy.api#pattern": "^[0-9]+$" + } + }, "com.amazonaws.omics#Omics": { "type": "service", "version": "2022-11-28", @@ -10556,6 +11065,9 @@ { "target": "com.amazonaws.omics#ReferenceStoreResource" }, + { + "target": "com.amazonaws.omics#RunCacheResource" + }, { "target": "com.amazonaws.omics#RunGroupResource" }, @@ -12674,6 +13186,157 @@ "smithy.api#pattern": "^arn:.+$" } }, + "com.amazonaws.omics#RunCacheArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^arn:.+$" + } + }, + "com.amazonaws.omics#RunCacheId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 18 + }, + "smithy.api#pattern": "^[0-9]+$" + } + }, + "com.amazonaws.omics#RunCacheList": { + "type": "list", + "member": { + "target": "com.amazonaws.omics#RunCacheListItem" + } + }, + "com.amazonaws.omics#RunCacheListItem": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.omics#RunCacheArn", + "traits": { + "smithy.api#documentation": "

Unique resource identifier for the run cache.

" + } + }, + "cacheBehavior": { + "target": "com.amazonaws.omics#CacheBehavior", + "traits": { + "smithy.api#documentation": "

Default cache behavior for the run cache.

" + } + }, + "cacheS3Uri": { + "target": "com.amazonaws.omics#S3UriForBucketOrObject", + "traits": { + "smithy.api#documentation": "

The S3 uri for the run cache data.

" + } + }, + "creationTime": { + "target": "com.amazonaws.omics#RunCacheTimestamp", + "traits": { + "smithy.api#documentation": "

The time that this run cache was created (an ISO 8601 formatted string).

" + } + }, + "id": { + "target": "com.amazonaws.omics#RunCacheId", + "traits": { + "smithy.api#documentation": "

The identifier for this run cache.

" + } + }, + "name": { + "target": "com.amazonaws.omics#UserCustomName", + "traits": { + "smithy.api#documentation": "

The name of the run cache.

" + } + }, + "status": { + "target": "com.amazonaws.omics#RunCacheStatus", + "traits": { + "smithy.api#documentation": "

The run cache status.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

List entry for one run cache.

" + } + }, + "com.amazonaws.omics#RunCacheRequestId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$" + } + }, + "com.amazonaws.omics#RunCacheResource": { + "type": "resource", + "identifiers": { + "id": { + "target": "com.amazonaws.omics#RunCacheId" + } + }, + "create": { + "target": "com.amazonaws.omics#CreateRunCache" + }, + "read": { + "target": "com.amazonaws.omics#GetRunCache" + }, + "update": { + "target": "com.amazonaws.omics#UpdateRunCache" + }, + "delete": { + "target": "com.amazonaws.omics#DeleteRunCache" + }, + "list": { + "target": "com.amazonaws.omics#ListRunCaches" + }, + "traits": { + "aws.api#arn": { + "template": "runCache/{id}" + }, + "aws.cloudformation#cfnResource": { + "name": "RunCache" + }, + "aws.iam#conditionKeys": ["aws:ResourceTag/${TagKey}"], + "aws.iam#disableConditionKeyInference": {}, + "aws.iam#iamResource": { + "name": "runCache" + } + } + }, + "com.amazonaws.omics#RunCacheStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACTIVE", + "value": "ACTIVE" + }, + { + "name": "DELETED", + "value": "DELETED" + }, + { + "name": "FAILED", + "value": "FAILED" + } + ], + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.omics#RunCacheTimestamp": { + "type": "timestamp", + "traits": { + "smithy.api#timestampFormat": "date-time" + } + }, "com.amazonaws.omics#RunExport": { "type": "string", "traits": { @@ -13275,6 +13938,13 @@ "smithy.api#pattern": "^s3://([a-z0-9][a-z0-9-.]{1,61}[a-z0-9])/(.{1,1024})$" } }, + "com.amazonaws.omics#S3UriForBucketOrObject": { + "type": "string", + "traits": { + "smithy.api#documentation": "Uri to a S3 object or bucket", + "smithy.api#pattern": "^s3://([a-z0-9][a-z0-9-.]{1,61}[a-z0-9])(/(.{0,1024}))?$" + } + }, "com.amazonaws.omics#SampleId": { "type": "string", "traits": { @@ -14634,7 +15304,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a workflow run. To duplicate a run, specify the run's ID and a role ARN. The\n remaining parameters are copied from the previous run.

\n

StartRun will not support re-run for a workflow that is shared with you.

\n

The total number of runs in your account is subject to a quota per Region. To avoid\n needing to delete runs manually, you can set the retention mode to REMOVE.\n Runs with this setting are deleted automatically when the run quoata is exceeded.

\n

By default, the run uses STATIC storage. For STATIC storage, set the storageCapacity field. \n You can set the storage type to DYNAMIC. You do not set storageCapacity,\n because HealthOmics dynamically scales the storage up or down as required.\n For more information about static and dynamic storage, see Running workflows \n in the AWS HealthOmics User Guide.

", + "smithy.api#documentation": "

Starts a workflow run. To duplicate a run, specify the run's ID and a role ARN. The\n remaining parameters are copied from the previous run.

\n

StartRun will not support re-run for a workflow that is shared with you.

\n

HealthOmics stores a fixed number of runs that are available to the console and API.\n By default, HealthOmics doesn't any remove any runs. If HealthOmics reaches the maximum \n number of runs, you must manually remove runs. To have older runs removed automatically,\n set the retention mode to REMOVE.

\n

By default, the run uses STATIC storage. For STATIC storage, set the storageCapacity field. \n You can set the storage type to DYNAMIC. You do not set storageCapacity,\n because HealthOmics dynamically scales the storage up or down as required.\n For more information about static and dynamic storage, see Running workflows \n in the AWS HealthOmics User Guide.

", "smithy.api#endpoint": { "hostPrefix": "workflows-" }, @@ -14679,6 +15349,18 @@ "smithy.api#documentation": "

A name for the run.

" } }, + "cacheId": { + "target": "com.amazonaws.omics#NumericIdInArn", + "traits": { + "smithy.api#documentation": "

Identifier of the cache associated with this run. If you don't specify a cache ID, no task outputs are cached \n for this run.

" + } + }, + "cacheBehavior": { + "target": "com.amazonaws.omics#CacheBehavior", + "traits": { + "smithy.api#documentation": "

The cache behavior for the run. You specify this value if you want to override\n the default behavior for the cache. You had set the default value when you created the cache.\n For more information, see Run cache behavior in the AWS HealthOmics User Guide.

" + } + }, "runGroupId": { "target": "com.amazonaws.omics#RunGroupId", "traits": { @@ -14740,7 +15422,7 @@ "retentionMode": { "target": "com.amazonaws.omics#RunRetentionMode", "traits": { - "smithy.api#documentation": "

The retention mode for the run.

" + "smithy.api#documentation": "

The retention mode for the run. The default value is RETAIN.

\n

HealthOmics stores a fixed number of runs that are available to the console and API. \n In the default mode (RETAIN), you need to remove runs manually when the number of run exceeds the maximum.\n If you set the retention mode to REMOVE, HealthOmics automatically \n removes runs (that have mode set to REMOVE) when the number of run exceeds the maximum.\n All run logs are available in CloudWatch logs, if you need information about a run that is no longer available to the API.

\n

For more information about retention mode, see Specifying run retention mode \n in the AWS HealthOmics User Guide.

" } }, "storageType": { @@ -14766,7 +15448,7 @@ "arn": { "target": "com.amazonaws.omics#RunArn", "traits": { - "smithy.api#documentation": "

The run's ARN.

" + "smithy.api#documentation": "

Unique resource identifier for the run.

" } }, "id": { @@ -15246,6 +15928,18 @@ } } }, + "cacheHit": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Set to true if AWS HealthOmics found a matching entry in the run cache for this task.

" + } + }, + "cacheS3Uri": { + "target": "com.amazonaws.omics#S3UriForBucketOrObject", + "traits": { + "smithy.api#documentation": "

The S3 URI of the cache location.

" + } + }, "memory": { "target": "smithy.api#Integer", "traits": { @@ -15835,6 +16529,86 @@ "smithy.api#output": {} } }, + "com.amazonaws.omics#UpdateRunCache": { + "type": "operation", + "input": { + "target": "com.amazonaws.omics#UpdateRunCacheRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.omics#AccessDeniedException" + }, + { + "target": "com.amazonaws.omics#ConflictException" + }, + { + "target": "com.amazonaws.omics#InternalServerException" + }, + { + "target": "com.amazonaws.omics#RequestTimeoutException" + }, + { + "target": "com.amazonaws.omics#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.omics#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.omics#ThrottlingException" + }, + { + "target": "com.amazonaws.omics#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Update a run cache.

", + "smithy.api#endpoint": { + "hostPrefix": "workflows-" + }, + "smithy.api#http": { + "method": "POST", + "uri": "/runCache/{id}", + "code": 202 + } + } + }, + "com.amazonaws.omics#UpdateRunCacheRequest": { + "type": "structure", + "members": { + "cacheBehavior": { + "target": "com.amazonaws.omics#CacheBehavior", + "traits": { + "smithy.api#documentation": "

Update the default run cache behavior.

" + } + }, + "description": { + "target": "com.amazonaws.omics#UserCustomDescription", + "traits": { + "smithy.api#documentation": "

Update the run cache description.

" + } + }, + "id": { + "target": "com.amazonaws.omics#RunCacheId", + "traits": { + "smithy.api#documentation": "

The identifier of the run cache you want to update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "name": { + "target": "com.amazonaws.omics#UserCustomName", + "traits": { + "smithy.api#documentation": "

Update the name of the run cache.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.omics#UpdateRunGroup": { "type": "operation", "input": { @@ -16266,6 +17040,26 @@ "smithy.api#output": {} } }, + "com.amazonaws.omics#UserCustomDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$" + } + }, + "com.amazonaws.omics#UserCustomName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\p{L}||\\p{M}||\\p{Z}||\\p{S}||\\p{N}||\\p{P}]+$" + } + }, "com.amazonaws.omics#ValidationException": { "type": "structure", "members": {