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: