ListAttributes - Amazon Elastic Container Service


Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, ListAttributes returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value. You can do this, for example, to see which container instances in a cluster are running a Linux AMI (ecs.os-type=linux).

Request Syntax

{ "attributeName": "string", "attributeValue": "string", "cluster": "string", "maxResults": number, "nextToken": "string", "targetType": "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.


The name of the attribute to filter the results with.

Type: String

Required: No


The value of the attribute to filter results with. You must also specify an attribute name to use this parameter.

Type: String

Required: No


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.

Type: String

Required: No


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.

Type: Integer

Required: No


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.

Type: String

Required: No


The type of the target to list attributes with.

Type: String

Valid Values: container-instance

Required: Yes

Response Syntax

{ "attributes": [ { "name": "string", "targetId": "string", "targetType": "string", "value": "string" } ], "nextToken": "string" }

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.


A list of attribute objects that meet the criteria of the request.

Type: Array of Attribute objects


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.

Type: String


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


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

HTTP Status Code: 400


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

HTTP Status Code: 400


In the following example or examples, the Authorization header contents (AUTHPARAMS) must be replaced with an AWS Signature Version 4 signature. For more information, see Signature Version 4 Signing Process in the AWS General Reference.

You only need to learn how to sign HTTP requests if you intend to create them manually. When you use the AWS Command Line Interface or one of the AWS SDKs to make requests to AWS, these tools automatically sign the requests for you, with the access key that you specify when you configure the tools. When you use these tools, you don't have to sign requests yourself.


This example lists the attributes for container instances that have the stack=production attribute in the default cluster.

Sample Request

POST / HTTP/1.1 Host: Accept-Encoding: identity Content-Length: 122 X-Amz-Target: AmazonEC2ContainerServiceV20141113.ListAttributes X-Amz-Date: 20161222T181559Z User-Agent: aws-cli/1.11.30 Python/2.7.12 Darwin/16.3.0 botocore/1.4.87 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "cluster": "default", "attributeName": "stack", "attributeValue": "production", "targetType": "container-instance" }

Sample Response

HTTP/1.1 200 OK Server: Server Date: Thu, 22 Dec 2016 18:16:00 GMT Content-Type: application/x-amz-json-1.1 Content-Length: 158 Connection: keep-alive x-amzn-RequestId: b0eb3407-c872-11e6-a3b0-295902c79de2 { "attributes": [ { "name": "stack", "targetId": "arn:aws:ecs:us-west-2:130757420319:container-instance/1c3be8ed-df30-47b4-8f1e-6e68ebd01f34", "value": "production" } ] }

See Also

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