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",
"taskDefinitionArn": "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
- taskDefinitionArn
-
The Amazon Resource Name (ARN) of a task definition to use to update the Express Gateway service. This allows you to manage your own task definition, giving you more control over the service configuration such as adding sidecar containers.
The task definition must have a container named
Mainwith a single TCP port mapping that includes a container port and port name. The task definition must also haveFARGATEcompatibility.If you provide a task definition ARN, you cannot also specify
primaryContainer,executionRoleArn,taskRoleArn,cpu, ormemory.Type: String
Required: No
- 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",
"taskDefinitionArn": "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 Error Types.
- AccessDeniedException
-
You don't have authorization to perform the requested action.
- message
-
Message that describes the cause of the exception.
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.
- message
-
Message that describes the cause of the exception.
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.
- message
-
Message that describes the cause of the exception.
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.
- message
-
Message that describes the cause of the exception.
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.
- message
-
Message that describes the cause of the exception.
HTTP Status Code: 400
- UnsupportedFeatureException
-
The specified task isn't supported in this Region.
- message
-
Message that describes the cause of the exception.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: