UpdateExpressGatewayService - Amazon Elastic Container Service

UpdateExpressGatewayService

Updates an existing Express service configuration. Modifies container settings, resource allocation, auto-scaling configuration, and other service parameters without recreating the service.

Amazon ECS creates a new service revision with updated configuration and performs a rolling deployment to replace existing tasks. The service remains available during updates, ensuring zero-downtime deployments.

Some parameters like the infrastructure role cannot be modified after service creation and require creating a new service.

Request Syntax

{ "cpu": "string", "executionRoleArn": "string", "healthCheckPath": "string", "memory": "string", "networkConfiguration": { "securityGroups": [ "string" ], "subnets": [ "string" ] }, "primaryContainer": { "awsLogsConfiguration": { "logGroup": "string", "logStreamPrefix": "string" }, "command": [ "string" ], "containerPort": number, "environment": [ { "name": "string", "value": "string" } ], "image": "string", "repositoryCredentials": { "credentialsParameter": "string" }, "secrets": [ { "name": "string", "valueFrom": "string" } ] }, "scalingTarget": { "autoScalingMetric": "string", "autoScalingTargetValue": number, "maxTaskCount": number, "minTaskCount": number }, "serviceArn": "string", "taskRoleArn": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

cpu

The number of CPU units used by the task.

Type: String

Required: No

executionRoleArn

The Amazon Resource Name (ARN) of the task execution role for the Express service.

Type: String

Required: No

healthCheckPath

The path on the container for Application Load Balancer health checks.

Type: String

Required: No

memory

The amount of memory (in MiB) used by the task.

Type: String

Required: No

networkConfiguration

The network configuration for the Express service tasks. By default, the network configuration for an Express service uses the default VPC.

Type: ExpressGatewayServiceNetworkConfiguration object

Required: No

primaryContainer

The primary container configuration for the Express service.

Type: ExpressGatewayContainer object

Required: No

scalingTarget

The auto-scaling configuration for the Express service.

Type: ExpressGatewayScalingTarget object

Required: No

serviceArn

The Amazon Resource Name (ARN) of the Express service to update.

Type: String

Required: Yes

taskRoleArn

The Amazon Resource Name (ARN) of the IAM role for containers in this task.

Type: String

Required: No

Response Syntax

{ "service": { "cluster": "string", "createdAt": number, "serviceArn": "string", "serviceName": "string", "status": { "statusCode": "string", "statusReason": "string" }, "targetConfiguration": { "cpu": "string", "createdAt": number, "executionRoleArn": "string", "healthCheckPath": "string", "ingressPaths": [ { "accessType": "string", "endpoint": "string" } ], "memory": "string", "networkConfiguration": { "securityGroups": [ "string" ], "subnets": [ "string" ] }, "primaryContainer": { "awsLogsConfiguration": { "logGroup": "string", "logStreamPrefix": "string" }, "command": [ "string" ], "containerPort": number, "environment": [ { "name": "string", "value": "string" } ], "image": "string", "repositoryCredentials": { "credentialsParameter": "string" }, "secrets": [ { "name": "string", "valueFrom": "string" } ] }, "scalingTarget": { "autoScalingMetric": "string", "autoScalingTargetValue": number, "maxTaskCount": number, "minTaskCount": number }, "serviceRevisionArn": "string", "taskRoleArn": "string" }, "updatedAt": number } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

service

The full description of your express gateway service following the update call.

Type: UpdatedExpressGatewayService object

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You don't have authorization to perform the requested action.

HTTP Status Code: 400

ClientException

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.

message

Message that describes the cause of the exception.

HTTP Status Code: 400

ClusterNotFoundException

The specified cluster wasn't found. You can view your available clusters with ListClusters. Amazon ECS clusters are Region specific.

HTTP Status Code: 400

InvalidParameterException

The specified parameter isn't valid. Review the available parameters for the API request.

For more information about service event errors, see Amazon ECS service event messages.

HTTP Status Code: 400

ServerException

These errors are usually caused by a server issue.

message

Message that describes the cause of the exception.

HTTP Status Code: 500

ServiceNotActiveException

The specified service isn't active. You can't update a service that's inactive. If you have previously deleted a service, you can re-create it with CreateService.

HTTP Status Code: 400

ServiceNotFoundException

The specified service wasn't found. You can view your available services with ListServices. Amazon ECS services are cluster specific and Region specific.

HTTP Status Code: 400

UnsupportedFeatureException

The specified task isn't supported in this Region.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: