@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon EC2 Container Service
@version 2014-11-13
@auth AWS SigV4
@endpoints 56
@hint download_for_search
@toc root(56)

@endpoint POST /
@required {name: str, autoScalingGroupProvider: AutoScalingGroupProvider}
@optional {tags: [Tag]}
@returns(200) {capacityProvider: CapacityProvider?{capacityProviderArn: str?, name: str?, status: str?, autoScalingGroupProvider: AutoScalingGroupProvider?{autoScalingGroupArn: str, managedScaling: ManagedScaling?{status: str?, targetCapacity: int?, minimumScalingStepSize: int?, maximumScalingStepSize: int?, instanceWarmupPeriod: int?}, managedTerminationProtection: str?, managedDraining: str?}, updateStatus: str?, updateStatusReason: str?, tags: [Tag]?}}

@endpoint POST /
@optional {clusterName: str, tags: [Tag], settings: [ClusterSetting], configuration: ClusterConfiguration, capacityProviders: [str], defaultCapacityProviderStrategy: [CapacityProviderStrategyItem], serviceConnectDefaults: ClusterServiceConnectDefaultsRequest}
@returns(200) {cluster: Cluster?{clusterArn: str?, clusterName: str?, configuration: ClusterConfiguration?{executeCommandConfiguration: ExecuteCommandConfiguration?{kmsKeyId: str?, logging: str?, logConfiguration: ExecuteCommandLogConfiguration?}, managedStorageConfiguration: ManagedStorageConfiguration?{kmsKeyId: str?, fargateEphemeralStorageKmsKeyId: str?}}, status: str?, registeredContainerInstancesCount: int?, runningTasksCount: int?, pendingTasksCount: int?, activeServicesCount: int?, statistics: [KeyValuePair]?, tags: [Tag]?, settings: [ClusterSetting]?, capacityProviders: [str]?, defaultCapacityProviderStrategy: [CapacityProviderStrategyItem]?, attachments: [Attachment]?, attachmentsStatus: str?, serviceConnectDefaults: ClusterServiceConnectDefaults?{namespace: str?}}}

@endpoint POST /
@required {serviceName: str}
@optional {cluster: str, taskDefinition: str, loadBalancers: [LoadBalancer], serviceRegistries: [ServiceRegistry], desiredCount: int, clientToken: str, launchType: str, capacityProviderStrategy: [CapacityProviderStrategyItem], platformVersion: str, role: str, deploymentConfiguration: DeploymentConfiguration, placementConstraints: [PlacementConstraint], placementStrategy: [PlacementStrategy], networkConfiguration: NetworkConfiguration, healthCheckGracePeriodSeconds: int, schedulingStrategy: str, deploymentController: DeploymentController, tags: [Tag], enableECSManagedTags: bool, propagateTags: str, enableExecuteCommand: bool, serviceConnectConfiguration: ServiceConnectConfiguration, volumeConfigurations: [ServiceVolumeConfiguration]}
@returns(200) {service: Service?{serviceArn: str?, serviceName: str?, clusterArn: str?, loadBalancers: [LoadBalancer]?, serviceRegistries: [ServiceRegistry]?, status: str?, desiredCount: int?, runningCount: int?, pendingCount: int?, launchType: str?, capacityProviderStrategy: [CapacityProviderStrategyItem]?, platformVersion: str?, platformFamily: str?, taskDefinition: str?, deploymentConfiguration: DeploymentConfiguration?{deploymentCircuitBreaker: DeploymentCircuitBreaker?{enable: bool, rollback: bool}, maximumPercent: int?, minimumHealthyPercent: int?, alarms: DeploymentAlarms?{alarmNames: [str], enable: bool, rollback: bool}}, taskSets: [TaskSet]?, deployments: [Deployment]?, roleArn: str?, events: [ServiceEvent]?, createdAt: str(timestamp)?, placementConstraints: [PlacementConstraint]?, placementStrategy: [PlacementStrategy]?, networkConfiguration: NetworkConfiguration?{awsvpcConfiguration: AwsVpcConfiguration?{subnets: [str], securityGroups: [str]?, assignPublicIp: str?}}, healthCheckGracePeriodSeconds: int?, schedulingStrategy: str?, deploymentController: DeploymentController?{type: str}, tags: [Tag]?, createdBy: str?, enableECSManagedTags: bool?, propagateTags: str?, enableExecuteCommand: bool?}}

@endpoint POST /
@required {service: str, cluster: str, taskDefinition: str}
@optional {externalId: str, networkConfiguration: NetworkConfiguration, loadBalancers: [LoadBalancer], serviceRegistries: [ServiceRegistry], launchType: str, capacityProviderStrategy: [CapacityProviderStrategyItem], platformVersion: str, scale: Scale, clientToken: str, tags: [Tag]}
@returns(200) {taskSet: TaskSet?{id: str?, taskSetArn: str?, serviceArn: str?, clusterArn: str?, startedBy: str?, externalId: str?, status: str?, taskDefinition: str?, computedDesiredCount: int?, pendingCount: int?, runningCount: int?, createdAt: str(timestamp)?, updatedAt: str(timestamp)?, launchType: str?, capacityProviderStrategy: [CapacityProviderStrategyItem]?, platformVersion: str?, platformFamily: str?, networkConfiguration: NetworkConfiguration?{awsvpcConfiguration: AwsVpcConfiguration?{subnets: [str], securityGroups: [str]?, assignPublicIp: str?}}, loadBalancers: [LoadBalancer]?, serviceRegistries: [ServiceRegistry]?, scale: Scale?{value: num(f64)?, unit: str?}, stabilityStatus: str?, stabilityStatusAt: str(timestamp)?, tags: [Tag]?, fargateEphemeralStorage: DeploymentEphemeralStorage?{kmsKeyId: str?}}}

@endpoint POST /
@required {name: str}
@optional {principalArn: str}
@returns(200) {setting: Setting?{name: str?, value: str?, principalArn: str?, type: str?}}

@endpoint POST /
@required {attributes: [Attribute]}
@optional {cluster: str}
@returns(200) {attributes: [Attribute]?}

@endpoint POST /
@required {capacityProvider: str}
@returns(200) {capacityProvider: CapacityProvider?{capacityProviderArn: str?, name: str?, status: str?, autoScalingGroupProvider: AutoScalingGroupProvider?{autoScalingGroupArn: str, managedScaling: ManagedScaling?{status: str?, targetCapacity: int?, minimumScalingStepSize: int?, maximumScalingStepSize: int?, instanceWarmupPeriod: int?}, managedTerminationProtection: str?, managedDraining: str?}, updateStatus: str?, updateStatusReason: str?, tags: [Tag]?}}

@endpoint POST /
@required {cluster: str}
@returns(200) {cluster: Cluster?{clusterArn: str?, clusterName: str?, configuration: ClusterConfiguration?{executeCommandConfiguration: ExecuteCommandConfiguration?{kmsKeyId: str?, logging: str?, logConfiguration: ExecuteCommandLogConfiguration?}, managedStorageConfiguration: ManagedStorageConfiguration?{kmsKeyId: str?, fargateEphemeralStorageKmsKeyId: str?}}, status: str?, registeredContainerInstancesCount: int?, runningTasksCount: int?, pendingTasksCount: int?, activeServicesCount: int?, statistics: [KeyValuePair]?, tags: [Tag]?, settings: [ClusterSetting]?, capacityProviders: [str]?, defaultCapacityProviderStrategy: [CapacityProviderStrategyItem]?, attachments: [Attachment]?, attachmentsStatus: str?, serviceConnectDefaults: ClusterServiceConnectDefaults?{namespace: str?}}}

@endpoint POST /
@required {service: str}
@optional {cluster: str, force: bool}
@returns(200) {service: Service?{serviceArn: str?, serviceName: str?, clusterArn: str?, loadBalancers: [LoadBalancer]?, serviceRegistries: [ServiceRegistry]?, status: str?, desiredCount: int?, runningCount: int?, pendingCount: int?, launchType: str?, capacityProviderStrategy: [CapacityProviderStrategyItem]?, platformVersion: str?, platformFamily: str?, taskDefinition: str?, deploymentConfiguration: DeploymentConfiguration?{deploymentCircuitBreaker: DeploymentCircuitBreaker?{enable: bool, rollback: bool}, maximumPercent: int?, minimumHealthyPercent: int?, alarms: DeploymentAlarms?{alarmNames: [str], enable: bool, rollback: bool}}, taskSets: [TaskSet]?, deployments: [Deployment]?, roleArn: str?, events: [ServiceEvent]?, createdAt: str(timestamp)?, placementConstraints: [PlacementConstraint]?, placementStrategy: [PlacementStrategy]?, networkConfiguration: NetworkConfiguration?{awsvpcConfiguration: AwsVpcConfiguration?{subnets: [str], securityGroups: [str]?, assignPublicIp: str?}}, healthCheckGracePeriodSeconds: int?, schedulingStrategy: str?, deploymentController: DeploymentController?{type: str}, tags: [Tag]?, createdBy: str?, enableECSManagedTags: bool?, propagateTags: str?, enableExecuteCommand: bool?}}

@endpoint POST /
@required {taskDefinitions: [str]}
@returns(200) {taskDefinitions: [TaskDefinition]?, failures: [Failure]?}

@endpoint POST /
@required {cluster: str, service: str, taskSet: str}
@optional {force: bool}
@returns(200) {taskSet: TaskSet?{id: str?, taskSetArn: str?, serviceArn: str?, clusterArn: str?, startedBy: str?, externalId: str?, status: str?, taskDefinition: str?, computedDesiredCount: int?, pendingCount: int?, runningCount: int?, createdAt: str(timestamp)?, updatedAt: str(timestamp)?, launchType: str?, capacityProviderStrategy: [CapacityProviderStrategyItem]?, platformVersion: str?, platformFamily: str?, networkConfiguration: NetworkConfiguration?{awsvpcConfiguration: AwsVpcConfiguration?{subnets: [str], securityGroups: [str]?, assignPublicIp: str?}}, loadBalancers: [LoadBalancer]?, serviceRegistries: [ServiceRegistry]?, scale: Scale?{value: num(f64)?, unit: str?}, stabilityStatus: str?, stabilityStatusAt: str(timestamp)?, tags: [Tag]?, fargateEphemeralStorage: DeploymentEphemeralStorage?{kmsKeyId: str?}}}

@endpoint POST /
@required {containerInstance: str}
@optional {cluster: str, force: bool}
@returns(200) {containerInstance: ContainerInstance?{containerInstanceArn: str?, ec2InstanceId: str?, capacityProviderName: str?, version: int(i64)?, versionInfo: VersionInfo?{agentVersion: str?, agentHash: str?, dockerVersion: str?}, remainingResources: [Resource]?, registeredResources: [Resource]?, status: str?, statusReason: str?, agentConnected: bool?, runningTasksCount: int?, pendingTasksCount: int?, agentUpdateStatus: str?, attributes: [Attribute]?, registeredAt: str(timestamp)?, attachments: [Attachment]?, tags: [Tag]?, healthStatus: ContainerInstanceHealthStatus?{overallStatus: str?, details: [InstanceHealthCheckResult]?}}}

@endpoint POST /
@required {taskDefinition: str}
@returns(200) {taskDefinition: TaskDefinition?{taskDefinitionArn: str?, containerDefinitions: [ContainerDefinition]?, family: str?, taskRoleArn: str?, executionRoleArn: str?, networkMode: str?, revision: int?, volumes: [Volume]?, status: str?, requiresAttributes: [Attribute]?, placementConstraints: [TaskDefinitionPlacementConstraint]?, compatibilities: [str]?, runtimePlatform: RuntimePlatform?{cpuArchitecture: str?, operatingSystemFamily: str?}, requiresCompatibilities: [str]?, cpu: str?, memory: str?, inferenceAccelerators: [InferenceAccelerator]?, pidMode: str?, ipcMode: str?, proxyConfiguration: ProxyConfiguration?{type: str?, containerName: str, properties: [KeyValuePair]?}, registeredAt: str(timestamp)?, deregisteredAt: str(timestamp)?, registeredBy: str?, ephemeralStorage: EphemeralStorage?{sizeInGiB: int}}}

@endpoint POST /
@optional {capacityProviders: [str], include: [str], maxResults: int, nextToken: str}
@returns(200) {capacityProviders: [CapacityProvider]?, failures: [Failure]?, nextToken: str?}

@endpoint POST /
@optional {clusters: [str], include: [str]}
@returns(200) {clusters: [Cluster]?, failures: [Failure]?}

@endpoint POST /
@required {containerInstances: [str]}
@optional {cluster: str, include: [str]}
@returns(200) {containerInstances: [ContainerInstance]?, failures: [Failure]?}

@endpoint POST /
@required {services: [str]}
@optional {cluster: str, include: [str]}
@returns(200) {services: [Service]?, failures: [Failure]?}

@endpoint POST /
@required {taskDefinition: str}
@optional {include: [str]}
@returns(200) {taskDefinition: TaskDefinition?{taskDefinitionArn: str?, containerDefinitions: [ContainerDefinition]?, family: str?, taskRoleArn: str?, executionRoleArn: str?, networkMode: str?, revision: int?, volumes: [Volume]?, status: str?, requiresAttributes: [Attribute]?, placementConstraints: [TaskDefinitionPlacementConstraint]?, compatibilities: [str]?, runtimePlatform: RuntimePlatform?{cpuArchitecture: str?, operatingSystemFamily: str?}, requiresCompatibilities: [str]?, cpu: str?, memory: str?, inferenceAccelerators: [InferenceAccelerator]?, pidMode: str?, ipcMode: str?, proxyConfiguration: ProxyConfiguration?{type: str?, containerName: str, properties: [KeyValuePair]?}, registeredAt: str(timestamp)?, deregisteredAt: str(timestamp)?, registeredBy: str?, ephemeralStorage: EphemeralStorage?{sizeInGiB: int}}, tags: [Tag]?}

@endpoint POST /
@required {cluster: str, service: str}
@optional {taskSets: [str], include: [str]}
@returns(200) {taskSets: [TaskSet]?, failures: [Failure]?}

@endpoint POST /
@required {tasks: [str]}
@optional {cluster: str, include: [str]}
@returns(200) {tasks: [Task]?, failures: [Failure]?}

@endpoint POST /
@optional {containerInstance: str, cluster: str}
@returns(200) {endpoint: str?, telemetryEndpoint: str?, serviceConnectEndpoint: str?}

@endpoint POST /
@required {command: str, interactive: bool, task: str}
@optional {cluster: str, container: str}
@returns(200) {clusterArn: str?, containerArn: str?, containerName: str?, interactive: bool?, session: Session?{sessionId: str?, streamUrl: str?, tokenValue: str?}, taskArn: str?}

@endpoint POST /
@required {cluster: str}
@optional {tasks: [str]}
@returns(200) {protectedTasks: [ProtectedTask]?, failures: [Failure]?}

@endpoint POST /
@optional {name: str, value: str, principalArn: str, effectiveSettings: bool, nextToken: str, maxResults: int}
@returns(200) {settings: [Setting]?, nextToken: str?}

@endpoint POST /
@required {targetType: str}
@optional {cluster: str, attributeName: str, attributeValue: str, nextToken: str, maxResults: int}
@returns(200) {attributes: [Attribute]?, nextToken: str?}

@endpoint POST /
@optional {nextToken: str, maxResults: int}
@returns(200) {clusterArns: [str]?, nextToken: str?}

@endpoint POST /
@optional {cluster: str, filter: str, nextToken: str, maxResults: int, status: str}
@returns(200) {containerInstanceArns: [str]?, nextToken: str?}

@endpoint POST /
@optional {cluster: str, nextToken: str, maxResults: int, launchType: str, schedulingStrategy: str}
@returns(200) {serviceArns: [str]?, nextToken: str?}

@endpoint POST /
@required {namespace: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {serviceArns: [str]?, nextToken: str?}

@endpoint POST /
@required {resourceArn: str}
@returns(200) {tags: [Tag]?}

@endpoint POST /
@optional {familyPrefix: str, status: str, nextToken: str, maxResults: int}
@returns(200) {families: [str]?, nextToken: str?}

@endpoint POST /
@optional {familyPrefix: str, status: str, sort: str, nextToken: str, maxResults: int}
@returns(200) {taskDefinitionArns: [str]?, nextToken: str?}

@endpoint POST /
@optional {cluster: str, containerInstance: str, family: str, nextToken: str, maxResults: int, startedBy: str, serviceName: str, desiredStatus: str, launchType: str}
@returns(200) {taskArns: [str]?, nextToken: str?}

@endpoint POST /
@required {name: str, value: str}
@optional {principalArn: str}
@returns(200) {setting: Setting?{name: str?, value: str?, principalArn: str?, type: str?}}

@endpoint POST /
@required {name: str, value: str}
@returns(200) {setting: Setting?{name: str?, value: str?, principalArn: str?, type: str?}}

@endpoint POST /
@required {attributes: [Attribute]}
@optional {cluster: str}
@returns(200) {attributes: [Attribute]?}

@endpoint POST /
@required {cluster: str, capacityProviders: [str], defaultCapacityProviderStrategy: [CapacityProviderStrategyItem]}
@returns(200) {cluster: Cluster?{clusterArn: str?, clusterName: str?, configuration: ClusterConfiguration?{executeCommandConfiguration: ExecuteCommandConfiguration?{kmsKeyId: str?, logging: str?, logConfiguration: ExecuteCommandLogConfiguration?}, managedStorageConfiguration: ManagedStorageConfiguration?{kmsKeyId: str?, fargateEphemeralStorageKmsKeyId: str?}}, status: str?, registeredContainerInstancesCount: int?, runningTasksCount: int?, pendingTasksCount: int?, activeServicesCount: int?, statistics: [KeyValuePair]?, tags: [Tag]?, settings: [ClusterSetting]?, capacityProviders: [str]?, defaultCapacityProviderStrategy: [CapacityProviderStrategyItem]?, attachments: [Attachment]?, attachmentsStatus: str?, serviceConnectDefaults: ClusterServiceConnectDefaults?{namespace: str?}}}

@endpoint POST /
@optional {cluster: str, instanceIdentityDocument: str, instanceIdentityDocumentSignature: str, totalResources: [Resource], versionInfo: VersionInfo, containerInstanceArn: str, attributes: [Attribute], platformDevices: [PlatformDevice], tags: [Tag]}
@returns(200) {containerInstance: ContainerInstance?{containerInstanceArn: str?, ec2InstanceId: str?, capacityProviderName: str?, version: int(i64)?, versionInfo: VersionInfo?{agentVersion: str?, agentHash: str?, dockerVersion: str?}, remainingResources: [Resource]?, registeredResources: [Resource]?, status: str?, statusReason: str?, agentConnected: bool?, runningTasksCount: int?, pendingTasksCount: int?, agentUpdateStatus: str?, attributes: [Attribute]?, registeredAt: str(timestamp)?, attachments: [Attachment]?, tags: [Tag]?, healthStatus: ContainerInstanceHealthStatus?{overallStatus: str?, details: [InstanceHealthCheckResult]?}}}

@endpoint POST /
@required {family: str, containerDefinitions: [ContainerDefinition]}
@optional {taskRoleArn: str, executionRoleArn: str, networkMode: str, volumes: [Volume], placementConstraints: [TaskDefinitionPlacementConstraint], requiresCompatibilities: [str], cpu: str, memory: str, tags: [Tag], pidMode: str, ipcMode: str, proxyConfiguration: ProxyConfiguration, inferenceAccelerators: [InferenceAccelerator], ephemeralStorage: EphemeralStorage, runtimePlatform: RuntimePlatform}
@returns(200) {taskDefinition: TaskDefinition?{taskDefinitionArn: str?, containerDefinitions: [ContainerDefinition]?, family: str?, taskRoleArn: str?, executionRoleArn: str?, networkMode: str?, revision: int?, volumes: [Volume]?, status: str?, requiresAttributes: [Attribute]?, placementConstraints: [TaskDefinitionPlacementConstraint]?, compatibilities: [str]?, runtimePlatform: RuntimePlatform?{cpuArchitecture: str?, operatingSystemFamily: str?}, requiresCompatibilities: [str]?, cpu: str?, memory: str?, inferenceAccelerators: [InferenceAccelerator]?, pidMode: str?, ipcMode: str?, proxyConfiguration: ProxyConfiguration?{type: str?, containerName: str, properties: [KeyValuePair]?}, registeredAt: str(timestamp)?, deregisteredAt: str(timestamp)?, registeredBy: str?, ephemeralStorage: EphemeralStorage?{sizeInGiB: int}}, tags: [Tag]?}

@endpoint POST /
@required {taskDefinition: str}
@optional {capacityProviderStrategy: [CapacityProviderStrategyItem], cluster: str, count: int, enableECSManagedTags: bool, enableExecuteCommand: bool, group: str, launchType: str, networkConfiguration: NetworkConfiguration, overrides: TaskOverride, placementConstraints: [PlacementConstraint], placementStrategy: [PlacementStrategy], platformVersion: str, propagateTags: str, referenceId: str, startedBy: str, tags: [Tag], clientToken: str, volumeConfigurations: [TaskVolumeConfiguration]}
@returns(200) {tasks: [Task]?, failures: [Failure]?}

@endpoint POST /
@required {containerInstances: [str], taskDefinition: str}
@optional {cluster: str, enableECSManagedTags: bool, enableExecuteCommand: bool, group: str, networkConfiguration: NetworkConfiguration, overrides: TaskOverride, propagateTags: str, referenceId: str, startedBy: str, tags: [Tag], volumeConfigurations: [TaskVolumeConfiguration]}
@returns(200) {tasks: [Task]?, failures: [Failure]?}

@endpoint POST /
@required {task: str}
@optional {cluster: str, reason: str}
@returns(200) {task: Task?{attachments: [Attachment]?, attributes: [Attribute]?, availabilityZone: str?, capacityProviderName: str?, clusterArn: str?, connectivity: str?, connectivityAt: str(timestamp)?, containerInstanceArn: str?, containers: [Container]?, cpu: str?, createdAt: str(timestamp)?, desiredStatus: str?, enableExecuteCommand: bool?, executionStoppedAt: str(timestamp)?, group: str?, healthStatus: str?, inferenceAccelerators: [InferenceAccelerator]?, lastStatus: str?, launchType: str?, memory: str?, overrides: TaskOverride?{containerOverrides: [ContainerOverride]?, cpu: str?, inferenceAcceleratorOverrides: [InferenceAcceleratorOverride]?, executionRoleArn: str?, memory: str?, taskRoleArn: str?, ephemeralStorage: EphemeralStorage?{sizeInGiB: int}}, platformVersion: str?, platformFamily: str?, pullStartedAt: str(timestamp)?, pullStoppedAt: str(timestamp)?, startedAt: str(timestamp)?, startedBy: str?, stopCode: str?, stoppedAt: str(timestamp)?, stoppedReason: str?, stoppingAt: str(timestamp)?, tags: [Tag]?, taskArn: str?, taskDefinitionArn: str?, version: int(i64)?, ephemeralStorage: EphemeralStorage?{sizeInGiB: int}, fargateEphemeralStorage: TaskEphemeralStorage?{sizeInGiB: int?, kmsKeyId: str?}}}

@endpoint POST /
@required {attachments: [AttachmentStateChange]}
@optional {cluster: str}
@returns(200) {acknowledgment: str?}

@endpoint POST /
@optional {cluster: str, task: str, containerName: str, runtimeId: str, status: str, exitCode: int, reason: str, networkBindings: [NetworkBinding]}
@returns(200) {acknowledgment: str?}

@endpoint POST /
@optional {cluster: str, task: str, status: str, reason: str, containers: [ContainerStateChange], attachments: [AttachmentStateChange], managedAgents: [ManagedAgentStateChange], pullStartedAt: str(timestamp), pullStoppedAt: str(timestamp), executionStoppedAt: str(timestamp)}
@returns(200) {acknowledgment: str?}

@endpoint POST /
@required {resourceArn: str, tags: [Tag]}

@endpoint POST /
@required {resourceArn: str, tagKeys: [str]}

@endpoint POST /
@required {name: str, autoScalingGroupProvider: AutoScalingGroupProviderUpdate}
@returns(200) {capacityProvider: CapacityProvider?{capacityProviderArn: str?, name: str?, status: str?, autoScalingGroupProvider: AutoScalingGroupProvider?{autoScalingGroupArn: str, managedScaling: ManagedScaling?{status: str?, targetCapacity: int?, minimumScalingStepSize: int?, maximumScalingStepSize: int?, instanceWarmupPeriod: int?}, managedTerminationProtection: str?, managedDraining: str?}, updateStatus: str?, updateStatusReason: str?, tags: [Tag]?}}

@endpoint POST /
@required {cluster: str}
@optional {settings: [ClusterSetting], configuration: ClusterConfiguration, serviceConnectDefaults: ClusterServiceConnectDefaultsRequest}
@returns(200) {cluster: Cluster?{clusterArn: str?, clusterName: str?, configuration: ClusterConfiguration?{executeCommandConfiguration: ExecuteCommandConfiguration?{kmsKeyId: str?, logging: str?, logConfiguration: ExecuteCommandLogConfiguration?}, managedStorageConfiguration: ManagedStorageConfiguration?{kmsKeyId: str?, fargateEphemeralStorageKmsKeyId: str?}}, status: str?, registeredContainerInstancesCount: int?, runningTasksCount: int?, pendingTasksCount: int?, activeServicesCount: int?, statistics: [KeyValuePair]?, tags: [Tag]?, settings: [ClusterSetting]?, capacityProviders: [str]?, defaultCapacityProviderStrategy: [CapacityProviderStrategyItem]?, attachments: [Attachment]?, attachmentsStatus: str?, serviceConnectDefaults: ClusterServiceConnectDefaults?{namespace: str?}}}

@endpoint POST /
@required {cluster: str, settings: [ClusterSetting]}
@returns(200) {cluster: Cluster?{clusterArn: str?, clusterName: str?, configuration: ClusterConfiguration?{executeCommandConfiguration: ExecuteCommandConfiguration?{kmsKeyId: str?, logging: str?, logConfiguration: ExecuteCommandLogConfiguration?}, managedStorageConfiguration: ManagedStorageConfiguration?{kmsKeyId: str?, fargateEphemeralStorageKmsKeyId: str?}}, status: str?, registeredContainerInstancesCount: int?, runningTasksCount: int?, pendingTasksCount: int?, activeServicesCount: int?, statistics: [KeyValuePair]?, tags: [Tag]?, settings: [ClusterSetting]?, capacityProviders: [str]?, defaultCapacityProviderStrategy: [CapacityProviderStrategyItem]?, attachments: [Attachment]?, attachmentsStatus: str?, serviceConnectDefaults: ClusterServiceConnectDefaults?{namespace: str?}}}

@endpoint POST /
@required {containerInstance: str}
@optional {cluster: str}
@returns(200) {containerInstance: ContainerInstance?{containerInstanceArn: str?, ec2InstanceId: str?, capacityProviderName: str?, version: int(i64)?, versionInfo: VersionInfo?{agentVersion: str?, agentHash: str?, dockerVersion: str?}, remainingResources: [Resource]?, registeredResources: [Resource]?, status: str?, statusReason: str?, agentConnected: bool?, runningTasksCount: int?, pendingTasksCount: int?, agentUpdateStatus: str?, attributes: [Attribute]?, registeredAt: str(timestamp)?, attachments: [Attachment]?, tags: [Tag]?, healthStatus: ContainerInstanceHealthStatus?{overallStatus: str?, details: [InstanceHealthCheckResult]?}}}

@endpoint POST /
@required {containerInstances: [str], status: str}
@optional {cluster: str}
@returns(200) {containerInstances: [ContainerInstance]?, failures: [Failure]?}

@endpoint POST /
@required {service: str}
@optional {cluster: str, desiredCount: int, taskDefinition: str, capacityProviderStrategy: [CapacityProviderStrategyItem], deploymentConfiguration: DeploymentConfiguration, networkConfiguration: NetworkConfiguration, placementConstraints: [PlacementConstraint], placementStrategy: [PlacementStrategy], platformVersion: str, forceNewDeployment: bool, healthCheckGracePeriodSeconds: int, enableExecuteCommand: bool, enableECSManagedTags: bool, loadBalancers: [LoadBalancer], propagateTags: str, serviceRegistries: [ServiceRegistry], serviceConnectConfiguration: ServiceConnectConfiguration, volumeConfigurations: [ServiceVolumeConfiguration]}
@returns(200) {service: Service?{serviceArn: str?, serviceName: str?, clusterArn: str?, loadBalancers: [LoadBalancer]?, serviceRegistries: [ServiceRegistry]?, status: str?, desiredCount: int?, runningCount: int?, pendingCount: int?, launchType: str?, capacityProviderStrategy: [CapacityProviderStrategyItem]?, platformVersion: str?, platformFamily: str?, taskDefinition: str?, deploymentConfiguration: DeploymentConfiguration?{deploymentCircuitBreaker: DeploymentCircuitBreaker?{enable: bool, rollback: bool}, maximumPercent: int?, minimumHealthyPercent: int?, alarms: DeploymentAlarms?{alarmNames: [str], enable: bool, rollback: bool}}, taskSets: [TaskSet]?, deployments: [Deployment]?, roleArn: str?, events: [ServiceEvent]?, createdAt: str(timestamp)?, placementConstraints: [PlacementConstraint]?, placementStrategy: [PlacementStrategy]?, networkConfiguration: NetworkConfiguration?{awsvpcConfiguration: AwsVpcConfiguration?{subnets: [str], securityGroups: [str]?, assignPublicIp: str?}}, healthCheckGracePeriodSeconds: int?, schedulingStrategy: str?, deploymentController: DeploymentController?{type: str}, tags: [Tag]?, createdBy: str?, enableECSManagedTags: bool?, propagateTags: str?, enableExecuteCommand: bool?}}

@endpoint POST /
@required {cluster: str, service: str, primaryTaskSet: str}
@returns(200) {taskSet: TaskSet?{id: str?, taskSetArn: str?, serviceArn: str?, clusterArn: str?, startedBy: str?, externalId: str?, status: str?, taskDefinition: str?, computedDesiredCount: int?, pendingCount: int?, runningCount: int?, createdAt: str(timestamp)?, updatedAt: str(timestamp)?, launchType: str?, capacityProviderStrategy: [CapacityProviderStrategyItem]?, platformVersion: str?, platformFamily: str?, networkConfiguration: NetworkConfiguration?{awsvpcConfiguration: AwsVpcConfiguration?{subnets: [str], securityGroups: [str]?, assignPublicIp: str?}}, loadBalancers: [LoadBalancer]?, serviceRegistries: [ServiceRegistry]?, scale: Scale?{value: num(f64)?, unit: str?}, stabilityStatus: str?, stabilityStatusAt: str(timestamp)?, tags: [Tag]?, fargateEphemeralStorage: DeploymentEphemeralStorage?{kmsKeyId: str?}}}

@endpoint POST /
@required {cluster: str, tasks: [str], protectionEnabled: bool}
@optional {expiresInMinutes: int}
@returns(200) {protectedTasks: [ProtectedTask]?, failures: [Failure]?}

@endpoint POST /
@required {cluster: str, service: str, taskSet: str, scale: Scale}
@returns(200) {taskSet: TaskSet?{id: str?, taskSetArn: str?, serviceArn: str?, clusterArn: str?, startedBy: str?, externalId: str?, status: str?, taskDefinition: str?, computedDesiredCount: int?, pendingCount: int?, runningCount: int?, createdAt: str(timestamp)?, updatedAt: str(timestamp)?, launchType: str?, capacityProviderStrategy: [CapacityProviderStrategyItem]?, platformVersion: str?, platformFamily: str?, networkConfiguration: NetworkConfiguration?{awsvpcConfiguration: AwsVpcConfiguration?{subnets: [str], securityGroups: [str]?, assignPublicIp: str?}}, loadBalancers: [LoadBalancer]?, serviceRegistries: [ServiceRegistry]?, scale: Scale?{value: num(f64)?, unit: str?}, stabilityStatus: str?, stabilityStatusAt: str(timestamp)?, tags: [Tag]?, fargateEphemeralStorage: DeploymentEphemeralStorage?{kmsKeyId: str?}}}

@end
