diff --git a/clients/client-ecs/README.md b/clients/client-ecs/README.md
index 2baa363eb4bbf..7976c0b8c0b91 100644
--- a/clients/client-ecs/README.md
+++ b/clients/client-ecs/README.md
@@ -343,6 +343,22 @@ DescribeContainerInstances
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ecs/command/DescribeContainerInstancesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/DescribeContainerInstancesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/DescribeContainerInstancesCommandOutput/)
+
+ The
+DescribeServiceDeployments
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ecs/command/DescribeServiceDeploymentsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/DescribeServiceDeploymentsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/DescribeServiceDeploymentsCommandOutput/)
+
+
+DescribeServiceRevisions
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ecs/command/DescribeServiceRevisionsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/DescribeServiceRevisionsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/DescribeServiceRevisionsCommandOutput/)
+
@@ -431,6 +447,14 @@ ListContainerInstances
[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ecs/command/ListContainerInstancesCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/ListContainerInstancesCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/ListContainerInstancesCommandOutput/)
+
+ListServiceDeployments
+
+
+[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/ecs/command/ListServiceDeploymentsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/ListServiceDeploymentsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-ecs/Interface/ListServiceDeploymentsCommandOutput/)
+
diff --git a/clients/client-ecs/src/ECS.ts b/clients/client-ecs/src/ECS.ts
index 8b1d724d79598..7cfc5480f9461 100644
--- a/clients/client-ecs/src/ECS.ts
+++ b/clients/client-ecs/src/ECS.ts
@@ -82,6 +82,16 @@ import {
DescribeContainerInstancesCommandInput,
DescribeContainerInstancesCommandOutput,
} from "./commands/DescribeContainerInstancesCommand";
+import {
+ DescribeServiceDeploymentsCommand,
+ DescribeServiceDeploymentsCommandInput,
+ DescribeServiceDeploymentsCommandOutput,
+} from "./commands/DescribeServiceDeploymentsCommand";
+import {
+ DescribeServiceRevisionsCommand,
+ DescribeServiceRevisionsCommandInput,
+ DescribeServiceRevisionsCommandOutput,
+} from "./commands/DescribeServiceRevisionsCommand";
import {
DescribeServicesCommand,
DescribeServicesCommandInput,
@@ -137,6 +147,11 @@ import {
ListContainerInstancesCommandInput,
ListContainerInstancesCommandOutput,
} from "./commands/ListContainerInstancesCommand";
+import {
+ ListServiceDeploymentsCommand,
+ ListServiceDeploymentsCommandInput,
+ ListServiceDeploymentsCommandOutput,
+} from "./commands/ListServiceDeploymentsCommand";
import {
ListServicesByNamespaceCommand,
ListServicesByNamespaceCommandInput,
@@ -281,6 +296,8 @@ const commands = {
DescribeCapacityProvidersCommand,
DescribeClustersCommand,
DescribeContainerInstancesCommand,
+ DescribeServiceDeploymentsCommand,
+ DescribeServiceRevisionsCommand,
DescribeServicesCommand,
DescribeTaskDefinitionCommand,
DescribeTasksCommand,
@@ -292,6 +309,7 @@ const commands = {
ListAttributesCommand,
ListClustersCommand,
ListContainerInstancesCommand,
+ ListServiceDeploymentsCommand,
ListServicesCommand,
ListServicesByNamespaceCommand,
ListTagsForResourceCommand,
@@ -563,6 +581,40 @@ export interface ECS {
cb: (err: any, data?: DescribeContainerInstancesCommandOutput) => void
): void;
+ /**
+ * @see {@link DescribeServiceDeploymentsCommand}
+ */
+ describeServiceDeployments(
+ args: DescribeServiceDeploymentsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise
RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
When you call the CreateCluster API operation, Amazon ECS attempts to + *
When you call the CreateCluster API operation, Amazon ECS attempts to * create the Amazon ECS service-linked role for your account. This is so that it can manage * required resources in other Amazon Web Services services on your behalf. However, if the user that * makes the call doesn't have permissions to create the service-linked role, it isn't @@ -183,7 +183,7 @@ export interface CreateClusterCommandOutput extends CreateClusterResponse, __Met *
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
Runs and maintains your desired number of tasks from a specified task definition. If
* the number of tasks running in a service drops below the desiredCount
,
* Amazon ECS runs another copy of the task in the specified cluster. To update an existing
- * service, use UpdateService.
On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.
*The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
Describes one or more of your service deployments.
+ *A service deployment happens when you release a software update for the service. For more information, see Amazon ECS service deployments.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ECSClient, DescribeServiceDeploymentsCommand } from "@aws-sdk/client-ecs"; // ES Modules import + * // const { ECSClient, DescribeServiceDeploymentsCommand } = require("@aws-sdk/client-ecs"); // CommonJS import + * const client = new ECSClient(config); + * const input = { // DescribeServiceDeploymentsRequest + * serviceDeploymentArns: [ // StringList // required + * "STRING_VALUE", + * ], + * }; + * const command = new DescribeServiceDeploymentsCommand(input); + * const response = await client.send(command); + * // { // DescribeServiceDeploymentsResponse + * // serviceDeployments: [ // ServiceDeployments + * // { // ServiceDeployment + * // serviceDeploymentArn: "STRING_VALUE", + * // serviceArn: "STRING_VALUE", + * // clusterArn: "STRING_VALUE", + * // createdAt: new Date("TIMESTAMP"), + * // startedAt: new Date("TIMESTAMP"), + * // finishedAt: new Date("TIMESTAMP"), + * // stoppedAt: new Date("TIMESTAMP"), + * // updatedAt: new Date("TIMESTAMP"), + * // sourceServiceRevisions: [ // ServiceRevisionsSummaryList + * // { // ServiceRevisionSummary + * // arn: "STRING_VALUE", + * // requestedTaskCount: Number("int"), + * // runningTaskCount: Number("int"), + * // pendingTaskCount: Number("int"), + * // }, + * // ], + * // targetServiceRevision: { + * // arn: "STRING_VALUE", + * // requestedTaskCount: Number("int"), + * // runningTaskCount: Number("int"), + * // pendingTaskCount: Number("int"), + * // }, + * // status: "PENDING" || "SUCCESSFUL" || "STOPPED" || "STOP_REQUESTED" || "IN_PROGRESS" || "ROLLBACK_IN_PROGRESS" || "ROLLBACK_SUCCESSFUL" || "ROLLBACK_FAILED", + * // statusReason: "STRING_VALUE", + * // deploymentConfiguration: { // DeploymentConfiguration + * // deploymentCircuitBreaker: { // DeploymentCircuitBreaker + * // enable: true || false, // required + * // rollback: true || false, // required + * // }, + * // maximumPercent: Number("int"), + * // minimumHealthyPercent: Number("int"), + * // alarms: { // DeploymentAlarms + * // alarmNames: [ // StringList // required + * // "STRING_VALUE", + * // ], + * // rollback: true || false, // required + * // enable: true || false, // required + * // }, + * // }, + * // rollback: { // Rollback + * // reason: "STRING_VALUE", + * // startedAt: new Date("TIMESTAMP"), + * // serviceRevisionArn: "STRING_VALUE", + * // }, + * // deploymentCircuitBreaker: { // ServiceDeploymentCircuitBreaker + * // status: "TRIGGERED" || "MONITORING" || "MONITORING_COMPLETE" || "DISABLED", + * // failureCount: Number("int"), + * // threshold: Number("int"), + * // }, + * // alarms: { // ServiceDeploymentAlarms + * // status: "TRIGGERED" || "MONITORING" || "MONITORING_COMPLETE" || "DISABLED", + * // alarmNames: [ + * // "STRING_VALUE", + * // ], + * // triggeredAlarmNames: [ + * // "STRING_VALUE", + * // ], + * // }, + * // }, + * // ], + * // failures: [ // Failures + * // { // Failure + * // arn: "STRING_VALUE", + * // reason: "STRING_VALUE", + * // detail: "STRING_VALUE", + * // }, + * // ], + * // }; + * + * ``` + * + * @param DescribeServiceDeploymentsCommandInput - {@link DescribeServiceDeploymentsCommandInput} + * @returns {@link DescribeServiceDeploymentsCommandOutput} + * @see {@link DescribeServiceDeploymentsCommandInput} for command's `input` shape. + * @see {@link DescribeServiceDeploymentsCommandOutput} for command's `response` shape. + * @see {@link ECSClientResolvedConfig | config} for ECSClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *You don't have authorization to perform the requested action.
+ * + * @throws {@link ClientException} (client fault) + *These errors are usually caused by a client action. This client action might be using + * an action or resource on behalf of a user that doesn't have permissions to use the + * action or resource. Or, it might be specifying an identifier that isn't valid.
+ *The following list includes additional causes for the error:
+ *The RunTask
could not be processed because you use managed
+ * scaling and there is a capacity error because the quota of tasks in the
+ * PROVISIONING
per cluster has been reached. For information
+ * about the service quotas, see Amazon ECS
+ * service quotas.
The specified cluster wasn't found. You can view your available clusters with ListClusters. Amazon ECS clusters are Region specific.
+ * + * @throws {@link InvalidParameterException} (client fault) + *The specified parameter isn't valid. Review the available parameters for the API + * request.
+ * + * @throws {@link ServerException} (server fault) + *These errors are usually caused by a server issue.
+ * + * @throws {@link ServiceNotFoundException} (client fault) + *The specified service wasn't found. You can view your available services with ListServices. Amazon ECS services are cluster specific and Region + * specific.
+ * + * @throws {@link UnsupportedFeatureException} (client fault) + *The specified task isn't supported in this Region.
+ * + * @throws {@link ECSServiceException} + *Base exception class for all service exceptions from ECS service.
+ * + * @public + */ +export class DescribeServiceDeploymentsCommand extends $Command + .classBuilder< + DescribeServiceDeploymentsCommandInput, + DescribeServiceDeploymentsCommandOutput, + ECSClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ECSClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2ContainerServiceV20141113", "DescribeServiceDeployments", {}) + .n("ECSClient", "DescribeServiceDeploymentsCommand") + .f(void 0, void 0) + .ser(se_DescribeServiceDeploymentsCommand) + .de(de_DescribeServiceDeploymentsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeServiceDeploymentsRequest; + output: DescribeServiceDeploymentsResponse; + }; + sdk: { + input: DescribeServiceDeploymentsCommandInput; + output: DescribeServiceDeploymentsCommandOutput; + }; + }; +} diff --git a/clients/client-ecs/src/commands/DescribeServiceRevisionsCommand.ts b/clients/client-ecs/src/commands/DescribeServiceRevisionsCommand.ts new file mode 100644 index 0000000000000..c07f6dd2525d4 --- /dev/null +++ b/clients/client-ecs/src/commands/DescribeServiceRevisionsCommand.ts @@ -0,0 +1,264 @@ +// 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 { ECSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ECSClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DescribeServiceRevisionsRequest, DescribeServiceRevisionsResponse } from "../models/models_0"; +import { de_DescribeServiceRevisionsCommand, se_DescribeServiceRevisionsCommand } from "../protocols/Aws_json1_1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DescribeServiceRevisionsCommand}. + */ +export interface DescribeServiceRevisionsCommandInput extends DescribeServiceRevisionsRequest {} +/** + * @public + * + * The output of {@link DescribeServiceRevisionsCommand}. + */ +export interface DescribeServiceRevisionsCommandOutput extends DescribeServiceRevisionsResponse, __MetadataBearer {} + +/** + *Describes one or more service revisions.
+ *A service revision is a version of the service that includes the values for the Amazon ECS + * resources (for example, task definition) and the environment resources (for example, + * load balancers, subnets, and security groups). For more information, see Amazon ECS service revisions.
+ *You can't describe a service revision that was created before October 25, 2024.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ECSClient, DescribeServiceRevisionsCommand } from "@aws-sdk/client-ecs"; // ES Modules import + * // const { ECSClient, DescribeServiceRevisionsCommand } = require("@aws-sdk/client-ecs"); // CommonJS import + * const client = new ECSClient(config); + * const input = { // DescribeServiceRevisionsRequest + * serviceRevisionArns: [ // StringList // required + * "STRING_VALUE", + * ], + * }; + * const command = new DescribeServiceRevisionsCommand(input); + * const response = await client.send(command); + * // { // DescribeServiceRevisionsResponse + * // serviceRevisions: [ // ServiceRevisions + * // { // ServiceRevision + * // serviceRevisionArn: "STRING_VALUE", + * // serviceArn: "STRING_VALUE", + * // clusterArn: "STRING_VALUE", + * // taskDefinition: "STRING_VALUE", + * // capacityProviderStrategy: [ // CapacityProviderStrategy + * // { // CapacityProviderStrategyItem + * // capacityProvider: "STRING_VALUE", // required + * // weight: Number("int"), + * // base: Number("int"), + * // }, + * // ], + * // launchType: "EC2" || "FARGATE" || "EXTERNAL", + * // platformVersion: "STRING_VALUE", + * // platformFamily: "STRING_VALUE", + * // loadBalancers: [ // LoadBalancers + * // { // LoadBalancer + * // targetGroupArn: "STRING_VALUE", + * // loadBalancerName: "STRING_VALUE", + * // containerName: "STRING_VALUE", + * // containerPort: Number("int"), + * // }, + * // ], + * // serviceRegistries: [ // ServiceRegistries + * // { // ServiceRegistry + * // registryArn: "STRING_VALUE", + * // port: Number("int"), + * // containerName: "STRING_VALUE", + * // containerPort: Number("int"), + * // }, + * // ], + * // networkConfiguration: { // NetworkConfiguration + * // awsvpcConfiguration: { // AwsVpcConfiguration + * // subnets: [ // StringList // required + * // "STRING_VALUE", + * // ], + * // securityGroups: [ + * // "STRING_VALUE", + * // ], + * // assignPublicIp: "ENABLED" || "DISABLED", + * // }, + * // }, + * // containerImages: [ // ContainerImages + * // { // ContainerImage + * // containerName: "STRING_VALUE", + * // imageDigest: "STRING_VALUE", + * // image: "STRING_VALUE", + * // }, + * // ], + * // guardDutyEnabled: true || false, + * // serviceConnectConfiguration: { // ServiceConnectConfiguration + * // enabled: true || false, // required + * // namespace: "STRING_VALUE", + * // services: [ // ServiceConnectServiceList + * // { // ServiceConnectService + * // portName: "STRING_VALUE", // required + * // discoveryName: "STRING_VALUE", + * // clientAliases: [ // ServiceConnectClientAliasList + * // { // ServiceConnectClientAlias + * // port: Number("int"), // required + * // dnsName: "STRING_VALUE", + * // }, + * // ], + * // ingressPortOverride: Number("int"), + * // timeout: { // TimeoutConfiguration + * // idleTimeoutSeconds: Number("int"), + * // perRequestTimeoutSeconds: Number("int"), + * // }, + * // tls: { // ServiceConnectTlsConfiguration + * // issuerCertificateAuthority: { // ServiceConnectTlsCertificateAuthority + * // awsPcaAuthorityArn: "STRING_VALUE", + * // }, + * // kmsKey: "STRING_VALUE", + * // roleArn: "STRING_VALUE", + * // }, + * // }, + * // ], + * // logConfiguration: { // LogConfiguration + * // logDriver: "json-file" || "syslog" || "journald" || "gelf" || "fluentd" || "awslogs" || "splunk" || "awsfirelens", // required + * // options: { // LogConfigurationOptionsMap + * // "You don't have authorization to perform the requested action.
+ * + * @throws {@link ClientException} (client fault) + *These errors are usually caused by a client action. This client action might be using + * an action or resource on behalf of a user that doesn't have permissions to use the + * action or resource. Or, it might be specifying an identifier that isn't valid.
+ *The following list includes additional causes for the error:
+ *The RunTask
could not be processed because you use managed
+ * scaling and there is a capacity error because the quota of tasks in the
+ * PROVISIONING
per cluster has been reached. For information
+ * about the service quotas, see Amazon ECS
+ * service quotas.
The specified cluster wasn't found. You can view your available clusters with ListClusters. Amazon ECS clusters are Region specific.
+ * + * @throws {@link InvalidParameterException} (client fault) + *The specified parameter isn't valid. Review the available parameters for the API + * request.
+ * + * @throws {@link ServerException} (server fault) + *These errors are usually caused by a server issue.
+ * + * @throws {@link ServiceNotFoundException} (client fault) + *The specified service wasn't found. You can view your available services with ListServices. Amazon ECS services are cluster specific and Region + * specific.
+ * + * @throws {@link UnsupportedFeatureException} (client fault) + *The specified task isn't supported in this Region.
+ * + * @throws {@link ECSServiceException} + *Base exception class for all service exceptions from ECS service.
+ * + * @public + */ +export class DescribeServiceRevisionsCommand extends $Command + .classBuilder< + DescribeServiceRevisionsCommandInput, + DescribeServiceRevisionsCommandOutput, + ECSClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ECSClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2ContainerServiceV20141113", "DescribeServiceRevisions", {}) + .n("ECSClient", "DescribeServiceRevisionsCommand") + .f(void 0, void 0) + .ser(se_DescribeServiceRevisionsCommand) + .de(de_DescribeServiceRevisionsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DescribeServiceRevisionsRequest; + output: DescribeServiceRevisionsResponse; + }; + sdk: { + input: DescribeServiceRevisionsCommandInput; + output: DescribeServiceRevisionsCommandOutput; + }; + }; +} diff --git a/clients/client-ecs/src/commands/DescribeServicesCommand.ts b/clients/client-ecs/src/commands/DescribeServicesCommand.ts index 3c4dd4b22a655..cad71aa3d9bad 100644 --- a/clients/client-ecs/src/commands/DescribeServicesCommand.ts +++ b/clients/client-ecs/src/commands/DescribeServicesCommand.ts @@ -94,8 +94,8 @@ export interface DescribeServicesCommandOutput extends DescribeServicesResponse, * // alarmNames: [ // StringList // required * // "STRING_VALUE", * // ], - * // enable: true || false, // required * // rollback: true || false, // required + * // enable: true || false, // required * // }, * // }, * // taskSets: [ // TaskSets @@ -346,7 +346,7 @@ export interface DescribeServicesCommandOutput extends DescribeServicesResponse, *The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
This operation lists all the service deployments that meet the specified filter criteria.
+ *A service deployment happens when you release a softwre update for the service. You + * route traffic from the running service revisions to the new service revison and control + * the number of running tasks.
+ *This API returns the values that you use for the request parameters in DescribeServiceRevisions.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { ECSClient, ListServiceDeploymentsCommand } from "@aws-sdk/client-ecs"; // ES Modules import + * // const { ECSClient, ListServiceDeploymentsCommand } = require("@aws-sdk/client-ecs"); // CommonJS import + * const client = new ECSClient(config); + * const input = { // ListServiceDeploymentsRequest + * service: "STRING_VALUE", // required + * cluster: "STRING_VALUE", + * status: [ // ServiceDeploymentStatusList + * "PENDING" || "SUCCESSFUL" || "STOPPED" || "STOP_REQUESTED" || "IN_PROGRESS" || "ROLLBACK_IN_PROGRESS" || "ROLLBACK_SUCCESSFUL" || "ROLLBACK_FAILED", + * ], + * createdAt: { // CreatedAt + * before: new Date("TIMESTAMP"), + * after: new Date("TIMESTAMP"), + * }, + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListServiceDeploymentsCommand(input); + * const response = await client.send(command); + * // { // ListServiceDeploymentsResponse + * // serviceDeployments: [ // ServiceDeploymentsBrief + * // { // ServiceDeploymentBrief + * // serviceDeploymentArn: "STRING_VALUE", + * // serviceArn: "STRING_VALUE", + * // clusterArn: "STRING_VALUE", + * // startedAt: new Date("TIMESTAMP"), + * // createdAt: new Date("TIMESTAMP"), + * // finishedAt: new Date("TIMESTAMP"), + * // targetServiceRevisionArn: "STRING_VALUE", + * // status: "PENDING" || "SUCCESSFUL" || "STOPPED" || "STOP_REQUESTED" || "IN_PROGRESS" || "ROLLBACK_IN_PROGRESS" || "ROLLBACK_SUCCESSFUL" || "ROLLBACK_FAILED", + * // statusReason: "STRING_VALUE", + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListServiceDeploymentsCommandInput - {@link ListServiceDeploymentsCommandInput} + * @returns {@link ListServiceDeploymentsCommandOutput} + * @see {@link ListServiceDeploymentsCommandInput} for command's `input` shape. + * @see {@link ListServiceDeploymentsCommandOutput} for command's `response` shape. + * @see {@link ECSClientResolvedConfig | config} for ECSClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *You don't have authorization to perform the requested action.
+ * + * @throws {@link ClientException} (client fault) + *These errors are usually caused by a client action. This client action might be using + * an action or resource on behalf of a user that doesn't have permissions to use the + * action or resource. Or, it might be specifying an identifier that isn't valid.
+ *The following list includes additional causes for the error:
+ *The RunTask
could not be processed because you use managed
+ * scaling and there is a capacity error because the quota of tasks in the
+ * PROVISIONING
per cluster has been reached. For information
+ * about the service quotas, see Amazon ECS
+ * service quotas.
The specified parameter isn't valid. Review the available parameters for the API + * request.
+ * + * @throws {@link ServerException} (server fault) + *These errors are usually caused by a server issue.
+ * + * @throws {@link ServiceNotFoundException} (client fault) + *The specified service wasn't found. You can view your available services with ListServices. Amazon ECS services are cluster specific and Region + * specific.
+ * + * @throws {@link UnsupportedFeatureException} (client fault) + *The specified task isn't supported in this Region.
+ * + * @throws {@link ECSServiceException} + *Base exception class for all service exceptions from ECS service.
+ * + * @public + */ +export class ListServiceDeploymentsCommand extends $Command + .classBuilder< + ListServiceDeploymentsCommandInput, + ListServiceDeploymentsCommandOutput, + ECSClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: ECSClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("AmazonEC2ContainerServiceV20141113", "ListServiceDeployments", {}) + .n("ECSClient", "ListServiceDeploymentsCommand") + .f(void 0, void 0) + .ser(se_ListServiceDeploymentsCommand) + .de(de_ListServiceDeploymentsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListServiceDeploymentsRequest; + output: ListServiceDeploymentsResponse; + }; + sdk: { + input: ListServiceDeploymentsCommandInput; + output: ListServiceDeploymentsCommandOutput; + }; + }; +} diff --git a/clients/client-ecs/src/commands/ListServicesByNamespaceCommand.ts b/clients/client-ecs/src/commands/ListServicesByNamespaceCommand.ts index 1e8848d2db645..2dfad8248357d 100644 --- a/clients/client-ecs/src/commands/ListServicesByNamespaceCommand.ts +++ b/clients/client-ecs/src/commands/ListServicesByNamespaceCommand.ts @@ -70,7 +70,7 @@ export interface ListServicesByNamespaceCommandOutput extends ListServicesByName *The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The RunTask
could not be processed because you use managed
* scaling and there is a capacity error because the quota of tasks in the
- * PROVISIONING
per cluster has been reached. For information
+ * PROVISIONING
per cluster has been reached. For information
* about the service quotas, see Amazon ECS
* service quotas.
The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale - * in process is not affected by this parameter If this parameter is omitted, the default + *
The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default
* value of 1
is used.
When additional capacity is required, Amazon ECS will scale up the minimum scaling step * size even if the actual demand is less than the minimum scaling step size.
@@ -671,7 +670,7 @@ export interface ExecuteCommandConfiguration { */ export interface ManagedStorageConfiguration { /** - *Specify a Key Management Service key ID to encrypt the managed storage.
+ *Specify a Amazon Web Services Key Management Service key ID to encrypt the managed storage.
* @public */ kmsKeyId?: string; @@ -1345,13 +1344,6 @@ export interface DeploymentAlarms { */ alarmNames: string[] | undefined; - /** - *Determines whether to use the CloudWatch alarm option in the service deployment - * process.
- * @public - */ - enable: boolean | undefined; - /** *Determines whether to configure Amazon ECS to roll back the service if a service deployment * fails. If rollback is used, when a service deployment fails, the service is rolled back @@ -1359,6 +1351,13 @@ export interface DeploymentAlarms { * @public */ rollback: boolean | undefined; + + /** + *
Determines whether to use the CloudWatch alarm option in the service deployment + * process.
+ * @public + */ + enable: boolean | undefined; } /** @@ -1393,8 +1392,8 @@ export interface DeploymentCircuitBreaker { } /** - *Optional deployment parameters that control how many tasks run during a deployment and - * the ordering of stopping and starting tasks.
+ *Optional deployment parameters that control how many tasks run during the deployment and the + * failure detection methods.
* @public */ export interface DeploymentConfiguration { @@ -1626,7 +1625,7 @@ export interface LoadBalancer { targetGroupArn?: string; /** - *The name of the load balancer to associate with the Amazon ECS service or task set.
+ *The name of the load balancer to associate with the service or task set.
*If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be * omitted.
* @public @@ -2913,8 +2912,8 @@ export interface CreateServiceRequest { role?: string; /** - *Optional deployment parameters that control how many tasks run during the deployment - * and the ordering of stopping and starting tasks.
+ *Optional deployment parameters that control how many tasks run during the deployment and the + * failure detection methods.
* @public */ deploymentConfiguration?: DeploymentConfiguration; @@ -2953,8 +2952,8 @@ export interface CreateServiceRequest { *If you do not use an Elastic Load Balancing, we recommend that you use the startPeriod
in
* the task definition health check parameters. For more information, see Health
* check.
If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you - * can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). + *
If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can + * specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). * During that time, the Amazon ECS service scheduler ignores health check status. This grace * period can prevent the service scheduler from marking tasks as unhealthy and stopping * them before they have time to come up.
@@ -3099,7 +3098,7 @@ export interface CreateServiceRequest { */ export interface DeploymentEphemeralStorage { /** - *Specify an Key Management Service key ID to encrypt the ephemeral storage for + *
Specify an Amazon Web Services Key Management Service key ID to encrypt the ephemeral storage for * deployment.
* @public */ @@ -3733,7 +3732,7 @@ export interface Service { launchType?: LaunchType; /** - *The capacity provider strategy the service uses. When using the DescribeServices API, + *
The capacity provider strategy the service uses. When using DescribeServices
,
* this field is omitted if the service was created using a launch type.
The metadata that you apply to the service to help you categorize and organize them. - * Each tag consists of a key and an optional value. You define bot the key and - * value.
+ *The metadata that you apply to the service to help you categorize and organize them. Each + * tag consists of a key and an optional value. You define both the key and value.
*The following basic restrictions apply to tags:
*Port mappings allow containers to access ports on the host container instance to send - * or receive traffic. Port mappings are specified as part of the container - * definition.
- *If you use containers in a task with the awsvpc
or host
- * network mode, specify the exposed ports using containerPort
. The
- * hostPort
can be left blank or it must be the same value as the
- * containerPort
.
Port mappings expose your container's network ports to the outside world. this allows + * clients to access your application. It's also used for inter-container communication + * within the same task.
+ *For task definitions (both the Fargate and EC2 launch type) that use the
+ * awsvpc
network mode, only specify the containerPort
. The
+ * hostPort
is always ignored, and the container port is automatically
+ * mapped to a random high-numbered port on the host.
Most fields of this parameter ( The port number on the container that's bound to the user-specified or automatically
* assigned host port. If you use containers in a task with the If you use containers in a task with the For tasks that use the Fargate launch type or EC2 tasks that use the
+ * For Windows containers on Fargate, you can't use port 3150 for the
+ * Suppose that you're using containers in a task with the EC2 launch type
+ * and you specify a container port and not a host port. Then, your container automatically
+ * receives a host port in the ephemeral port range. For more information, see
+ * The value for the specified resource type. When the type is When the type is When the type is When the type is You can run your Linux tasks on an ARM-based platform by setting the value to
* The default is The operating system. The default is containerPort
, hostPort
,
* protocol
) maps to PortBindings
in the docker container create command and the
* --publish
option to docker
@@ -5359,13 +5357,16 @@ export interface PortMapping {
/**
*
awsvpc
or host
- * network mode, specify the exposed ports using containerPort
.bridge
network mode and you
- * specify a container port and not a host port, your container automatically receives a
- * host port in the ephemeral port range. For more information, see hostPort
.
- * Port mappings that are automatically assigned in this way do not count toward the 100
- * reserved ports limit of a container instance.awsvpc
network mode, you use containerPort
to specify the
+ * exposed ports.containerPort
. This is because it's reserved.hostPort
. Port mappings that are automatically assigned in this way
+ * don't count toward the 100 reserved ports quota of a container instance.GPU
, the value is the number of physical
- * GPUs
the Amazon ECS container agent reserves for the container. The number
- * of GPUs that's reserved for all containers in a task can't exceed the number of
- * available GPUs on the container instance that the task is launched on.InferenceAccelerator
, the value
matches the
- * deviceName
for an InferenceAccelerator specified in a task definition.GPU
, the value is the number of physical GPUs
the
+ * Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for
+ * all containers in a task can't exceed the number of available GPUs on the container
+ * instance that the task is launched on.InferenceAccelerator
, the value
matches
+ * the deviceName
for an InferenceAccelerator specified in a task definition.ARM64
. This option is available for tasks that run on Linux Amazon EC2
* instance or Linux containers on Fargate.X86_64
.Linux
.
If the network mode is awsvpc
, the task is allocated an elastic network
- * interface, and you must specify a NetworkConfiguration value when you create
+ * interface, and you must specify a NetworkConfiguration value when you create
* a service or run a task with the task definition. For more information, see Task Networking in the
* Amazon Elastic Container Service Developer Guide.
If the network mode is host
, you cannot run multiple instantiations of the
* same task on a single container instance when port mappings are used.
For more information, see Network + * settings in the Docker run reference.
* @public */ networkMode?: NetworkMode; @@ -7380,9 +7385,12 @@ export interface TaskDefinition { *If task
is specified, all containers within the specified
* task share the same process namespace.
If no value is specified, the - * default is a private namespace for each container.
+ * default is a private namespace for each container. For more information, + * see PID settings in the Docker run + * reference. *If the host
PID mode is used, there's a heightened risk
- * of undesired process namespace exposure.
This parameter is not supported for Windows containers.
*none
is specified, then IPC resources
* within the containers of a task are private and not shared with other containers in a
* task or on the container instance. If no value is specified, then the IPC resource
- * namespace sharing depends on the Docker daemon setting on the container instance.
+ * namespace sharing depends on the Docker daemon setting on the container instance. For
+ * more information, see IPC
+ * settings in the Docker run reference.
* If the host
IPC mode is used, be aware that there is a heightened risk of
- * undesired IPC namespace expose.
If you are setting namespaced kernel parameters using The ARN of the service deployment. You can specify a maximum of 20 ARNs. The CloudWatch alarms used to determine a service deployment failed. Amazon ECS considers the service deployment as failed when any of the alarms move to the The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe.
- * If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are
- * describing were launched in any cluster other than the default cluster. The status of the alarms check. Amazon ECS is not using alarms for service deployment failures when the status is A list of services to describe. You may specify up to 10 services to describe in a
- * single operation. The name of the CloudWatch alarms that determine when a service deployment failed. A "," separates the alarms. Determines whether you want to see the resource tags for the service. If
- * One or more CloudWatch alarm names that have been triggered during the service deployment. A ","
+ * separates the alarm names. Information about the circuit breaker used to determine when a service deployment has
+ * failed. The deployment circuit breaker is the rolling update mechanism that determines if the
+ * tasks reach a steady state. The deployment circuit breaker has an option that will
+ * automatically roll back a failed deployment to the last cpompleted service
+ * revision. For more information, see How the Amazon ECS
+ * deployment circuit breaker detects failures in the Amazon ECS Developer
+ * Guide. The list of services described. The circuit breaker status. Amazon ECS is not using the circuit breaker for service deployment failures when the status is Any failures associated with the call. The number of times the circuit breaker detected a service deploymeny failure. The threshhold which determines that the service deployment failed. The deployment circuit breaker calculates the threshold value, and then uses the value to
+ * determine when to move the deployment to a FAILED state. The deployment circuit breaker
+ * has a minimum threshold of 3 and a maximum threshold of 200. and uses the values in the
+ * following formula to determine the deployment failure.
+ * Information about the service deployment rollback. The reason the rollback happened. For example, the circuit breaker initiated the rollback operation. The Time time that the rollback started. The format is yyyy-MM-dd HH:mm:ss.SSSSSS. Determines whether to see the resource tags for the task definition. If
- * The ARN of the service revision deployed as part of the rollback. When the type is When the type is The information about the number of requested, pending, and running tasks for a service revision. The full task definition description. The ARN of the service revision. The metadata that's applied to the task definition to help you categorize and organize
- * them. Each tag consists of a key and an optional value. You define both. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only
- * one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources,
- * remember that other services may have restrictions on allowed characters.
- * Generally allowed characters are: letters, numbers, and spaces representable in
- * UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use The number of requested tasks for the service revision. The number of running tasks for the service revision. The number of pending tasks for the service revision. Information about the service deployment. Service deployments provide a comprehensive view of your deployments. For information
+ * about service deployments, see View service history using Amazon ECS service deployments
+ * in the
+ * Amazon Elastic Container Service Developer Guide
+ * . The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to
- * describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you
- * are describing were launched in any cluster other than the default cluster. The ARN of the service deployment. A list of up to 100 task IDs or full ARN entries. The ARN of the service for this service deployment. Specifies whether you want to see the resource tags for the task. If The ARN of the cluster that hosts the service. The time the service deployment was created. The format is yyyy-MM-dd HH:mm:ss.SSSSSS. The time the service deployment statred. The format is yyyy-MM-dd HH:mm:ss.SSSSSS. The time the service deployment finished. The format is yyyy-MM-dd HH:mm:ss.SSSSSS. The time the service deployment stopped. The format is yyyy-MM-dd HH:mm:ss.SSSSSS. The service deployment stops when any of the following actions happen: A user manually stops the deployment The rollback option is not in use for the failure detection mechanism (the
+ * circuit breaker or alarm-based) and the service fails. Details about the managed agent status for the container. The Unix timestamp for the time when the managed agent was last started. The time that the service deployment was last updated. The format is yyyy-MM-dd
+ * HH:mm:ss.SSSSSS. The name of the managed agent. When the execute command feature is turned on, the
- * managed agent name is The currently deployed workload configuration. The reason for why the managed agent is in the state it is in. The workload configuration being deployed. The last known status of the managed agent. The service deployment state. Details on the network bindings between a container and its host container instance.
- * After a task reaches the The IP address that the container is bound to on the container instance. Information about why the service deployment is in the current status. For example, the circuit breaker detected a failure. The port number on the container that's used with the network binding. Optional deployment parameters that control how many tasks run during the deployment and the
+ * failure detection methods. The port number on the host that's used with the network binding. The rollback options the service deployment uses when the deployment fails. The protocol used for the network binding. The circuit breaker configuration that determines a service deployment failed. The port number range on the container that's bound to the dynamically mapped host
- * port range. The following rules apply when you specify a You must use either the This parameter is available for both the EC2 and Fargate launch types. This parameter is available for both the Linux and Windows operating systems. The container instance must have at least version 1.67.0 of the container agent
- * and at least version 1.67.0-1 of the You can specify a maximum of 100 port ranges per container. You do not specify a For containers in a task with the For containers in a task with the The A port can only be included in one port mapping per container. You cannot specify overlapping port ranges. The first port in the range must be less than last port in the range. Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports. For more information, see Issue #11185 on the Github website. For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide. You can call
- * The CloudWatch alarms that determine when a service deployment fails. The port number range on the host that's used with the network binding. This is
- * assigned is assigned by Docker and delivered by the Amazon ECS agent. The list of service deployments described. Any failures associated with the call. If you decsribe a deployment with a service revision created before October 25, 2024, the
+ * call fails. The failure includes the service revision ARN and the reason set to
+ * An object representing the elastic network interface for tasks that use the
- * The attachment ID for the network interface. The ARN of the service revision. You can specify a maximum of 20 ARNs. You can call ListServiceDeployments to
+ * get the ARNs. The details about the container image a service revision uses. To ensure that all tasks in a service use the same container image, Amazon ECS resolves
+ * container image names and any image tags specified in the task definition to container
+ * image digests. After the container image digest has been established, Amazon ECS uses the digest to start
+ * any other desired tasks, and for any future service and service revision updates. This
+ * leads to all tasks in a service always running identical container images, resulting in
+ * version consistency for your software. For more information, see Container image resolution in the Amazon ECS Developer Guide. The name of the container. The private IPv4 address for the network interface. The container image digest. The private IPv6 address for the network interface. The container image. A Docker container that's part of a task. Information about the service revision. A service revision contains a record of the workload configuration Amazon ECS is attempting to deploy. Whenever you create or deploy a service, Amazon ECS automatically creates and captures the configuration that you're trying to deploy in the service revision. For information
+ * about service revisions, see Amazon ECS service revisions
+ * in the
+ * Amazon Elastic Container Service Developer Guide
+ * . The Amazon Resource Name (ARN) of the container. The ARN of the service revision. The ARN of the task. The ARN of the service for the service revision. The name of the container. The ARN of the cluster that hosts the service. The image used for the container. The task definition the service revision uses. The container image manifest digest. The capacity provider strategy the service revision uses. The ID of the Docker container. The launch type the service revision uses. The last known status of the container. For the Fargate launch type, the platform version the service revision uses. The exit code returned from the container. The platform family the service revision uses. A short (255 max characters) human-readable string to provide additional details about
- * a running or stopped container. The load balancers the service revision uses. The network bindings associated with the container. The service registries (for Service Discovery) the service revision uses. The network interfaces associated with the container. The network configuration for a task or service. The health status of the container. If health checks aren't configured for this
- * container in its task definition, then it reports the health status as
- * The container images the service revision uses. The details of any Amazon ECS managed agents associated with the container. Indicates whether Runtime Monitoring is turned on. The number of CPU units set for the container. The value is The Service Connect configuration of your Amazon ECS service. The configuration for this
+ * service to discover and connect to services, and be discovered by, and connected from,
+ * other services within a namespace. Tasks that run in a namespace can use short names to connect
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
+ * Tasks connect through a managed proxy container
+ * that collects logs and metrics for increased visibility.
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
+ * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide. The hard limit (in MiB) of memory set for the container. The volumes that are configured at deployment that the service revision uses. The soft limit (in MiB) of memory set for the container. The amount of ephemeral storage to allocate for the deployment. The IDs of each GPU assigned to the container. The time that the service revision was created. The format is yyyy-mm-dd HH:mm:ss.SSSSS. The amount of ephemeral storage to allocate for the task. The total amount, in GiB, of the ephemeral storage to set for the task. The minimum
- * supported value is The list of service revisions described. Specify an Key Management Service key ID to encrypt the ephemeral storage for the
- * task. Any failures associated with the call. The overrides that are sent to a container. An empty container override can be passed
- * in. An example of an empty container override is You can use Secrets Manager or Amazon Web Services Systems Manager Parameter Store to store the
- * sensitive data. For more information, see Retrieve secrets through
- * environment variables in the Amazon ECS Developer Guide. The name of the container that receives the override. This parameter is required if
- * any override is specified. The command to send to the container that overrides the default command from the
- * Docker image or the task definition. You must also specify a container name. The environment variables to send to the container. You can add new environment
- * variables, which are added to the container at launch, or you can override the existing
- * environment variables from the Docker image or the task definition. You must also
- * specify a container name. A list of files containing the environment variables to pass to a container, instead
- * of the value from the container definition. The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe.
+ * If you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are
+ * describing were launched in any cluster other than the default cluster. The number of A list of services to describe. You may specify up to 10 services to describe in a
+ * single operation. The hard limit (in MiB) of memory to present to the container, instead of the default
- * value from the task definition. If your container attempts to exceed the memory
- * specified here, the container is killed. You must also specify a container name. Determines whether you want to see the resource tags for the service. If
+ * The soft limit (in MiB) of memory to reserve for the container, instead of the default
- * value from the task definition. You must also specify a container name. The list of services described. The type and amount of a resource to assign to a container, instead of the default
- * value from the task definition. The only supported resource is a GPU. Any failures associated with the call. Details on an Elastic Inference accelerator task override. This parameter is used to
- * override the Elastic Inference accelerator specified in the task definition. For more
- * information, see Working with Amazon
- * Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide. The Elastic Inference accelerator device name to override for the task. This parameter
- * must match a The Elastic Inference accelerator type to use. The overrides that are associated with a task. One or more container overrides that are sent to a task. The The CPU override for the task. Determines whether to see the resource tags for the task definition. If
+ * The Elastic Inference accelerator override for the task. The full task definition description. The Amazon Resource Name (ARN) of the task execution role override for the task. For more information,
- * see Amazon ECS task
- * execution IAM role in the Amazon Elastic Container Service Developer Guide. The metadata that's applied to the task definition to help you categorize and organize
+ * them. Each tag consists of a key and an optional value. You define both. The following basic restrictions apply to tags: Maximum number of tags per resource - 50 For each resource, each tag key must be unique, and each tag key can have only
+ * one value. Maximum key length - 128 Unicode characters in UTF-8 Maximum value length - 256 Unicode characters in UTF-8 If your tagging schema is used across multiple services and resources,
+ * remember that other services may have restrictions on allowed characters.
+ * Generally allowed characters are: letters, numbers, and spaces representable in
+ * UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Do not use The memory override for the task. The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to
+ * describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the task or tasks you
+ * are describing were launched in any cluster other than the default cluster. The Amazon Resource Name (ARN) of the role that containers in this task can assume. All containers in
- * this task are granted the permissions that are specified in this role. For more
- * information, see IAM Role for Tasks
- * in the Amazon Elastic Container Service Developer Guide. A list of up to 100 task IDs or full ARN entries. The ephemeral storage setting override for the task. This parameter is only supported for tasks hosted on Fargate that
- * use the following platform versions: Linux platform version Windows platform version Specifies whether you want to see the resource tags for the task. If Details on a task in a cluster. The Elastic Network Adapter that's associated with the task if the task uses the
- * Details about the managed agent status for the container. The attributes of the task The Unix timestamp for the time when the managed agent was last started. The Availability Zone for the task. The name of the managed agent. When the execute command feature is turned on, the
+ * managed agent name is The capacity provider that's associated with the task. The reason for why the managed agent is in the state it is in. The ARN of the cluster that hosts the task. The last known status of the managed agent. Details on the network bindings between a container and its host container instance.
+ * After a task reaches the The connectivity status of a task. The IP address that the container is bound to on the container instance. The Unix timestamp for the time when the task last went into The port number on the container that's used with the network binding. The ARN of the container instances that host the task. The port number on the host that's used with the network binding. The containers that's associated with the task. The protocol used for the network binding. The number of CPU units used by the task as expressed in a task definition. It can be
- * expressed as an integer using CPU units (for example, If you use the EC2 launch type, this field is optional. Supported values
- * are between If you use the Fargate launch type, this field is required. You must use
- * one of the following values. These values determine the range of supported values for
- * the The CPU units cannot be less than 1 vCPU when you use Windows containers on
- * Fargate. The port number range on the container that's bound to the dynamically mapped host
+ * port range. The following rules apply when you specify a 256 (.25 vCPU) - Available 512 (.5 vCPU) - Available You must use either the 1024 (1 vCPU) - Available This parameter is available for both the EC2 and Fargate launch types. 2048 (2 vCPU) - Available This parameter is available for both the Linux and Windows operating systems. 4096 (4 vCPU) - Available The container instance must have at least version 1.67.0 of the container agent
+ * and at least version 1.67.0-1 of the 8192 (8 vCPU) - Available This option requires Linux platform You can specify a maximum of 100 port ranges per container. 16384 (16vCPU) - Available This option requires Linux platform You do not specify a For containers in a task with the For containers in a task with the systemControls
for
* the containers in the task, the following will apply to your IPC resource namespace. For
* more information, see System
@@ -8173,2063 +8184,1976 @@ export interface DescribeContainerInstancesResponse {
failures?: Failure[];
}
+/**
+ * @public
+ */
+export interface DescribeServiceDeploymentsRequest {
+ /**
+ * ALARM
state. For more information, see How CloudWatch alarms detect Amazon ECS deployment failures in the Amazon ECS Developer Guide.DISABLED
.TAGS
is specified, the tags are included in the response. If this field
- * is omitted, tags aren't included in the response.DISABLED
.0.5 * desired task count
+ * family
for the latest ACTIVE
revision,
- * family
and revision
(family:revision
) for a
- * specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to
- * describe.TAGS
is specified, the tags are included in the response. If this field
- * is omitted, tags aren't included in the response.GPU
, the value is the number of physical
+ * GPUs
the Amazon ECS container agent reserves for the container. The number
+ * of GPUs that's reserved for all containers in a task can't exceed the number of
+ * available GPUs on the container instance that the task is launched on.InferenceAccelerator
, the value
matches the
+ * deviceName
for an InferenceAccelerator specified in a task definition.
- *
+ * aws:
, AWS:
, or any upper or lowercase
- * combination of such as a prefix for either keys or values as it is reserved for
- * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
- * this prefix do not count against your tags per resource limit.TAGS
- * is specified, the tags are included in the response. If this field is omitted, tags
- * aren't included in the response.
+ *
+ * @public
+ */
+ stoppedAt?: Date;
-/**
- * ExecuteCommandAgent
.RUNNING
status, manual and automatic host and
- * container port assignments are visible in the networkBindings
section of
- * DescribeTasks API responses.containerPortRange
:
- *
- * bridge
network mode or the awsvpc
- * network mode.ecs-init
package hostPortRange
. The value of the hostPortRange
is set
- * as follows:
- *
- * awsvpc
network mode,
- * the hostPortRange
is set to the same value as the
- * containerPortRange
. This is a static mapping
- * strategy.bridge
network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.containerPortRange
valid values are between 1 and
- * 65535.DescribeTasks
- * to view the hostPortRange
which
- * are the host ports that are bound to the container ports.MISSING
.awsvpc
network mode.UNKNOWN
.0
if no value
- * was specified in the container definition when the task definition was
- * registered.20
GiB and the maximum supported value is
- * 200
GiB.\{"containerOverrides": [ ]
- * \}
. If a non-empty container override is specified, the name
- * parameter must be included.cpu
units reserved for the container, instead of the
- * default value from the task definition. You must also specify a container name.TAGS
is specified, the tags are included in the response. If this field
+ * is omitted, tags aren't included in the response.deviceName
specified in the task definition.family
for the latest ACTIVE
revision,
+ * family
and revision
(family:revision
) for a
+ * specific revision in the family, or full Amazon Resource Name (ARN) of the task definition to
+ * describe.TAGS
is specified, the tags are included in the response. If this field
+ * is omitted, tags aren't included in the response.
+ *
* @public
*/
- executionRoleArn?: string;
+ tags?: Tag[];
+}
+
+/**
+ * @public
+ * @enum
+ */
+export const TaskField = {
+ TAGS: "TAGS",
+} as const;
+
+/**
+ * @public
+ */
+export type TaskField = (typeof TaskField)[keyof typeof TaskField];
+/**
+ * @public
+ */
+export interface DescribeTasksRequest {
/**
- * aws:
, AWS:
, or any upper or lowercase
+ * combination of such as a prefix for either keys or values as it is reserved for
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
+ * this prefix do not count against your tags per resource limit.
- *
- * 1.4.0
or later.1.0.0
or later.TAGS
+ * is specified, the tags are included in the response. If this field is omitted, tags
+ * aren't included in the response.awsvpc
network mode.ExecuteCommandAgent
.RUNNING
status, manual and automatic host and
+ * container port assignments are visible in the networkBindings
section of
+ * DescribeTasks API responses.CONNECTED
- * status.1024
). It can also be
- * expressed as a string using vCPUs (for example, 1 vCPU
or 1
- * vcpu
). String values are converted to an integer that indicates the CPU units
- * when the task definition is registered.128
CPU units (0.125
vCPUs) and 10240
- * CPU units (10
vCPUs).memory
parameter:containerPortRange
:
*
+ * memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)memory
values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)bridge
network mode or the awsvpc
+ * network mode.memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)memory
values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)ecs-init
package memory
values: 16 GB and 60 GB in 4 GB increments1.4.0
or
- * later.memory
values: 32GB and 120 GB in 8 GB increments1.4.0
or
- * later.hostPortRange
. The value of the hostPortRange
is set
+ * as follows:
+ *
+ * awsvpc
network mode,
+ * the hostPortRange
is set to the same value as the
+ * containerPortRange
. This is a static mapping
+ * strategy.bridge
network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.
The containerPortRange
valid values are between 1 and
+ * 65535.
A port can only be included in one port mapping per container.
+ *You cannot specify overlapping port ranges.
+ *The first port in the range must be less than last port in the range.
+ *Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.
+ *For more information, see Issue #11185 on the Github website.
+ *For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide.
+ *You can call
+ * DescribeTasks
+ * to view the hostPortRange
which
+ * are the host ports that are bound to the container ports.
The Unix timestamp for the time when the task was created. More specifically, it's for
- * the time when the task entered the PENDING
state.
The port number range on the host that's used with the network binding. This is + * assigned is assigned by Docker and delivered by the Amazon ECS agent.
* @public */ - createdAt?: Date; + hostPortRange?: string; +} +/** + *An object representing the elastic network interface for tasks that use the
+ * awsvpc
network mode.
The desired status of the task. For more information, see Task - * Lifecycle.
+ *The attachment ID for the network interface.
* @public */ - desiredStatus?: string; + attachmentId?: string; /** - *Determines whether execute command functionality is turned on for this task. If
- * true
, execute command functionality is turned on all the containers in
- * the task.
The private IPv4 address for the network interface.
* @public */ - enableExecuteCommand?: boolean; + privateIpv4Address?: string; /** - *The Unix timestamp for the time when the task execution stopped.
+ *The private IPv6 address for the network interface.
* @public */ - executionStoppedAt?: Date; + ipv6Address?: string; +} +/** + *A Docker container that's part of a task.
+ * @public + */ +export interface Container { /** - *The name of the task group that's associated with the task.
+ *The Amazon Resource Name (ARN) of the container.
* @public */ - group?: string; + containerArn?: string; /** - *The health status for the task. It's determined by the health of the essential
- * containers in the task. If all essential containers in the task are reporting as
- * HEALTHY
, the task status also reports as HEALTHY
. If any
- * essential containers in the task are reporting as UNHEALTHY
or
- * UNKNOWN
, the task status also reports as UNHEALTHY
or
- * UNKNOWN
.
The Amazon ECS container agent doesn't monitor or report on Docker health checks that - * are embedded in a container image and not specified in the container definition. For - * example, this includes those specified in a parent image or from the image's - * Dockerfile. Health check parameters that are specified in a container definition - * override any Docker health checks that are found in the container image.
- *The ARN of the task.
* @public */ - healthStatus?: HealthStatus; + taskArn?: string; /** - *The Elastic Inference accelerator that's associated with the task.
+ *The name of the container.
* @public */ - inferenceAccelerators?: InferenceAccelerator[]; + name?: string; /** - *The last known status for the task. For more information, see Task - * Lifecycle.
+ *The image used for the container.
* @public */ - lastStatus?: string; + image?: string; /** - *The infrastructure where your task runs on. For more information, see Amazon ECS - * launch types in the Amazon Elastic Container Service Developer Guide.
+ *The container image manifest digest.
* @public */ - launchType?: LaunchType; + imageDigest?: string; /** - *The amount of memory (in MiB) that the task uses as expressed in a task definition. It
- * can be expressed as an integer using MiB (for example, 1024
). If it's
- * expressed as a string using GB (for example, 1GB
or 1 GB
),
- * it's converted to an integer indicating the MiB when the task definition is
- * registered.
If you use the EC2 launch type, this field is optional.
- *If you use the Fargate launch type, this field is required. You must use
- * one of the following values. The value that you choose determines the range of supported
- * values for the cpu
parameter.
512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values: 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available cpu
values: 8192 (8 vCPU)
This option requires Linux platform 1.4.0
or
- * later.
Between 32GB and 120 GB in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or
- * later.
The ID of the Docker container.
* @public */ - memory?: string; + runtimeId?: string; /** - *One or more container overrides.
+ *The last known status of the container.
* @public */ - overrides?: TaskOverride; + lastStatus?: string; /** - *The platform version where your task runs on. A platform version is only specified for
- * tasks that use the Fargate launch type. If you didn't specify one, the
- * LATEST
platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.
The exit code returned from the container.
* @public */ - platformVersion?: string; + exitCode?: number; /** - *The operating system that your tasks are running on. A platform family is specified - * only for tasks that use the Fargate launch type.
- * All tasks that run as part of this service must use the same
- * platformFamily
value as the service (for example,
- * LINUX.
).
A short (255 max characters) human-readable string to provide additional details about + * a running or stopped container.
* @public */ - platformFamily?: string; + reason?: string; /** - *The Unix timestamp for the time when the container image pull began.
+ *The network bindings associated with the container.
* @public */ - pullStartedAt?: Date; + networkBindings?: NetworkBinding[]; /** - *The Unix timestamp for the time when the container image pull completed.
+ *The network interfaces associated with the container.
* @public */ - pullStoppedAt?: Date; + networkInterfaces?: NetworkInterface[]; /** - *The Unix timestamp for the time when the task started. More specifically, it's for the
- * time when the task transitioned from the PENDING
state to the
- * RUNNING
state.
The health status of the container. If health checks aren't configured for this
+ * container in its task definition, then it reports the health status as
+ * UNKNOWN
.
The tag specified when a task is started. If an Amazon ECS service started the task, the
- * startedBy
parameter contains the deployment ID of that service.
The details of any Amazon ECS managed agents associated with the container.
* @public */ - startedBy?: string; + managedAgents?: ManagedAgent[]; /** - *The stop code indicating why a task was stopped. The stoppedReason
might
- * contain additional details.
For more information about stop code, see Stopped tasks - * error codes in the Amazon ECS Developer Guide.
+ *The number of CPU units set for the container. The value is 0
if no value
+ * was specified in the container definition when the task definition was
+ * registered.
The Unix timestamp for the time when the task was stopped. More specifically, it's for
- * the time when the task transitioned from the RUNNING
state to the
- * STOPPED
state.
The hard limit (in MiB) of memory set for the container.
* @public */ - stoppedAt?: Date; + memory?: string; /** - *The reason that the task was stopped.
+ *The soft limit (in MiB) of memory set for the container.
* @public */ - stoppedReason?: string; + memoryReservation?: string; /** - *The Unix timestamp for the time when the task stops. More specifically, it's for the
- * time when the task transitions from the RUNNING
state to
- * STOPPING
.
The IDs of each GPU assigned to the container.
* @public */ - stoppingAt?: Date; + gpuIds?: string[]; +} +/** + *The amount of ephemeral storage to allocate for the task.
+ * @public + */ +export interface TaskEphemeralStorage { /** - *The metadata that you apply to the task to help you categorize and organize the task. - * Each tag consists of a key and an optional value. You define both the key and - * value.
- *The following basic restrictions apply to tags:
- *Maximum number of tags per resource - 50
- *For each resource, each tag key must be unique, and each tag key can have only - * one value.
- *Maximum key length - 128 Unicode characters in UTF-8
- *Maximum value length - 256 Unicode characters in UTF-8
- *If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.
- *Tag keys and values are case-sensitive.
- *Do not use aws:
, AWS:
, or any upper or lowercase
- * combination of such as a prefix for either keys or values as it is reserved for
- * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
- * this prefix do not count against your tags per resource limit.
The total amount, in GiB, of the ephemeral storage to set for the task. The minimum
+ * supported value is 20
GiB and the maximum supported value is
+ * 200
GiB.
The Amazon Resource Name (ARN) of the task.
- * @public - */ - taskArn?: string; - - /** - *The ARN of the task definition that creates the task.
- * @public - */ - taskDefinitionArn?: string; - - /** - *The version counter for the task. Every time a task experiences a change that starts a
- * CloudWatch event, the version counter is incremented. If you replicate your Amazon ECS task state
- * with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API
- * actions with the version reported in CloudWatch Events for the task (inside the
- * detail
object) to verify that the version in your event stream is
- * current.
The ephemeral storage settings for the task.
- * @public - */ - ephemeralStorage?: EphemeralStorage; - - /** - *The Fargate ephemeral storage settings for the task.
+ *Specify an Amazon Web Services Key Management Service key ID to encrypt the ephemeral storage for the + * task.
* @public */ - fargateEphemeralStorage?: TaskEphemeralStorage; + kmsKeyId?: string; } /** + *The overrides that are sent to a container. An empty container override can be passed
+ * in. An example of an empty container override is \{"containerOverrides": [ ]
+ * \}
. If a non-empty container override is specified, the name
+ * parameter must be included.
You can use Secrets Manager or Amazon Web Services Systems Manager Parameter Store to store the + * sensitive data. For more information, see Retrieve secrets through + * environment variables in the Amazon ECS Developer Guide.
* @public */ -export interface DescribeTasksResponse { +export interface ContainerOverride { /** - *The list of tasks.
+ *The name of the container that receives the override. This parameter is required if + * any override is specified.
* @public */ - tasks?: Task[]; + name?: string; /** - *Any failures associated with the call.
+ *The command to send to the container that overrides the default command from the + * Docker image or the task definition. You must also specify a container name.
* @public */ - failures?: Failure[]; -} - -/** - * @public - * @enum - */ -export const TaskSetField = { - TAGS: "TAGS", -} as const; - -/** - * @public - */ -export type TaskSetField = (typeof TaskSetField)[keyof typeof TaskSetField]; + command?: string[]; -/** - * @public - */ -export interface DescribeTaskSetsRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * sets exist in.
+ *The environment variables to send to the container. You can add new environment + * variables, which are added to the container at launch, or you can override the existing + * environment variables from the Docker image or the task definition. You must also + * specify a container name.
* @public */ - cluster: string | undefined; + environment?: KeyValuePair[]; /** - *The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.
+ *A list of files containing the environment variables to pass to a container, instead + * of the value from the container definition.
* @public */ - service: string | undefined; + environmentFiles?: EnvironmentFile[]; /** - *The ID or full Amazon Resource Name (ARN) of task sets to - * describe.
+ *The number of cpu
units reserved for the container, instead of the
+ * default value from the task definition. You must also specify a container name.
Specifies whether to see the resource tags for the task set. If TAGS
is
- * specified, the tags are included in the response. If this field is omitted, tags aren't
- * included in the response.
The hard limit (in MiB) of memory to present to the container, instead of the default + * value from the task definition. If your container attempts to exceed the memory + * specified here, the container is killed. You must also specify a container name.
* @public */ - include?: TaskSetField[]; -} + memory?: number; -/** - * @public - */ -export interface DescribeTaskSetsResponse { /** - *The list of task sets described.
+ *The soft limit (in MiB) of memory to reserve for the container, instead of the default + * value from the task definition. You must also specify a container name.
* @public */ - taskSets?: TaskSet[]; + memoryReservation?: number; /** - *Any failures associated with the call.
+ *The type and amount of a resource to assign to a container, instead of the default + * value from the task definition. The only supported resource is a GPU.
* @public */ - failures?: Failure[]; + resourceRequirements?: ResourceRequirement[]; } /** + *Details on an Elastic Inference accelerator task override. This parameter is used to + * override the Elastic Inference accelerator specified in the task definition. For more + * information, see Working with Amazon + * Elastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.
* @public */ -export interface DiscoverPollEndpointRequest { +export interface InferenceAcceleratorOverride { /** - *The container instance ID or full ARN of the container instance. For more - * information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.
+ *The Elastic Inference accelerator device name to override for the task. This parameter
+ * must match a deviceName
specified in the task definition.
The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs - * to.
+ *The Elastic Inference accelerator type to use.
* @public */ - cluster?: string; + deviceType?: string; } /** + *The overrides that are associated with a task.
* @public */ -export interface DiscoverPollEndpointResponse { - /** - *The endpoint for the Amazon ECS agent to poll.
- * @public - */ - endpoint?: string; - +export interface TaskOverride { /** - *The telemetry endpoint for the Amazon ECS agent.
+ *One or more container overrides that are sent to a task.
* @public */ - telemetryEndpoint?: string; + containerOverrides?: ContainerOverride[]; /** - *The endpoint for the Amazon ECS agent to poll for Service Connect configuration. - * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.
+ *The CPU override for the task.
* @public */ - serviceConnectEndpoint?: string; -} + cpu?: string; -/** - * @public - */ -export interface ExecuteCommandRequest { /** - *The Amazon Resource Name (ARN) or short name of the cluster the task is running in. - * If you do not specify a cluster, the default cluster is assumed.
+ *The Elastic Inference accelerator override for the task.
* @public */ - cluster?: string; + inferenceAcceleratorOverrides?: InferenceAcceleratorOverride[]; /** - *The name of the container to execute the command on. A container name only needs to be - * specified for tasks containing multiple containers.
+ *The Amazon Resource Name (ARN) of the task execution role override for the task. For more information, + * see Amazon ECS task + * execution IAM role in the Amazon Elastic Container Service Developer Guide.
* @public */ - container?: string; + executionRoleArn?: string; /** - *The command to run on the container.
+ *The memory override for the task.
* @public */ - command: string | undefined; + memory?: string; /** - *Use this flag to run your command in interactive mode.
+ *The Amazon Resource Name (ARN) of the role that containers in this task can assume. All containers in + * this task are granted the permissions that are specified in this role. For more + * information, see IAM Role for Tasks + * in the Amazon Elastic Container Service Developer Guide.
* @public */ - interactive: boolean | undefined; + taskRoleArn?: string; /** - *The Amazon Resource Name (ARN) or ID of the task the container is part of.
+ *The ephemeral storage setting override for the task.
+ *This parameter is only supported for tasks hosted on Fargate that + * use the following platform versions:
+ *Linux platform version 1.4.0
or later.
Windows platform version 1.0.0
or later.
The details for the execute command session.
* @public + * @enum */ -export interface Session { +export const TaskStopCode = { + ESSENTIAL_CONTAINER_EXITED: "EssentialContainerExited", + SERVICE_SCHEDULER_INITIATED: "ServiceSchedulerInitiated", + SPOT_INTERRUPTION: "SpotInterruption", + TASK_FAILED_TO_START: "TaskFailedToStart", + TERMINATION_NOTICE: "TerminationNotice", + USER_INITIATED: "UserInitiated", +} as const; + +/** + * @public + */ +export type TaskStopCode = (typeof TaskStopCode)[keyof typeof TaskStopCode]; + +/** + *Details on a task in a cluster.
+ * @public + */ +export interface Task { /** - *The ID of the execute command session.
+ *The Elastic Network Adapter that's associated with the task if the task uses the
+ * awsvpc
network mode.
A URL to the managed agent on the container that the SSM Session Manager client uses - * to send commands and receive output from the container.
+ *The attributes of the task
* @public */ - streamUrl?: string; + attributes?: Attribute[]; /** - *An encrypted token value containing session and caller information. It's used to - * authenticate the connection to the container.
+ *The Availability Zone for the task.
* @public */ - tokenValue?: string; -} + availabilityZone?: string; -/** - * @public - */ -export interface ExecuteCommandResponse { /** - *The Amazon Resource Name (ARN) of the cluster.
+ *The capacity provider that's associated with the task.
* @public */ - clusterArn?: string; + capacityProviderName?: string; /** - *The Amazon Resource Name (ARN) of the container.
+ *The ARN of the cluster that hosts the task.
* @public */ - containerArn?: string; + clusterArn?: string; /** - *The name of the container.
+ *The connectivity status of a task.
* @public */ - containerName?: string; + connectivity?: Connectivity; /** - *Determines whether the execute command session is running in interactive mode. Amazon ECS
- * only supports initiating interactive sessions, so you must specify true
for
- * this value.
The Unix timestamp for the time when the task last went into CONNECTED
+ * status.
The details of the SSM session that was created for this instance of - * execute-command.
+ *The ARN of the container instances that host the task.
* @public */ - session?: Session; + containerInstanceArn?: string; /** - *The Amazon Resource Name (ARN) of the task.
+ *The containers that's associated with the task.
* @public */ - taskArn?: string; -} + containers?: Container[]; -/** - *The execute command cannot run. This error can be caused by any of the following - * configuration issues:
- *Incorrect IAM permissions
- *The SSM agent is not installed or is not running
- *There is an interface Amazon VPC endpoint for Amazon ECS, but there is not one for - * Systems Manager Session Manager
- *For information about how to troubleshoot the issues, see Troubleshooting issues with ECS - * Exec in the Amazon Elastic Container Service Developer Guide.
- * @public - */ -export class TargetNotConnectedException extends __BaseException { - readonly name: "TargetNotConnectedException" = "TargetNotConnectedException"; - readonly $fault: "client" = "client"; /** - * @internal + *The number of CPU units used by the task as expressed in a task definition. It can be
+ * expressed as an integer using CPU units (for example, 1024
). It can also be
+ * expressed as a string using vCPUs (for example, 1 vCPU
or 1
+ * vcpu
). String values are converted to an integer that indicates the CPU units
+ * when the task definition is registered.
If you use the EC2 launch type, this field is optional. Supported values
+ * are between 128
CPU units (0.125
vCPUs) and 10240
+ * CPU units (10
vCPUs).
If you use the Fargate launch type, this field is required. You must use
+ * one of the following values. These values determine the range of supported values for
+ * the memory
parameter:
The CPU units cannot be less than 1 vCPU when you use Windows containers on + * Fargate.
+ *256 (.25 vCPU) - Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) - Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2 vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)
4096 (4 vCPU) - Available memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
8192 (8 vCPU) - Available memory
values: 16 GB and 60 GB in 4 GB increments
This option requires Linux platform 1.4.0
or
+ * later.
16384 (16vCPU) - Available memory
values: 32GB and 120 GB in 8 GB increments
This option requires Linux platform 1.4.0
or
+ * later.
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * sets exist in.
+ *The Unix timestamp for the time when the task was created. More specifically, it's for
+ * the time when the task entered the PENDING
state.
A list of up to 100 task IDs or full ARN entries.
+ *The desired status of the task. For more information, see Task + * Lifecycle.
* @public */ - tasks?: string[]; -} + desiredStatus?: string; -/** - *An object representing the protection status details for a task. You can set the - * protection status with the UpdateTaskProtection API and get the status - * of tasks with the GetTaskProtection API.
- * @public - */ -export interface ProtectedTask { /** - *The task ARN.
+ *Determines whether execute command functionality is turned on for this task. If
+ * true
, execute command functionality is turned on all the containers in
+ * the task.
The protection status of the task. If scale-in protection is on for a task, the value
- * is true
. Otherwise, it is false
.
The Unix timestamp for the time when the task execution stopped.
* @public */ - protectionEnabled?: boolean; + executionStoppedAt?: Date; /** - *The epoch time when protection for the task will expire.
+ *The name of the task group that's associated with the task.
* @public */ - expirationDate?: Date; -} + group?: string; -/** - * @public - */ -export interface GetTaskProtectionResponse { /** - *A list of tasks with the following information.
+ *The health status for the task. It's determined by the health of the essential
+ * containers in the task. If all essential containers in the task are reporting as
+ * HEALTHY
, the task status also reports as HEALTHY
. If any
+ * essential containers in the task are reporting as UNHEALTHY
or
+ * UNKNOWN
, the task status also reports as UNHEALTHY
or
+ * UNKNOWN
.
The Amazon ECS container agent doesn't monitor or report on Docker health checks that + * are embedded in a container image and not specified in the container definition. For + * example, this includes those specified in a parent image or from the image's + * Dockerfile. Health check parameters that are specified in a container definition + * override any Docker health checks that are found in the container image.
+ *The Elastic Inference accelerator that's associated with the task.
+ * @public + */ + inferenceAccelerators?: InferenceAccelerator[]; + + /** + *The last known status for the task. For more information, see Task + * Lifecycle.
+ * @public + */ + lastStatus?: string; + + /** + *The infrastructure where your task runs on. For more information, see Amazon ECS + * launch types in the Amazon Elastic Container Service Developer Guide.
+ * @public + */ + launchType?: LaunchType; + + /** + *The amount of memory (in MiB) that the task uses as expressed in a task definition. It
+ * can be expressed as an integer using MiB (for example, 1024
). If it's
+ * expressed as a string using GB (for example, 1GB
or 1 GB
),
+ * it's converted to an integer indicating the MiB when the task definition is
+ * registered.
If you use the EC2 launch type, this field is optional.
+ *If you use the Fargate launch type, this field is required. You must use
+ * one of the following values. The value that you choose determines the range of supported
+ * values for the cpu
parameter.
- * taskArn
: The task ARN.
512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
- * protectionEnabled
: The protection status of the task. If scale-in
- * protection is turned on for a task, the value is true
. Otherwise,
- * it is false
.
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu
values: 512 (.5 vCPU)
- * expirationDate
: The epoch time when protection for the task will
- * expire.
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values: 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available cpu
values: 8192 (8 vCPU)
This option requires Linux platform 1.4.0
or
+ * later.
Between 32GB and 120 GB in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or
+ * later.
Any failures associated with the call.
+ *One or more container overrides.
* @public */ - failures?: Failure[]; -} + overrides?: TaskOverride; -/** - *The specified resource wasn't found.
- * @public - */ -export class ResourceNotFoundException extends __BaseException { - readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; - readonly $fault: "client" = "client"; /** - * @internal + *The platform version where your task runs on. A platform version is only specified for
+ * tasks that use the Fargate launch type. If you didn't specify one, the
+ * LATEST
platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.
The name of the account setting you want to list the settings for.
+ *The operating system that your tasks are running on. A platform family is specified + * only for tasks that use the Fargate launch type.
+ * All tasks that run as part of this service must use the same
+ * platformFamily
value as the service (for example,
+ * LINUX.
).
The value of the account settings to filter results with. You must also specify an - * account setting name to use this parameter.
+ *The Unix timestamp for the time when the container image pull began.
* @public */ - value?: string; + pullStartedAt?: Date; /** - *The ARN of the principal, which can be a user, role, or the root user. If this field is - * omitted, the account settings are listed only for the authenticated user.
- *Federated users assume the account setting of the root user and can't have explicit - * account settings set for them.
- *The Unix timestamp for the time when the container image pull completed.
* @public */ - principalArn?: string; + pullStoppedAt?: Date; /** - *Determines whether to return the effective settings. If true
, the account
- * settings for the root user or the default setting for the principalArn
are
- * returned. If false
, the account settings for the principalArn
- * are returned if they're set. Otherwise, no account settings are returned.
The Unix timestamp for the time when the task started. More specifically, it's for the
+ * time when the task transitioned from the PENDING
state to the
+ * RUNNING
state.
The nextToken
value returned from a ListAccountSettings
- * request indicating that more results are available to fulfill the request and further
- * calls will be needed. If maxResults
was provided, it's possible the number
- * of results to be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.
- *The tag specified when a task is started. If an Amazon ECS service started the task, the
+ * startedBy
parameter contains the deployment ID of that service.
The maximum number of account setting results returned by
- * ListAccountSettings
in paginated output. When this parameter is used,
- * ListAccountSettings
only returns maxResults
results in a
- * single page along with a nextToken
response element. The remaining results
- * of the initial request can be seen by sending another ListAccountSettings
- * request with the returned nextToken
value. This value can be between
- * 1 and 10. If this
- * parameter isn't used, then ListAccountSettings
returns up to
- * 10 results and a nextToken
value
- * if applicable.
The stop code indicating why a task was stopped. The stoppedReason
might
+ * contain additional details.
For more information about stop code, see Stopped tasks + * error codes in the Amazon ECS Developer Guide.
* @public */ - maxResults?: number; -} + stopCode?: TaskStopCode; -/** - * @public - */ -export interface ListAccountSettingsResponse { /** - *The account settings for the resource.
+ *The Unix timestamp for the time when the task was stopped. More specifically, it's for
+ * the time when the task transitioned from the RUNNING
state to the
+ * STOPPED
state.
The nextToken
value to include in a future
- * ListAccountSettings
request. When the results of a
- * ListAccountSettings
request exceed maxResults
, this value
- * can be used to retrieve the next page of results. This value is null
when
- * there are no more results to return.
The reason that the task was stopped.
* @public */ - nextToken?: string; -} + stoppedReason?: string; -/** - * @public - */ -export interface ListAttributesRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. - * If you do not specify a cluster, the default cluster is assumed.
+ *The Unix timestamp for the time when the task stops. More specifically, it's for the
+ * time when the task transitions from the RUNNING
state to
+ * STOPPING
.
The type of the target to list attributes with.
+ *The metadata that you apply to the task to help you categorize and organize the task. + * Each tag consists of a key and an optional value. You define both the key and + * value.
+ *The following basic restrictions apply to tags:
+ *Maximum number of tags per resource - 50
+ *For each resource, each tag key must be unique, and each tag key can have only + * one value.
+ *Maximum key length - 128 Unicode characters in UTF-8
+ *Maximum value length - 256 Unicode characters in UTF-8
+ *If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.
+ *Tag keys and values are case-sensitive.
+ *Do not use aws:
, AWS:
, or any upper or lowercase
+ * combination of such as a prefix for either keys or values as it is reserved for
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
+ * this prefix do not count against your tags per resource limit.
The name of the attribute to filter the results with.
+ *The Amazon Resource Name (ARN) of the task.
* @public */ - attributeName?: string; + taskArn?: string; /** - *The value of the attribute to filter results with. You must also specify an attribute - * name to use this parameter.
+ *The ARN of the task definition that creates the task.
* @public */ - attributeValue?: string; + taskDefinitionArn?: string; /** - *The nextToken
value returned from a ListAttributes
request
- * indicating that more results are available to fulfill the request and further calls are
- * needed. If maxResults
was provided, it's possible the number of results to
- * be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.
- *The version counter for the task. Every time a task experiences a change that starts a
+ * CloudWatch event, the version counter is incremented. If you replicate your Amazon ECS task state
+ * with CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API
+ * actions with the version reported in CloudWatch Events for the task (inside the
+ * detail
object) to verify that the version in your event stream is
+ * current.
The maximum number of cluster results that ListAttributes
returned in
- * paginated output. When this parameter is used, ListAttributes
only returns
- * maxResults
results in a single page along with a nextToken
- * response element. The remaining results of the initial request can be seen by sending
- * another ListAttributes
request with the returned nextToken
- * value. This value can be between 1 and 100. If this
- * parameter isn't used, then ListAttributes
returns up to
- * 100 results and a nextToken
value if applicable.
The ephemeral storage settings for the task.
* @public */ - maxResults?: number; + ephemeralStorage?: EphemeralStorage; + + /** + *The Fargate ephemeral storage settings for the task.
+ * @public + */ + fargateEphemeralStorage?: TaskEphemeralStorage; } /** * @public */ -export interface ListAttributesResponse { +export interface DescribeTasksResponse { /** - *A list of attribute objects that meet the criteria of the request.
+ *The list of tasks.
* @public */ - attributes?: Attribute[]; + tasks?: Task[]; /** - *The nextToken
value to include in a future ListAttributes
- * request. When the results of a ListAttributes
request exceed
- * maxResults
, this value can be used to retrieve the next page of
- * results. This value is null
when there are no more results to
- * return.
Any failures associated with the call.
* @public */ - nextToken?: string; + failures?: Failure[]; } +/** + * @public + * @enum + */ +export const TaskSetField = { + TAGS: "TAGS", +} as const; + /** * @public */ -export interface ListClustersRequest { +export type TaskSetField = (typeof TaskSetField)[keyof typeof TaskSetField]; + +/** + * @public + */ +export interface DescribeTaskSetsRequest { /** - *The nextToken
value returned from a ListClusters
request
- * indicating that more results are available to fulfill the request and further calls are
- * needed. If maxResults
was provided, it's possible the number of results to
- * be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.
- *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * sets exist in.
* @public */ - nextToken?: string; + cluster: string | undefined; /** - *The maximum number of cluster results that ListClusters
returned in
- * paginated output. When this parameter is used, ListClusters
only returns
- * maxResults
results in a single page along with a nextToken
- * response element. The remaining results of the initial request can be seen by sending
- * another ListClusters
request with the returned nextToken
- * value. This value can be between 1 and 100. If this
- * parameter isn't used, then ListClusters
returns up to 100
- * results and a nextToken
value if applicable.
The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.
* @public */ - maxResults?: number; -} + service: string | undefined; -/** - * @public - */ -export interface ListClustersResponse { /** - *The list of full Amazon Resource Name (ARN) entries for each cluster that's associated with your - * account.
+ *The ID or full Amazon Resource Name (ARN) of task sets to + * describe.
* @public */ - clusterArns?: string[]; + taskSets?: string[]; /** - *The nextToken
value to include in a future ListClusters
- * request. When the results of a ListClusters
request exceed
- * maxResults
, this value can be used to retrieve the next page of
- * results. This value is null
when there are no more results to
- * return.
Specifies whether to see the resource tags for the task set. If TAGS
is
+ * specified, the tags are included in the response. If this field is omitted, tags aren't
+ * included in the response.
The list of task sets described.
+ * @public + */ + taskSets?: TaskSet[]; -/** - * @public - */ -export type ContainerInstanceStatus = (typeof ContainerInstanceStatus)[keyof typeof ContainerInstanceStatus]; + /** + *Any failures associated with the call.
+ * @public + */ + failures?: Failure[]; +} /** * @public */ -export interface ListContainerInstancesRequest { +export interface DiscoverPollEndpointRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to - * list. If you do not specify a cluster, the default cluster is assumed.
+ *The container instance ID or full ARN of the container instance. For more + * information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.
* @public */ - cluster?: string; + containerInstance?: string; /** - *You can filter the results of a ListContainerInstances
operation with
- * cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.
The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs + * to.
* @public */ - filter?: string; - - /** - *The nextToken
value returned from a ListContainerInstances
- * request indicating that more results are available to fulfill the request and further
- * calls are needed. If maxResults
was provided, it's possible the number of
- * results to be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.
- *The maximum number of container instance results that
- * ListContainerInstances
returned in paginated output. When this
- * parameter is used, ListContainerInstances
only returns
- * maxResults
results in a single page along with a nextToken
- * response element. The remaining results of the initial request can be seen by sending
- * another ListContainerInstances
request with the returned
- * nextToken
value. This value can be between 1 and
- * 100. If this parameter isn't used, then
- * ListContainerInstances
returns up to 100 results and
- * a nextToken
value if applicable.
Filters the container instances by status. For example, if you specify the
- * DRAINING
status, the results include only container instances that have
- * been set to DRAINING
using UpdateContainerInstancesState.
- * If you don't specify this parameter, the default is to include container instances set
- * to all states other than INACTIVE
.
The list of container instances with full ARN entries for each container instance - * associated with the specified cluster.
+ *The endpoint for the Amazon ECS agent to poll.
* @public */ - containerInstanceArns?: string[]; + endpoint?: string; /** - *The nextToken
value to include in a future
- * ListContainerInstances
request. When the results of a
- * ListContainerInstances
request exceed maxResults
, this
- * value can be used to retrieve the next page of results. This value is null
- * when there are no more results to return.
The telemetry endpoint for the Amazon ECS agent.
* @public */ - nextToken?: string; + telemetryEndpoint?: string; + + /** + *The endpoint for the Amazon ECS agent to poll for Service Connect configuration. + * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.
+ * @public + */ + serviceConnectEndpoint?: string; } /** * @public */ -export interface ListServicesRequest { +export interface ExecuteCommandRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the
- * ListServices
results. If you do not specify a cluster, the default cluster is assumed.
The Amazon Resource Name (ARN) or short name of the cluster the task is running in. + * If you do not specify a cluster, the default cluster is assumed.
* @public */ cluster?: string; /** - *The nextToken
value returned from a ListServices
request
- * indicating that more results are available to fulfill the request and further calls will
- * be needed. If maxResults
was provided, it is possible the number of results
- * to be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.
- *The name of the container to execute the command on. A container name only needs to be + * specified for tasks containing multiple containers.
* @public */ - nextToken?: string; + container?: string; /** - *The maximum number of service results that ListServices
returned in
- * paginated output. When this parameter is used, ListServices
only returns
- * maxResults
results in a single page along with a nextToken
- * response element. The remaining results of the initial request can be seen by sending
- * another ListServices
request with the returned nextToken
- * value. This value can be between 1 and 100. If
- * this parameter isn't used, then ListServices
returns up to
- * 10 results and a nextToken
value if
- * applicable.
The command to run on the container.
* @public */ - maxResults?: number; + command: string | undefined; /** - *The launch type to use when filtering the ListServices
results.
Use this flag to run your command in interactive mode.
* @public */ - launchType?: LaunchType; + interactive: boolean | undefined; /** - *The scheduling strategy to use when filtering the ListServices
- * results.
The Amazon Resource Name (ARN) or ID of the task the container is part of.
* @public */ - schedulingStrategy?: SchedulingStrategy; + task: string | undefined; } /** + *The details for the execute command session.
* @public */ -export interface ListServicesResponse { +export interface Session { /** - *The list of full ARN entries for each service that's associated with the specified - * cluster.
+ *The ID of the execute command session.
* @public */ - serviceArns?: string[]; + sessionId?: string; /** - *The nextToken
value to include in a future ListServices
- * request. When the results of a ListServices
request exceed
- * maxResults
, this value can be used to retrieve the next page of
- * results. This value is null
when there are no more results to
- * return.
A URL to the managed agent on the container that the SSM Session Manager client uses + * to send commands and receive output from the container.
* @public */ - nextToken?: string; + streamUrl?: string; + + /** + *An encrypted token value containing session and caller information. It's used to + * authenticate the connection to the container.
+ * @public + */ + tokenValue?: string; } /** * @public */ -export interface ListServicesByNamespaceRequest { +export interface ExecuteCommandResponse { /** - *The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace to list the services in.
- *Tasks that run in a namespace can use short names to connect - * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. - * Tasks connect through a managed proxy container - * that collects logs and metrics for increased visibility. - * Only the tasks that Amazon ECS services create are supported with Service Connect. - * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.
+ *The Amazon Resource Name (ARN) of the cluster.
* @public */ - namespace: string | undefined; + clusterArn?: string; /** - *The nextToken
value that's returned from a
- * ListServicesByNamespace
request. It indicates that more results are
- * available to fulfill the request and further calls are needed. If
- * maxResults
is returned, it is possible the number of results is less
- * than maxResults
.
The Amazon Resource Name (ARN) of the container.
* @public */ - nextToken?: string; + containerArn?: string; /** - *The maximum number of service results that ListServicesByNamespace
- * returns in paginated output. When this parameter is used,
- * ListServicesByNamespace
only returns maxResults
results in
- * a single page along with a nextToken
response element. The remaining
- * results of the initial request can be seen by sending another
- * ListServicesByNamespace
request with the returned
- * nextToken
value. This value can be between 1 and
- * 100. If this parameter isn't used, then
- * ListServicesByNamespace
returns up to
- * 10 results and a nextToken
- * value if applicable.
The name of the container.
* @public */ - maxResults?: number; -} + containerName?: string; -/** - * @public - */ -export interface ListServicesByNamespaceResponse { /** - *The list of full ARN entries for each service that's associated with the specified - * namespace.
+ *Determines whether the execute command session is running in interactive mode. Amazon ECS
+ * only supports initiating interactive sessions, so you must specify true
for
+ * this value.
The nextToken
value to include in a future
- * ListServicesByNamespace
request. When the results of a
- * ListServicesByNamespace
request exceed maxResults
, this
- * value can be used to retrieve the next page of results. When there are no more results
- * to return, this value is null
.
The details of the SSM session that was created for this instance of + * execute-command.
* @public */ - nextToken?: string; -} + session?: Session; -/** - * @public - */ -export interface ListTagsForResourceRequest { /** - *The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the - * supported resources are Amazon ECS tasks, services, task definitions, clusters, and container - * instances.
+ *The Amazon Resource Name (ARN) of the task.
* @public */ - resourceArn: string | undefined; + taskArn?: string; } /** + *The execute command cannot run. This error can be caused by any of the following + * configuration issues:
+ *Incorrect IAM permissions
+ *The SSM agent is not installed or is not running
+ *There is an interface Amazon VPC endpoint for Amazon ECS, but there is not one for + * Systems Manager Session Manager
+ *For information about how to troubleshoot the issues, see Troubleshooting issues with ECS + * Exec in the Amazon Elastic Container Service Developer Guide.
* @public */ -export interface ListTagsForResourceResponse { +export class TargetNotConnectedException extends __BaseException { + readonly name: "TargetNotConnectedException" = "TargetNotConnectedException"; + readonly $fault: "client" = "client"; /** - *The tags for the resource.
- * @public + * @internal */ - tags?: Tag[]; + constructor(opts: __ExceptionOptionTypeThe short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * sets exist in.
+ * @public + */ + cluster: string | undefined; -/** - * @public - */ -export type TaskDefinitionFamilyStatus = (typeof TaskDefinitionFamilyStatus)[keyof typeof TaskDefinitionFamilyStatus]; + /** + *A list of up to 100 task IDs or full ARN entries.
+ * @public + */ + tasks?: string[]; +} /** + *An object representing the protection status details for a task. You can set the + * protection status with the UpdateTaskProtection API and get the status + * of tasks with the GetTaskProtection API.
* @public */ -export interface ListTaskDefinitionFamiliesRequest { +export interface ProtectedTask { /** - *The familyPrefix
is a string that's used to filter the results of
- * ListTaskDefinitionFamilies
. If you specify a familyPrefix
,
- * only task definition family names that begin with the familyPrefix
string
- * are returned.
The task ARN.
* @public */ - familyPrefix?: string; + taskArn?: string; /** - *The task definition family status to filter the
- * ListTaskDefinitionFamilies
results with. By default, both
- * ACTIVE
and INACTIVE
task definition families are listed.
- * If this parameter is set to ACTIVE
, only task definition families that have
- * an ACTIVE
task definition revision are returned. If this parameter is set
- * to INACTIVE
, only task definition families that do not have any
- * ACTIVE
task definition revisions are returned. If you paginate the
- * resulting output, be sure to keep the status
value constant in each
- * subsequent request.
The nextToken
value returned from a
- * ListTaskDefinitionFamilies
request indicating that more results are
- * available to fulfill the request and further calls will be needed. If
- * maxResults
was provided, it is possible the number of results to be
- * fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to - * retrieve the next items in a list and not for other programmatic purposes.
- *The protection status of the task. If scale-in protection is on for a task, the value
+ * is true
. Otherwise, it is false
.
The maximum number of task definition family results that
- * ListTaskDefinitionFamilies
returned in paginated output. When this
- * parameter is used, ListTaskDefinitions
only returns maxResults
- * results in a single page along with a nextToken
response element. The
- * remaining results of the initial request can be seen by sending another
- * ListTaskDefinitionFamilies
request with the returned
- * nextToken
value. This value can be between 1 and
- * 100. If this parameter isn't used, then
- * ListTaskDefinitionFamilies
returns up to 100 results
- * and a nextToken
value if applicable.
The epoch time when protection for the task will expire.
* @public */ - maxResults?: number; + expirationDate?: Date; } /** * @public */ -export interface ListTaskDefinitionFamiliesResponse { +export interface GetTaskProtectionResponse { /** - *The list of task definition family names that match the
- * ListTaskDefinitionFamilies
request.
A list of tasks with the following information.
+ *
+ * taskArn
: The task ARN.
+ * protectionEnabled
: The protection status of the task. If scale-in
+ * protection is turned on for a task, the value is true
. Otherwise,
+ * it is false
.
+ * expirationDate
: The epoch time when protection for the task will
+ * expire.
The nextToken
value to include in a future
- * ListTaskDefinitionFamilies
request. When the results of a
- * ListTaskDefinitionFamilies
request exceed maxResults
, this
- * value can be used to retrieve the next page of results. This value is null
- * when there are no more results to return.
Any failures associated with the call.
* @public */ - nextToken?: string; + failures?: Failure[]; } /** + *The specified resource wasn't found.
* @public - * @enum */ -export const SortOrder = { - ASC: "ASC", - DESC: "DESC", -} as const; +export class ResourceNotFoundException extends __BaseException { + readonly name: "ResourceNotFoundException" = "ResourceNotFoundException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeThe name of the account setting you want to list the settings for.
+ * @public + */ + name?: SettingName; -/** - * @public - */ -export interface ListTaskDefinitionsRequest { /** - *The full family name to filter the ListTaskDefinitions
results with.
- * Specifying a familyPrefix
limits the listed task definitions to task
- * definition revisions that belong to that family.
The value of the account settings to filter results with. You must also specify an + * account setting name to use this parameter.
* @public */ - familyPrefix?: string; + value?: string; /** - *The task definition status to filter the ListTaskDefinitions
results
- * with. By default, only ACTIVE
task definitions are listed. By setting this
- * parameter to INACTIVE
, you can view task definitions that are
- * INACTIVE
as long as an active task or service still references them. If
- * you paginate the resulting output, be sure to keep the status
value
- * constant in each subsequent request.
The ARN of the principal, which can be a user, role, or the root user. If this field is + * omitted, the account settings are listed only for the authenticated user.
+ *Federated users assume the account setting of the root user and can't have explicit + * account settings set for them.
+ *The order to sort the results in. Valid values are ASC
and
- * DESC
. By default, (ASC
) task definitions are listed
- * lexicographically by family name and in ascending numerical order by revision so that
- * the newest task definitions in a family are listed last. Setting this parameter to
- * DESC
reverses the sort order on family name and revision. This is so
- * that the newest task definitions in a family are listed first.
Determines whether to return the effective settings. If true
, the account
+ * settings for the root user or the default setting for the principalArn
are
+ * returned. If false
, the account settings for the principalArn
+ * are returned if they're set. Otherwise, no account settings are returned.
The nextToken
value returned from a ListTaskDefinitions
+ *
The nextToken
value returned from a ListAccountSettings
* request indicating that more results are available to fulfill the request and further
- * calls will be needed. If maxResults
was provided, it is possible the number
+ * calls will be needed. If maxResults
was provided, it's possible the number
* of results to be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to @@ -10240,15 +10164,16 @@ export interface ListTaskDefinitionsRequest { nextToken?: string; /** - *
The maximum number of task definition results that ListTaskDefinitions
- * returned in paginated output. When this parameter is used,
- * ListTaskDefinitions
only returns maxResults
results in a
+ *
The maximum number of account setting results returned by
+ * ListAccountSettings
in paginated output. When this parameter is used,
+ * ListAccountSettings
only returns maxResults
results in a
* single page along with a nextToken
response element. The remaining results
- * of the initial request can be seen by sending another ListTaskDefinitions
+ * of the initial request can be seen by sending another ListAccountSettings
* request with the returned nextToken
value. This value can be between
- * 1 and 100. If this parameter isn't used, then
- * ListTaskDefinitions
returns up to 100 results and a
- * nextToken
value if applicable.
ListAccountSettings
returns up to
+ * 10 results and a nextToken
value
+ * if applicable.
* @public
*/
maxResults?: number;
@@ -10257,18 +10182,17 @@ export interface ListTaskDefinitionsRequest {
/**
* @public
*/
-export interface ListTaskDefinitionsResponse {
+export interface ListAccountSettingsResponse {
/**
- * The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions
- * request.
The account settings for the resource.
* @public */ - taskDefinitionArns?: string[]; + settings?: Setting[]; /** *The nextToken
value to include in a future
- * ListTaskDefinitions
request. When the results of a
- * ListTaskDefinitions
request exceed maxResults
, this value
+ * ListAccountSettings
request. When the results of a
+ * ListAccountSettings
request exceed maxResults
, this value
* can be used to retrieve the next page of results. This value is null
when
* there are no more results to return.
The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the
- * ListTasks
results. If you do not specify a cluster, the default cluster is assumed.
The short name or full Amazon Resource Name (ARN) of the cluster to list attributes. + * If you do not specify a cluster, the default cluster is assumed.
* @public */ cluster?: string; /** - *The container instance ID or full ARN of the container instance to use when
- * filtering the ListTasks
results. Specifying a
- * containerInstance
limits the results to tasks that belong to that
- * container instance.
The type of the target to list attributes with.
* @public */ - containerInstance?: string; + targetType: TargetType | undefined; /** - *The name of the task definition family to use when filtering the
- * ListTasks
results. Specifying a family
limits the results
- * to tasks that belong to that family.
The name of the attribute to filter the results with.
* @public */ - family?: string; + attributeName?: string; /** - *The nextToken
value returned from a ListTasks
request
- * indicating that more results are available to fulfill the request and further calls will
- * be needed. If maxResults
was provided, it's possible the number of results
- * to be fewer than maxResults
.
The value of the attribute to filter results with. You must also specify an attribute + * name to use this parameter.
+ * @public + */ + attributeValue?: string; + + /** + *The nextToken
value returned from a ListAttributes
request
+ * indicating that more results are available to fulfill the request and further calls are
+ * needed. If maxResults
was provided, it's possible the number of results to
+ * be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to * retrieve the next items in a list and not for other programmatic purposes.
@@ -10333,73 +10244,85 @@ export interface ListTasksRequest { nextToken?: string; /** - *The maximum number of task results that ListTasks
returned in paginated
- * output. When this parameter is used, ListTasks
only returns
+ *
The maximum number of cluster results that ListAttributes
returned in
+ * paginated output. When this parameter is used, ListAttributes
only returns
* maxResults
results in a single page along with a nextToken
* response element. The remaining results of the initial request can be seen by sending
- * another ListTasks
request with the returned nextToken
value.
- * This value can be between 1 and 100. If this parameter
- * isn't used, then ListTasks
returns up to 100 results and
- * a nextToken
value if applicable.
ListAttributes
request with the returned nextToken
+ * value. This value can be between 1 and 100. If this
+ * parameter isn't used, then ListAttributes
returns up to
+ * 100 results and a nextToken
value if applicable.
* @public
*/
maxResults?: number;
+}
+/**
+ * @public
+ */
+export interface ListAttributesResponse {
/**
- * The startedBy
value to filter the task results with. Specifying a
- * startedBy
value limits the results to tasks that were started with that
- * value.
When you specify startedBy
as the filter, it must be the only filter that
- * you use.
A list of attribute objects that meet the criteria of the request.
* @public */ - startedBy?: string; + attributes?: Attribute[]; /** - *The name of the service to use when filtering the ListTasks
results.
- * Specifying a serviceName
limits the results to tasks that belong to that
- * service.
The nextToken
value to include in a future ListAttributes
+ * request. When the results of a ListAttributes
request exceed
+ * maxResults
, this value can be used to retrieve the next page of
+ * results. This value is null
when there are no more results to
+ * return.
The task desired status to use when filtering the ListTasks
results.
- * Specifying a desiredStatus
of STOPPED
limits the results to
- * tasks that Amazon ECS has set the desired status to STOPPED
. This can be useful
- * for debugging tasks that aren't starting properly or have died or finished. The default
- * status filter is RUNNING
, which shows tasks that Amazon ECS has set the desired
- * status to RUNNING
.
The nextToken
value returned from a ListClusters
request
+ * indicating that more results are available to fulfill the request and further calls are
+ * needed. If maxResults
was provided, it's possible the number of results to
+ * be fewer than maxResults
.
Although you can filter results based on a desired status of PENDING
,
- * this doesn't return any results. Amazon ECS never sets the desired status of a task to
- * that value (only a task's lastStatus
may have a value of
- * PENDING
).
This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.
*The launch type to use when filtering the ListTasks
results.
The maximum number of cluster results that ListClusters
returned in
+ * paginated output. When this parameter is used, ListClusters
only returns
+ * maxResults
results in a single page along with a nextToken
+ * response element. The remaining results of the initial request can be seen by sending
+ * another ListClusters
request with the returned nextToken
+ * value. This value can be between 1 and 100. If this
+ * parameter isn't used, then ListClusters
returns up to 100
+ * results and a nextToken
value if applicable.
The list of task ARN entries for the ListTasks
request.
The list of full Amazon Resource Name (ARN) entries for each cluster that's associated with your + * account.
* @public */ - taskArns?: string[]; + clusterArns?: string[]; /** - *The nextToken
value to include in a future ListTasks
- * request. When the results of a ListTasks
request exceed
+ *
The nextToken
value to include in a future ListClusters
+ * request. When the results of a ListClusters
request exceed
* maxResults
, this value can be used to retrieve the next page of
* results. This value is null
when there are no more results to
* return.
The Amazon ECS account setting name to modify.
- *The following are the valid values for the account setting name.
- *
- * serviceLongArnFormat
- When modified, the Amazon Resource Name
- * (ARN) and resource ID format of the resource type for a specified user, role, or
- * the root user for an account is affected. The opt-in and opt-out account setting
- * must be set for each Amazon ECS resource separately. The ARN and resource ID format
- * of a resource is defined by the opt-in status of the user or role that created
- * the resource. You must turn on this setting to use Amazon ECS features such as
- * resource tagging.
- * taskLongArnFormat
- When modified, the Amazon Resource Name (ARN)
- * and resource ID format of the resource type for a specified user, role, or the
- * root user for an account is affected. The opt-in and opt-out account setting must
- * be set for each Amazon ECS resource separately. The ARN and resource ID format of a
- * resource is defined by the opt-in status of the user or role that created the
- * resource. You must turn on this setting to use Amazon ECS features such as resource
- * tagging.
- * containerInstanceLongArnFormat
- When modified, the Amazon
- * Resource Name (ARN) and resource ID format of the resource type for a specified
- * user, role, or the root user for an account is affected. The opt-in and opt-out
- * account setting must be set for each Amazon ECS resource separately. The ARN and
- * resource ID format of a resource is defined by the opt-in status of the user or
- * role that created the resource. You must turn on this setting to use Amazon ECS
- * features such as resource tagging.
- * awsvpcTrunking
- When modified, the elastic network interface
- * (ENI) limit for any new container instances that support the feature is changed.
- * If awsvpcTrunking
is turned on, any new container instances that
- * support the feature are launched have the increased ENI limits available to
- * them. For more information, see Elastic
- * Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.
- * containerInsights
- When modified, the default setting indicating
- * whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed.
- * If containerInsights
is turned on, any new clusters that are
- * created will have Container Insights turned on unless you disable it during
- * cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.
- * dualStackIPv6
- When turned on, when using a VPC in dual stack
- * mode, your tasks using the awsvpc
network mode can have an IPv6
- * address assigned. For more information on using IPv6 with tasks launched on
- * Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6
- * with tasks launched on Fargate, see Using a VPC in dual-stack mode.
- * fargateTaskRetirementWaitPeriod
- When Amazon Web Services determines that a
- * security or infrastructure update is needed for an Amazon ECS task hosted on
- * Fargate, the tasks need to be stopped and new tasks launched to replace them.
- * Use fargateTaskRetirementWaitPeriod
to configure the wait time to
- * retire a Fargate task. For information about the Fargate tasks maintenance,
- * see Amazon Web Services Fargate
- * task maintenance in the Amazon ECS Developer
- * Guide.
- * tagResourceAuthorization
- Amazon ECS is introducing tagging
- * authorization for resource creation. Users must have permissions for actions
- * that create the resource, such as ecsCreateCluster
. If tags are
- * specified when you create a resource, Amazon Web Services performs additional authorization to
- * verify if users or roles have permissions to create tags. Therefore, you must
- * grant explicit permissions to use the ecs:TagResource
action. For
- * more information, see Grant permission to tag resources on creation in the
- * Amazon ECS Developer Guide.
- * guardDutyActivate
- The guardDutyActivate
parameter is read-only in Amazon ECS and indicates whether
- * Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your
- * Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to + * list. If you do not specify a cluster, the default cluster is assumed.
* @public */ - name: SettingName | undefined; + cluster?: string; /** - *The account setting value for the specified principal ARN. Accepted values are
- * enabled
, disabled
, on
, and
- * off
.
When you specify fargateTaskRetirementWaitPeriod
for the
- * name
, the following are the valid values:
- * 0
- Amazon Web Services sends the notification, and immediately retires the
- * affected tasks.
- * 7
- Amazon Web Services sends the notification, and waits 7 calendar days to
- * retire the tasks.
- * 14
- Amazon Web Services sends the notification, and waits 14 calendar days to
- * retire the tasks.
You can filter the results of a ListContainerInstances
operation with
+ * cluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.
The ARN of the principal, which can be a user, role, or the root user. If you specify - * the root user, it modifies the account setting for all users, roles, and the root user of the - * account unless a user or role explicitly overrides these settings. If this field is - * omitted, the setting is changed only for the authenticated user.
+ *The nextToken
value returned from a ListContainerInstances
+ * request indicating that more results are available to fulfill the request and further
+ * calls are needed. If maxResults
was provided, it's possible the number of
+ * results to be fewer than maxResults
.
You must use the root user when you set the Fargate wait time
- * (fargateTaskRetirementWaitPeriod
).
Federated users assume the account setting of the root user and can't have explicit - * account settings set for them.
+ *This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.
*The maximum number of container instance results that
+ * ListContainerInstances
returned in paginated output. When this
+ * parameter is used, ListContainerInstances
only returns
+ * maxResults
results in a single page along with a nextToken
+ * response element. The remaining results of the initial request can be seen by sending
+ * another ListContainerInstances
request with the returned
+ * nextToken
value. This value can be between 1 and
+ * 100. If this parameter isn't used, then
+ * ListContainerInstances
returns up to 100 results and
+ * a nextToken
value if applicable.
Filters the container instances by status. For example, if you specify the
+ * DRAINING
status, the results include only container instances that have
+ * been set to DRAINING
using UpdateContainerInstancesState.
+ * If you don't specify this parameter, the default is to include container instances set
+ * to all states other than INACTIVE
.
The current account setting for a resource.
+ *The list of container instances with full ARN entries for each container instance + * associated with the specified cluster.
* @public */ - setting?: Setting; + containerInstanceArns?: string[]; + + /** + *The nextToken
value to include in a future
+ * ListContainerInstances
request. When the results of a
+ * ListContainerInstances
request exceed maxResults
, this
+ * value can be used to retrieve the next page of results. This value is null
+ * when there are no more results to return.
The optional filter to narrow the ListServiceDeployment
results.
If you do not specify a value, service deployments that were created before the current + * time are included in the result.
* @public */ -export interface PutAccountSettingDefaultRequest { +export interface CreatedAt { /** - *The resource name for which to modify the account setting.
- *The following are the valid values for the account setting name.
- *
- * serviceLongArnFormat
- When modified, the Amazon Resource Name
- * (ARN) and resource ID format of the resource type for a specified user, role, or
- * the root user for an account is affected. The opt-in and opt-out account setting
- * must be set for each Amazon ECS resource separately. The ARN and resource ID format
- * of a resource is defined by the opt-in status of the user or role that created
- * the resource. You must turn on this setting to use Amazon ECS features such as
- * resource tagging.
- * taskLongArnFormat
- When modified, the Amazon Resource Name (ARN)
- * and resource ID format of the resource type for a specified user, role, or the
- * root user for an account is affected. The opt-in and opt-out account setting must
- * be set for each Amazon ECS resource separately. The ARN and resource ID format of a
- * resource is defined by the opt-in status of the user or role that created the
- * resource. You must turn on this setting to use Amazon ECS features such as resource
- * tagging.
- * containerInstanceLongArnFormat
- When modified, the Amazon
- * Resource Name (ARN) and resource ID format of the resource type for a specified
- * user, role, or the root user for an account is affected. The opt-in and opt-out
- * account setting must be set for each Amazon ECS resource separately. The ARN and
- * resource ID format of a resource is defined by the opt-in status of the user or
- * role that created the resource. You must turn on this setting to use Amazon ECS
- * features such as resource tagging.
- * awsvpcTrunking
- When modified, the elastic network interface
- * (ENI) limit for any new container instances that support the feature is changed.
- * If awsvpcTrunking
is turned on, any new container instances that
- * support the feature are launched have the increased ENI limits available to
- * them. For more information, see Elastic
- * Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.
- * containerInsights
- When modified, the default setting indicating
- * whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed.
- * If containerInsights
is turned on, any new clusters that are
- * created will have Container Insights turned on unless you disable it during
- * cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.
- * dualStackIPv6
- When turned on, when using a VPC in dual stack
- * mode, your tasks using the awsvpc
network mode can have an IPv6
- * address assigned. For more information on using IPv6 with tasks launched on
- * Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6
- * with tasks launched on Fargate, see Using a VPC in dual-stack mode.
- * fargateFIPSMode
- If you specify fargateFIPSMode
,
- * Fargate FIPS 140 compliance is affected.
- * fargateTaskRetirementWaitPeriod
- When Amazon Web Services determines that a
- * security or infrastructure update is needed for an Amazon ECS task hosted on
- * Fargate, the tasks need to be stopped and new tasks launched to replace them.
- * Use fargateTaskRetirementWaitPeriod
to configure the wait time to
- * retire a Fargate task. For information about the Fargate tasks maintenance,
- * see Amazon Web Services Fargate
- * task maintenance in the Amazon ECS Developer
- * Guide.
- * tagResourceAuthorization
- Amazon ECS is introducing tagging
- * authorization for resource creation. Users must have permissions for actions
- * that create the resource, such as ecsCreateCluster
. If tags are
- * specified when you create a resource, Amazon Web Services performs additional authorization to
- * verify if users or roles have permissions to create tags. Therefore, you must
- * grant explicit permissions to use the ecs:TagResource
action. For
- * more information, see Grant permission to tag resources on creation in the
- * Amazon ECS Developer Guide.
- * guardDutyActivate
- The guardDutyActivate
parameter is read-only in Amazon ECS and indicates whether
- * Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your
- * Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.
Include service deployments in the result that were created before this time. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.
* @public */ - name: SettingName | undefined; + before?: Date; /** - *The account setting value for the specified principal ARN. Accepted values are
- * enabled
, disabled
, on
, and
- * off
.
When you specify fargateTaskRetirementWaitPeriod
for the
- * name
, the following are the valid values:
- * 0
- Amazon Web Services sends the notification, and immediately retires the
- * affected tasks.
- * 7
- Amazon Web Services sends the notification, and waits 7 calendar days to
- * retire the tasks.
- * 14
- Amazon Web Services sends the notification, and waits 14 calendar days to
- * retire the tasks.
Include service deployments in the result that were created after this time. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.
* @public */ - value: string | undefined; + after?: Date; } /** * @public */ -export interface PutAccountSettingDefaultResponse { +export interface ListServiceDeploymentsRequest { /** - *The current setting for a resource.
+ *The ARN or name of the service
* @public */ - setting?: Setting; -} - -/** - *You can apply up to 10 custom attributes for each resource. You can view the - * attributes of a resource with ListAttributes. You can remove existing - * attributes on a resource with DeleteAttributes.
- * @public - */ -export class AttributeLimitExceededException extends __BaseException { - readonly name: "AttributeLimitExceededException" = "AttributeLimitExceededException"; - readonly $fault: "client" = "client"; - /** - * @internal - */ - constructor(opts: __ExceptionOptionTypeThe short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply - * attributes. If you do not specify a cluster, the default cluster is assumed.
+ *The cluster that hosts the service. This can either be the cluster name or ARN. Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performanceIf you don't
+ * specify a cluster, deault
is used.
The attributes to apply to your resource. You can specify up to 10 custom attributes - * for each resource. You can specify up to 10 attributes in a single call.
- * @public - */ - attributes: Attribute[] | undefined; -} - -/** - * @public - */ -export interface PutAttributesResponse { - /** - *The attributes applied to your resource.
+ *An optional filter you can use to narrow the results. If you do not specify a status, then + * all status values are included in the result.
* @public */ - attributes?: Attribute[]; -} + status?: ServiceDeploymentStatus[]; -/** - * @public - */ -export interface PutClusterCapacityProvidersRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider - * settings for. If you don't specify a cluster, the default cluster is assumed.
+ *An optional filter you can use to narrow the results by the service creation date. If you do + * not specify a value, the result includes all services created before the current + * time. The + * format is yyyy-MM-dd HH:mm:ss.SSSSSS.
* @public */ - cluster: string | undefined; + createdAt?: CreatedAt; /** - *The name of one or more capacity providers to associate with the cluster.
- *If specifying a capacity provider that uses an Auto Scaling group, the capacity - * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.
- *To use a Fargate capacity provider, specify either the FARGATE
or
- * FARGATE_SPOT
capacity providers. The Fargate capacity providers are
- * available to all accounts and only need to be associated with a cluster to be
- * used.
The nextToken
value returned from a ListServiceDeployments
request indicating that more results are available to fulfill the request and further calls are needed. If you provided maxResults
, it's possible the number of results is fewer than maxResults
.
The capacity provider strategy to use by default for the cluster.
- *When creating a service or running a task on a cluster, if no capacity provider or - * launch type is specified then the default capacity provider strategy for the cluster is - * used.
- *A capacity provider strategy consists of one or more capacity providers along with the
- * base
and weight
to assign to them. A capacity provider
- * must be associated with the cluster to be used in a capacity provider strategy. The
- * PutClusterCapacityProviders API is used to associate a capacity
- * provider with a cluster. Only capacity providers with an ACTIVE
or
- * UPDATING
status can be used.
If specifying a capacity provider that uses an Auto Scaling group, the capacity - * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.
- *To use a Fargate capacity provider, specify either the FARGATE
or
- * FARGATE_SPOT
capacity providers. The Fargate capacity providers are
- * available to all accounts and only need to be associated with a cluster to be
- * used.
The maximum number of service deployment results that ListServiceDeployments
+ * returned in paginated output. When this parameter is used,
+ * ListServiceDeployments
only returns maxResults
results in
+ * a single page along with a nextToken
response element. The remaining
+ * results of the initial request can be seen by sending another
+ * ListServiceDeployments
request with the returned nextToken
+ * value. This value can be between 1 and 100. If this parameter isn't used, then
+ * ListServiceDeployments
returns up to 20 results and a
+ * nextToken
value if applicable.
The service deployment properties that are retured when you call ListServiceDeployments
.
This provides a high-level overview of the service deployment.
* @public */ -export interface PutClusterCapacityProvidersResponse { +export interface ServiceDeploymentBrief { /** - *Details about the cluster.
+ *The ARN of the service deployment.
* @public */ - cluster?: Cluster; -} + serviceDeploymentArn?: string; -/** - *The specified resource is in-use and can't be removed.
- * @public - */ -export class ResourceInUseException extends __BaseException { - readonly name: "ResourceInUseException" = "ResourceInUseException"; - readonly $fault: "client" = "client"; /** - * @internal + *The ARN of the service for this service deployment.
+ * @public */ - constructor(opts: __ExceptionOptionTypeThe devices that are available on the container instance. The only supported device - * type is a GPU.
- * @public - */ -export interface PlatformDevice { /** - *The ID for the GPUs on the container instance. The available GPU IDs can also be
- * obtained on the container instance in the
- * /var/lib/ecs/gpu/nvidia_gpu_info.json
file.
The ARN of the cluster that hosts the service.
* @public */ - id: string | undefined; + clusterArn?: string; /** - *The type of device that's available on the container instance. The only supported
- * value is GPU
.
The time that the service deployment statred. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.
* @public */ - type: PlatformDeviceType | undefined; -} + startedAt?: Date; -/** - * @public - */ -export interface RegisterContainerInstanceRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster to register your container instance - * with. If you do not specify a cluster, the default cluster is assumed.
+ *The time that the service deployment was created. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.
* @public */ - cluster?: string; + createdAt?: Date; /** - *The instance identity document for the EC2 instance to register. This document can be
- * found by running the following command from the instance: curl
- * http://169.254.169.254/latest/dynamic/instance-identity/document/
- *
The time that the service deployment completed. The format is yyyy-MM-dd + * HH:mm:ss.SSSSSS.
* @public */ - instanceIdentityDocument?: string; + finishedAt?: Date; /** - *The instance identity document signature for the EC2 instance to register. This
- * signature can be found by running the following command from the instance: curl
- * http://169.254.169.254/latest/dynamic/instance-identity/signature/
- *
The ARN of the service revision being deplyed.
* @public */ - instanceIdentityDocumentSignature?: string; + targetServiceRevisionArn?: string; /** - *The resources available on the instance.
+ *The status of the service deployment
* @public */ - totalResources?: Resource[]; + status?: ServiceDeploymentStatus; /** - *The version information for the Amazon ECS container agent and Docker daemon that runs on - * the container instance.
+ *Information about why the service deployment is in the current status. For example, the circuit breaker detected a deployment failure.
* @public */ - versionInfo?: VersionInfo; - - /** - *The ARN of the container instance (if it was previously registered).
- * @public - */ - containerInstanceArn?: string; - - /** - *The container instance attributes that this container instance supports.
- * @public - */ - attributes?: Attribute[]; - - /** - *The devices that are available on the container instance. The only supported device - * type is a GPU.
- * @public - */ - platformDevices?: PlatformDevice[]; + statusReason?: string; +} +/** + * @public + */ +export interface ListServiceDeploymentsResponse { /** - *The metadata that you apply to the container instance to help you categorize and - * organize them. Each tag consists of a key and an optional value. You define both.
- *The following basic restrictions apply to tags:
+ *An overview of the service deployment, including the following + * properties:
*Maximum number of tags per resource - 50
+ *The ARN of the service deployment.
*For each resource, each tag key must be unique, and each tag key can have only - * one value.
+ *The ARN of the service being deployed.
*Maximum key length - 128 Unicode characters in UTF-8
+ *The ARN of the cluster that hosts the service in the service deployment.
*Maximum value length - 256 Unicode characters in UTF-8
+ *The time that the service deployment started.
*If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.
+ *The time that the service deployment completed.
*Tag keys and values are case-sensitive.
+ *The service deployment status.
*Do not use aws:
, AWS:
, or any upper or lowercase
- * combination of such as a prefix for either keys or values as it is reserved for
- * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
- * this prefix do not count against your tags per resource limit.
Information about why the service deployment is in the current state.
+ *The ARN of the service revision that is being deployed.
*The container instance that was registered.
+ *The nextToken
value to include in a future ListServiceDeployments
request. When the results of a ListServiceDeployments
request exceed maxResults
, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
You must specify a family
for a task definition. You can use it track
- * multiple versions of the same task definition. The family
is used as a name
- * for your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.
The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the
+ * ListServices
results. If you do not specify a cluster, the default cluster is assumed.
The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can - * assume. All containers in this task are granted the permissions that are specified in - * this role. For more information, see IAM Roles for - * Tasks in the Amazon Elastic Container Service Developer Guide.
+ *The nextToken
value returned from a ListServices
request
+ * indicating that more results are available to fulfill the request and further calls will
+ * be needed. If maxResults
was provided, it is possible the number of results
+ * to be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.
+ *The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent - * permission to make Amazon Web Services API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see IAM roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.
+ *The maximum number of service results that ListServices
returned in
+ * paginated output. When this parameter is used, ListServices
only returns
+ * maxResults
results in a single page along with a nextToken
+ * response element. The remaining results of the initial request can be seen by sending
+ * another ListServices
request with the returned nextToken
+ * value. This value can be between 1 and 100. If
+ * this parameter isn't used, then ListServices
returns up to
+ * 10 results and a nextToken
value if
+ * applicable.
The Docker networking mode to use for the containers in the task. The valid values are
- * none
, bridge
, awsvpc
, and host
.
- * If no network mode is specified, the default is bridge
.
For Amazon ECS tasks on Fargate, the awsvpc
network mode is required.
- * For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances,
or awsvpc
can be used. If the network
- * mode is set to none
, you cannot specify port mappings in your container
- * definitions, and the tasks containers do not have external connectivity. The
- * host
and awsvpc
network modes offer the highest networking
- * performance for containers because they use the EC2 network stack instead of the
- * virtualized network stack provided by the bridge
mode.
With the host
and awsvpc
network modes, exposed container
- * ports are mapped directly to the corresponding host port (for the host
- * network mode) or the attached elastic network interface port (for the
- * awsvpc
network mode), so you cannot take advantage of dynamic host port
- * mappings.
When using the host
network mode, you should not run
- * containers using the root user (UID 0). It is considered best practice
- * to use a non-root user.
If the network mode is awsvpc
, the task is allocated an elastic network
- * interface, and you must specify a NetworkConfiguration value when you create
- * a service or run a task with the task definition. For more information, see Task Networking in the
- * Amazon Elastic Container Service Developer Guide.
If the network mode is host
, you cannot run multiple instantiations of the
- * same task on a single container instance when port mappings are used.
The launch type to use when filtering the ListServices
results.
A list of container definitions in JSON format that describe the different containers - * that make up your task.
+ *The scheduling strategy to use when filtering the ListServices
+ * results.
A list of volume definitions in JSON format that containers in your task might - * use.
+ *The list of full ARN entries for each service that's associated with the specified + * cluster.
* @public */ - volumes?: Volume[]; + serviceArns?: string[]; /** - *An array of placement constraint objects to use for the task. You can specify a - * maximum of 10 constraints for each task. This limit includes constraints in the task - * definition and those specified at runtime.
+ *The nextToken
value to include in a future ListServices
+ * request. When the results of a ListServices
request exceed
+ * maxResults
, this value can be used to retrieve the next page of
+ * results. This value is null
when there are no more results to
+ * return.
The task launch type that Amazon ECS validates the task definition against. A client - * exception is returned if the task definition doesn't validate against the - * compatibilities specified. If no value is specified, the parameter is omitted from the - * response.
+ *The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace to list the services in.
+ *Tasks that run in a namespace can use short names to connect + * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. + * Tasks connect through a managed proxy container + * that collects logs and metrics for increased visibility. + * Only the tasks that Amazon ECS services create are supported with Service Connect. + * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.
* @public */ - requiresCompatibilities?: Compatibility[]; + namespace: string | undefined; /** - *The number of CPU units used by the task. It can be expressed as an integer using CPU
- * units (for example, 1024
) or as a string using vCPUs (for example, 1
- * vCPU
or 1 vcpu
) in a task definition. String values are
- * converted to an integer indicating the CPU units when the task definition is
- * registered.
Task-level CPU and memory parameters are ignored for Windows containers. We - * recommend specifying container-level resources for Windows containers.
- *If you're using the EC2 launch type, this field is optional. Supported
- * values are between 128
CPU units (0.125
vCPUs) and
- * 10240
CPU units (10
vCPUs). If you do not specify a value,
- * the parameter is ignored.
If you're using the Fargate launch type, this field is required and you
- * must use one of the following values, which determines your range of supported values
- * for the memory
parameter:
The CPU units cannot be less than 1 vCPU when you use Windows containers on - * Fargate.
- *256 (.25 vCPU) - Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) - Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2 vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)
4096 (4 vCPU) - Available memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
8192 (8 vCPU) - Available memory
values: 16 GB and 60 GB in 4 GB increments
This option requires Linux platform 1.4.0
or
- * later.
16384 (16vCPU) - Available memory
values: 32GB and 120 GB in 8 GB increments
This option requires Linux platform 1.4.0
or
- * later.
The nextToken
value that's returned from a
+ * ListServicesByNamespace
request. It indicates that more results are
+ * available to fulfill the request and further calls are needed. If
+ * maxResults
is returned, it is possible the number of results is less
+ * than maxResults
.
The amount of memory (in MiB) used by the task. It can be expressed as an integer
- * using MiB (for example ,1024
) or as a string using GB (for example,
- * 1GB
or 1 GB
) in a task definition. String values are
- * converted to an integer indicating the MiB when the task definition is
- * registered.
Task-level CPU and memory parameters are ignored for Windows containers. We - * recommend specifying container-level resources for Windows containers.
- *If using the EC2 launch type, this field is optional.
- *If using the Fargate launch type, this field is required and you must
- * use one of the following values. This determines your range of supported values for the
- * cpu
parameter.
The CPU units cannot be less than 1 vCPU when you use Windows containers on - * Fargate.
- *512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values: 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available cpu
values: 8192 (8 vCPU)
This option requires Linux platform 1.4.0
or
- * later.
Between 32GB and 120 GB in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or
- * later.
The maximum number of service results that ListServicesByNamespace
+ * returns in paginated output. When this parameter is used,
+ * ListServicesByNamespace
only returns maxResults
results in
+ * a single page along with a nextToken
response element. The remaining
+ * results of the initial request can be seen by sending another
+ * ListServicesByNamespace
request with the returned
+ * nextToken
value. This value can be between 1 and
+ * 100. If this parameter isn't used, then
+ * ListServicesByNamespace
returns up to
+ * 10 results and a nextToken
+ * value if applicable.
The list of full ARN entries for each service that's associated with the specified + * namespace.
+ * @public + */ + serviceArns?: string[]; + + /** + *The nextToken
value to include in a future
+ * ListServicesByNamespace
request. When the results of a
+ * ListServicesByNamespace
request exceed maxResults
, this
+ * value can be used to retrieve the next page of results. When there are no more results
+ * to return, this value is null
.
The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the + * supported resources are Amazon ECS tasks, services, task definitions, clusters, and container + * instances.
+ * @public + */ + resourceArn: string | undefined; +} + +/** + * @public + */ +export interface ListTagsForResourceResponse { + /** + *The tags for the resource.
+ * @public + */ + tags?: Tag[]; +} + +/** + * @public + * @enum + */ +export const TaskDefinitionFamilyStatus = { + ACTIVE: "ACTIVE", + ALL: "ALL", + INACTIVE: "INACTIVE", +} as const; + +/** + * @public + */ +export type TaskDefinitionFamilyStatus = (typeof TaskDefinitionFamilyStatus)[keyof typeof TaskDefinitionFamilyStatus]; + +/** + * @public + */ +export interface ListTaskDefinitionFamiliesRequest { + /** + *The familyPrefix
is a string that's used to filter the results of
+ * ListTaskDefinitionFamilies
. If you specify a familyPrefix
,
+ * only task definition family names that begin with the familyPrefix
string
+ * are returned.
The task definition family status to filter the
+ * ListTaskDefinitionFamilies
results with. By default, both
+ * ACTIVE
and INACTIVE
task definition families are listed.
+ * If this parameter is set to ACTIVE
, only task definition families that have
+ * an ACTIVE
task definition revision are returned. If this parameter is set
+ * to INACTIVE
, only task definition families that do not have any
+ * ACTIVE
task definition revisions are returned. If you paginate the
+ * resulting output, be sure to keep the status
value constant in each
+ * subsequent request.
The nextToken
value returned from a
+ * ListTaskDefinitionFamilies
request indicating that more results are
+ * available to fulfill the request and further calls will be needed. If
+ * maxResults
was provided, it is possible the number of results to be
+ * fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.
+ *The maximum number of task definition family results that
+ * ListTaskDefinitionFamilies
returned in paginated output. When this
+ * parameter is used, ListTaskDefinitions
only returns maxResults
+ * results in a single page along with a nextToken
response element. The
+ * remaining results of the initial request can be seen by sending another
+ * ListTaskDefinitionFamilies
request with the returned
+ * nextToken
value. This value can be between 1 and
+ * 100. If this parameter isn't used, then
+ * ListTaskDefinitionFamilies
returns up to 100 results
+ * and a nextToken
value if applicable.
The list of task definition family names that match the
+ * ListTaskDefinitionFamilies
request.
The nextToken
value to include in a future
+ * ListTaskDefinitionFamilies
request. When the results of a
+ * ListTaskDefinitionFamilies
request exceed maxResults
, this
+ * value can be used to retrieve the next page of results. This value is null
+ * when there are no more results to return.
The full family name to filter the ListTaskDefinitions
results with.
+ * Specifying a familyPrefix
limits the listed task definitions to task
+ * definition revisions that belong to that family.
The task definition status to filter the ListTaskDefinitions
results
+ * with. By default, only ACTIVE
task definitions are listed. By setting this
+ * parameter to INACTIVE
, you can view task definitions that are
+ * INACTIVE
as long as an active task or service still references them. If
+ * you paginate the resulting output, be sure to keep the status
value
+ * constant in each subsequent request.
The order to sort the results in. Valid values are ASC
and
+ * DESC
. By default, (ASC
) task definitions are listed
+ * lexicographically by family name and in ascending numerical order by revision so that
+ * the newest task definitions in a family are listed last. Setting this parameter to
+ * DESC
reverses the sort order on family name and revision. This is so
+ * that the newest task definitions in a family are listed first.
The nextToken
value returned from a ListTaskDefinitions
+ * request indicating that more results are available to fulfill the request and further
+ * calls will be needed. If maxResults
was provided, it is possible the number
+ * of results to be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.
+ *The maximum number of task definition results that ListTaskDefinitions
+ * returned in paginated output. When this parameter is used,
+ * ListTaskDefinitions
only returns maxResults
results in a
+ * single page along with a nextToken
response element. The remaining results
+ * of the initial request can be seen by sending another ListTaskDefinitions
+ * request with the returned nextToken
value. This value can be between
+ * 1 and 100. If this parameter isn't used, then
+ * ListTaskDefinitions
returns up to 100 results and a
+ * nextToken
value if applicable.
The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions
+ * request.
The nextToken
value to include in a future
+ * ListTaskDefinitions
request. When the results of a
+ * ListTaskDefinitions
request exceed maxResults
, this value
+ * can be used to retrieve the next page of results. This value is null
when
+ * there are no more results to return.
The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the
+ * ListTasks
results. If you do not specify a cluster, the default cluster is assumed.
The container instance ID or full ARN of the container instance to use when
+ * filtering the ListTasks
results. Specifying a
+ * containerInstance
limits the results to tasks that belong to that
+ * container instance.
The name of the task definition family to use when filtering the
+ * ListTasks
results. Specifying a family
limits the results
+ * to tasks that belong to that family.
The nextToken
value returned from a ListTasks
request
+ * indicating that more results are available to fulfill the request and further calls will
+ * be needed. If maxResults
was provided, it's possible the number of results
+ * to be fewer than maxResults
.
This token should be treated as an opaque identifier that is only used to + * retrieve the next items in a list and not for other programmatic purposes.
+ *The maximum number of task results that ListTasks
returned in paginated
+ * output. When this parameter is used, ListTasks
only returns
+ * maxResults
results in a single page along with a nextToken
+ * response element. The remaining results of the initial request can be seen by sending
+ * another ListTasks
request with the returned nextToken
value.
+ * This value can be between 1 and 100. If this parameter
+ * isn't used, then ListTasks
returns up to 100 results and
+ * a nextToken
value if applicable.
The startedBy
value to filter the task results with. Specifying a
+ * startedBy
value limits the results to tasks that were started with that
+ * value.
When you specify startedBy
as the filter, it must be the only filter that
+ * you use.
The name of the service to use when filtering the ListTasks
results.
+ * Specifying a serviceName
limits the results to tasks that belong to that
+ * service.
The metadata that you apply to the task definition to help you categorize and organize - * them. Each tag consists of a key and an optional value. You define both of them.
- *The following basic restrictions apply to tags:
+ *The task desired status to use when filtering the ListTasks
results.
+ * Specifying a desiredStatus
of STOPPED
limits the results to
+ * tasks that Amazon ECS has set the desired status to STOPPED
. This can be useful
+ * for debugging tasks that aren't starting properly or have died or finished. The default
+ * status filter is RUNNING
, which shows tasks that Amazon ECS has set the desired
+ * status to RUNNING
.
Although you can filter results based on a desired status of PENDING
,
+ * this doesn't return any results. Amazon ECS never sets the desired status of a task to
+ * that value (only a task's lastStatus
may have a value of
+ * PENDING
).
The launch type to use when filtering the ListTasks
results.
The list of task ARN entries for the ListTasks
request.
The nextToken
value to include in a future ListTasks
+ * request. When the results of a ListTasks
request exceed
+ * maxResults
, this value can be used to retrieve the next page of
+ * results. This value is null
when there are no more results to
+ * return.
The Amazon ECS account setting name to modify.
+ *The following are the valid values for the account setting name.
*Maximum number of tags per resource - 50
+ *
+ * serviceLongArnFormat
- When modified, the Amazon Resource Name
+ * (ARN) and resource ID format of the resource type for a specified user, role, or
+ * the root user for an account is affected. The opt-in and opt-out account setting
+ * must be set for each Amazon ECS resource separately. The ARN and resource ID format
+ * of a resource is defined by the opt-in status of the user or role that created
+ * the resource. You must turn on this setting to use Amazon ECS features such as
+ * resource tagging.
For each resource, each tag key must be unique, and each tag key can have only - * one value.
+ *
+ * taskLongArnFormat
- When modified, the Amazon Resource Name (ARN)
+ * and resource ID format of the resource type for a specified user, role, or the
+ * root user for an account is affected. The opt-in and opt-out account setting must
+ * be set for each Amazon ECS resource separately. The ARN and resource ID format of a
+ * resource is defined by the opt-in status of the user or role that created the
+ * resource. You must turn on this setting to use Amazon ECS features such as resource
+ * tagging.
+ * containerInstanceLongArnFormat
- When modified, the Amazon
+ * Resource Name (ARN) and resource ID format of the resource type for a specified
+ * user, role, or the root user for an account is affected. The opt-in and opt-out
+ * account setting must be set for each Amazon ECS resource separately. The ARN and
+ * resource ID format of a resource is defined by the opt-in status of the user or
+ * role that created the resource. You must turn on this setting to use Amazon ECS
+ * features such as resource tagging.
+ * awsvpcTrunking
- When modified, the elastic network interface
+ * (ENI) limit for any new container instances that support the feature is changed.
+ * If awsvpcTrunking
is turned on, any new container instances that
+ * support the feature are launched have the increased ENI limits available to
+ * them. For more information, see Elastic
+ * Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.
+ * containerInsights
- When modified, the default setting indicating
+ * whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed.
+ * If containerInsights
is turned on, any new clusters that are
+ * created will have Container Insights turned on unless you disable it during
+ * cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.
+ * dualStackIPv6
- When turned on, when using a VPC in dual stack
+ * mode, your tasks using the awsvpc
network mode can have an IPv6
+ * address assigned. For more information on using IPv6 with tasks launched on
+ * Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6
+ * with tasks launched on Fargate, see Using a VPC in dual-stack mode.
+ * fargateTaskRetirementWaitPeriod
- When Amazon Web Services determines that a
+ * security or infrastructure update is needed for an Amazon ECS task hosted on
+ * Fargate, the tasks need to be stopped and new tasks launched to replace them.
+ * Use fargateTaskRetirementWaitPeriod
to configure the wait time to
+ * retire a Fargate task. For information about the Fargate tasks maintenance,
+ * see Amazon Web Services Fargate
+ * task maintenance in the Amazon ECS Developer
+ * Guide.
+ * tagResourceAuthorization
- Amazon ECS is introducing tagging
+ * authorization for resource creation. Users must have permissions for actions
+ * that create the resource, such as ecsCreateCluster
. If tags are
+ * specified when you create a resource, Amazon Web Services performs additional authorization to
+ * verify if users or roles have permissions to create tags. Therefore, you must
+ * grant explicit permissions to use the ecs:TagResource
action. For
+ * more information, see Grant permission to tag resources on creation in the
+ * Amazon ECS Developer Guide.
+ * guardDutyActivate
- The guardDutyActivate
parameter is read-only in Amazon ECS and indicates whether
+ * Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your
+ * Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.
The account setting value for the specified principal ARN. Accepted values are
+ * enabled
, disabled
, on
, and
+ * off
.
When you specify fargateTaskRetirementWaitPeriod
for the
+ * name
, the following are the valid values:
+ * 0
- Amazon Web Services sends the notification, and immediately retires the
+ * affected tasks.
+ * 7
- Amazon Web Services sends the notification, and waits 7 calendar days to
+ * retire the tasks.
+ * 14
- Amazon Web Services sends the notification, and waits 14 calendar days to
+ * retire the tasks.
The ARN of the principal, which can be a user, role, or the root user. If you specify + * the root user, it modifies the account setting for all users, roles, and the root user of the + * account unless a user or role explicitly overrides these settings. If this field is + * omitted, the setting is changed only for the authenticated user.
+ *You must use the root user when you set the Fargate wait time
+ * (fargateTaskRetirementWaitPeriod
).
Federated users assume the account setting of the root user and can't have explicit + * account settings set for them.
+ *The current account setting for a resource.
+ * @public + */ + setting?: Setting; +} + +/** + * @public + */ +export interface PutAccountSettingDefaultRequest { + /** + *The resource name for which to modify the account setting.
+ *The following are the valid values for the account setting name.
+ *
+ * serviceLongArnFormat
- When modified, the Amazon Resource Name
+ * (ARN) and resource ID format of the resource type for a specified user, role, or
+ * the root user for an account is affected. The opt-in and opt-out account setting
+ * must be set for each Amazon ECS resource separately. The ARN and resource ID format
+ * of a resource is defined by the opt-in status of the user or role that created
+ * the resource. You must turn on this setting to use Amazon ECS features such as
+ * resource tagging.
+ * taskLongArnFormat
- When modified, the Amazon Resource Name (ARN)
+ * and resource ID format of the resource type for a specified user, role, or the
+ * root user for an account is affected. The opt-in and opt-out account setting must
+ * be set for each Amazon ECS resource separately. The ARN and resource ID format of a
+ * resource is defined by the opt-in status of the user or role that created the
+ * resource. You must turn on this setting to use Amazon ECS features such as resource
+ * tagging.
+ * containerInstanceLongArnFormat
- When modified, the Amazon
+ * Resource Name (ARN) and resource ID format of the resource type for a specified
+ * user, role, or the root user for an account is affected. The opt-in and opt-out
+ * account setting must be set for each Amazon ECS resource separately. The ARN and
+ * resource ID format of a resource is defined by the opt-in status of the user or
+ * role that created the resource. You must turn on this setting to use Amazon ECS
+ * features such as resource tagging.
+ * awsvpcTrunking
- When modified, the elastic network interface
+ * (ENI) limit for any new container instances that support the feature is changed.
+ * If awsvpcTrunking
is turned on, any new container instances that
+ * support the feature are launched have the increased ENI limits available to
+ * them. For more information, see Elastic
+ * Network Interface Trunking in the Amazon Elastic Container Service Developer Guide.
+ * containerInsights
- When modified, the default setting indicating
+ * whether Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed.
+ * If containerInsights
is turned on, any new clusters that are
+ * created will have Container Insights turned on unless you disable it during
+ * cluster creation. For more information, see CloudWatch Container Insights in the Amazon Elastic Container Service Developer Guide.
Maximum key length - 128 Unicode characters in UTF-8
+ *
+ * dualStackIPv6
- When turned on, when using a VPC in dual stack
+ * mode, your tasks using the awsvpc
network mode can have an IPv6
+ * address assigned. For more information on using IPv6 with tasks launched on
+ * Amazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6
+ * with tasks launched on Fargate, see Using a VPC in dual-stack mode.
Maximum value length - 256 Unicode characters in UTF-8
+ *
+ * fargateFIPSMode
- If you specify fargateFIPSMode
,
+ * Fargate FIPS 140 compliance is affected.
If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.
+ *
+ * fargateTaskRetirementWaitPeriod
- When Amazon Web Services determines that a
+ * security or infrastructure update is needed for an Amazon ECS task hosted on
+ * Fargate, the tasks need to be stopped and new tasks launched to replace them.
+ * Use fargateTaskRetirementWaitPeriod
to configure the wait time to
+ * retire a Fargate task. For information about the Fargate tasks maintenance,
+ * see Amazon Web Services Fargate
+ * task maintenance in the Amazon ECS Developer
+ * Guide.
Tag keys and values are case-sensitive.
+ *
+ * tagResourceAuthorization
- Amazon ECS is introducing tagging
+ * authorization for resource creation. Users must have permissions for actions
+ * that create the resource, such as ecsCreateCluster
. If tags are
+ * specified when you create a resource, Amazon Web Services performs additional authorization to
+ * verify if users or roles have permissions to create tags. Therefore, you must
+ * grant explicit permissions to use the ecs:TagResource
action. For
+ * more information, see Grant permission to tag resources on creation in the
+ * Amazon ECS Developer Guide.
Do not use aws:
, AWS:
, or any upper or lowercase
- * combination of such as a prefix for either keys or values as it is reserved for
- * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
- * this prefix do not count against your tags per resource limit.
+ * guardDutyActivate
- The guardDutyActivate
parameter is read-only in Amazon ECS and indicates whether
+ * Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your
+ * Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.
The process namespace to use for the containers in the task. The valid
- * values are host
or task
. On Fargate for
- * Linux containers, the only valid value is task
. For
- * example, monitoring sidecars might need pidMode
to access
- * information about other containers running in the same task.
If host
is specified, all containers within the tasks
- * that specified the host
PID mode on the same container
- * instance share the same process namespace with the host Amazon EC2
- * instance.
If task
is specified, all containers within the specified
- * task share the same process namespace.
If no value is specified, the - * default is a private namespace for each container.
- *If the host
PID mode is used, there's a heightened risk
- * of undesired process namespace exposure.
This parameter is not supported for Windows containers.
- *This parameter is only supported for tasks that are hosted on
- * Fargate if the tasks are using platform version 1.4.0
or later
- * (Linux). This isn't supported for Windows containers on
- * Fargate.
The IPC resource namespace to use for the containers in the task. The valid values are
- * host
, task
, or none
. If host
is
- * specified, then all containers within the tasks that specified the host
IPC
- * mode on the same container instance share the same IPC resources with the host Amazon EC2
- * instance. If task
is specified, all containers within the specified task
- * share the same IPC resources. If none
is specified, then IPC resources
- * within the containers of a task are private and not shared with other containers in a
- * task or on the container instance. If no value is specified, then the IPC resource
- * namespace sharing depends on the Docker daemon setting on the container instance.
If the host
IPC mode is used, be aware that there is a heightened risk of
- * undesired IPC namespace expose.
If you are setting namespaced kernel parameters using systemControls
for
- * the containers in the task, the following will apply to your IPC resource namespace. For
- * more information, see System
- * Controls in the Amazon Elastic Container Service Developer Guide.
The account setting value for the specified principal ARN. Accepted values are
+ * enabled
, disabled
, on
, and
+ * off
.
When you specify fargateTaskRetirementWaitPeriod
for the
+ * name
, the following are the valid values:
For tasks that use the host
IPC mode, IPC namespace related
- * systemControls
are not supported.
+ * 0
- Amazon Web Services sends the notification, and immediately retires the
+ * affected tasks.
For tasks that use the task
IPC mode, IPC namespace related
- * systemControls
will apply to all containers within a
- * task.
+ * 7
- Amazon Web Services sends the notification, and waits 7 calendar days to
+ * retire the tasks.
+ * 14
- Amazon Web Services sends the notification, and waits 14 calendar days to
+ * retire the tasks.
This parameter is not supported for Windows containers or tasks run on Fargate.
- *The configuration details for the App Mesh proxy.
- *For tasks hosted on Amazon EC2 instances, the container instances require at least version
- * 1.26.0
of the container agent and at least version
- * 1.26.0-1
of the ecs-init
package to use a proxy
- * configuration. If your container instances are launched from the Amazon ECS-optimized
- * AMI version 20190301
or later, then they contain the required versions of
- * the container agent and ecs-init
. For more information, see Amazon ECS-optimized AMI versions in the Amazon Elastic Container Service Developer Guide.
The current setting for a resource.
* @public */ - proxyConfiguration?: ProxyConfiguration; + setting?: Setting; +} +/** + *You can apply up to 10 custom attributes for each resource. You can view the + * attributes of a resource with ListAttributes. You can remove existing + * attributes on a resource with DeleteAttributes.
+ * @public + */ +export class AttributeLimitExceededException extends __BaseException { + readonly name: "AttributeLimitExceededException" = "AttributeLimitExceededException"; + readonly $fault: "client" = "client"; /** - *The Elastic Inference accelerators to use for the containers in the task.
- * @public + * @internal */ - inferenceAccelerators?: InferenceAccelerator[]; + constructor(opts: __ExceptionOptionTypeThe amount of ephemeral storage to allocate for the task. This parameter is used to - * expand the total amount of ephemeral storage available, beyond the default amount, for - * tasks hosted on Fargate. For more information, see Using data volumes in - * tasks in the Amazon ECS Developer Guide.
- *For tasks using the Fargate launch type, the task requires the - * following platforms:
- *Linux platform version 1.4.0
or later.
Windows platform version 1.0.0
or later.
The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply + * attributes. If you do not specify a cluster, the default cluster is assumed.
* @public */ - ephemeralStorage?: EphemeralStorage; + cluster?: string; /** - *The operating system that your tasks definitions run on. A platform family is - * specified only for tasks using the Fargate launch type.
+ *The attributes to apply to your resource. You can specify up to 10 custom attributes + * for each resource. You can specify up to 10 attributes in a single call.
* @public */ - runtimePlatform?: RuntimePlatform; + attributes: Attribute[] | undefined; } /** * @public */ -export interface RegisterTaskDefinitionResponse { - /** - *The full description of the registered task definition.
- * @public - */ - taskDefinition?: TaskDefinition; - +export interface PutAttributesResponse { /** - *The list of tags associated with the task definition.
+ *The attributes applied to your resource.
* @public */ - tags?: Tag[]; + attributes?: Attribute[]; } /** - *Your Amazon Web Services account was blocked. For more information, contact - * Amazon Web Services Support.
* @public */ -export class BlockedException extends __BaseException { - readonly name: "BlockedException" = "BlockedException"; - readonly $fault: "client" = "client"; +export interface PutClusterCapacityProvidersRequest { /** - * @internal + *The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider + * settings for. If you don't specify a cluster, the default cluster is assumed.
+ * @public */ - constructor(opts: __ExceptionOptionTypeThe RunTask
request could not be processed due to conflicts. The provided
- * clientToken
is already in use with a different RunTask
- * request. The resourceIds
are the existing task ARNs which are already
- * associated with the clientToken
.
To fix this issue:
- *Run RunTask
with a unique clientToken
.
Run RunTask
with the clientToken
and the original
- * set of parameters
The name of one or more capacity providers to associate with the cluster.
+ *If specifying a capacity provider that uses an Auto Scaling group, the capacity + * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.
+ *To use a Fargate capacity provider, specify either the FARGATE
or
+ * FARGATE_SPOT
capacity providers. The Fargate capacity providers are
+ * available to all accounts and only need to be associated with a cluster to be
+ * used.
The capacity provider strategy to use by default for the cluster.
+ *When creating a service or running a task on a cluster, if no capacity provider or + * launch type is specified then the default capacity provider strategy for the cluster is + * used.
+ *A capacity provider strategy consists of one or more capacity providers along with the
+ * base
and weight
to assign to them. A capacity provider
+ * must be associated with the cluster to be used in a capacity provider strategy. The
+ * PutClusterCapacityProviders API is used to associate a capacity
+ * provider with a cluster. Only capacity providers with an ACTIVE
or
+ * UPDATING
status can be used.
If specifying a capacity provider that uses an Auto Scaling group, the capacity + * provider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.
+ *To use a Fargate capacity provider, specify either the FARGATE
or
+ * FARGATE_SPOT
capacity providers. The Fargate capacity providers are
+ * available to all accounts and only need to be associated with a cluster to be
+ * used.
The existing task ARNs which are already associated with the
- * clientToken
.
Details about the cluster.
* @public */ - resourceIds?: string[]; + cluster?: Cluster; +} +/** + *The specified resource is in-use and can't be removed.
+ * @public + */ +export class ResourceInUseException extends __BaseException { + readonly name: "ResourceInUseException" = "ResourceInUseException"; + readonly $fault: "client" = "client"; /** * @internal */ - constructor(opts: __ExceptionOptionTypeThe termination policy for the Amazon EBS volume when the task exits. For more information, - * see Amazon ECS volume termination policy.
* @public + * @enum */ -export interface TaskManagedEBSVolumeTerminationPolicy { - /** - *Indicates whether the volume should be deleted on when the task stops. If a value of
- * true
is specified, 
Amazon ECS deletes the Amazon EBS volume on your behalf when
- * the task goes into the STOPPED
state. If no value is specified, the
- * 
default value is true
is used. When set to false
, Amazon ECS
- * leaves the volume in your 
account.
The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. - * These settings are used to create each Amazon EBS volume, with one volume created for each - * task.
* @public */ -export interface TaskManagedEBSVolumeConfiguration { +export type PlatformDeviceType = (typeof PlatformDeviceType)[keyof typeof PlatformDeviceType]; + +/** + *The devices that are available on the container instance. The only supported device + * type is a GPU.
+ * @public + */ +export interface PlatformDevice { /** - *Indicates whether the volume should be encrypted. If no value is specified, encryption
- * is turned on by default. This parameter maps 1:1 with the Encrypted
- * parameter of the CreateVolume API in
- * the Amazon EC2 API Reference.
The ID for the GPUs on the container instance. The available GPU IDs can also be
+ * obtained on the container instance in the
+ * /var/lib/ecs/gpu/nvidia_gpu_info.json
file.
The Amazon Resource Name (ARN) identifier of the Amazon Web Services Key Management Service key to use for Amazon EBS encryption. When
- * encryption is turned on and no Amazon Web Services Key Management Service key is specified, the default Amazon Web Services managed key
- * for Amazon EBS volumes is used. This parameter maps 1:1 with the KmsKeyId
- * parameter of the CreateVolume API in
- * the Amazon EC2 API Reference.
Amazon Web Services authenticates the Amazon Web Services Key Management Service key asynchronously. Therefore, if you specify an - * ID, alias, or ARN that is invalid, the action can appear to complete, but - * eventually fails.
- *The type of device that's available on the container instance. The only supported
+ * value is GPU
.
The volume type. This parameter maps 1:1 with the VolumeType
parameter of
- * the CreateVolume API in the Amazon EC2 API Reference. For more
- * information, see Amazon EBS volume types in
- * the Amazon EC2 User Guide.
The following are the supported volume types.
- *General Purpose SSD: gp2
|gp3
- *
Provisioned IOPS SSD: io1
|io2
- *
Throughput Optimized HDD: st1
- *
Cold HDD: sc1
- *
Magnetic: standard
- *
The magnetic volume type is not supported on Fargate.
- *The short name or full Amazon Resource Name (ARN) of the cluster to register your container instance + * with. If you do not specify a cluster, the default cluster is assumed.
* @public */ - volumeType?: string; + cluster?: string; /** - *The size of the volume in GiB. You must specify either a volume size or a snapshot ID.
- * If you specify a snapshot ID, the snapshot size is used for the volume size by default.
- * You can optionally specify a volume size greater than or equal to the snapshot size.
- * This parameter maps 1:1 with the Size
parameter of the CreateVolume API in the Amazon EC2 API Reference.
The following are the supported volume size values for each volume type.
- *
- * gp2
and gp3
: 1-16,384
- * io1
and io2
: 4-16,384
- * st1
and sc1
: 125-16,384
- * standard
: 1-1,024
The instance identity document for the EC2 instance to register. This document can be
+ * found by running the following command from the instance: curl
+ * http://169.254.169.254/latest/dynamic/instance-identity/document/
+ *
The snapshot that Amazon ECS uses to create the volume. You must specify either a snapshot
- * ID or a volume size. This parameter maps 1:1 with the SnapshotId
parameter
- * of the CreateVolume API in
- * the Amazon EC2 API Reference.
The instance identity document signature for the EC2 instance to register. This
+ * signature can be found by running the following command from the instance: curl
+ * http://169.254.169.254/latest/dynamic/instance-identity/signature/
+ *
The number of I/O operations per second (IOPS). For gp3
,
- * io1
, and io2
volumes, this represents the number of IOPS that
- * are provisioned for the volume. For gp2
volumes, this represents the
- * baseline performance of the volume and the rate at which the volume accumulates I/O
- * credits for bursting.
The following are the supported values for each volume type.
- *
- * gp3
: 3,000 - 16,000 IOPS
- * io1
: 100 - 64,000 IOPS
- * io2
: 100 - 256,000 IOPS
This parameter is required for io1
and io2
volume types. The
- * default for gp3
volumes is 3,000 IOPS
. This parameter is not
- * supported for st1
, sc1
, or standard
volume
- * types.
This parameter maps 1:1 with the Iops
parameter of the CreateVolume API in the Amazon EC2 API Reference.
The resources available on the instance.
* @public */ - iops?: number; + totalResources?: Resource[]; /** - *The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s.
- * This parameter maps 1:1 with the Throughput
parameter of the CreateVolume API in the Amazon EC2 API Reference.
This parameter is only supported for the gp3
volume type.
The version information for the Amazon ECS container agent and Docker daemon that runs on + * the container instance.
* @public */ - throughput?: number; + versionInfo?: VersionInfo; /** - *The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This
- * parameter maps 1:1 with the TagSpecifications.N
parameter of the CreateVolume API in the Amazon EC2 API Reference.
The ARN of the container instance (if it was previously registered).
* @public */ - tagSpecifications?: EBSTagSpecification[]; + containerInstanceArn?: string; /** - *The ARN of the IAM role to associate with this volume. This is the Amazon ECS
- * infrastructure IAM role that is used to manage your Amazon Web Services infrastructure. We recommend
- * using the Amazon ECS-managed AmazonECSInfrastructureRolePolicyForVolumes
IAM
- * policy with this role. For more information, see Amazon ECS
- * infrastructure IAM role in the Amazon ECS Developer
- * Guide.
The container instance attributes that this container instance supports.
* @public */ - roleArn: string | undefined; + attributes?: Attribute[]; /** - *The termination policy for the volume when the task exits. This provides a way to - * control whether Amazon ECS terminates the Amazon EBS volume when the task stops.
+ *The devices that are available on the container instance. The only supported device + * type is a GPU.
* @public */ - terminationPolicy?: TaskManagedEBSVolumeTerminationPolicy; + platformDevices?: PlatformDevice[]; /** - *The Linux filesystem type for the volume. For volumes created from a snapshot, you - * must specify the same filesystem type that the volume was using when the snapshot was - * created. If there is a filesystem type mismatch, the task will fail to start.
- *The available filesystem types are
 ext3
, ext4
, and
- * xfs
. If no value is specified, the xfs
filesystem type is
- * used by default.
The metadata that you apply to the container instance to help you categorize and + * organize them. Each tag consists of a key and an optional value. You define both.
+ *The following basic restrictions apply to tags:
+ *Maximum number of tags per resource - 50
+ *For each resource, each tag key must be unique, and each tag key can have only + * one value.
+ *Maximum key length - 128 Unicode characters in UTF-8
+ *Maximum value length - 256 Unicode characters in UTF-8
+ *If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.
+ *Tag keys and values are case-sensitive.
+ *Do not use aws:
, AWS:
, or any upper or lowercase
+ * combination of such as a prefix for either keys or values as it is reserved for
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
+ * this prefix do not count against your tags per resource limit.
Configuration settings for the task volume that was configuredAtLaunch
- * that weren't set during RegisterTaskDef
.
The name of the volume. This value must match the volume name from the
- * Volume
object in the task definition.
The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. - * These settings are used to create each Amazon EBS volume, with one volume created for each - * task. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are - * created.
+ *The container instance that was registered.
* @public */ - managedEBSVolume?: TaskManagedEBSVolumeConfiguration; + containerInstance?: ContainerInstance; } /** * @public */ -export interface RunTaskRequest { - /** - *The capacity provider strategy to use for the task.
- *If a capacityProviderStrategy
is specified, the launchType
- * parameter must be omitted. If no capacityProviderStrategy
or
- * launchType
is specified, the
- * defaultCapacityProviderStrategy
for the cluster is used.
When you use cluster auto scaling, you must specify
- * capacityProviderStrategy
and not launchType
.
A capacity provider strategy may contain a maximum of 6 capacity providers.
- * @public - */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; - - /** - *The short name or full Amazon Resource Name (ARN) of the cluster to run your task on. - * If you do not specify a cluster, the default cluster is assumed.
- * @public - */ - cluster?: string; - - /** - *The number of instantiations of the specified task to place on your cluster. You can - * specify up to 10 tasks for each call.
- * @public - */ - count?: number; - - /** - *Specifies whether to use Amazon ECS managed tags for the task. For more information, see - * Tagging Your Amazon ECS - * Resources in the Amazon Elastic Container Service Developer Guide.
- * @public - */ - enableECSManagedTags?: boolean; - +export interface RegisterTaskDefinitionRequest { /** - *Determines whether to use the execute command functionality for the containers in this
- * task. If true
, this enables execute command functionality on all containers
- * in the task.
If true
, then the task definition must have a task role, or you must
- * provide one as an override.
You must specify a family
for a task definition. You can use it track
+ * multiple versions of the same task definition. The family
is used as a name
+ * for your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.
The name of the task group to associate with the task. The default value is the family
- * name of the task definition (for example, family:my-family-name
).
The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can + * assume. All containers in this task are granted the permissions that are specified in + * this role. For more information, see IAM Roles for + * Tasks in the Amazon Elastic Container Service Developer Guide.
* @public */ - group?: string; + taskRoleArn?: string; /** - *The infrastructure to run your standalone task on. For more information, see Amazon ECS - * launch types in the Amazon Elastic Container Service Developer Guide.
- *The FARGATE
launch type runs your tasks on Fargate On-Demand
- * infrastructure.
Fargate Spot infrastructure is available for use but a capacity provider - * strategy must be used. For more information, see Fargate capacity providers in the - * Amazon ECS Developer Guide.
- *The EC2
launch type runs your tasks on Amazon EC2 instances registered to your
- * cluster.
The EXTERNAL
launch type runs your tasks on your on-premises server or
- * virtual machine (VM) capacity registered to your cluster.
A task can use either a launch type or a capacity provider strategy. If a
- * launchType
is specified, the capacityProviderStrategy
- * parameter must be omitted.
When you use cluster auto scaling, you must specify
- * capacityProviderStrategy
and not launchType
.
The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent + * permission to make Amazon Web Services API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see IAM roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.
* @public */ - launchType?: LaunchType; + executionRoleArn?: string; /** - *The network configuration for the task. This parameter is required for task
- * definitions that use the awsvpc
network mode to receive their own elastic
- * network interface, and it isn't supported for other network modes. For more information,
- * see Task networking
- * in the Amazon Elastic Container Service Developer Guide.
The Docker networking mode to use for the containers in the task. The valid values are
+ * none
, bridge
, awsvpc
, and host
.
+ * If no network mode is specified, the default is bridge
.
For Amazon ECS tasks on Fargate, the awsvpc
network mode is required.
+ * For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances,
or awsvpc
can be used. If the network
+ * mode is set to none
, you cannot specify port mappings in your container
+ * definitions, and the tasks containers do not have external connectivity. The
+ * host
and awsvpc
network modes offer the highest networking
+ * performance for containers because they use the EC2 network stack instead of the
+ * virtualized network stack provided by the bridge
mode.
With the host
and awsvpc
network modes, exposed container
+ * ports are mapped directly to the corresponding host port (for the host
+ * network mode) or the attached elastic network interface port (for the
+ * awsvpc
network mode), so you cannot take advantage of dynamic host port
+ * mappings.
When using the host
network mode, you should not run
+ * containers using the root user (UID 0). It is considered best practice
+ * to use a non-root user.
If the network mode is awsvpc
, the task is allocated an elastic network
+ * interface, and you must specify a NetworkConfiguration value when you create
+ * a service or run a task with the task definition. For more information, see Task Networking in the
+ * Amazon Elastic Container Service Developer Guide.
If the network mode is host
, you cannot run multiple instantiations of the
+ * same task on a single container instance when port mappings are used.
For more information, see Network + * settings in the Docker run reference.
* @public */ - networkConfiguration?: NetworkConfiguration; + networkMode?: NetworkMode; /** - *A list of container overrides in JSON format that specify the name of a container in
- * the specified task definition and the overrides it should receive. You can override the
- * default command for a container (that's specified in the task definition or Docker
- * image) with a command
override. You can also override existing environment
- * variables (that are specified in the task definition or Docker image) on a container or
- * add new environment variables to it with an environment
override.
A total of 8192 characters are allowed for overrides. This limit includes the JSON - * formatting characters of the override structure.
+ *A list of container definitions in JSON format that describe the different containers + * that make up your task.
* @public */ - overrides?: TaskOverride; + containerDefinitions: ContainerDefinition[] | undefined; /** - *An array of placement constraint objects to use for the task. You can specify up to 10 - * constraints for each task (including constraints in the task definition and those - * specified at runtime).
+ *A list of volume definitions in JSON format that containers in your task might + * use.
* @public */ - placementConstraints?: PlacementConstraint[]; + volumes?: Volume[]; /** - *The placement strategy objects to use for the task. You can specify a maximum of 5 - * strategy rules for each task.
+ *An array of placement constraint objects to use for the task. You can specify a + * maximum of 10 constraints for each task. This limit includes constraints in the task + * definition and those specified at runtime.
* @public */ - placementStrategy?: PlacementStrategy[]; + placementConstraints?: TaskDefinitionPlacementConstraint[]; /** - *The platform version the task uses. A platform version is only specified for tasks
- * hosted on Fargate. If one isn't specified, the LATEST
- * platform version is used. For more information, see Fargate platform
- * versions in the Amazon Elastic Container Service Developer Guide.
The task launch type that Amazon ECS validates the task definition against. A client + * exception is returned if the task definition doesn't validate against the + * compatibilities specified. If no value is specified, the parameter is omitted from the + * response.
* @public */ - platformVersion?: string; + requiresCompatibilities?: Compatibility[]; /** - *Specifies whether to propagate the tags from the task definition to the task. If no - * value is specified, the tags aren't propagated. Tags can only be propagated to the task - * during task creation. To add tags to a task after task creation, use theTagResource API action.
+ *The number of CPU units used by the task. It can be expressed as an integer using CPU
+ * units (for example, 1024
) or as a string using vCPUs (for example, 1
+ * vCPU
or 1 vcpu
) in a task definition. String values are
+ * converted to an integer indicating the CPU units when the task definition is
+ * registered.
An error will be received if you specify the SERVICE
option when
- * running a task.
Task-level CPU and memory parameters are ignored for Windows containers. We + * recommend specifying container-level resources for Windows containers.
*If you're using the EC2 launch type, this field is optional. Supported
+ * values are between 128
CPU units (0.125
vCPUs) and
+ * 10240
CPU units (10
vCPUs). If you do not specify a value,
+ * the parameter is ignored.
If you're using the Fargate launch type, this field is required and you
+ * must use one of the following values, which determines your range of supported values
+ * for the memory
parameter:
The CPU units cannot be less than 1 vCPU when you use Windows containers on + * Fargate.
+ *256 (.25 vCPU) - Available memory
values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
512 (.5 vCPU) - Available memory
values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
1024 (1 vCPU) - Available memory
values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
2048 (2 vCPU) - Available memory
values: 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)
4096 (4 vCPU) - Available memory
values: 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
8192 (8 vCPU) - Available memory
values: 16 GB and 60 GB in 4 GB increments
This option requires Linux platform 1.4.0
or
+ * later.
16384 (16vCPU) - Available memory
values: 32GB and 120 GB in 8 GB increments
This option requires Linux platform 1.4.0
or
+ * later.
This parameter is only used by Amazon ECS. It is not intended for use by customers.
- * @public - */ - referenceId?: string; + cpu?: string; /** - *An optional tag specified when a task is started. For example, if you automatically
- * trigger a task to run a batch process job, you could apply a unique identifier for that
- * job to your task with the startedBy
parameter. You can then identify which
- * tasks belong to that job by filtering the results of a ListTasks call with
- * the startedBy
value. Up to 128 letters (uppercase and lowercase), numbers,
- * hyphens (-), forward slash (/), and underscores (_) are allowed.
If a task is started by an Amazon ECS service, then the startedBy
parameter
- * contains the deployment ID of the service that starts it.
The amount of memory (in MiB) used by the task. It can be expressed as an integer
+ * using MiB (for example ,1024
) or as a string using GB (for example,
+ * 1GB
or 1 GB
) in a task definition. String values are
+ * converted to an integer indicating the MiB when the task definition is
+ * registered.
Task-level CPU and memory parameters are ignored for Windows containers. We + * recommend specifying container-level resources for Windows containers.
+ *If using the EC2 launch type, this field is optional.
+ *If using the Fargate launch type, this field is required and you must
+ * use one of the following values. This determines your range of supported values for the
+ * cpu
parameter.
The CPU units cannot be less than 1 vCPU when you use Windows containers on + * Fargate.
+ *512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu
values: 256 (.25 vCPU)
1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu
values: 512 (.5 vCPU)
2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu
values: 1024 (1 vCPU)
Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu
values: 2048 (2 vCPU)
Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu
values: 4096 (4 vCPU)
Between 16 GB and 60 GB in 4 GB increments - Available cpu
values: 8192 (8 vCPU)
This option requires Linux platform 1.4.0
or
+ * later.
Between 32GB and 120 GB in 8 GB increments - Available cpu
values: 16384 (16 vCPU)
This option requires Linux platform 1.4.0
or
+ * later.
The metadata that you apply to the task to help you categorize and organize them. Each - * tag consists of a key and an optional value, both of which you define.
+ *The metadata that you apply to the task definition to help you categorize and organize + * them. Each tag consists of a key and an optional value. You define both of them.
*The following basic restrictions apply to tags:
*The family
and revision
(family:revision
) or
- * full ARN of the task definition to run. If a revision
isn't specified,
- * the latest ACTIVE
revision is used.
The full ARN value must match the value that you specified as the
- * Resource
of the principal's permissions policy.
When you specify a task definition, you must either specify a specific revision, or - * all revisions in the ARN.
- *To specify a specific revision, include the revision number in the ARN. For example,
- * to specify revision 2, use
- * arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:2
.
To specify all revisions, use the wildcard (*) in the ARN. For example, to specify
- * all revisions, use
- * arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*
.
For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service Developer Guide.
- * @public - */ - taskDefinition: string | undefined; - - /** - *An identifier that you provide to ensure the idempotency of the request. It must be - * unique and is case sensitive. Up to 64 characters are allowed. The valid characters are - * characters in the range of 33-126, inclusive. For more information, see Ensuring idempotency.
+ *The process namespace to use for the containers in the task. The valid
+ * values are host
or task
. On Fargate for
+ * Linux containers, the only valid value is task
. For
+ * example, monitoring sidecars might need pidMode
to access
+ * information about other containers running in the same task.
If host
is specified, all containers within the tasks
+ * that specified the host
PID mode on the same container
+ * instance share the same process namespace with the host Amazon EC2
+ * instance.
If task
is specified, all containers within the specified
+ * task share the same process namespace.
If no value is specified, the + * default is a private namespace for each container. For more information, + * see PID settings in the Docker run + * reference.
+ *If the host
PID mode is used, there's a heightened risk
+ * of undesired process namespace exposure. For more information, see
+ * Docker security.
This parameter is not supported for Windows containers.
+ *This parameter is only supported for tasks that are hosted on
+ * Fargate if the tasks are using platform version 1.4.0
or later
+ * (Linux). This isn't supported for Windows containers on
+ * Fargate.
The details of the volume that was configuredAtLaunch
. You can configure
- * the size, volumeType, IOPS, throughput, snapshot and encryption in in TaskManagedEBSVolumeConfiguration. The name
of the volume must
- * match the name
from the task definition.
The IPC resource namespace to use for the containers in the task. The valid values are
+ * host
, task
, or none
. If host
is
+ * specified, then all containers within the tasks that specified the host
IPC
+ * mode on the same container instance share the same IPC resources with the host Amazon EC2
+ * instance. If task
is specified, all containers within the specified task
+ * share the same IPC resources. If none
is specified, then IPC resources
+ * within the containers of a task are private and not shared with other containers in a
+ * task or on the container instance. If no value is specified, then the IPC resource
+ * namespace sharing depends on the Docker daemon setting on the container instance. For
+ * more information, see IPC
+ * settings in the Docker run reference.
If the host
IPC mode is used, be aware that there is a heightened risk of
+ * undesired IPC namespace expose. For more information, see Docker
+ * security.
If you are setting namespaced kernel parameters using systemControls
for
+ * the containers in the task, the following will apply to your IPC resource namespace. For
+ * more information, see System
+ * Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace related
+ * systemControls
are not supported.
For tasks that use the task
IPC mode, IPC namespace related
+ * systemControls
will apply to all containers within a
+ * task.
This parameter is not supported for Windows containers or tasks run on Fargate.
+ *A full description of the tasks that were run. The tasks that were successfully placed - * on your cluster are described here.
+ *The configuration details for the App Mesh proxy.
+ *For tasks hosted on Amazon EC2 instances, the container instances require at least version
+ * 1.26.0
of the container agent and at least version
+ * 1.26.0-1
of the ecs-init
package to use a proxy
+ * configuration. If your container instances are launched from the Amazon ECS-optimized
+ * AMI version 20190301
or later, then they contain the required versions of
+ * the container agent and ecs-init
. For more information, see Amazon ECS-optimized AMI versions in the Amazon Elastic Container Service Developer Guide.
Any failures associated with the call.
- *For information about how to address failures, see Service event messages and API failure - * reasons in the Amazon Elastic Container Service Developer Guide.
+ *The Elastic Inference accelerators to use for the containers in the task.
* @public */ - failures?: Failure[]; -} + inferenceAccelerators?: InferenceAccelerator[]; -/** - * @public - */ -export interface StartTaskRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster where to start your task. - * If you do not specify a cluster, the default cluster is assumed.
+ *The amount of ephemeral storage to allocate for the task. This parameter is used to + * expand the total amount of ephemeral storage available, beyond the default amount, for + * tasks hosted on Fargate. For more information, see Using data volumes in + * tasks in the Amazon ECS Developer Guide.
+ *For tasks using the Fargate launch type, the task requires the + * following platforms:
+ *Linux platform version 1.4.0
or later.
Windows platform version 1.0.0
or later.
The container instance IDs or full ARN entries for the container instances where you - * would like to place your task. You can specify up to 10 container instances.
+ *The operating system that your tasks definitions run on. A platform family is + * specified only for tasks using the Fargate launch type.
* @public */ - containerInstances: string[] | undefined; + runtimePlatform?: RuntimePlatform; +} +/** + * @public + */ +export interface RegisterTaskDefinitionResponse { /** - *Specifies whether to use Amazon ECS managed tags for the task. For more information, see - * Tagging Your Amazon ECS - * Resources in the Amazon Elastic Container Service Developer Guide.
+ *The full description of the registered task definition.
* @public */ - enableECSManagedTags?: boolean; + taskDefinition?: TaskDefinition; /** - *Whether or not the execute command functionality is turned on for the task. If
- * true
, this turns on the execute command functionality on all containers
- * in the task.
The list of tags associated with the task definition.
* @public */ - enableExecuteCommand?: boolean; + tags?: Tag[]; +} +/** + *Your Amazon Web Services account was blocked. For more information, contact + * Amazon Web Services Support.
+ * @public + */ +export class BlockedException extends __BaseException { + readonly name: "BlockedException" = "BlockedException"; + readonly $fault: "client" = "client"; /** - *The name of the task group to associate with the task. The default value is the family - * name of the task definition (for example, family:my-family-name).
- * @public + * @internal */ - group?: string; + constructor(opts: __ExceptionOptionTypeThe RunTask
request could not be processed due to conflicts. The provided
+ * clientToken
is already in use with a different RunTask
+ * request. The resourceIds
are the existing task ARNs which are already
+ * associated with the clientToken
.
To fix this issue:
+ *Run RunTask
with a unique clientToken
.
Run RunTask
with the clientToken
and the original
+ * set of parameters
The VPC subnet and security group configuration for tasks that receive their own
- * elastic network interface by using the awsvpc
networking mode.
The existing task ARNs which are already associated with the
+ * clientToken
.
A list of container overrides in JSON format that specify the name of a container in
- * the specified task definition and the overrides it receives. You can override the
- * default command for a container (that's specified in the task definition or Docker
- * image) with a command
override. You can also override existing environment
- * variables (that are specified in the task definition or Docker image) on a container or
- * add new environment variables to it with an environment
override.
A total of 8192 characters are allowed for overrides. This limit includes the JSON - * formatting characters of the override structure.
- *The termination policy for the Amazon EBS volume when the task exits. For more information, + * see Amazon ECS volume termination policy.
+ * @public + */ +export interface TaskManagedEBSVolumeTerminationPolicy { /** - *Specifies whether to propagate the tags from the task definition or the service to the - * task. If no value is specified, the tags aren't propagated.
+ *Indicates whether the volume should be deleted on when the task stops. If a value of
+ * true
is specified, 
Amazon ECS deletes the Amazon EBS volume on your behalf when
+ * the task goes into the STOPPED
state. If no value is specified, the
+ * 
default value is true
is used. When set to false
, Amazon ECS
+ * leaves the volume in your 
account.
The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. + * These settings are used to create each Amazon EBS volume, with one volume created for each + * task.
+ * @public + */ +export interface TaskManagedEBSVolumeConfiguration { /** - *This parameter is only used by Amazon ECS. It is not intended for use by customers.
+ *Indicates whether the volume should be encrypted. If no value is specified, encryption
+ * is turned on by default. This parameter maps 1:1 with the Encrypted
+ * parameter of the CreateVolume API in
+ * the Amazon EC2 API Reference.
An optional tag specified when a task is started. For example, if you automatically trigger
- * a task to run a batch process job, you could apply a unique identifier for that job to
- * your task with the startedBy
parameter. You can then identify which tasks
- * belong to that job by filtering the results of a ListTasks call with
- * the startedBy
value. Up to 36 letters (uppercase and lowercase), numbers,
- * hyphens (-), forward slash (/), and underscores (_) are allowed.
If a task is started by an Amazon ECS service, the startedBy
parameter
- * contains the deployment ID of the service that starts it.
The Amazon Resource Name (ARN) identifier of the Amazon Web Services Key Management Service key to use for Amazon EBS encryption. When
+ * encryption is turned on and no Amazon Web Services Key Management Service key is specified, the default Amazon Web Services managed key
+ * for Amazon EBS volumes is used. This parameter maps 1:1 with the KmsKeyId
+ * parameter of the CreateVolume API in
+ * the Amazon EC2 API Reference.
Amazon Web Services authenticates the Amazon Web Services Key Management Service key asynchronously. Therefore, if you specify an + * ID, alias, or ARN that is invalid, the action can appear to complete, but + * eventually fails.
+ *The metadata that you apply to the task to help you categorize and organize them. Each - * tag consists of a key and an optional value, both of which you define.
- *The following basic restrictions apply to tags:
+ *The volume type. This parameter maps 1:1 with the VolumeType
parameter of
+ * the CreateVolume API in the Amazon EC2 API Reference. For more
+ * information, see Amazon EBS volume types in
+ * the Amazon EC2 User Guide.
The following are the supported volume types.
*Maximum number of tags per resource - 50
- *For each resource, each tag key must be unique, and each tag key can have only - * one value.
- *Maximum key length - 128 Unicode characters in UTF-8
+ *General Purpose SSD: gp2
|gp3
+ *
Maximum value length - 256 Unicode characters in UTF-8
+ *Provisioned IOPS SSD: io1
|io2
+ *
If your tagging schema is used across multiple services and resources, - * remember that other services may have restrictions on allowed characters. - * Generally allowed characters are: letters, numbers, and spaces representable in - * UTF-8, and the following characters: + - = . _ : / @.
+ *Throughput Optimized HDD: st1
+ *
Tag keys and values are case-sensitive.
+ *Cold HDD: sc1
+ *
Do not use aws:
, AWS:
, or any upper or lowercase
- * combination of such as a prefix for either keys or values as it is reserved for
- * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
- * this prefix do not count against your tags per resource limit.
Magnetic: standard
+ *
The magnetic volume type is not supported on Fargate.
+ *The family
and revision
(family:revision
) or
- * full ARN of the task definition to start. If a revision
isn't specified,
- * the latest ACTIVE
revision is used.
The details of the volume that was configuredAtLaunch
. You can configure
- * the size, volumeType, IOPS, throughput, snapshot and encryption in TaskManagedEBSVolumeConfiguration. The name
of the volume must
- * match the name
from the task definition.
A full description of the tasks that were started. Each task that was successfully - * placed on your container instances is described.
+ *The size of the volume in GiB. You must specify either a volume size or a snapshot ID.
+ * If you specify a snapshot ID, the snapshot size is used for the volume size by default.
+ * You can optionally specify a volume size greater than or equal to the snapshot size.
+ * This parameter maps 1:1 with the Size
parameter of the CreateVolume API in the Amazon EC2 API Reference.
The following are the supported volume size values for each volume type.
+ *
+ * gp2
and gp3
: 1-16,384
+ * io1
and io2
: 4-16,384
+ * st1
and sc1
: 125-16,384
+ * standard
: 1-1,024
Any failures associated with the call.
+ *The snapshot that Amazon ECS uses to create the volume. You must specify either a snapshot
+ * ID or a volume size. This parameter maps 1:1 with the SnapshotId
parameter
+ * of the CreateVolume API in
+ * the Amazon EC2 API Reference.
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop. - * If you do not specify a cluster, the default cluster is assumed.
+ *The number of I/O operations per second (IOPS). For gp3
,
+ * io1
, and io2
volumes, this represents the number of IOPS that
+ * are provisioned for the volume. For gp2
volumes, this represents the
+ * baseline performance of the volume and the rate at which the volume accumulates I/O
+ * credits for bursting.
The following are the supported values for each volume type.
+ *
+ * gp3
: 3,000 - 16,000 IOPS
+ * io1
: 100 - 64,000 IOPS
+ * io2
: 100 - 256,000 IOPS
This parameter is required for io1
and io2
volume types. The
+ * default for gp3
volumes is 3,000 IOPS
. This parameter is not
+ * supported for st1
, sc1
, or standard
volume
+ * types.
This parameter maps 1:1 with the Iops
parameter of the CreateVolume API in the Amazon EC2 API Reference.
The task ID of the task to stop.
+ *The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s.
+ * This parameter maps 1:1 with the Throughput
parameter of the CreateVolume API in the Amazon EC2 API Reference.
This parameter is only supported for the gp3
volume type.
An optional message specified when a task is stopped. For example, if you're using a - * custom scheduler, you can use this parameter to specify the reason for stopping the task - * here, and the message appears in subsequent DescribeTasks> API - * operations on this task.
+ *The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This
+ * parameter maps 1:1 with the TagSpecifications.N
parameter of the CreateVolume API in the Amazon EC2 API Reference.
The task that was stopped.
+ *The ARN of the IAM role to associate with this volume. This is the Amazon ECS
+ * infrastructure IAM role that is used to manage your Amazon Web Services infrastructure. We recommend
+ * using the Amazon ECS-managed AmazonECSInfrastructureRolePolicyForVolumes
IAM
+ * policy with this role. For more information, see Amazon ECS
+ * infrastructure IAM role in the Amazon ECS Developer
+ * Guide.
An object representing a change in state for a task attachment.
- * @public - */ -export interface AttachmentStateChange { /** - *The Amazon Resource Name (ARN) of the attachment.
+ *The termination policy for the volume when the task exits. This provides a way to + * control whether Amazon ECS terminates the Amazon EBS volume when the task stops.
* @public */ - attachmentArn: string | undefined; + terminationPolicy?: TaskManagedEBSVolumeTerminationPolicy; /** - *The status of the attachment.
+ *The Linux filesystem type for the volume. For volumes created from a snapshot, you + * must specify the same filesystem type that the volume was using when the snapshot was + * created. If there is a filesystem type mismatch, the task will fail to start.
+ *The available filesystem types are
 ext3
, ext4
, and
+ * xfs
. If no value is specified, the xfs
filesystem type is
+ * used by default.
Configuration settings for the task volume that was configuredAtLaunch
+ * that weren't set during RegisterTaskDef
.
The short name or full ARN of the cluster that hosts the container instance the - * attachment belongs to.
- * @public - */ - cluster?: string; - +export interface TaskVolumeConfiguration { /** - *Any attachments associated with the state change request.
+ *The name of the volume. This value must match the volume name from the
+ * Volume
object in the task definition.
Acknowledgement of the state change.
+ *The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf. + * These settings are used to create each Amazon EBS volume, with one volume created for each + * task. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are + * created.
* @public */ - acknowledgment?: string; + managedEBSVolume?: TaskManagedEBSVolumeConfiguration; } /** * @public */ -export interface SubmitContainerStateChangeRequest { - /** - *The short name or full ARN of the cluster that hosts the container.
- * @public - */ - cluster?: string; - +export interface RunTaskRequest { /** - *The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.
+ *The capacity provider strategy to use for the task.
+ *If a capacityProviderStrategy
is specified, the launchType
+ * parameter must be omitted. If no capacityProviderStrategy
or
+ * launchType
is specified, the
+ * defaultCapacityProviderStrategy
for the cluster is used.
When you use cluster auto scaling, you must specify
+ * capacityProviderStrategy
and not launchType
.
A capacity provider strategy may contain a maximum of 6 capacity providers.
* @public */ - task?: string; + capacityProviderStrategy?: CapacityProviderStrategyItem[]; /** - *The name of the container.
+ *The short name or full Amazon Resource Name (ARN) of the cluster to run your task on. + * If you do not specify a cluster, the default cluster is assumed.
* @public */ - containerName?: string; + cluster?: string; /** - *The ID of the Docker container.
+ *The number of instantiations of the specified task to place on your cluster. You can + * specify up to 10 tasks for each call.
* @public */ - runtimeId?: string; + count?: number; /** - *The status of the state change request.
+ *Specifies whether to use Amazon ECS managed tags for the task. For more information, see + * Tagging Your Amazon ECS + * Resources in the Amazon Elastic Container Service Developer Guide.
* @public */ - status?: string; + enableECSManagedTags?: boolean; /** - *The exit code that's returned for the state change request.
+ *Determines whether to use the execute command functionality for the containers in this
+ * task. If true
, this enables execute command functionality on all containers
+ * in the task.
If true
, then the task definition must have a task role, or you must
+ * provide one as an override.
The reason for the state change request.
+ *The name of the task group to associate with the task. The default value is the family
+ * name of the task definition (for example, family:my-family-name
).
The network bindings of the container.
+ *The infrastructure to run your standalone task on. For more information, see Amazon ECS + * launch types in the Amazon Elastic Container Service Developer Guide.
+ *The FARGATE
launch type runs your tasks on Fargate On-Demand
+ * infrastructure.
Fargate Spot infrastructure is available for use but a capacity provider + * strategy must be used. For more information, see Fargate capacity providers in the + * Amazon ECS Developer Guide.
+ *The EC2
launch type runs your tasks on Amazon EC2 instances registered to your
+ * cluster.
The EXTERNAL
launch type runs your tasks on your on-premises server or
+ * virtual machine (VM) capacity registered to your cluster.
A task can use either a launch type or a capacity provider strategy. If a
+ * launchType
is specified, the capacityProviderStrategy
+ * parameter must be omitted.
When you use cluster auto scaling, you must specify
+ * capacityProviderStrategy
and not launchType
.
Acknowledgement of the state change.
+ *The network configuration for the task. This parameter is required for task
+ * definitions that use the awsvpc
network mode to receive their own elastic
+ * network interface, and it isn't supported for other network modes. For more information,
+ * see Task networking
+ * in the Amazon Elastic Container Service Developer Guide.
An object that represents a change in state for a container.
- * @public - */ -export interface ContainerStateChange { /** - *The name of the container.
+ *A list of container overrides in JSON format that specify the name of a container in
+ * the specified task definition and the overrides it should receive. You can override the
+ * default command for a container (that's specified in the task definition or Docker
+ * image) with a command
override. You can also override existing environment
+ * variables (that are specified in the task definition or Docker image) on a container or
+ * add new environment variables to it with an environment
override.
A total of 8192 characters are allowed for overrides. This limit includes the JSON + * formatting characters of the override structure.
* @public */ - containerName?: string; + overrides?: TaskOverride; /** - *The container image SHA 256 digest.
+ *An array of placement constraint objects to use for the task. You can specify up to 10 + * constraints for each task (including constraints in the task definition and those + * specified at runtime).
* @public */ - imageDigest?: string; + placementConstraints?: PlacementConstraint[]; /** - *The ID of the Docker container.
+ *The placement strategy objects to use for the task. You can specify a maximum of 5 + * strategy rules for each task.
* @public */ - runtimeId?: string; + placementStrategy?: PlacementStrategy[]; /** - *The exit code for the container, if the state change is a result of the container - * exiting.
+ *The platform version the task uses. A platform version is only specified for tasks
+ * hosted on Fargate. If one isn't specified, the LATEST
+ * platform version is used. For more information, see Fargate platform
+ * versions in the Amazon Elastic Container Service Developer Guide.
Any network bindings that are associated with the container.
+ *Specifies whether to propagate the tags from the task definition to the task. If no + * value is specified, the tags aren't propagated. Tags can only be propagated to the task + * during task creation. To add tags to a task after task creation, use theTagResource API action.
+ *An error will be received if you specify the SERVICE
option when
+ * running a task.
The reason for the state change.
+ *This parameter is only used by Amazon ECS. It is not intended for use by customers.
* @public */ - reason?: string; + referenceId?: string; /** - *The status of the container.
+ *An optional tag specified when a task is started. For example, if you automatically
+ * trigger a task to run a batch process job, you could apply a unique identifier for that
+ * job to your task with the startedBy
parameter. You can then identify which
+ * tasks belong to that job by filtering the results of a ListTasks call with
+ * the startedBy
value. Up to 128 letters (uppercase and lowercase), numbers,
+ * hyphens (-), forward slash (/), and underscores (_) are allowed.
If a task is started by an Amazon ECS service, then the startedBy
parameter
+ * contains the deployment ID of the service that starts it.
An object representing a change in state for a managed agent.
- * @public - */ -export interface ManagedAgentStateChange { /** - *The name of the container that's associated with the managed agent.
+ *The metadata that you apply to the task to help you categorize and organize them. Each + * tag consists of a key and an optional value, both of which you define.
+ *The following basic restrictions apply to tags:
+ *Maximum number of tags per resource - 50
+ *For each resource, each tag key must be unique, and each tag key can have only + * one value.
+ *Maximum key length - 128 Unicode characters in UTF-8
+ *Maximum value length - 256 Unicode characters in UTF-8
+ *If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.
+ *Tag keys and values are case-sensitive.
+ *Do not use aws:
, AWS:
, or any upper or lowercase
+ * combination of such as a prefix for either keys or values as it is reserved for
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
+ * this prefix do not count against your tags per resource limit.
The name of the managed agent.
+ *The family
and revision
(family:revision
) or
+ * full ARN of the task definition to run. If a revision
isn't specified,
+ * the latest ACTIVE
revision is used.
The full ARN value must match the value that you specified as the
+ * Resource
of the principal's permissions policy.
When you specify a task definition, you must either specify a specific revision, or + * all revisions in the ARN.
+ *To specify a specific revision, include the revision number in the ARN. For example,
+ * to specify revision 2, use
+ * arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:2
.
To specify all revisions, use the wildcard (*) in the ARN. For example, to specify
+ * all revisions, use
+ * arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*
.
For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service Developer Guide.
* @public */ - managedAgentName: ManagedAgentName | undefined; + taskDefinition: string | undefined; /** - *The status of the managed agent.
+ *An identifier that you provide to ensure the idempotency of the request. It must be + * unique and is case sensitive. Up to 64 characters are allowed. The valid characters are + * characters in the range of 33-126, inclusive. For more information, see Ensuring idempotency.
* @public */ - status: string | undefined; + clientToken?: string; /** - *The reason for the status of the managed agent.
+ *The details of the volume that was configuredAtLaunch
. You can configure
+ * the size, volumeType, IOPS, throughput, snapshot and encryption in in TaskManagedEBSVolumeConfiguration. The name
of the volume must
+ * match the name
from the task definition.
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.
+ *A full description of the tasks that were run. The tasks that were successfully placed + * on your cluster are described here.
* @public */ - cluster?: string; + tasks?: Task[]; /** - *The task ID or full ARN of the task in the state change request.
+ *Any failures associated with the call.
+ *For information about how to address failures, see Service event messages and API failure + * reasons in the Amazon Elastic Container Service Developer Guide.
* @public */ - task?: string; + failures?: Failure[]; +} +/** + * @public + */ +export interface StartTaskRequest { /** - *The status of the state change request.
+ *The short name or full Amazon Resource Name (ARN) of the cluster where to start your task. + * If you do not specify a cluster, the default cluster is assumed.
* @public */ - status?: string; + cluster?: string; /** - *The reason for the state change request.
+ *The container instance IDs or full ARN entries for the container instances where you + * would like to place your task. You can specify up to 10 container instances.
* @public */ - reason?: string; + containerInstances: string[] | undefined; /** - *Any containers that's associated with the state change request.
+ *Specifies whether to use Amazon ECS managed tags for the task. For more information, see + * Tagging Your Amazon ECS + * Resources in the Amazon Elastic Container Service Developer Guide.
* @public */ - containers?: ContainerStateChange[]; + enableECSManagedTags?: boolean; /** - *Any attachments associated with the state change request.
+ *Whether or not the execute command functionality is turned on for the task. If
+ * true
, this turns on the execute command functionality on all containers
+ * in the task.
The details for the managed agent that's associated with the task.
+ *The name of the task group to associate with the task. The default value is the family + * name of the task definition (for example, family:my-family-name).
* @public */ - managedAgents?: ManagedAgentStateChange[]; + group?: string; /** - *The Unix timestamp for the time when the container image pull started.
+ *The VPC subnet and security group configuration for tasks that receive their own
+ * elastic network interface by using the awsvpc
networking mode.
The Unix timestamp for the time when the container image pull completed.
+ *A list of container overrides in JSON format that specify the name of a container in
+ * the specified task definition and the overrides it receives. You can override the
+ * default command for a container (that's specified in the task definition or Docker
+ * image) with a command
override. You can also override existing environment
+ * variables (that are specified in the task definition or Docker image) on a container or
+ * add new environment variables to it with an environment
override.
A total of 8192 characters are allowed for overrides. This limit includes the JSON + * formatting characters of the override structure.
+ *The Unix timestamp for the time when the task execution stopped.
+ *Specifies whether to propagate the tags from the task definition or the service to the + * task. If no value is specified, the tags aren't propagated.
* @public */ - executionStoppedAt?: Date; -} + propagateTags?: PropagateTags; -/** - * @public - */ -export interface SubmitTaskStateChangeResponse { /** - *Acknowledgement of the state change.
+ *This parameter is only used by Amazon ECS. It is not intended for use by customers.
* @public */ - acknowledgment?: string; -} + referenceId?: string; -/** - * @public - */ -export interface TagResourceRequest { /** - *The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the supported resources are - * Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container - * instances.
+ *An optional tag specified when a task is started. For example, if you automatically trigger
+ * a task to run a batch process job, you could apply a unique identifier for that job to
+ * your task with the startedBy
parameter. You can then identify which tasks
+ * belong to that job by filtering the results of a ListTasks call with
+ * the startedBy
value. Up to 36 letters (uppercase and lowercase), numbers,
+ * hyphens (-), forward slash (/), and underscores (_) are allowed.
If a task is started by an Amazon ECS service, the startedBy
parameter
+ * contains the deployment ID of the service that starts it.
The tags to add to the resource. A tag is an array of key-value pairs.
+ *The metadata that you apply to the task to help you categorize and organize them. Each + * tag consists of a key and an optional value, both of which you define.
*The following basic restrictions apply to tags:
*The Amazon Resource Name (ARN) of the resource to delete tags from. Currently, the supported resources - * are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container - * instances.
+ *The family
and revision
(family:revision
) or
+ * full ARN of the task definition to start. If a revision
isn't specified,
+ * the latest ACTIVE
revision is used.
The keys of the tags to be removed.
+ *The details of the volume that was configuredAtLaunch
. You can configure
+ * the size, volumeType, IOPS, throughput, snapshot and encryption in TaskManagedEBSVolumeConfiguration. The name
of the volume must
+ * match the name
from the task definition.
The details of the Auto Scaling group capacity provider to update.
- * @public - */ -export interface AutoScalingGroupProviderUpdate { - /** - *The managed scaling settings for the Auto Scaling group capacity provider.
- * @public - */ - managedScaling?: ManagedScaling; - +export interface StartTaskResponse { /** - *The managed termination protection setting to use for the Auto Scaling group capacity - * provider. This determines whether the Auto Scaling group has managed termination - * protection.
- *When using managed termination protection, managed scaling must also be used - * otherwise managed termination protection doesn't work.
- *When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an - * Auto Scaling group that contain tasks from being terminated during a scale-in action. - * The Auto Scaling group and each instance in the Auto Scaling group must have instance - * protection from scale-in actions on. For more information, see Instance Protection in the Auto Scaling User Guide.
- *When managed termination protection is off, your Amazon EC2 instances aren't protected from - * termination when the Auto Scaling group scales in.
+ *A full description of the tasks that were started. Each task that was successfully + * placed on your container instances is described.
* @public */ - managedTerminationProtection?: ManagedTerminationProtection; + tasks?: Task[]; /** - *The managed draining option for the Auto Scaling group capacity provider. When you enable this, Amazon ECS manages and gracefully drains the EC2 container instances that are in the Auto Scaling group capacity provider.
+ *Any failures associated with the call.
* @public */ - managedDraining?: ManagedDraining; + failures?: Failure[]; } /** * @public */ -export interface UpdateCapacityProviderRequest { +export interface StopTaskRequest { /** - *The name of the capacity provider to update.
+ *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop. + * If you do not specify a cluster, the default cluster is assumed.
* @public */ - name: string | undefined; + cluster?: string; /** - *An object that represent the parameters to update for the Auto Scaling group capacity - * provider.
+ *The task ID of the task to stop.
* @public */ - autoScalingGroupProvider: AutoScalingGroupProviderUpdate | undefined; + task: string | undefined; + + /** + *An optional message specified when a task is stopped. For example, if you're using a + * custom scheduler, you can use this parameter to specify the reason for stopping the task + * here, and the message appears in subsequent DescribeTasks> API + * operations on this task.
+ * @public + */ + reason?: string; } /** * @public */ -export interface UpdateCapacityProviderResponse { +export interface StopTaskResponse { /** - *Details about the capacity provider.
+ *The task that was stopped.
* @public */ - capacityProvider?: CapacityProvider; + task?: Task; } /** + *An object representing a change in state for a task attachment.
* @public */ -export interface UpdateClusterRequest { +export interface AttachmentStateChange { /** - *The name of the cluster to modify the settings for.
+ *The Amazon Resource Name (ARN) of the attachment.
* @public */ - cluster: string | undefined; + attachmentArn: string | undefined; /** - *The cluster settings for your cluster.
+ *The status of the attachment.
* @public */ - settings?: ClusterSetting[]; + status: string | undefined; +} +/** + * @public + */ +export interface SubmitAttachmentStateChangesRequest { /** - *The execute command configuration for the cluster.
+ *The short name or full ARN of the cluster that hosts the container instance the + * attachment belongs to.
* @public */ - configuration?: ClusterConfiguration; + cluster?: string; /** - *Use this parameter to set a default Service Connect namespace. After you set a default
- * Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as
- * client services in the namespace. This setting only applies to new services that set the enabled
parameter to
- * true
in the ServiceConnectConfiguration
.
- * You can set the namespace of each service individually in the ServiceConnectConfiguration
to override this default
- * parameter.
Tasks that run in a namespace can use short names to connect - * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. - * Tasks connect through a managed proxy container - * that collects logs and metrics for increased visibility. - * Only the tasks that Amazon ECS services create are supported with Service Connect. - * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.
+ *Any attachments associated with the state change request.
* @public */ - serviceConnectDefaults?: ClusterServiceConnectDefaultsRequest; + attachments: AttachmentStateChange[] | undefined; } /** * @public */ -export interface UpdateClusterResponse { +export interface SubmitAttachmentStateChangesResponse { /** - *Details about the cluster.
+ *Acknowledgement of the state change.
* @public */ - cluster?: Cluster; + acknowledgment?: string; } /** * @public */ -export interface UpdateClusterSettingsRequest { +export interface SubmitContainerStateChangeRequest { /** - *The name of the cluster to modify the settings for.
+ *The short name or full ARN of the cluster that hosts the container.
* @public */ - cluster: string | undefined; + cluster?: string; /** - *The setting to use by default for a cluster. This parameter is used to turn on CloudWatch
- * Container Insights for a cluster. If this value is specified, it overrides the
- * containerInsights
value set with PutAccountSetting or
- * PutAccountSettingDefault.
Currently, if you delete an existing cluster that does not have Container Insights - * turned on, and then create a new cluster with the same name with Container Insights - * tuned on, Container Insights will not actually be turned on. If you want to preserve - * the same name for your existing cluster and turn on Container Insights, you must - * wait 7 days before you can re-create it.
- *The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.
* @public */ - settings: ClusterSetting[] | undefined; -} + task?: string; -/** - * @public - */ -export interface UpdateClusterSettingsResponse { /** - *Details about the cluster
+ *The name of the container.
* @public */ - cluster?: Cluster; -} + containerName?: string; -/** - *Amazon ECS can't determine the current version of the Amazon ECS container agent on the - * container instance and doesn't have enough information to proceed with an update. This - * could be because the agent running on the container instance is a previous or custom - * version that doesn't use our version information.
- * @public - */ -export class MissingVersionException extends __BaseException { - readonly name: "MissingVersionException" = "MissingVersionException"; - readonly $fault: "client" = "client"; /** - * @internal + *The ID of the Docker container.
+ * @public */ - constructor(opts: __ExceptionOptionTypeThere's no update available for this Amazon ECS container agent. This might be because the - * agent is already running the latest version or because it's so old that there's no - * update path to the current version.
- * @public - */ -export class NoUpdateAvailableException extends __BaseException { - readonly name: "NoUpdateAvailableException" = "NoUpdateAvailableException"; - readonly $fault: "client" = "client"; /** - * @internal + *The status of the state change request.
+ * @public */ - constructor(opts: __ExceptionOptionTypeThe short name or full Amazon Resource Name (ARN) of the cluster that your container instance is - * running on. If you do not specify a cluster, the default cluster is assumed.
+ *The exit code that's returned for the state change request.
* @public */ - cluster?: string; + exitCode?: number; /** - *The container instance ID or full ARN entries for the container instance where you - * would like to update the Amazon ECS container agent.
+ *The reason for the state change request.
* @public */ - containerInstance: string | undefined; -} + reason?: string; -/** - * @public - */ -export interface UpdateContainerAgentResponse { /** - *The container instance that the container agent was updated for.
+ *The network bindings of the container.
* @public */ - containerInstance?: ContainerInstance; + networkBindings?: NetworkBinding[]; } /** * @public */ -export interface UpdateContainerInstancesStateRequest { - /** - *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to - * update. If you do not specify a cluster, the default cluster is assumed.
- * @public - */ - cluster?: string; - - /** - *A list of up to 10 container instance IDs or full ARN entries.
- * @public - */ - containerInstances: string[] | undefined; - +export interface SubmitContainerStateChangeResponse { /** - *The container instance state to update the container instance with. The only valid
- * values for this action are ACTIVE
and DRAINING
. A container
- * instance can only be updated to DRAINING
status once it has reached an
- * ACTIVE
state. If a container instance is in REGISTERING
,
- * DEREGISTERING
, or REGISTRATION_FAILED
state you can
- * describe the container instance but can't update the container instance state.
Acknowledgement of the state change.
* @public */ - status: ContainerInstanceStatus | undefined; + acknowledgment?: string; } /** + *An object that represents a change in state for a container.
* @public */ -export interface UpdateContainerInstancesStateResponse { +export interface ContainerStateChange { /** - *The list of container instances.
+ *The name of the container.
* @public */ - containerInstances?: ContainerInstance[]; + containerName?: string; /** - *Any failures associated with the call.
+ *The container image SHA 256 digest.
* @public */ - failures?: Failure[]; -} + imageDigest?: string; -/** - * @public - */ -export interface UpdateServiceRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on. - * If you do not specify a cluster, the default cluster is assumed.
+ *The ID of the Docker container.
* @public */ - cluster?: string; + runtimeId?: string; /** - *The name of the service to update.
+ *The exit code for the container, if the state change is a result of the container + * exiting.
* @public */ - service: string | undefined; + exitCode?: number; /** - *The number of instantiations of the task to place and keep running in your - * service.
+ *Any network bindings that are associated with the container.
* @public */ - desiredCount?: number; + networkBindings?: NetworkBinding[]; /** - *The family
and revision
(family:revision
) or
- * full ARN of the task definition to run in your service. If a revision
is
- * not specified, the latest ACTIVE
revision is used. If you modify the task
- * definition with UpdateService
, Amazon ECS spawns a task with the new version of
- * the task definition and then stops an old task after the new version is running.
The reason for the state change.
* @public */ - taskDefinition?: string; + reason?: string; /** - *The capacity provider strategy to update the service to use.
- *if the service uses the default capacity provider strategy for the cluster, the - * service can be updated to use one or more capacity providers as opposed to the default - * capacity provider strategy. However, when a service is using a capacity provider - * strategy that's not the default capacity provider strategy, the service can't be updated - * to use the cluster's default capacity provider strategy.
- *A capacity provider strategy consists of one or more capacity providers along with the
- * base
and weight
to assign to them. A capacity provider
- * must be associated with the cluster to be used in a capacity provider strategy. The
- * PutClusterCapacityProviders API is used to associate a capacity
- * provider with a cluster. Only capacity providers with an ACTIVE
or
- * UPDATING
status can be used.
If specifying a capacity provider that uses an Auto Scaling group, the capacity - * provider must already be created. New capacity providers can be created with the CreateClusterCapacityProvider API operation.
- *To use a Fargate capacity provider, specify either the FARGATE
or
- * FARGATE_SPOT
capacity providers. The Fargate capacity providers are
- * available to all accounts and only need to be associated with a cluster to be
- * used.
The PutClusterCapacityProvidersAPI operation is used to update the - * list of available capacity providers for a cluster after the cluster is created.
- * + *The status of the container.
* @public */ - capacityProviderStrategy?: CapacityProviderStrategyItem[]; + status?: string; +} +/** + *An object representing a change in state for a managed agent.
+ * @public + */ +export interface ManagedAgentStateChange { /** - *Optional deployment parameters that control how many tasks run during the deployment - * and the ordering of stopping and starting tasks.
+ *The name of the container that's associated with the managed agent.
* @public */ - deploymentConfiguration?: DeploymentConfiguration; + containerName: string | undefined; /** - *An object representing the network configuration for the service.
+ *The name of the managed agent.
* @public */ - networkConfiguration?: NetworkConfiguration; + managedAgentName: ManagedAgentName | undefined; /** - *An array of task placement constraint objects to update the service to use. If no - * value is specified, the existing placement constraints for the service will remain - * unchanged. If this value is specified, it will override any existing placement - * constraints defined for the service. To remove all existing placement constraints, - * specify an empty array.
- *You can specify a maximum of 10 constraints for each task. This limit includes - * constraints in the task definition and those specified at runtime.
+ *The status of the managed agent.
* @public */ - placementConstraints?: PlacementConstraint[]; + status: string | undefined; /** - *The task placement strategy objects to update the service to use. If no value is - * specified, the existing placement strategy for the service will remain unchanged. If - * this value is specified, it will override the existing placement strategy defined for - * the service. To remove an existing placement strategy, specify an empty object.
- *You can specify a maximum of five strategy rules for each service.
+ *The reason for the status of the managed agent.
* @public */ - placementStrategy?: PlacementStrategy[]; + reason?: string; +} +/** + * @public + */ +export interface SubmitTaskStateChangeRequest { /** - *The platform version that your tasks in the service run on. A platform version is only
- * specified for tasks using the Fargate launch type. If a platform version
- * is not specified, the LATEST
platform version is used. For more
- * information, see Fargate Platform
- * Versions in the Amazon Elastic Container Service Developer Guide.
The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.
* @public */ - platformVersion?: string; + cluster?: string; /** - *Determines whether to force a new deployment of the service. By default, deployments
- * aren't forced. You can use this option to start a new deployment with no service
- * definition changes. For example, you can update a service's tasks to use a newer Docker
- * image with the same image/tag combination (my_image:latest
) or to roll
- * Fargate tasks onto a newer platform version.
The task ID or full ARN of the task in the state change request.
* @public */ - forceNewDeployment?: boolean; + task?: string; /** - *The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy - * Elastic Load Balancing target health checks after a task has first started. This is only valid if your - * service is configured to use a load balancer. If your service's tasks take a while to - * start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of - * up to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler ignores - * the Elastic Load Balancing health check status. This grace period can prevent the ECS service scheduler - * from marking tasks as unhealthy and stopping them before they have time to come - * up.
+ *The status of the state change request.
* @public */ - healthCheckGracePeriodSeconds?: number; + status?: string; /** - *If true
, this enables execute command functionality on all task
- * containers.
If you do not want to override the value that was set when the service was created,
- * you can set this to null
when performing this action.
The reason for the state change request.
* @public */ - enableExecuteCommand?: boolean; + reason?: string; /** - *Determines whether to turn on Amazon ECS managed tags for the tasks in the service. For - * more information, see Tagging Your Amazon ECS - * Resources in the Amazon Elastic Container Service Developer Guide.
- *Only tasks launched after the update will reflect the update. To update the tags on
- * all tasks, set forceNewDeployment
to true
, so that Amazon ECS
- * starts new tasks with the updated tags.
Any containers that's associated with the state change request.
* @public */ - enableECSManagedTags?: boolean; + containers?: ContainerStateChange[]; /** - *A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the - * container name, and the container port to access from the load balancer. The container - * name is as it appears in a container definition.
- *When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks - * with the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks - * are running.
- *For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target - * groups. You can update from a single target group to multiple target groups and from - * multiple target groups to a single target group.
- *For services that use blue/green deployments, you can update Elastic Load Balancing target groups by
- * using
- * CreateDeployment
- *
through CodeDeploy. Note that multiple target groups
- * are not supported for blue/green deployments. For more information see Register
- * multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.
For services that use the external deployment controller, you can add, update, or - * remove load balancers by using CreateTaskSet. - * Note that multiple target groups are not supported for external deployments. For more - * information see Register - * multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.
- *You can remove existing loadBalancers
by passing an empty list.
Any attachments associated with the state change request.
* @public */ - loadBalancers?: LoadBalancer[]; + attachments?: AttachmentStateChange[]; /** - *Determines whether to propagate the tags from the task definition or the service to - * the task. If no value is specified, the tags aren't propagated.
- *Only tasks launched after the update will reflect the update. To update the tags on
- * all tasks, set forceNewDeployment
to true
, so that Amazon ECS
- * starts new tasks with the updated tags.
The details for the managed agent that's associated with the task.
* @public */ - propagateTags?: PropagateTags; + managedAgents?: ManagedAgentStateChange[]; /** - *The details for the service discovery registries to assign to this service. For more - * information, see Service - * Discovery.
- *When you add, update, or remove the service registries configuration, Amazon ECS starts new - * tasks with the updated service registries configuration, and then stops the old tasks - * when the new tasks are running.
- *You can remove existing serviceRegistries
by passing an empty
- * list.
The Unix timestamp for the time when the container image pull started.
* @public */ - serviceRegistries?: ServiceRegistry[]; + pullStartedAt?: Date; /** - *The configuration for this service to discover and connect to - * services, and be discovered by, and connected from, other services within a namespace.
- *Tasks that run in a namespace can use short names to connect - * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. - * Tasks connect through a managed proxy container - * that collects logs and metrics for increased visibility. - * Only the tasks that Amazon ECS services create are supported with Service Connect. - * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.
+ *The Unix timestamp for the time when the container image pull completed.
* @public */ - serviceConnectConfiguration?: ServiceConnectConfiguration; + pullStoppedAt?: Date; /** - *The details of the volume that was configuredAtLaunch
. You can configure
- * the size, volumeType, IOPS, throughput, snapshot and encryption in ServiceManagedEBSVolumeConfiguration. The name
of the volume
- * must match the name
from the task definition. If set to null, no new
- * deployment is triggered. Otherwise, if this configuration differs from the existing one,
- * it triggers a new deployment.
The Unix timestamp for the time when the task execution stopped.
* @public */ - volumeConfigurations?: ServiceVolumeConfiguration[]; + executionStoppedAt?: Date; } /** * @public */ -export interface UpdateServiceResponse { +export interface SubmitTaskStateChangeResponse { /** - *The full description of your service following the update call.
+ *Acknowledgement of the state change.
* @public */ - service?: Service; + acknowledgment?: string; } /** * @public */ -export interface UpdateServicePrimaryTaskSetRequest { - /** - *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * set exists in.
- * @public - */ - cluster: string | undefined; - +export interface TagResourceRequest { /** - *The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.
+ *The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the supported resources are + * Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container + * instances.
* @public */ - service: string | undefined; + resourceArn: string | undefined; /** - *The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the - * deployment.
+ *The tags to add to the resource. A tag is an array of key-value pairs.
+ *The following basic restrictions apply to tags:
+ *Maximum number of tags per resource - 50
+ *For each resource, each tag key must be unique, and each tag key can have only + * one value.
+ *Maximum key length - 128 Unicode characters in UTF-8
+ *Maximum value length - 256 Unicode characters in UTF-8
+ *If your tagging schema is used across multiple services and resources, + * remember that other services may have restrictions on allowed characters. + * Generally allowed characters are: letters, numbers, and spaces representable in + * UTF-8, and the following characters: + - = . _ : / @.
+ *Tag keys and values are case-sensitive.
+ *Do not use aws:
, AWS:
, or any upper or lowercase
+ * combination of such as a prefix for either keys or values as it is reserved for
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
+ * this prefix do not count against your tags per resource limit.
The details about the task set.
- * @public - */ - taskSet?: TaskSet; -} +export interface TagResourceResponse {} /** * @public */ -export interface UpdateTaskProtectionRequest { +export interface UntagResourceRequest { /** - *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * sets exist in.
+ *The Amazon Resource Name (ARN) of the resource to delete tags from. Currently, the supported resources + * are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container + * instances.
* @public */ - cluster: string | undefined; + resourceArn: string | undefined; /** - *A list of up to 10 task IDs or full ARN entries.
+ *The keys of the tags to be removed.
* @public */ - tasks: string[] | undefined; + tagKeys: string[] | undefined; +} - /** - *Specify true
to mark a task for protection and false
to
- * unset protection, making it eligible for termination.
The details of the Auto Scaling group capacity provider to update.
+ * @public + */ +export interface AutoScalingGroupProviderUpdate { /** - *If you set protectionEnabled
to true
, you can specify the
- * duration for task protection in minutes. You can specify a value from 1 minute to up to
- * 2,880 minutes (48 hours). During this time, your task will not be terminated by scale-in
- * events from Service Auto Scaling or deployments. After this time period lapses,
- * protectionEnabled
will be reset to false
.
If you don’t specify the time, then the task is automatically protected for 120 - * minutes (2 hours).
+ *The managed scaling settings for the Auto Scaling group capacity provider.
* @public */ - expiresInMinutes?: number; -} + managedScaling?: ManagedScaling; -/** - * @public - */ -export interface UpdateTaskProtectionResponse { /** - *A list of tasks with the following information.
- *
- * taskArn
: The task ARN.
- * protectionEnabled
: The protection status of the task. If scale-in
- * protection is turned on for a task, the value is true
. Otherwise,
- * it is false
.
- * expirationDate
: The epoch time when protection for the task will
- * expire.
The managed termination protection setting to use for the Auto Scaling group capacity + * provider. This determines whether the Auto Scaling group has managed termination + * protection.
+ *When using managed termination protection, managed scaling must also be used + * otherwise managed termination protection doesn't work.
+ *When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an + * Auto Scaling group that contain tasks from being terminated during a scale-in action. + * The Auto Scaling group and each instance in the Auto Scaling group must have instance + * protection from scale-in actions on. For more information, see Instance Protection in the Auto Scaling User Guide.
+ *When managed termination protection is off, your Amazon EC2 instances aren't protected from + * termination when the Auto Scaling group scales in.
* @public */ - protectedTasks?: ProtectedTask[]; + managedTerminationProtection?: ManagedTerminationProtection; /** - *Any failures associated with the call.
+ *The managed draining option for the Auto Scaling group capacity provider. When you enable this, Amazon ECS manages and gracefully drains the EC2 container instances that are in the Auto Scaling group capacity provider.
* @public */ - failures?: Failure[]; + managedDraining?: ManagedDraining; } /** * @public */ -export interface UpdateTaskSetRequest { - /** - *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task - * set is found in.
- * @public - */ - cluster: string | undefined; - +export interface UpdateCapacityProviderRequest { /** - *The short name or full Amazon Resource Name (ARN) of the service that the task set is found in.
+ *The name of the capacity provider to update.
* @public */ - service: string | undefined; + name: string | undefined; /** - *The short name or full Amazon Resource Name (ARN) of the task set to update.
+ *An object that represent the parameters to update for the Auto Scaling group capacity + * provider.
* @public */ - taskSet: string | undefined; + autoScalingGroupProvider: AutoScalingGroupProviderUpdate | undefined; +} +/** + * @public + */ +export interface UpdateCapacityProviderResponse { /** - *A floating-point percentage of the desired number of tasks to place and keep running - * in the task set.
+ *Details about the capacity provider.
* @public */ - scale: Scale | undefined; + capacityProvider?: CapacityProvider; } /** diff --git a/clients/client-ecs/src/models/models_1.ts b/clients/client-ecs/src/models/models_1.ts index fd0da70788da8..973c75bc10577 100644 --- a/clients/client-ecs/src/models/models_1.ts +++ b/clients/client-ecs/src/models/models_1.ts @@ -1,5 +1,611 @@ // smithy-typescript generated code -import { TaskSet } from "./models_0"; +import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client"; + +import { ECSServiceException as __BaseException } from "./ECSServiceException"; + +import { + CapacityProviderStrategyItem, + Cluster, + ClusterConfiguration, + ClusterServiceConnectDefaultsRequest, + ClusterSetting, + ContainerInstance, + ContainerInstanceStatus, + DeploymentConfiguration, + Failure, + LoadBalancer, + NetworkConfiguration, + PlacementConstraint, + PlacementStrategy, + PropagateTags, + ProtectedTask, + Scale, + Service, + ServiceConnectConfiguration, + ServiceRegistry, + ServiceVolumeConfiguration, + TaskSet, +} from "./models_0"; + +/** + * @public + */ +export interface UpdateClusterRequest { + /** + *The name of the cluster to modify the settings for.
+ * @public + */ + cluster: string | undefined; + + /** + *The cluster settings for your cluster.
+ * @public + */ + settings?: ClusterSetting[]; + + /** + *The execute command configuration for the cluster.
+ * @public + */ + configuration?: ClusterConfiguration; + + /** + *Use this parameter to set a default Service Connect namespace. After you set a default
+ * Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as
+ * client services in the namespace. This setting only applies to new services that set the enabled
parameter to
+ * true
in the ServiceConnectConfiguration
.
+ * You can set the namespace of each service individually in the ServiceConnectConfiguration
to override this default
+ * parameter.
Tasks that run in a namespace can use short names to connect + * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. + * Tasks connect through a managed proxy container + * that collects logs and metrics for increased visibility. + * Only the tasks that Amazon ECS services create are supported with Service Connect. + * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.
+ * @public + */ + serviceConnectDefaults?: ClusterServiceConnectDefaultsRequest; +} + +/** + * @public + */ +export interface UpdateClusterResponse { + /** + *Details about the cluster.
+ * @public + */ + cluster?: Cluster; +} + +/** + * @public + */ +export interface UpdateClusterSettingsRequest { + /** + *The name of the cluster to modify the settings for.
+ * @public + */ + cluster: string | undefined; + + /** + *The setting to use by default for a cluster. This parameter is used to turn on CloudWatch
+ * Container Insights for a cluster. If this value is specified, it overrides the
+ * containerInsights
value set with PutAccountSetting or
+ * PutAccountSettingDefault.
Currently, if you delete an existing cluster that does not have Container Insights + * turned on, and then create a new cluster with the same name with Container Insights + * tuned on, Container Insights will not actually be turned on. If you want to preserve + * the same name for your existing cluster and turn on Container Insights, you must + * wait 7 days before you can re-create it.
+ *Details about the cluster
+ * @public + */ + cluster?: Cluster; +} + +/** + *Amazon ECS can't determine the current version of the Amazon ECS container agent on the + * container instance and doesn't have enough information to proceed with an update. This + * could be because the agent running on the container instance is a previous or custom + * version that doesn't use our version information.
+ * @public + */ +export class MissingVersionException extends __BaseException { + readonly name: "MissingVersionException" = "MissingVersionException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeThere's no update available for this Amazon ECS container agent. This might be because the + * agent is already running the latest version or because it's so old that there's no + * update path to the current version.
+ * @public + */ +export class NoUpdateAvailableException extends __BaseException { + readonly name: "NoUpdateAvailableException" = "NoUpdateAvailableException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeThe short name or full Amazon Resource Name (ARN) of the cluster that your container instance is + * running on. If you do not specify a cluster, the default cluster is assumed.
+ * @public + */ + cluster?: string; + + /** + *The container instance ID or full ARN entries for the container instance where you + * would like to update the Amazon ECS container agent.
+ * @public + */ + containerInstance: string | undefined; +} + +/** + * @public + */ +export interface UpdateContainerAgentResponse { + /** + *The container instance that the container agent was updated for.
+ * @public + */ + containerInstance?: ContainerInstance; +} + +/** + * @public + */ +export interface UpdateContainerInstancesStateRequest { + /** + *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to + * update. If you do not specify a cluster, the default cluster is assumed.
+ * @public + */ + cluster?: string; + + /** + *A list of up to 10 container instance IDs or full ARN entries.
+ * @public + */ + containerInstances: string[] | undefined; + + /** + *The container instance state to update the container instance with. The only valid
+ * values for this action are ACTIVE
and DRAINING
. A container
+ * instance can only be updated to DRAINING
status once it has reached an
+ * ACTIVE
state. If a container instance is in REGISTERING
,
+ * DEREGISTERING
, or REGISTRATION_FAILED
state you can
+ * describe the container instance but can't update the container instance state.
The list of container instances.
+ * @public + */ + containerInstances?: ContainerInstance[]; + + /** + *Any failures associated with the call.
+ * @public + */ + failures?: Failure[]; +} + +/** + * @public + */ +export interface UpdateServiceRequest { + /** + *The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on. + * If you do not specify a cluster, the default cluster is assumed.
+ * @public + */ + cluster?: string; + + /** + *The name of the service to update.
+ * @public + */ + service: string | undefined; + + /** + *The number of instantiations of the task to place and keep running in your + * service.
+ * @public + */ + desiredCount?: number; + + /** + *The family
and revision
(family:revision
) or
+ * full ARN of the task definition to run in your service. If a revision
is
+ * not specified, the latest ACTIVE
revision is used. If you modify the task
+ * definition with UpdateService
, Amazon ECS spawns a task with the new version of
+ * the task definition and then stops an old task after the new version is running.
The capacity provider strategy to update the service to use.
+ *if the service uses the default capacity provider strategy for the cluster, the + * service can be updated to use one or more capacity providers as opposed to the default + * capacity provider strategy. However, when a service is using a capacity provider + * strategy that's not the default capacity provider strategy, the service can't be updated + * to use the cluster's default capacity provider strategy.
+ *A capacity provider strategy consists of one or more capacity providers along with the
+ * base
and weight
to assign to them. A capacity provider
+ * must be associated with the cluster to be used in a capacity provider strategy. The
+ * PutClusterCapacityProviders API is used to associate a capacity
+ * provider with a cluster. Only capacity providers with an ACTIVE
or
+ * UPDATING
status can be used.
If specifying a capacity provider that uses an Auto Scaling group, the capacity + * provider must already be created. New capacity providers can be created with the CreateClusterCapacityProvider API operation.
+ *To use a Fargate capacity provider, specify either the FARGATE
or
+ * FARGATE_SPOT
capacity providers. The Fargate capacity providers are
+ * available to all accounts and only need to be associated with a cluster to be
+ * used.
The PutClusterCapacityProvidersAPI operation is used to update the + * list of available capacity providers for a cluster after the cluster is created.
+ * + * @public + */ + capacityProviderStrategy?: CapacityProviderStrategyItem[]; + + /** + *Optional deployment parameters that control how many tasks run during the deployment and the + * failure detection methods.
+ * @public + */ + deploymentConfiguration?: DeploymentConfiguration; + + /** + *An object representing the network configuration for the service.
+ * @public + */ + networkConfiguration?: NetworkConfiguration; + + /** + *An array of task placement constraint objects to update the service to use. If no + * value is specified, the existing placement constraints for the service will remain + * unchanged. If this value is specified, it will override any existing placement + * constraints defined for the service. To remove all existing placement constraints, + * specify an empty array.
+ *You can specify a maximum of 10 constraints for each task. This limit includes + * constraints in the task definition and those specified at runtime.
+ * @public + */ + placementConstraints?: PlacementConstraint[]; + + /** + *The task placement strategy objects to update the service to use. If no value is + * specified, the existing placement strategy for the service will remain unchanged. If + * this value is specified, it will override the existing placement strategy defined for + * the service. To remove an existing placement strategy, specify an empty object.
+ *You can specify a maximum of five strategy rules for each service.
+ * @public + */ + placementStrategy?: PlacementStrategy[]; + + /** + *The platform version that your tasks in the service run on. A platform version is only
+ * specified for tasks using the Fargate launch type. If a platform version
+ * is not specified, the LATEST
platform version is used. For more
+ * information, see Fargate Platform
+ * Versions in the Amazon Elastic Container Service Developer Guide.
Determines whether to force a new deployment of the service. By default, deployments
+ * aren't forced. You can use this option to start a new deployment with no service
+ * definition changes. For example, you can update a service's tasks to use a newer Docker
+ * image with the same image/tag combination (my_image:latest
) or to roll
+ * Fargate tasks onto a newer platform version.
The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy + * Elastic Load Balancing target health checks after a task has first started. This is only valid if your + * service is configured to use a load balancer. If your service's tasks take a while to + * start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of + * up to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler ignores + * the Elastic Load Balancing health check status. This grace period can prevent the ECS service scheduler + * from marking tasks as unhealthy and stopping them before they have time to come + * up.
+ * @public + */ + healthCheckGracePeriodSeconds?: number; + + /** + *If true
, this enables execute command functionality on all task
+ * containers.
If you do not want to override the value that was set when the service was created,
+ * you can set this to null
when performing this action.
Determines whether to turn on Amazon ECS managed tags for the tasks in the service. For + * more information, see Tagging Your Amazon ECS + * Resources in the Amazon Elastic Container Service Developer Guide.
+ *Only tasks launched after the update will reflect the update. To update the tags on
+ * all tasks, set forceNewDeployment
to true
, so that Amazon ECS
+ * starts new tasks with the updated tags.
A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the + * container name, and the container port to access from the load balancer. The container + * name is as it appears in a container definition.
+ *When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks + * with the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks + * are running.
+ *For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target + * groups. You can update from a single target group to multiple target groups and from + * multiple target groups to a single target group.
+ *For services that use blue/green deployments, you can update Elastic Load Balancing target groups by
+ * using
+ * CreateDeployment
+ *
through CodeDeploy. Note that multiple target groups
+ * are not supported for blue/green deployments. For more information see Register
+ * multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.
For services that use the external deployment controller, you can add, update, or + * remove load balancers by using CreateTaskSet. + * Note that multiple target groups are not supported for external deployments. For more + * information see Register + * multiple target groups with a service in the Amazon Elastic Container Service Developer Guide.
+ *You can remove existing loadBalancers
by passing an empty list.
Determines whether to propagate the tags from the task definition or the service to + * the task. If no value is specified, the tags aren't propagated.
+ *Only tasks launched after the update will reflect the update. To update the tags on
+ * all tasks, set forceNewDeployment
to true
, so that Amazon ECS
+ * starts new tasks with the updated tags.
The details for the service discovery registries to assign to this service. For more + * information, see Service + * Discovery.
+ *When you add, update, or remove the service registries configuration, Amazon ECS starts new + * tasks with the updated service registries configuration, and then stops the old tasks + * when the new tasks are running.
+ *You can remove existing serviceRegistries
by passing an empty
+ * list.
The configuration for this service to discover and connect to + * services, and be discovered by, and connected from, other services within a namespace.
+ *Tasks that run in a namespace can use short names to connect + * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. + * Tasks connect through a managed proxy container + * that collects logs and metrics for increased visibility. + * Only the tasks that Amazon ECS services create are supported with Service Connect. + * For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.
+ * @public + */ + serviceConnectConfiguration?: ServiceConnectConfiguration; + + /** + *The details of the volume that was configuredAtLaunch
. You can configure
+ * the size, volumeType, IOPS, throughput, snapshot and encryption in ServiceManagedEBSVolumeConfiguration. The name
of the volume
+ * must match the name
from the task definition. If set to null, no new
+ * deployment is triggered. Otherwise, if this configuration differs from the existing one,
+ * it triggers a new deployment.
The full description of your service following the update call.
+ * @public + */ + service?: Service; +} + +/** + * @public + */ +export interface UpdateServicePrimaryTaskSetRequest { + /** + *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * set exists in.
+ * @public + */ + cluster: string | undefined; + + /** + *The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.
+ * @public + */ + service: string | undefined; + + /** + *The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the + * deployment.
+ * @public + */ + primaryTaskSet: string | undefined; +} + +/** + * @public + */ +export interface UpdateServicePrimaryTaskSetResponse { + /** + *The details about the task set.
+ * @public + */ + taskSet?: TaskSet; +} + +/** + * @public + */ +export interface UpdateTaskProtectionRequest { + /** + *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * sets exist in.
+ * @public + */ + cluster: string | undefined; + + /** + *A list of up to 10 task IDs or full ARN entries.
+ * @public + */ + tasks: string[] | undefined; + + /** + *Specify true
to mark a task for protection and false
to
+ * unset protection, making it eligible for termination.
If you set protectionEnabled
to true
, you can specify the
+ * duration for task protection in minutes. You can specify a value from 1 minute to up to
+ * 2,880 minutes (48 hours). During this time, your task will not be terminated by scale-in
+ * events from Service Auto Scaling or deployments. After this time period lapses,
+ * protectionEnabled
will be reset to false
.
If you don’t specify the time, then the task is automatically protected for 120 + * minutes (2 hours).
+ * @public + */ + expiresInMinutes?: number; +} + +/** + * @public + */ +export interface UpdateTaskProtectionResponse { + /** + *A list of tasks with the following information.
+ *
+ * taskArn
: The task ARN.
+ * protectionEnabled
: The protection status of the task. If scale-in
+ * protection is turned on for a task, the value is true
. Otherwise,
+ * it is false
.
+ * expirationDate
: The epoch time when protection for the task will
+ * expire.
Any failures associated with the call.
+ * @public + */ + failures?: Failure[]; +} + +/** + * @public + */ +export interface UpdateTaskSetRequest { + /** + *The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task + * set is found in.
+ * @public + */ + cluster: string | undefined; + + /** + *The short name or full Amazon Resource Name (ARN) of the service that the task set is found in.
+ * @public + */ + service: string | undefined; + + /** + *The short name or full Amazon Resource Name (ARN) of the task set to update.
+ * @public + */ + taskSet: string | undefined; + + /** + *A floating-point percentage of the desired number of tasks to place and keep running + * in the task set.
+ * @public + */ + scale: Scale | undefined; +} /** * @public diff --git a/clients/client-ecs/src/protocols/Aws_json1_1.ts b/clients/client-ecs/src/protocols/Aws_json1_1.ts index f4104f54aff4d..fcedf68858db0 100644 --- a/clients/client-ecs/src/protocols/Aws_json1_1.ts +++ b/clients/client-ecs/src/protocols/Aws_json1_1.ts @@ -65,6 +65,14 @@ import { DescribeContainerInstancesCommandInput, DescribeContainerInstancesCommandOutput, } from "../commands/DescribeContainerInstancesCommand"; +import { + DescribeServiceDeploymentsCommandInput, + DescribeServiceDeploymentsCommandOutput, +} from "../commands/DescribeServiceDeploymentsCommand"; +import { + DescribeServiceRevisionsCommandInput, + DescribeServiceRevisionsCommandOutput, +} from "../commands/DescribeServiceRevisionsCommand"; import { DescribeServicesCommandInput, DescribeServicesCommandOutput } from "../commands/DescribeServicesCommand"; import { DescribeTaskDefinitionCommandInput, @@ -88,6 +96,10 @@ import { ListContainerInstancesCommandInput, ListContainerInstancesCommandOutput, } from "../commands/ListContainerInstancesCommand"; +import { + ListServiceDeploymentsCommandInput, + ListServiceDeploymentsCommandOutput, +} from "../commands/ListServiceDeploymentsCommand"; import { ListServicesByNamespaceCommandInput, ListServicesByNamespaceCommandOutput, @@ -202,6 +214,7 @@ import { ContainerStateChange, CreateCapacityProviderRequest, CreateClusterRequest, + CreatedAt, CreateServiceRequest, CreateServiceResponse, CreateTaskSetRequest, @@ -229,6 +242,10 @@ import { DescribeClustersRequest, DescribeContainerInstancesRequest, DescribeContainerInstancesResponse, + DescribeServiceDeploymentsRequest, + DescribeServiceDeploymentsResponse, + DescribeServiceRevisionsRequest, + DescribeServiceRevisionsResponse, DescribeServicesRequest, DescribeServicesResponse, DescribeTaskDefinitionRequest, @@ -269,6 +286,8 @@ import { ListAttributesRequest, ListClustersRequest, ListContainerInstancesRequest, + ListServiceDeploymentsRequest, + ListServiceDeploymentsResponse, ListServicesByNamespaceRequest, ListServicesRequest, ListTagsForResourceRequest, @@ -281,12 +300,10 @@ import { ManagedAgentStateChange, ManagedScaling, ManagedStorageConfiguration, - MissingVersionException, MountPoint, NamespaceNotFoundException, NetworkBinding, NetworkConfiguration, - NoUpdateAvailableException, PlacementConstraint, PlacementStrategy, PlatformDevice, @@ -308,6 +325,7 @@ import { ResourceInUseException, ResourceNotFoundException, ResourceRequirement, + Rollback, RunTaskRequest, RunTaskResponse, RuntimePlatform, @@ -320,12 +338,16 @@ import { ServiceConnectService, ServiceConnectTlsCertificateAuthority, ServiceConnectTlsConfiguration, + ServiceDeployment, + ServiceDeploymentBrief, + ServiceDeploymentStatus, ServiceEvent, ServiceField, ServiceManagedEBSVolumeConfiguration, ServiceNotActiveException, ServiceNotFoundException, ServiceRegistry, + ServiceRevision, ServiceVolumeConfiguration, StartTaskRequest, StartTaskResponse, @@ -357,13 +379,20 @@ import { UnsupportedFeatureException, UntagResourceRequest, UpdateCapacityProviderRequest, + UpdateInProgressException, + VersionInfo, + Volume, + VolumeFrom, +} from "../models/models_0"; +import { + MissingVersionException, + NoUpdateAvailableException, UpdateClusterRequest, UpdateClusterSettingsRequest, UpdateContainerAgentRequest, UpdateContainerAgentResponse, UpdateContainerInstancesStateRequest, UpdateContainerInstancesStateResponse, - UpdateInProgressException, UpdateServicePrimaryTaskSetRequest, UpdateServicePrimaryTaskSetResponse, UpdateServiceRequest, @@ -371,11 +400,8 @@ import { UpdateTaskProtectionRequest, UpdateTaskProtectionResponse, UpdateTaskSetRequest, - VersionInfo, - Volume, - VolumeFrom, -} from "../models/models_0"; -import { UpdateTaskSetResponse } from "../models/models_1"; + UpdateTaskSetResponse, +} from "../models/models_1"; /** * serializeAws_json1_1CreateCapacityProviderCommand @@ -585,6 +611,32 @@ export const se_DescribeContainerInstancesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1DescribeServiceDeploymentsCommand + */ +export const se_DescribeServiceDeploymentsCommand = async ( + input: DescribeServiceDeploymentsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeServiceDeployments"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_1DescribeServiceRevisionsCommand + */ +export const se_DescribeServiceRevisionsCommand = async ( + input: DescribeServiceRevisionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeServiceRevisions"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1DescribeServicesCommand */ @@ -728,6 +780,19 @@ export const se_ListContainerInstancesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_1ListServiceDeploymentsCommand + */ +export const se_ListServiceDeploymentsCommand = async ( + input: ListServiceDeploymentsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListServiceDeployments"); + let body: any; + body = JSON.stringify(se_ListServiceDeploymentsRequest(input, context)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_1ListServicesCommand */ @@ -1425,6 +1490,46 @@ export const de_DescribeContainerInstancesCommand = async ( return response; }; +/** + * deserializeAws_json1_1DescribeServiceDeploymentsCommand + */ +export const de_DescribeServiceDeploymentsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): PromiseThese errors are usually caused by a client action. This client action might be using\n\t\t\tan action or resource on behalf of a user that doesn't have permissions to use the\n\t\t\taction or resource. Or, it might be specifying an identifier that isn't valid.
\nThe following list includes additional causes for the error:
\nThe RunTask
could not be processed because you use managed\n\t\t\t\t\tscaling and there is a capacity error because the quota of tasks in the\n\t\t\t\t\t\tPROVISIONING
per cluster has been reached. For information\n\t\t\t\t\tabout the service quotas, see Amazon ECS\n\t\t\t\t\t\tservice quotas.
These errors are usually caused by a client action. This client action might be using\n\t\t\tan action or resource on behalf of a user that doesn't have permissions to use the\n\t\t\taction or resource. Or, it might be specifying an identifier that isn't valid.
\nThe following list includes additional causes for the error:
\nThe RunTask
could not be processed because you use managed\n\t\t\t\t\tscaling and there is a capacity error because the quota of tasks in the\n\t\t\t\t\tPROVISIONING
per cluster has been reached. For information\n\t\t\t\t\tabout the service quotas, see Amazon ECS\n\t\t\t\t\t\tservice quotas.
The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.
\nYour Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tto use container dependencies. However, we recommend using the latest container agent\n\t\t\tversion. For information about checking your agent version and updating to the latest\n\t\t\tversion, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI,\n\t\t\tyour instance needs at least version 1.26.0-1 of the ecs-init
package. If\n\t\t\tyour container instances are launched from version 20190301
or later, then\n\t\t\tthey contain the required versions of the container agent and ecs-init
. For\n\t\t\tmore information, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.
For tasks that use the Fargate launch type, the task or service\n\t\t\t\trequires the following platforms:
\nLinux platform version 1.3.0
or later.
Windows platform version 1.0.0
or later.
For more information about how to create a container dependency, see Container dependency in the Amazon Elastic Container Service Developer Guide.
" } }, + "com.amazonaws.ecs#ContainerImage": { + "type": "structure", + "members": { + "containerName": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The name of the container.
" + } + }, + "imageDigest": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The container image digest.
" + } + }, + "image": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The container image.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The details about the container image a service revision uses.
\nTo ensure that all tasks in a service use the same container image, Amazon ECS resolves\n\t\t\tcontainer image names and any image tags specified in the task definition to container\n\t\t\timage digests.
\nAfter the container image digest has been established, Amazon ECS uses the digest to start\n\t\t\tany other desired tasks, and for any future service and service revision updates. This\n\t\t\tleads to all tasks in a service always running identical container images, resulting in\n\t\t\tversion consistency for your software. For more information, see Container image resolution in the Amazon ECS Developer Guide.
" + } + }, + "com.amazonaws.ecs#ContainerImages": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ContainerImage" + } + }, "com.amazonaws.ecs#ContainerInstance": { "type": "structure", "members": { @@ -3011,7 +3052,7 @@ } ], "traits": { - "smithy.api#documentation": "Creates a new Amazon ECS cluster. By default, your account receives a default
\n\t\t\tcluster when you launch your first container instance. However, you can create your own\n\t\t\tcluster with a unique name.
When you call the CreateCluster API operation, Amazon ECS attempts to\n\t\t\t\tcreate the Amazon ECS service-linked role for your account. This is so that it can manage\n\t\t\t\trequired resources in other Amazon Web Services services on your behalf. However, if the user that\n\t\t\t\tmakes the call doesn't have permissions to create the service-linked role, it isn't\n\t\t\t\tcreated. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.
\nCreates a new Amazon ECS cluster. By default, your account receives a default
\n\t\t\tcluster when you launch your first container instance. However, you can create your own\n\t\t\tcluster with a unique name.
When you call the CreateCluster API operation, Amazon ECS attempts to\n\t\t\t\tcreate the Amazon ECS service-linked role for your account. This is so that it can manage\n\t\t\t\trequired resources in other Amazon Web Services services on your behalf. However, if the user that\n\t\t\t\tmakes the call doesn't have permissions to create the service-linked role, it isn't\n\t\t\t\tcreated. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.
\nRuns and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount
,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, use UpdateService.
On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.
\nAmazon Elastic Inference (EI) is no longer available to customers.
\nIn addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic Container Service Developer Guide.
\nYou can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. volumeConfigurations
is only supported for REPLICA\n\t\t\tservice and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.
Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING
state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING
state and are reported as\n\t\t\thealthy by the load balancer.
There are two service scheduler strategies available:
\n\n REPLICA
- The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.
\n DAEMON
- The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.
You can optionally specify a deployment configuration for your service. The deployment\n\t\t\tis initiated by changing properties. For example, the deployment might be initiated by\n\t\t\tthe task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for\n\t\t\t\tminimumHealthyPercent
is 100%. The default value for a daemon service\n\t\t\tfor minimumHealthyPercent
is 0%.
If a service uses the ECS
deployment controller, the minimum healthy\n\t\t\tpercent represents a lower limit on the number of tasks in a service that must remain in\n\t\t\tthe RUNNING
state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of your desired number of tasks (rounded up to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING
state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can deploy without using additional cluster capacity. For example, if you\n\t\t\tset your service to have desired number of four tasks and a minimum healthy percent of\n\t\t\t50%, the scheduler might stop two existing tasks to free up cluster capacity before\n\t\t\tstarting two new tasks. If they're in the RUNNING
state, tasks for services\n\t\t\tthat don't use a load balancer are considered healthy . If they're in the\n\t\t\t\tRUNNING
state and reported as healthy by the load balancer, tasks for\n\t\t\tservices that do use a load balancer are considered healthy . The\n\t\t\tdefault value for minimum healthy percent is 100%.
If a service uses the ECS
deployment controller, the maximum percent parameter represents an upper limit on the\n\t\t\tnumber of tasks in a service that are allowed in the RUNNING
or\n\t\t\t\tPENDING
state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of the desired number of tasks (rounded down to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING
state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can define the deployment batch size. For example, if your service has a\n\t\t\tdesired number of four tasks and a maximum percent value of 200%, the scheduler may\n\t\t\tstart four new tasks before stopping the four older tasks (provided that the cluster\n\t\t\tresources required to do this are available). The default value for maximum percent is\n\t\t\t200%.
If a service uses either the CODE_DEPLOY
or EXTERNAL
\n\t\t\tdeployment controller types and tasks that use the EC2 launch type, the\n\t\t\t\tminimum healthy percent and maximum percent values are used only to define the lower and upper limit\n\t\t\ton the number of the tasks in the service that remain in the RUNNING
state.\n\t\t\tThis is while the container instances are in the DRAINING
state. If the\n\t\t\ttasks in the service use the Fargate launch type, the minimum healthy\n\t\t\tpercent and maximum percent values aren't used. This is the case even if they're\n\t\t\tcurrently visible when describing your service.
When creating a service that uses the EXTERNAL
deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.
When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS\n\t\t\t\ttask placement in the Amazon Elastic Container Service Developer Guide\n
", + "smithy.api#documentation": "Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount
,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, see the UpdateService action.
On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.
\nAmazon Elastic Inference (EI) is no longer available to customers.
\nIn addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic Container Service Developer Guide.
\nYou can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. volumeConfigurations
is only supported for REPLICA\n\t\t\tservice and not DAEMON service. For more infomation, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.
Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING
state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING
state and are reported as\n\t\t\thealthy by the load balancer.
There are two service scheduler strategies available:
\n\n REPLICA
- The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.
\n DAEMON
- The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.
You can optionally specify a deployment configuration for your service. The deployment\n\t\t\tis initiated by changing properties. For example, the deployment might be initiated by\n\t\t\tthe task definition or by your desired count of a service. You can use UpdateService. The default value for a replica service for\n\t\t\t\tminimumHealthyPercent
is 100%. The default value for a daemon service\n\t\t\tfor minimumHealthyPercent
is 0%.
If a service uses the ECS
deployment controller, the minimum healthy\n\t\t\tpercent represents a lower limit on the number of tasks in a service that must remain in\n\t\t\tthe RUNNING
state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of your desired number of tasks (rounded up to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING
state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can deploy without using additional cluster capacity. For example, if you\n\t\t\tset your service to have desired number of four tasks and a minimum healthy percent of\n\t\t\t50%, the scheduler might stop two existing tasks to free up cluster capacity before\n\t\t\tstarting two new tasks. If they're in the RUNNING
state, tasks for services\n\t\t\tthat don't use a load balancer are considered healthy . If they're in the\n\t\t\t\tRUNNING
state and reported as healthy by the load balancer, tasks for\n\t\t\tservices that do use a load balancer are considered healthy . The\n\t\t\tdefault value for minimum healthy percent is 100%.
If a service uses the ECS
deployment controller, the maximum percent parameter represents an upper limit on the\n\t\t\tnumber of tasks in a service that are allowed in the RUNNING
or\n\t\t\t\tPENDING
state during a deployment. Specifically, it represents it as a\n\t\t\tpercentage of the desired number of tasks (rounded down to the nearest integer). This\n\t\t\thappens when any of your container instances are in the DRAINING
state if\n\t\t\tthe service contains tasks using the EC2 launch type. Using this\n\t\t\tparameter, you can define the deployment batch size. For example, if your service has a\n\t\t\tdesired number of four tasks and a maximum percent value of 200%, the scheduler may\n\t\t\tstart four new tasks before stopping the four older tasks (provided that the cluster\n\t\t\tresources required to do this are available). The default value for maximum percent is\n\t\t\t200%.
If a service uses either the CODE_DEPLOY
or EXTERNAL
\n\t\t\tdeployment controller types and tasks that use the EC2 launch type, the\n\t\t\t\tminimum healthy percent and maximum percent values are used only to define the lower and upper limit\n\t\t\ton the number of the tasks in the service that remain in the RUNNING
state.\n\t\t\tThis is while the container instances are in the DRAINING
state. If the\n\t\t\ttasks in the service use the Fargate launch type, the minimum healthy\n\t\t\tpercent and maximum percent values aren't used. This is the case even if they're\n\t\t\tcurrently visible when describing your service.
When creating a service that uses the EXTERNAL
deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.
When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS\n\t\t\t\ttask placement in the Amazon Elastic Container Service Developer Guide\n
", "smithy.api#examples": [ { "title": "To create a new service", @@ -3319,7 +3360,7 @@ "deploymentConfiguration": { "target": "com.amazonaws.ecs#DeploymentConfiguration", "traits": { - "smithy.api#documentation": "Optional deployment parameters that control how many tasks run during the deployment\n\t\t\tand the ordering of stopping and starting tasks.
" + "smithy.api#documentation": "Optional deployment parameters that control how many tasks run during the deployment and the\n\t\t\tfailure detection methods.
" } }, "placementConstraints": { @@ -3343,7 +3384,7 @@ "healthCheckGracePeriodSeconds": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy\n\t\t\tElastic Load Balancing target health checks after a task has first started. This is only used when your\n\t\t\tservice is configured to use a load balancer. If your service has a load balancer\n\t\t\tdefined and you don't specify a health check grace period value, the default value of\n\t\t\t\t0
is used.
If you do not use an Elastic Load Balancing, we recommend that you use the startPeriod
in\n\t\t\tthe task definition health check parameters. For more information, see Health\n\t\t\t\tcheck.
If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you\n\t\t\tcan specify a health check grace period of up to 2,147,483,647 seconds (about 69 years).\n\t\t\tDuring that time, the Amazon ECS service scheduler ignores health check status. This grace\n\t\t\tperiod can prevent the service scheduler from marking tasks as unhealthy and stopping\n\t\t\tthem before they have time to come up.
" + "smithy.api#documentation": "The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy\n\t\t\tElastic Load Balancing target health checks after a task has first started. This is only used when your\n\t\t\tservice is configured to use a load balancer. If your service has a load balancer\n\t\t\tdefined and you don't specify a health check grace period value, the default value of\n\t\t\t\t0
is used.
If you do not use an Elastic Load Balancing, we recommend that you use the startPeriod
in\n\t\t\tthe task definition health check parameters. For more information, see Health\n\t\t\t\tcheck.
If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can\n\t\t\tspecify a health check grace period of up to 2,147,483,647 seconds (about 69 years).\n\t\t\tDuring that time, the Amazon ECS service scheduler ignores health check status. This grace\n\t\t\tperiod can prevent the service scheduler from marking tasks as unhealthy and stopping\n\t\t\tthem before they have time to come up.
" } }, "schedulingStrategy": { @@ -3565,6 +3606,26 @@ "smithy.api#output": {} } }, + "com.amazonaws.ecs#CreatedAt": { + "type": "structure", + "members": { + "before": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "Include service deployments in the result that were created before this time. The format is yyyy-MM-dd\n\t\t\tHH:mm:ss.SSSSSS.
" + } + }, + "after": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "Include service deployments in the result that were created after this time. The format is yyyy-MM-dd\n\t\t\tHH:mm:ss.SSSSSS.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The optional filter to narrow the ListServiceDeployment
results.
If you do not specify a value, service deployments that were created before the current\n\t\t\ttime are included in the result.
" + } + }, "com.amazonaws.ecs#DeleteAccountSetting": { "type": "operation", "input": { @@ -4224,19 +4285,19 @@ "smithy.api#required": {} } }, - "enable": { + "rollback": { "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "Determines whether to use the CloudWatch alarm option in the service deployment\n\t\t\tprocess.
", + "smithy.api#documentation": "Determines whether to configure Amazon ECS to roll back the service if a service deployment\n\t\t\tfails. If rollback is used, when a service deployment fails, the service is rolled back\n\t\t\tto the last deployment that completed successfully.
", "smithy.api#required": {} } }, - "rollback": { + "enable": { "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "Determines whether to configure Amazon ECS to roll back the service if a service deployment\n\t\t\tfails. If rollback is used, when a service deployment fails, the service is rolled back\n\t\t\tto the last deployment that completed successfully.
", + "smithy.api#documentation": "Determines whether to use the CloudWatch alarm option in the service deployment\n\t\t\tprocess.
", "smithy.api#required": {} } } @@ -4298,7 +4359,7 @@ } }, "traits": { - "smithy.api#documentation": "Optional deployment parameters that control how many tasks run during a deployment and\n\t\t\tthe ordering of stopping and starting tasks.
" + "smithy.api#documentation": "Optional deployment parameters that control how many tasks run during the deployment and the\n\t\t\tfailure detection methods.
" } }, "com.amazonaws.ecs#DeploymentController": { @@ -4345,7 +4406,7 @@ "kmsKeyId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "Specify an Key Management Service key ID to encrypt the ephemeral storage for\n\t\t\tdeployment.
" + "smithy.api#documentation": "Specify an Amazon Web Services Key Management Service key ID to encrypt the ephemeral storage for\n\t\t\tdeployment.
" } } }, @@ -4820,6 +4881,146 @@ "smithy.api#output": {} } }, + "com.amazonaws.ecs#DescribeServiceDeployments": { + "type": "operation", + "input": { + "target": "com.amazonaws.ecs#DescribeServiceDeploymentsRequest" + }, + "output": { + "target": "com.amazonaws.ecs#DescribeServiceDeploymentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ecs#AccessDeniedException" + }, + { + "target": "com.amazonaws.ecs#ClientException" + }, + { + "target": "com.amazonaws.ecs#ClusterNotFoundException" + }, + { + "target": "com.amazonaws.ecs#InvalidParameterException" + }, + { + "target": "com.amazonaws.ecs#ServerException" + }, + { + "target": "com.amazonaws.ecs#ServiceNotFoundException" + }, + { + "target": "com.amazonaws.ecs#UnsupportedFeatureException" + } + ], + "traits": { + "smithy.api#documentation": "Describes one or more of your service deployments.
\nA service deployment happens when you release a software update for the service. For more information, see Amazon ECS service deployments.
" + } + }, + "com.amazonaws.ecs#DescribeServiceDeploymentsRequest": { + "type": "structure", + "members": { + "serviceDeploymentArns": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "The ARN of the service deployment.
\nYou can specify a maximum of 20 ARNs.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ecs#DescribeServiceDeploymentsResponse": { + "type": "structure", + "members": { + "serviceDeployments": { + "target": "com.amazonaws.ecs#ServiceDeployments", + "traits": { + "smithy.api#documentation": "The list of service deployments described.
" + } + }, + "failures": { + "target": "com.amazonaws.ecs#Failures", + "traits": { + "smithy.api#documentation": "Any failures associated with the call.
\nIf you decsribe a deployment with a service revision created before October 25, 2024, the\n\t\t\tcall fails. The failure includes the service revision ARN and the reason set to\n\t\t\t\tMISSING
.
Describes one or more service revisions.
\nA service revision is a version of the service that includes the values for the Amazon ECS\n\t\t\tresources (for example, task definition) and the environment resources (for example,\n\t\t\tload balancers, subnets, and security groups). For more information, see Amazon ECS service revisions.
\nYou can't describe a service revision that was created before October 25, 2024.
" + } + }, + "com.amazonaws.ecs#DescribeServiceRevisionsRequest": { + "type": "structure", + "members": { + "serviceRevisionArns": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "The ARN of the service revision.
\nYou can specify a maximum of 20 ARNs.
\nYou can call ListServiceDeployments to\n\t\t\tget the ARNs.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ecs#DescribeServiceRevisionsResponse": { + "type": "structure", + "members": { + "serviceRevisions": { + "target": "com.amazonaws.ecs#ServiceRevisions", + "traits": { + "smithy.api#documentation": "The list of service revisions described.
" + } + }, + "failures": { + "target": "com.amazonaws.ecs#Failures", + "traits": { + "smithy.api#documentation": "Any failures associated with the call.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ecs#DescribeServices": { "type": "operation", "input": { @@ -7112,6 +7313,103 @@ "smithy.api#output": {} } }, + "com.amazonaws.ecs#ListServiceDeployments": { + "type": "operation", + "input": { + "target": "com.amazonaws.ecs#ListServiceDeploymentsRequest" + }, + "output": { + "target": "com.amazonaws.ecs#ListServiceDeploymentsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.ecs#AccessDeniedException" + }, + { + "target": "com.amazonaws.ecs#ClientException" + }, + { + "target": "com.amazonaws.ecs#InvalidParameterException" + }, + { + "target": "com.amazonaws.ecs#ServerException" + }, + { + "target": "com.amazonaws.ecs#ServiceNotFoundException" + }, + { + "target": "com.amazonaws.ecs#UnsupportedFeatureException" + } + ], + "traits": { + "smithy.api#documentation": "This operation lists all the service deployments that meet the specified filter criteria.
\nA service deployment happens when you release a softwre update for the service. You\n\t\t\troute traffic from the running service revisions to the new service revison and control\n\t\t\tthe number of running tasks.
\nThis API returns the values that you use for the request parameters in DescribeServiceRevisions.
" + } + }, + "com.amazonaws.ecs#ListServiceDeploymentsRequest": { + "type": "structure", + "members": { + "service": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN or name of the service
", + "smithy.api#required": {} + } + }, + "cluster": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The cluster that hosts the service. This can either be the cluster name or ARN. Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performanceIf you don't\n\t\t\tspecify a cluster, deault
is used.
An optional filter you can use to narrow the results. If you do not specify a status, then\n\t\t\tall status values are included in the result.
" + } + }, + "createdAt": { + "target": "com.amazonaws.ecs#CreatedAt", + "traits": { + "smithy.api#documentation": "An optional filter you can use to narrow the results by the service creation date. If you do\n\t\t\tnot specify a value, the result includes all services created before the current\n\t\t\ttime. The\n\t\t\tformat is yyyy-MM-dd HH:mm:ss.SSSSSS.
" + } + }, + "nextToken": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The nextToken
value returned from a ListServiceDeployments
request indicating that more results are available to fulfill the request and further calls are needed. If you provided maxResults
, it's possible the number of results is fewer than maxResults
.
The maximum number of service deployment results that ListServiceDeployments
\n\t\t\treturned in paginated output. When this parameter is used,\n\t\t\t\tListServiceDeployments
only returns maxResults
results in\n\t\t\ta single page along with a nextToken
response element. The remaining\n\t\t\tresults of the initial request can be seen by sending another\n\t\t\t\tListServiceDeployments
request with the returned nextToken
\n\t\t\tvalue. This value can be between 1 and 100. If this parameter isn't used, then\n\t\t\t\tListServiceDeployments
returns up to 20 results and a\n\t\t\t\tnextToken
value if applicable.
An overview of the service deployment, including the following\n\t\t\tproperties:
\nThe ARN of the service deployment.
\nThe ARN of the service being deployed.
\nThe ARN of the cluster that hosts the service in the service deployment.
\nThe time that the service deployment started.
\nThe time that the service deployment completed.
\nThe service deployment status.
\nInformation about why the service deployment is in the current state.
\nThe ARN of the service revision that is being deployed.
\nThe nextToken
value to include in a future ListServiceDeployments
request. When the results of a ListServiceDeployments
request exceed maxResults
, this value can be used to retrieve the next page of results. This value is null when there are no more results to return.
The name of the load balancer to associate with the Amazon ECS service or task set.
\nIf you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be\n\t\t\tomitted.
" + "smithy.api#documentation": "The name of the load balancer to associate with the service or task set.
\nIf you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be\n\t\t\tomitted.
" } }, "containerName": { @@ -7981,7 +8279,7 @@ "minimumScalingStepSize": { "target": "com.amazonaws.ecs#ManagedScalingStepSize", "traits": { - "smithy.api#documentation": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale\n\t\t\tin process is not affected by this parameter If this parameter is omitted, the default\n\t\t\tvalue of 1
is used.
When additional capacity is required, Amazon ECS will scale up the minimum scaling step\n\t\t\tsize even if the actual demand is less than the minimum scaling step size.
\nIf you use a capacity provider with an Auto Scaling group configured with more than\n\t\t\tone Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum\n\t\t\tscaling step size value and will ignore both the maximum scaling step size as well as\n\t\t\tthe capacity demand.
" + "smithy.api#documentation": "The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default\n\t\t\tvalue of 1
is used.
When additional capacity is required, Amazon ECS will scale up the minimum scaling step\n\t\t\tsize even if the actual demand is less than the minimum scaling step size.
\nIf you use a capacity provider with an Auto Scaling group configured with more than\n\t\t\tone Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum\n\t\t\tscaling step size value and will ignore both the maximum scaling step size as well as\n\t\t\tthe capacity demand.
" } }, "maximumScalingStepSize": { @@ -8051,7 +8349,7 @@ "kmsKeyId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "Specify a Key Management Service key ID to encrypt the managed storage.
" + "smithy.api#documentation": "Specify a Amazon Web Services Key Management Service key ID to encrypt the managed storage.
" } }, "fargateEphemeralStorageKmsKeyId": { @@ -8521,7 +8819,7 @@ "containerPort": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "The port number on the container that's bound to the user-specified or automatically\n\t\t\tassigned host port.
\nIf you use containers in a task with the awsvpc
or host
\n\t\t\tnetwork mode, specify the exposed ports using containerPort
.
If you use containers in a task with the bridge
network mode and you\n\t\t\tspecify a container port and not a host port, your container automatically receives a\n\t\t\thost port in the ephemeral port range. For more information, see hostPort
.\n\t\t\tPort mappings that are automatically assigned in this way do not count toward the 100\n\t\t\treserved ports limit of a container instance.
The port number on the container that's bound to the user-specified or automatically\n\t\t\tassigned host port.
\nFor tasks that use the Fargate launch type or EC2 tasks that use the\n\t\t\t\tawsvpc
network mode, you use containerPort
to specify the\n\t\t\texposed ports.
For Windows containers on Fargate, you can't use port 3150 for the\n\t\t\t\tcontainerPort
. This is because it's reserved.
Suppose that you're using containers in a task with the EC2 launch type\n\t\t\tand you specify a container port and not a host port. Then, your container automatically\n\t\t\treceives a host port in the ephemeral port range. For more information, see\n\t\t\t\thostPort
. Port mappings that are automatically assigned in this way\n\t\t\tdon't count toward the 100 reserved ports quota of a container instance.
Port mappings allow containers to access ports on the host container instance to send\n\t\t\tor receive traffic. Port mappings are specified as part of the container\n\t\t\tdefinition.
\nIf you use containers in a task with the awsvpc
or host
\n\t\t\tnetwork mode, specify the exposed ports using containerPort
. The\n\t\t\t\thostPort
can be left blank or it must be the same value as the\n\t\t\t\tcontainerPort
.
Most fields of this parameter (containerPort
, hostPort
,\n\t\t\tprotocol
) maps to PortBindings
in the docker container create command and the\n\t\t\t\t--publish
option to docker\n\t\t\t\t\trun
. If the network mode of a task definition is set to\n\t\t\t\thost
, host ports must either be undefined or match the container port\n\t\t\tin the port mapping.
You can't expose the same container port for multiple protocols. If you attempt\n\t\t\t\tthis, an error is returned.
\nAfter a task reaches the RUNNING
status, manual and automatic host and\n\t\t\tcontainer port assignments are visible in the networkBindings
section of\n\t\t\tDescribeTasks API responses.
Port mappings expose your container's network ports to the outside world. this allows\n\t\t\tclients to access your application. It's also used for inter-container communication\n\t\t\twithin the same task.
\nFor task definitions (both the Fargate and EC2 launch type) that use the\n\t\t\t\tawsvpc
network mode, only specify the containerPort
. The\n\t\t\t\thostPort
is always ignored, and the container port is automatically\n\t\t\tmapped to a random high-numbered port on the host.
Most fields of this parameter (containerPort
, hostPort
,\n\t\t\tprotocol
) maps to PortBindings
in the docker container create command and the\n\t\t\t\t--publish
option to docker\n\t\t\t\t\trun
. If the network mode of a task definition is set to\n\t\t\t\thost
, host ports must either be undefined or match the container port\n\t\t\tin the port mapping.
You can't expose the same container port for multiple protocols. If you attempt\n\t\t\t\tthis, an error is returned.
\nAfter a task reaches the RUNNING
status, manual and automatic host and\n\t\t\tcontainer port assignments are visible in the networkBindings
section of\n\t\t\tDescribeTasks API responses.
The Docker networking mode to use for the containers in the task. The valid values are\n none
, bridge
, awsvpc
, and host
.\n If no network mode is specified, the default is bridge
.
For Amazon ECS tasks on Fargate, the awsvpc
network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances,
or awsvpc
can be used. If the network\n mode is set to none
, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host
and awsvpc
network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge
mode.
With the host
and awsvpc
network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host
\n network mode) or the attached elastic network interface port (for the\n awsvpc
network mode), so you cannot take advantage of dynamic host port\n mappings.
When using the host
network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.
If the network mode is awsvpc
, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.
If the network mode is host
, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.
The Docker networking mode to use for the containers in the task. The valid values are\n none
, bridge
, awsvpc
, and host
.\n If no network mode is specified, the default is bridge
.
For Amazon ECS tasks on Fargate, the awsvpc
network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances,
or awsvpc
can be used. If the network\n mode is set to none
, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host
and awsvpc
network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge
mode.
With the host
and awsvpc
network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host
\n network mode) or the attached elastic network interface port (for the\n awsvpc
network mode), so you cannot take advantage of dynamic host port\n mappings.
When using the host
network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.
If the network mode is awsvpc
, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.
If the network mode is host
, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.
For more information, see Network\n settings in the Docker run reference.
" } }, "containerDefinitions": { @@ -9223,13 +9521,13 @@ "pidMode": { "target": "com.amazonaws.ecs#PidMode", "traits": { - "smithy.api#documentation": "The process namespace to use for the containers in the task. The valid\n values are host
or task
. On Fargate for\n Linux containers, the only valid value is task
. For\n example, monitoring sidecars might need pidMode
to access\n information about other containers running in the same task.
If host
is specified, all containers within the tasks\n that specified the host
PID mode on the same container\n instance share the same process namespace with the host Amazon EC2\n instance.
If task
is specified, all containers within the specified\n task share the same process namespace.
If no value is specified, the\n default is a private namespace for each container.
\nIf the host
PID mode is used, there's a heightened risk\n of undesired process namespace exposure.
This parameter is not supported for Windows containers.
\nThis parameter is only supported for tasks that are hosted on\n Fargate if the tasks are using platform version 1.4.0
or later\n (Linux). This isn't supported for Windows containers on\n Fargate.
The process namespace to use for the containers in the task. The valid\n values are host
or task
. On Fargate for\n Linux containers, the only valid value is task
. For\n example, monitoring sidecars might need pidMode
to access\n information about other containers running in the same task.
If host
is specified, all containers within the tasks\n that specified the host
PID mode on the same container\n instance share the same process namespace with the host Amazon EC2\n instance.
If task
is specified, all containers within the specified\n task share the same process namespace.
If no value is specified, the\n default is a private namespace for each container. For more information,\n see PID settings in the Docker run\n reference.
\nIf the host
PID mode is used, there's a heightened risk\n of undesired process namespace exposure. For more information, see\n Docker security.
This parameter is not supported for Windows containers.
\nThis parameter is only supported for tasks that are hosted on\n Fargate if the tasks are using platform version 1.4.0
or later\n (Linux). This isn't supported for Windows containers on\n Fargate.
The IPC resource namespace to use for the containers in the task. The valid values are\n host
, task
, or none
. If host
is\n specified, then all containers within the tasks that specified the host
IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task
is specified, all containers within the specified task\n share the same IPC resources. If none
is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance.
If the host
IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose.
If you are setting namespaced kernel parameters using systemControls
for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace related\n systemControls
are not supported.
For tasks that use the task
IPC mode, IPC namespace related\n systemControls
will apply to all containers within a\n task.
This parameter is not supported for Windows containers or tasks run on Fargate.
\nThe IPC resource namespace to use for the containers in the task. The valid values are\n host
, task
, or none
. If host
is\n specified, then all containers within the tasks that specified the host
IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task
is specified, all containers within the specified task\n share the same IPC resources. If none
is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.
If the host
IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.
If you are setting namespaced kernel parameters using systemControls
for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace related\n systemControls
are not supported.
For tasks that use the task
IPC mode, IPC namespace related\n systemControls
will apply to all containers within a\n task.
This parameter is not supported for Windows containers or tasks run on Fargate.
\nThe value for the specified resource type.
\nWhen the type is GPU
, the value is the number of physical\n\t\t\t\tGPUs
the Amazon ECS container agent reserves for the container. The number\n\t\t\tof GPUs that's reserved for all containers in a task can't exceed the number of\n\t\t\tavailable GPUs on the container instance that the task is launched on.
When the type is InferenceAccelerator
, the value
matches the\n\t\t\t\tdeviceName
for an InferenceAccelerator specified in a task definition.
The value for the specified resource type.
\nWhen the type is GPU
, the value is the number of physical GPUs
the\n\t\t\tAmazon ECS container agent reserves for the container. The number of GPUs that's reserved for\n\t\t\tall containers in a task can't exceed the number of available GPUs on the container\n\t\t\tinstance that the task is launched on.
When the type is InferenceAccelerator
, the value
matches\n\t\t\tthe deviceName
for an InferenceAccelerator specified in a task definition.
The reason the rollback happened. For example, the circuit breaker initiated the rollback operation.
" + } + }, + "startedAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "Time time that the rollback started. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.
" + } + }, + "serviceRevisionArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the service revision deployed as part of the rollback.
\nWhen the type is GPU
, the value is the number of physical\n\t\t\t\tGPUs
the Amazon ECS container agent reserves for the container. The number\n\t\t\tof GPUs that's reserved for all containers in a task can't exceed the number of\n\t\t\tavailable GPUs on the container instance that the task is launched on.
When the type is InferenceAccelerator
, the value
matches the\n\t\t\t\tdeviceName
for an InferenceAccelerator specified in a task definition.
Information about the service deployment rollback.
" + } + }, + "com.amazonaws.ecs#RunTask": { + "type": "operation", + "input": { + "target": "com.amazonaws.ecs#RunTaskRequest" + }, "output": { "target": "com.amazonaws.ecs#RunTaskResponse" }, @@ -9668,13 +9992,13 @@ "cpuArchitecture": { "target": "com.amazonaws.ecs#CPUArchitecture", "traits": { - "smithy.api#documentation": "The CPU architecture.
\nYou can run your Linux tasks on an ARM-based platform by setting the value to\n\t\t\t\tARM64
. This option is available for tasks that run on Linux Amazon EC2\n\t\t\tinstance or Linux containers on Fargate.
The CPU architecture.
\nYou can run your Linux tasks on an ARM-based platform by setting the value to\n\t\t\t\tARM64
. This option is available for tasks that run on Linux Amazon EC2\n\t\t\tinstance or Linux containers on Fargate.
The default is X86_64
.
The operating system.
" + "smithy.api#documentation": "The operating system.
\nThe default is Linux
.
The capacity provider strategy the service uses. When using the DescribeServices API,\n\t\t\tthis field is omitted if the service was created using a launch type.
" + "smithy.api#documentation": "The capacity provider strategy the service uses. When using DescribeServices
,\n\t\t\tthis field is omitted if the service was created using a launch type.
The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define bot the key and\n\t\t\tvalue.
\nThe following basic restrictions apply to tags:
\nMaximum number of tags per resource - 50
\nFor each resource, each tag key must be unique, and each tag key can have only\n one value.
\nMaximum key length - 128 Unicode characters in UTF-8
\nMaximum value length - 256 Unicode characters in UTF-8
\nIf your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.
\nTag keys and values are case-sensitive.
\nDo not use aws:
, AWS:
, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.
The metadata that you apply to the service to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value. You define both the key and value.
\nThe following basic restrictions apply to tags:
\nMaximum number of tags per resource - 50
\nFor each resource, each tag key must be unique, and each tag key can have only\n one value.
\nMaximum key length - 128 Unicode characters in UTF-8
\nMaximum value length - 256 Unicode characters in UTF-8
\nIf your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.
\nTag keys and values are case-sensitive.
\nDo not use aws:
, AWS:
, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.
The key that encrypts and decrypts your resources for Service Connect TLS.
" } }, + "com.amazonaws.ecs#ServiceDeployment": { + "type": "structure", + "members": { + "serviceDeploymentArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the service deployment.
" + } + }, + "serviceArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the service for this service deployment.
" + } + }, + "clusterArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the cluster that hosts the service.
" + } + }, + "createdAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "The time the service deployment was created. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.
" + } + }, + "startedAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "The time the service deployment statred. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.
" + } + }, + "finishedAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "The time the service deployment finished. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.
" + } + }, + "stoppedAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "The time the service deployment stopped. The format is yyyy-MM-dd HH:mm:ss.SSSSSS.
\nThe service deployment stops when any of the following actions happen:
\nA user manually stops the deployment
\nThe rollback option is not in use for the failure detection mechanism (the\n\t\t\t\t\tcircuit breaker or alarm-based) and the service fails.
\nThe time that the service deployment was last updated. The format is yyyy-MM-dd\n\t\t\tHH:mm:ss.SSSSSS.
" + } + }, + "sourceServiceRevisions": { + "target": "com.amazonaws.ecs#ServiceRevisionsSummaryList", + "traits": { + "smithy.api#documentation": "The currently deployed workload configuration.
" + } + }, + "targetServiceRevision": { + "target": "com.amazonaws.ecs#ServiceRevisionSummary", + "traits": { + "smithy.api#documentation": "The workload configuration being deployed.
" + } + }, + "status": { + "target": "com.amazonaws.ecs#ServiceDeploymentStatus", + "traits": { + "smithy.api#documentation": "The service deployment state.
" + } + }, + "statusReason": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "Information about why the service deployment is in the current status. For example, the circuit breaker detected a failure.
" + } + }, + "deploymentConfiguration": { + "target": "com.amazonaws.ecs#DeploymentConfiguration" + }, + "rollback": { + "target": "com.amazonaws.ecs#Rollback", + "traits": { + "smithy.api#documentation": "The rollback options the service deployment uses when the deployment fails.
" + } + }, + "deploymentCircuitBreaker": { + "target": "com.amazonaws.ecs#ServiceDeploymentCircuitBreaker", + "traits": { + "smithy.api#documentation": "The circuit breaker configuration that determines a service deployment failed.
" + } + }, + "alarms": { + "target": "com.amazonaws.ecs#ServiceDeploymentAlarms", + "traits": { + "smithy.api#documentation": "The CloudWatch alarms that determine when a service deployment fails.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Information about the service deployment.
\nService deployments provide a comprehensive view of your deployments. For information\n\t\t\tabout service deployments, see View service history using Amazon ECS service deployments\n\t\t\tin the \n Amazon Elastic Container Service Developer Guide\n .
" + } + }, + "com.amazonaws.ecs#ServiceDeploymentAlarms": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.ecs#ServiceDeploymentRollbackMonitorsStatus", + "traits": { + "smithy.api#documentation": "The status of the alarms check. Amazon ECS is not using alarms for service deployment failures when the status is DISABLED
.
The name of the CloudWatch alarms that determine when a service deployment failed. A \",\" separates the alarms.
" + } + }, + "triggeredAlarmNames": { + "target": "com.amazonaws.ecs#StringList", + "traits": { + "smithy.api#documentation": "One or more CloudWatch alarm names that have been triggered during the service deployment. A \",\"\n\t\t\tseparates the alarm names.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The CloudWatch alarms used to determine a service deployment failed.
\nAmazon ECS considers the service deployment as failed when any of the alarms move to the ALARM
state. For more information, see How CloudWatch alarms detect Amazon ECS deployment failures in the Amazon ECS Developer Guide.
The ARN of the service deployment.
" + } + }, + "serviceArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the service for this service deployment.
" + } + }, + "clusterArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the cluster that hosts the service.
" + } + }, + "startedAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "The time that the service deployment statred. The format is yyyy-MM-dd\n\t\t\tHH:mm:ss.SSSSSS.
" + } + }, + "createdAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "The time that the service deployment was created. The format is yyyy-MM-dd\n\t\t\tHH:mm:ss.SSSSSS.
" + } + }, + "finishedAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "The time that the service deployment completed. The format is yyyy-MM-dd\n\t\t\tHH:mm:ss.SSSSSS.
" + } + }, + "targetServiceRevisionArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the service revision being deplyed.
" + } + }, + "status": { + "target": "com.amazonaws.ecs#ServiceDeploymentStatus", + "traits": { + "smithy.api#documentation": "The status of the service deployment
" + } + }, + "statusReason": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "Information about why the service deployment is in the current status. For example, the circuit breaker detected a deployment failure.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The service deployment properties that are retured when you call ListServiceDeployments
.
This provides a high-level overview of the service deployment.
" + } + }, + "com.amazonaws.ecs#ServiceDeploymentCircuitBreaker": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.ecs#ServiceDeploymentRollbackMonitorsStatus", + "traits": { + "smithy.api#documentation": "The circuit breaker status. Amazon ECS is not using the circuit breaker for service deployment failures when the status is DISABLED
.
The number of times the circuit breaker detected a service deploymeny failure.
" + } + }, + "threshold": { + "target": "com.amazonaws.ecs#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The threshhold which determines that the service deployment failed.
\nThe deployment circuit breaker calculates the threshold value, and then uses the value to\n\t\t\tdetermine when to move the deployment to a FAILED state. The deployment circuit breaker\n\t\t\thas a minimum threshold of 3 and a maximum threshold of 200. and uses the values in the\n\t\t\tfollowing formula to determine the deployment failure.
\n\n 0.5 * desired task count
\n
Information about the circuit breaker used to determine when a service deployment has\n\t\t\tfailed.
\nThe deployment circuit breaker is the rolling update mechanism that determines if the\n\t\t\ttasks reach a steady state. The deployment circuit breaker has an option that will\n\t\t\tautomatically roll back a failed deployment to the last cpompleted service\n\t\t\trevision. For more information, see How the Amazon ECS\n\t\t\tdeployment circuit breaker detects failures in the Amazon ECS Developer\n\t\t\t\tGuide.
" + } + }, + "com.amazonaws.ecs#ServiceDeploymentRollbackMonitorsStatus": { + "type": "enum", + "members": { + "TRIGGERED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TRIGGERED" + } + }, + "MONITORING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MONITORING" + } + }, + "MONITORING_COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MONITORING_COMPLETE" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + } + } + }, + "com.amazonaws.ecs#ServiceDeploymentStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + }, + "SUCCESSFUL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUCCESSFUL" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + }, + "STOP_REQUESTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_REQUESTED" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "ROLLBACK_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROLLBACK_IN_PROGRESS" + } + }, + "ROLLBACK_SUCCESSFUL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROLLBACK_SUCCESSFUL" + } + }, + "ROLLBACK_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ROLLBACK_FAILED" + } + } + } + }, + "com.amazonaws.ecs#ServiceDeploymentStatusList": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ServiceDeploymentStatus" + } + }, + "com.amazonaws.ecs#ServiceDeployments": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ServiceDeployment" + } + }, + "com.amazonaws.ecs#ServiceDeploymentsBrief": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ServiceDeploymentBrief" + } + }, "com.amazonaws.ecs#ServiceEvent": { "type": "structure", "members": { @@ -10358,6 +10999,155 @@ "smithy.api#documentation": "The details for the service registry.
\nEach service may be associated with one service registry. Multiple service registries\n\t\t\tfor each service are not supported.
\nWhen you add, update, or remove the service registries configuration, Amazon ECS starts a\n\t\t\tnew deployment. New tasks are registered and deregistered to the updated service\n\t\t\tregistry configuration.
" } }, + "com.amazonaws.ecs#ServiceRevision": { + "type": "structure", + "members": { + "serviceRevisionArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the service revision.
" + } + }, + "serviceArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the service for the service revision.
" + } + }, + "clusterArn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the cluster that hosts the service.
" + } + }, + "taskDefinition": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The task definition the service revision uses.
" + } + }, + "capacityProviderStrategy": { + "target": "com.amazonaws.ecs#CapacityProviderStrategy", + "traits": { + "smithy.api#documentation": "The capacity provider strategy the service revision uses.
" + } + }, + "launchType": { + "target": "com.amazonaws.ecs#LaunchType", + "traits": { + "smithy.api#documentation": "The launch type the service revision uses.
" + } + }, + "platformVersion": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "For the Fargate launch type, the platform version the service revision uses.
" + } + }, + "platformFamily": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The platform family the service revision uses.
" + } + }, + "loadBalancers": { + "target": "com.amazonaws.ecs#LoadBalancers", + "traits": { + "smithy.api#documentation": "The load balancers the service revision uses.
" + } + }, + "serviceRegistries": { + "target": "com.amazonaws.ecs#ServiceRegistries", + "traits": { + "smithy.api#documentation": "The service registries (for Service Discovery) the service revision uses.
" + } + }, + "networkConfiguration": { + "target": "com.amazonaws.ecs#NetworkConfiguration" + }, + "containerImages": { + "target": "com.amazonaws.ecs#ContainerImages", + "traits": { + "smithy.api#documentation": "The container images the service revision uses.
" + } + }, + "guardDutyEnabled": { + "target": "com.amazonaws.ecs#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "Indicates whether Runtime Monitoring is turned on.
" + } + }, + "serviceConnectConfiguration": { + "target": "com.amazonaws.ecs#ServiceConnectConfiguration" + }, + "volumeConfigurations": { + "target": "com.amazonaws.ecs#ServiceVolumeConfigurations", + "traits": { + "smithy.api#documentation": "The volumes that are configured at deployment that the service revision uses.
" + } + }, + "fargateEphemeralStorage": { + "target": "com.amazonaws.ecs#DeploymentEphemeralStorage" + }, + "createdAt": { + "target": "com.amazonaws.ecs#Timestamp", + "traits": { + "smithy.api#documentation": "The time that the service revision was created. The format is yyyy-mm-dd HH:mm:ss.SSSSS.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Information about the service revision.
\nA service revision contains a record of the workload configuration Amazon ECS is attempting to deploy. Whenever you create or deploy a service, Amazon ECS automatically creates and captures the configuration that you're trying to deploy in the service revision. For information\n\t\t\tabout service revisions, see Amazon ECS service revisions\n\t\t\tin the \n Amazon Elastic Container Service Developer Guide\n .
" + } + }, + "com.amazonaws.ecs#ServiceRevisionSummary": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.ecs#String", + "traits": { + "smithy.api#documentation": "The ARN of the service revision.
" + } + }, + "requestedTaskCount": { + "target": "com.amazonaws.ecs#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The number of requested tasks for the service revision.
" + } + }, + "runningTaskCount": { + "target": "com.amazonaws.ecs#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The number of running tasks for the service revision.
" + } + }, + "pendingTaskCount": { + "target": "com.amazonaws.ecs#Integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The number of pending tasks for the service revision.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The information about the number of requested, pending, and running tasks for a service revision.
" + } + }, + "com.amazonaws.ecs#ServiceRevisions": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ServiceRevision" + } + }, + "com.amazonaws.ecs#ServiceRevisionsSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.ecs#ServiceRevisionSummary" + } + }, "com.amazonaws.ecs#ServiceVolumeConfiguration": { "type": "structure", "members": { @@ -11524,7 +12314,7 @@ "networkMode": { "target": "com.amazonaws.ecs#NetworkMode", "traits": { - "smithy.api#documentation": "The Docker networking mode to use for the containers in the task. The valid values are\n none
, bridge
, awsvpc
, and host
.\n If no network mode is specified, the default is bridge
.
For Amazon ECS tasks on Fargate, the awsvpc
network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances,
or awsvpc
can be used. If the network\n mode is set to none
, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host
and awsvpc
network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge
mode.
With the host
and awsvpc
network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host
\n network mode) or the attached elastic network interface port (for the\n awsvpc
network mode), so you cannot take advantage of dynamic host port\n mappings.
When using the host
network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.
If the network mode is awsvpc
, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.
If the network mode is host
, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.
The Docker networking mode to use for the containers in the task. The valid values are\n none
, bridge
, awsvpc
, and host
.\n If no network mode is specified, the default is bridge
.
For Amazon ECS tasks on Fargate, the awsvpc
network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances,
or awsvpc
can be used. If the network\n mode is set to none
, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host
and awsvpc
network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge
mode.
With the host
and awsvpc
network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host
\n network mode) or the attached elastic network interface port (for the\n awsvpc
network mode), so you cannot take advantage of dynamic host port\n mappings.
When using the host
network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.
If the network mode is awsvpc
, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.
If the network mode is host
, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.
For more information, see Network\n settings in the Docker run reference.
" } }, "revision": { @@ -11597,13 +12387,13 @@ "pidMode": { "target": "com.amazonaws.ecs#PidMode", "traits": { - "smithy.api#documentation": "The process namespace to use for the containers in the task. The valid\n values are host
or task
. On Fargate for\n Linux containers, the only valid value is task
. For\n example, monitoring sidecars might need pidMode
to access\n information about other containers running in the same task.
If host
is specified, all containers within the tasks\n that specified the host
PID mode on the same container\n instance share the same process namespace with the host Amazon EC2\n instance.
If task
is specified, all containers within the specified\n task share the same process namespace.
If no value is specified, the\n default is a private namespace for each container.
\nIf the host
PID mode is used, there's a heightened risk\n of undesired process namespace exposure.
This parameter is not supported for Windows containers.
\nThis parameter is only supported for tasks that are hosted on\n Fargate if the tasks are using platform version 1.4.0
or later\n (Linux). This isn't supported for Windows containers on\n Fargate.
The process namespace to use for the containers in the task. The valid\n values are host
or task
. On Fargate for\n Linux containers, the only valid value is task
. For\n example, monitoring sidecars might need pidMode
to access\n information about other containers running in the same task.
If host
is specified, all containers within the tasks\n that specified the host
PID mode on the same container\n instance share the same process namespace with the host Amazon EC2\n instance.
If task
is specified, all containers within the specified\n task share the same process namespace.
If no value is specified, the\n default is a private namespace for each container. For more information,\n see PID settings in the Docker run\n reference.
\nIf the host
PID mode is used, there's a heightened risk\n of undesired process namespace exposure. For more information, see\n Docker security.
This parameter is not supported for Windows containers.
\nThis parameter is only supported for tasks that are hosted on\n Fargate if the tasks are using platform version 1.4.0
or later\n (Linux). This isn't supported for Windows containers on\n Fargate.
The IPC resource namespace to use for the containers in the task. The valid values are\n host
, task
, or none
. If host
is\n specified, then all containers within the tasks that specified the host
IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task
is specified, all containers within the specified task\n share the same IPC resources. If none
is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance.
If the host
IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose.
If you are setting namespaced kernel parameters using systemControls
for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace related\n systemControls
are not supported.
For tasks that use the task
IPC mode, IPC namespace related\n systemControls
will apply to all containers within a\n task.
This parameter is not supported for Windows containers or tasks run on Fargate.
\nThe IPC resource namespace to use for the containers in the task. The valid values are\n host
, task
, or none
. If host
is\n specified, then all containers within the tasks that specified the host
IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task
is specified, all containers within the specified task\n share the same IPC resources. If none
is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance. For\n more information, see IPC\n settings in the Docker run reference.
If the host
IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose. For more information, see Docker\n security.
If you are setting namespaced kernel parameters using systemControls
for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.
For tasks that use the host
IPC mode, IPC namespace related\n systemControls
are not supported.
For tasks that use the task
IPC mode, IPC namespace related\n systemControls
will apply to all containers within a\n task.
This parameter is not supported for Windows containers or tasks run on Fargate.
\nSpecify an Key Management Service key ID to encrypt the ephemeral storage for the\n\t\t\ttask.
" + "smithy.api#documentation": "Specify an Amazon Web Services Key Management Service key ID to encrypt the ephemeral storage for the\n\t\t\ttask.
" } } }, @@ -13062,7 +13852,7 @@ "deploymentConfiguration": { "target": "com.amazonaws.ecs#DeploymentConfiguration", "traits": { - "smithy.api#documentation": "Optional deployment parameters that control how many tasks run during the deployment\n\t\t\tand the ordering of stopping and starting tasks.
" + "smithy.api#documentation": "Optional deployment parameters that control how many tasks run during the deployment and the\n\t\t\tfailure detection methods.
" } }, "networkConfiguration": {