ECS operations
Every ECS operation Overcast declares — 40 of 48 implemented — with status, behaviour notes and a link to the AWS API reference for each.
40 of 48 listed operations are implemented. Back to ECS.
Summary
| Category | ✅ Supported | ❌ Unsupported |
|---|---|---|
| General | 40 | 8 |
Endpoints
General
| Operation | Status | Notes | AWS Docs |
|---|---|---|---|
CreateCapacityProvider | ✅ Supported | FARGATE and FARGATE_SPOT built-ins seeded automatically; rejects FARGATE* prefix for custom providers | docs |
CreateCluster | ✅ Supported | Defaults name to “default” if empty | docs |
CreateService | ✅ Supported | Validates cluster + task def; creates PRIMARY deployment with rolloutState; scheduler starts Docker-backed tasks carrying the service networkConfiguration, ENI attachment and deployment ID in startedBy; networkConfiguration required when the task definition’s networkMode is awsvpc; deploymentController defaults to ECS; failed placements are recorded as service events and a FAILED rollout when a deploymentCircuitBreaker is enabled | docs |
CreateTaskSet | ✅ Supported | Requires CODE_DEPLOY or EXTERNAL deployment controller; Scale defaults to 100%; ComputedDesiredCount calculated from scale | docs |
DeleteAccountSetting | ✅ Supported | Removes override; subsequent reads return the hardcoded default | docs |
DeleteAttributes | ❌ Unsupported | stub; returns 501 | docs |
DeleteCluster | ✅ Supported | Sets status INACTIVE | docs |
DeleteService | ✅ Supported | Sets DRAINING, desired=0; reconciler stops excess tasks | docs |
DeleteTaskSet | ✅ Supported | Returns DRAINING status; removes from service task set list | docs |
DeregisterContainerInstance | ✅ Supported | Removes from store; returns INACTIVE instance | docs |
DeregisterTaskDefinition | ✅ Supported | Marks INACTIVE | docs |
DescribeCapacityProviders | ✅ Supported | Filter by name or return all; failures array for missing providers | docs |
DescribeClusters | ✅ Supported | By name or ARN; returns failures for missing | docs |
DescribeContainerInstances | ✅ Supported | By ARN; failures array for missing | docs |
DescribeServices | ✅ Supported | By name or ARN; recounts task state; returns failures for missing | docs |
DescribeTaskDefinition | ✅ Supported | By family, family:rev, or ARN | docs |
DescribeTaskSets | ✅ Supported | Filter by task set ID or ARN; returns failures for missing | docs |
DescribeTasks | ✅ Supported | By task ID or ARN; returns failures for missing | docs |
DiscoverPollEndpoint | ❌ Unsupported | stub; returns 501 | docs |
ExecuteCommand | ❌ Unsupported | stub; returns 501 | docs |
ListAccountSettings | ✅ Supported | Returns all known settings with effective values; filter by name; hardcoded defaults | docs |
ListAttributes | ❌ Unsupported | stub; returns 501 | docs |
ListClusters | ✅ Supported | docs | |
ListContainerInstances | ✅ Supported | Filter by cluster and optional status | docs |
ListServices | ✅ Supported | Filter by cluster; optional launchType filter | docs |
ListTagsForResource | ✅ Supported | List tags for an ECS resource | docs |
ListTaskDefinitionFamilies | ✅ Supported | Optional familyPrefix filter | docs |
ListTaskDefinitions | ✅ Supported | Optional familyPrefix filter | docs |
ListTasks | ✅ Supported | Filter by cluster, desiredStatus, family | docs |
PutAccountSetting | ✅ Supported | Stores override for the caller; no per-principal scoping in emulator | docs |
PutAccountSettingDefault | ✅ Supported | Identical to PutAccountSetting in emulator (no principal distinction) | docs |
PutAttributes | ❌ Unsupported | stub; returns 501 | docs |
PutClusterCapacityProviders | ✅ Supported | Associates providers and default strategy with a cluster | docs |
RegisterContainerInstance | ✅ Supported | Metadata-only; auto-generates ARN; status ACTIVE; agentConnected true | docs |
RegisterTaskDefinition | ✅ Supported | Family:revision versioning; Fargate: validates awsvpc networkMode, cpu/memory required with valid combos, rejects host.sourcePath and dockerVolumeConfiguration as AWS does; all four volume shapes honoured at placement (EFS, host.sourcePath binds, dockerVolumeConfiguration, name-only scratch); tags stored against the revision’s ARN, including overcast:hot-reload-path | docs |
RunTask | ✅ Supported | Docker-backed when available, metadata-only when no container runtime is wired; a task whose containers fail to start is STOPPED with stopCode TaskFailedToStart rather than reported RUNNING; async state transitions; networkConfiguration required when the task definition’s networkMode is awsvpc, synthetic ENI attachment returned, platformVersion defaults to LATEST; awsvpc task containers share one network namespace and address; each lastStatus transition emits an ECS Task State Change event to the default EventBridge bus; emulator-only and off by default, a task definition tagged overcast:debug=true (or overcast:debug/ | docs |
StartTask | ❌ Unsupported | stub; returns 501 | docs |
StopTask | ✅ Supported | Stops Docker containers; sets STOPPED with stopCode UserInitiated; cancels pending transitions; emits an ECS Task State Change event to the default EventBridge bus | docs |
TagResource | ✅ Supported | Add tags to any ECS resource by ARN | docs |
UntagResource | ✅ Supported | Remove tags by key | docs |
UpdateCapacityProvider | ✅ Supported | Rejects updates to built-in FARGATE/FARGATE_SPOT providers | docs |
UpdateCluster | ✅ Supported | Validates cluster exists; returns current state | docs |
UpdateClusterSettings | ✅ Supported | Accepts settings array (metadata only) | docs |
UpdateContainerAgent | ❌ Unsupported | stub; returns 501 | docs |
UpdateContainerInstancesState | ❌ Unsupported | stub; returns 501 | docs |
UpdateService | ✅ Supported | Update desiredCount and/or taskDefinition; task definition changes and forceNewDeployment start a new deployment whose tasks refresh launch-time secrets and mutable image tags; propagates networkConfiguration/platformVersion; the rollout honours deploymentConfiguration maximumPercent/minimumHealthyPercent | docs |
UpdateServicePrimaryTaskSet | ✅ Supported | Promotes target to PRIMARY; demotes all other task sets to ACTIVE | docs |
UpdateTaskSet | ✅ Supported | Updates Scale and recalculates ComputedDesiredCount | docs |
Related
- ECS — quick start, what works, and the differences from AWS
- All service pages