openapi: 3.1.0 info: title: 'AWS Fargate Amazon ECS API (Fargate) Clusters #X Amz Target=AmazonEC2ContainerServiceV20141113.DescribeServices API' description: The Amazon ECS API provides programmatic access to manage Fargate tasks and services through Amazon Elastic Container Service. AWS Fargate is a serverless compute engine for containers that removes the need to provision and manage servers. This specification covers the core ECS API operations relevant to Fargate workloads, including registering task definitions with Fargate compatibility, running tasks on Fargate infrastructure, and managing services with the Fargate launch type. All operations use the JSON-RPC style with POST requests and an X-Amz-Target header specifying the action. version: '2014-11-13' contact: name: Amazon Web Services url: https://aws.amazon.com/fargate/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 termsOfService: https://aws.amazon.com/service-terms/ servers: - url: https://ecs.{region}.amazonaws.com description: Amazon ECS regional endpoint variables: region: default: us-east-1 description: AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-north-1 - ap-southeast-1 - ap-southeast-2 - ap-northeast-1 - ap-northeast-2 - ap-south-1 - sa-east-1 - ca-central-1 security: - aws_sig_v4: [] tags: - name: '#X Amz Target=AmazonEC2ContainerServiceV20141113.DescribeServices' paths: /#X-Amz-Target=AmazonEC2ContainerServiceV20141113.DescribeServices: post: operationId: describeServices summary: AWS Fargate Describe one or more services description: Describes the specified services running in a cluster. Returns detailed information about each service, including its status, task definition, desired and running count, deployments, load balancers, and network configuration. tags: - '#X Amz Target=AmazonEC2ContainerServiceV20141113.DescribeServices' externalDocs: url: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeServices.html parameters: - $ref: '#/components/parameters/X-Amz-Target' requestBody: required: true content: application/x-amz-json-1.1: schema: type: object required: - services properties: cluster: type: string description: The short name or full ARN of the cluster that hosts the services to describe. services: type: array description: A list of services to describe. Up to 10 services can be described in a single operation. items: type: string maxItems: 10 include: type: array description: Specifies whether to include resource tags for the services. items: type: string enum: - TAGS responses: '200': description: Services described successfully content: application/json: schema: type: object properties: services: type: array items: $ref: '#/components/schemas/Service' failures: type: array items: $ref: '#/components/schemas/Failure' '400': $ref: '#/components/responses/ClientError' '500': $ref: '#/components/responses/ServerError' components: schemas: Failure: type: object description: A failed resource from a batch operation. properties: arn: type: string description: The ARN of the failed resource. reason: type: string description: The reason for the failure. detail: type: string description: The details of the failure. AwsVpcConfiguration: type: object description: The VPC networking configuration for Fargate tasks, which always use the awsvpc network mode. required: - subnets properties: subnets: type: array description: The IDs of the subnets associated with the task or service. All specified subnets must be in the same VPC. items: type: string securityGroups: type: array description: The IDs of the security groups associated with the task or service. If no security group is specified, the default security group for the VPC is used. items: type: string maxItems: 5 assignPublicIp: type: string description: Whether the task's elastic network interface receives a public IP address. A value of ENABLED is required when using public subnets so Fargate tasks can pull container images. enum: - ENABLED - DISABLED Service: type: object description: Details of an ECS service running Fargate tasks. properties: serviceArn: type: string description: The ARN of the service. serviceName: type: string description: The name of the service. clusterArn: type: string description: The ARN of the cluster that hosts the service. taskDefinition: type: string description: The task definition ARN used by the service. status: type: string description: The status of the service. desiredCount: type: integer description: The desired number of tasks for the service. runningCount: type: integer description: The number of tasks currently running. pendingCount: type: integer description: The number of tasks in a pending state. launchType: type: string description: The infrastructure the tasks run on. enum: - FARGATE - EC2 - EXTERNAL platformVersion: type: string description: The Fargate platform version the tasks run on. platformFamily: type: string description: The operating system the tasks run on. schedulingStrategy: type: string description: The scheduling strategy for the service. enum: - REPLICA - DAEMON networkConfiguration: $ref: '#/components/schemas/NetworkConfiguration' deploymentConfiguration: $ref: '#/components/schemas/DeploymentConfiguration' deployments: type: array description: The current deployments for the service. items: $ref: '#/components/schemas/Deployment' loadBalancers: type: array description: The load balancers associated with the service. Fargate supports Application Load Balancers and Network Load Balancers only. items: $ref: '#/components/schemas/LoadBalancer' serviceRegistries: type: array description: The service discovery registries for the service. items: type: object properties: registryArn: type: string port: type: integer containerName: type: string containerPort: type: integer enableExecuteCommand: type: boolean description: Whether ECS Exec is enabled for the service. createdAt: type: string format: date-time description: The timestamp when the service was created. createdBy: type: string description: The principal that created the service. tags: type: array items: $ref: '#/components/schemas/Tag' NetworkConfiguration: type: object description: The network configuration for a task or service. Required for Fargate tasks and services. properties: awsvpcConfiguration: $ref: '#/components/schemas/AwsVpcConfiguration' DeploymentConfiguration: type: object description: The deployment configuration for a service, controlling how updates are rolled out. properties: maximumPercent: type: integer description: The upper limit of the number of tasks allowed during a deployment as a percentage of the desired count. Default is 200%. default: 200 minimumHealthyPercent: type: integer description: The lower limit of the number of running tasks during a deployment as a percentage of the desired count. Default is 100%. default: 100 deploymentCircuitBreaker: type: object description: The deployment circuit breaker to automatically roll back unhealthy deployments. properties: enable: type: boolean description: Whether to enable the deployment circuit breaker. rollback: type: boolean description: Whether to enable automatic rollback on deployment failure. LoadBalancer: type: object description: The load balancer configuration for a service. Fargate services support Application Load Balancers (ALB) and Network Load Balancers (NLB) with IP target type. properties: targetGroupArn: type: string description: The ARN of the Elastic Load Balancing target group. containerName: type: string description: The name of the container to route traffic to. containerPort: type: integer description: The port on the container to route traffic to. ErrorResponse: type: object properties: __type: type: string description: The error type identifier. message: type: string description: A human-readable error message. Tag: type: object description: A key-value pair used to tag an Amazon ECS resource. properties: key: type: string description: The tag key. Tag keys are case-sensitive and must be unique. maxLength: 128 value: type: string description: The tag value. maxLength: 256 Deployment: type: object description: Details of a service deployment. properties: id: type: string description: The deployment ID. status: type: string description: The deployment status. taskDefinition: type: string description: The task definition ARN for the deployment. desiredCount: type: integer description: The desired number of tasks in the deployment. runningCount: type: integer description: The number of running tasks in the deployment. pendingCount: type: integer description: The number of pending tasks in the deployment. launchType: type: string description: The launch type used by the deployment. platformVersion: type: string description: The Fargate platform version used by the deployment. rolloutState: type: string description: The rollout state of the deployment. enum: - COMPLETED - FAILED - IN_PROGRESS createdAt: type: string format: date-time updatedAt: type: string format: date-time networkConfiguration: $ref: '#/components/schemas/NetworkConfiguration' parameters: X-Amz-Target: name: X-Amz-Target in: header required: true schema: type: string description: The ECS API action target header used for JSON-RPC style routing. responses: ServerError: description: Server error. An internal service error occurred. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' ClientError: description: Client error. The request was invalid, contained incorrect parameters, or the caller does not have required permissions. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: aws_sig_v4: type: apiKey name: Authorization in: header description: AWS Signature Version 4 authentication. Requests must be signed using AWS access credentials. externalDocs: description: AWS Fargate Developer Guide url: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html