com.amazonaws.services.ecs.AmazonECS Maven / Gradle / Ivy
Show all versions of aws-java-sdk-ecs Show documentation
/*
* Copyright 2016-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.ecs;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.ecs.model.*;
import com.amazonaws.services.ecs.waiters.AmazonECSWaiters;
/**
* Interface for accessing Amazon ECS.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.ecs.AbstractAmazonECS} instead.
*
*
* Amazon Elastic Container Service
*
* Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it
* easy to run, stop, and manage Docker containers on a cluster. You can host your cluster on a serverless
* infrastructure that is managed by Amazon ECS by launching your services or tasks on AWS Fargate. For more control,
* you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.
*
*
* Amazon ECS makes it easy to launch and stop container-based applications with simple API calls, allows you to get the
* state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.
*
*
* You can use Amazon ECS to schedule the placement of containers across your cluster based on your resource needs,
* isolation policies, and availability requirements. Amazon ECS eliminates the need for you to operate your own cluster
* management and configuration management systems or worry about scaling your management infrastructure.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AmazonECS {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "ecs";
/**
* Overrides the default endpoint for this client ("https://ecs.us-east-1.amazonaws.com"). Callers can use this
* method to control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex: "ecs.us-east-1.amazonaws.com") or a full URL, including the protocol
* (ex: "https://ecs.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from
* this client's {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available
* endpoints for all AWS services, see: https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/java-dg-region-selection.html#region-selection-
* choose-endpoint
*
* This method is not threadsafe. An endpoint should be configured when the client is created and before any
* service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param endpoint
* The endpoint (ex: "ecs.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
* "https://ecs.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate
* with.
* @deprecated use {@link AwsClientBuilder#setEndpointConfiguration(AwsClientBuilder.EndpointConfiguration)} for
* example:
* {@code builder.setEndpointConfiguration(new EndpointConfiguration(endpoint, signingRegion));}
*/
@Deprecated
void setEndpoint(String endpoint);
/**
* An alternative to {@link AmazonECS#setEndpoint(String)}, sets the regional endpoint for this client's service
* calls. Callers can use this method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
* {@link ClientConfiguration} supplied at construction.
*
* This method is not threadsafe. A region should be configured when the client is created and before any service
* requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit
* or retrying.
*
* @param region
* The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)}
* for accessing a given region. Must not be null and must be a region where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
* @deprecated use {@link AwsClientBuilder#setRegion(String)}
*/
@Deprecated
void setRegion(Region region);
/**
*
* Creates a new capacity provider. Capacity providers are associated with an Amazon ECS cluster and are used in
* capacity provider strategies to facilitate cluster auto scaling.
*
*
* Only capacity providers using an Auto Scaling group can be created. Amazon ECS tasks on AWS Fargate use the
* FARGATE
and FARGATE_SPOT
capacity providers which are already created and available to
* all accounts in Regions supported by AWS Fargate.
*
*
* @param createCapacityProviderRequest
* @return Result of the CreateCapacityProvider operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws LimitExceededException
* The limit for the resource has been exceeded.
* @throws UpdateInProgressException
* There is already a current Amazon ECS container agent update in progress on the specified container
* instance. If the container agent becomes disconnected while it is in a transitional stage, such as
* PENDING
or STAGING
, the update process can get stuck in that state. However,
* when the agent reconnects, it resumes where it stopped previously.
* @sample AmazonECS.CreateCapacityProvider
* @see AWS API
* Documentation
*/
CreateCapacityProviderResult createCapacityProvider(CreateCapacityProviderRequest createCapacityProviderRequest);
/**
*
* Creates a new Amazon ECS cluster. By default, your account receives a default
cluster when you
* launch your first container instance. However, you can create your own cluster with a unique name with the
* CreateCluster
action.
*
*
*
* When you call the CreateCluster API operation, Amazon ECS attempts to create the Amazon ECS service-linked
* role for your account so that required resources in other AWS services can be managed on your behalf. However, if
* the IAM user that makes the call does not have permissions to create the service-linked role, it is not created.
* For more information, see Using
* Service-Linked Roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.
*
*
*
* @param createClusterRequest
* @return Result of the CreateCluster operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.CreateCluster
* @see AWS API
* Documentation
*/
CreateClusterResult createCluster(CreateClusterRequest createClusterRequest);
/**
* Simplified method form for invoking the CreateCluster operation.
*
* @see #createCluster(CreateClusterRequest)
*/
CreateClusterResult createCluster();
/**
*
* Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in
* a service drops below the desiredCount
, Amazon ECS runs another copy of the task in the specified
* cluster. To update an existing service, see the UpdateService action.
*
*
* In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind
* one or more load balancers. The load balancers distribute traffic across the tasks that are associated with the
* service. For more information, see Service Load
* Balancing in the Amazon Elastic Container Service Developer Guide.
*
*
* Tasks for services that do not use a load balancer are considered healthy if they're in the
* RUNNING
state. Tasks for services that do use a load balancer are considered healthy if
* they're in the RUNNING
state and the container instance that they're hosted on is reported as
* healthy by the load balancer.
*
*
* There are two service scheduler strategies available:
*
*
* -
*
* REPLICA
- The replica scheduling strategy places and maintains the desired number of tasks across
* your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task
* placement strategies and constraints to customize task placement decisions. For more information, see Service Scheduler
* Concepts in the Amazon Elastic Container Service Developer Guide.
*
*
* -
*
* DAEMON
- The daemon scheduling strategy deploys exactly one task on each active container instance
* that meets all of the task placement constraints that you specify in your cluster. The service scheduler also
* evaluates the task placement constraints for running tasks and will stop tasks that do not meet the placement
* constraints. When using this strategy, you don't need to specify a desired number of tasks, a task placement
* strategy, or use Service Auto Scaling policies. For more information, see Service Scheduler
* Concepts in the Amazon Elastic Container Service Developer Guide.
*
*
*
*
* You can optionally specify a deployment configuration for your service. The deployment is triggered by changing
* properties, such as the task definition or the desired count of a service, with an UpdateService
* operation. The default value for a replica service for minimumHealthyPercent
is 100%. The default
* value for a daemon service for minimumHealthyPercent
is 0%.
*
*
* If a service is using the ECS
deployment controller, the minimum healthy percent represents a lower
* limit on the number of tasks in a service that must remain in the RUNNING
state during a deployment,
* as a percentage of the desired number of tasks (rounded up to the nearest integer), and while any container
* instances are in the DRAINING
state if the service contains tasks using the EC2 launch type. This
* parameter enables you to deploy without using additional cluster capacity. For example, if your service has a
* desired number of four tasks and a minimum healthy percent of 50%, the scheduler might stop two existing tasks to
* free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer
* are considered healthy if they're in the RUNNING
state. Tasks for services that do use a load
* balancer are considered healthy if they're in the RUNNING
state and they're reported as healthy by
* the load balancer. The default value for minimum healthy percent is 100%.
*
*
* If a service is using the ECS
deployment controller, the maximum percent parameter represents
* an upper limit on the number of tasks in a service that are allowed in the RUNNING
or
* PENDING
state during a deployment, as a percentage of the desired number of tasks (rounded down to
* the nearest integer), and while any container instances are in the DRAINING
state if the service
* contains tasks using the EC2 launch type. This parameter enables you to define the deployment batch size. For
* example, if your service has a desired number of four tasks and a maximum percent value of 200%, the scheduler
* may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do
* this are available). The default value for maximum percent is 200%.
*
*
* If a service is using either the CODE_DEPLOY
or EXTERNAL
deployment controller types
* and tasks that use the EC2 launch type, the minimum healthy percent and maximum percent values are
* used only to define the lower and upper limit on the number of the tasks in the service that remain in the
* RUNNING
state while the container instances are in the DRAINING
state. If the tasks in
* the service use the Fargate launch type, the minimum healthy percent and maximum percent values aren't used,
* although they're currently visible when describing your service.
*
*
* When creating a service that uses the EXTERNAL
deployment controller, you can specify only
* parameters that aren't controlled at the task set level. The only required parameter is the service name. You
* control your services using the CreateTaskSet operation. For more information, see Amazon ECS Deployment
* Types in the Amazon Elastic Container Service Developer Guide.
*
*
* When the service scheduler launches new tasks, it determines task placement in your cluster using the following
* logic:
*
*
* -
*
* Determine which of the container instances in your cluster can support your service's task definition (for
* example, they have the required CPU, memory, ports, and container instance attributes).
*
*
* -
*
* By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although
* you can choose a different placement strategy) with the placementStrategy
parameter):
*
*
* -
*
* Sort the valid container instances, giving priority to instances that have the fewest number of running tasks for
* this service in their respective Availability Zone. For example, if zone A has one running service task and zones
* B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.
*
*
* -
*
* Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous
* steps), favoring container instances with the fewest number of running tasks for this service.
*
*
*
*
*
*
* @param createServiceRequest
* @return Result of the CreateService operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws UnsupportedFeatureException
* The specified task is not supported in this Region.
* @throws PlatformUnknownException
* The specified platform version does not exist.
* @throws PlatformTaskDefinitionIncompatibilityException
* The specified platform version does not satisfy the task definition's required capabilities.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @sample AmazonECS.CreateService
* @see AWS API
* Documentation
*/
CreateServiceResult createService(CreateServiceRequest createServiceRequest);
/**
*
* Create a task set in the specified cluster and service. This is used when a service uses the
* EXTERNAL
deployment controller type. For more information, see Amazon ECS Deployment
* Types in the Amazon Elastic Container Service Developer Guide.
*
*
* @param createTaskSetRequest
* @return Result of the CreateTaskSet operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws UnsupportedFeatureException
* The specified task is not supported in this Region.
* @throws PlatformUnknownException
* The specified platform version does not exist.
* @throws PlatformTaskDefinitionIncompatibilityException
* The specified platform version does not satisfy the task definition's required capabilities.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @throws ServiceNotFoundException
* The specified service could not be found. You can view your available services with ListServices.
* Amazon ECS services are cluster-specific and Region-specific.
* @throws ServiceNotActiveException
* The specified service is not active. You can't update a service that is inactive. If you have previously
* deleted a service, you can re-create it with CreateService.
* @sample AmazonECS.CreateTaskSet
* @see AWS API
* Documentation
*/
CreateTaskSetResult createTaskSet(CreateTaskSetRequest createTaskSetRequest);
/**
*
* Disables an account setting for a specified IAM user, IAM role, or the root user for an account.
*
*
* @param deleteAccountSettingRequest
* @return Result of the DeleteAccountSetting operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.DeleteAccountSetting
* @see AWS API
* Documentation
*/
DeleteAccountSettingResult deleteAccountSetting(DeleteAccountSettingRequest deleteAccountSettingRequest);
/**
*
* Deletes one or more custom attributes from an Amazon ECS resource.
*
*
* @param deleteAttributesRequest
* @return Result of the DeleteAttributes operation returned by the service.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws TargetNotFoundException
* The specified target could not be found. You can view your available container instances with
* ListContainerInstances. Amazon ECS container instances are cluster-specific and Region-specific.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.DeleteAttributes
* @see AWS API
* Documentation
*/
DeleteAttributesResult deleteAttributes(DeleteAttributesRequest deleteAttributesRequest);
/**
*
* Deletes the specified capacity provider.
*
*
*
* The FARGATE
and FARGATE_SPOT
capacity providers are reserved and cannot be deleted. You
* can disassociate them from a cluster using either the PutClusterCapacityProviders API or by deleting the
* cluster.
*
*
*
* Prior to a capacity provider being deleted, the capacity provider must be removed from the capacity provider
* strategy from all services. The UpdateService API can be used to remove a capacity provider from a
* service's capacity provider strategy. When updating a service, the forceNewDeployment
option can be
* used to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity provider are
* transitioned to use the capacity from the remaining capacity providers. Only capacity providers that are not
* associated with a cluster can be deleted. To remove a capacity provider from a cluster, you can either use
* PutClusterCapacityProviders or delete the cluster.
*
*
* @param deleteCapacityProviderRequest
* @return Result of the DeleteCapacityProvider operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.DeleteCapacityProvider
* @see AWS API
* Documentation
*/
DeleteCapacityProviderResult deleteCapacityProvider(DeleteCapacityProviderRequest deleteCapacityProviderRequest);
/**
*
* Deletes the specified cluster. The cluster will transition to the INACTIVE
state. Clusters with an
* INACTIVE
status may remain discoverable in your account for a period of time. However, this behavior
* is subject to change in the future, so you should not rely on INACTIVE
clusters persisting.
*
*
* You must deregister all container instances from this cluster before you may delete it. You can list the
* container instances in a cluster with ListContainerInstances and deregister them with
* DeregisterContainerInstance.
*
*
* @param deleteClusterRequest
* @return Result of the DeleteCluster operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws ClusterContainsContainerInstancesException
* You cannot delete a cluster that has registered container instances. First, deregister the container
* instances before you can delete the cluster. For more information, see
* DeregisterContainerInstance.
* @throws ClusterContainsServicesException
* You cannot delete a cluster that contains services. First, update the service to reduce its desired task
* count to 0 and then delete the service. For more information, see UpdateService and
* DeleteService.
* @throws ClusterContainsTasksException
* You cannot delete a cluster that has active tasks.
* @throws UpdateInProgressException
* There is already a current Amazon ECS container agent update in progress on the specified container
* instance. If the container agent becomes disconnected while it is in a transitional stage, such as
* PENDING
or STAGING
, the update process can get stuck in that state. However,
* when the agent reconnects, it resumes where it stopped previously.
* @sample AmazonECS.DeleteCluster
* @see AWS API
* Documentation
*/
DeleteClusterResult deleteCluster(DeleteClusterRequest deleteClusterRequest);
/**
*
* Deletes a specified service within a cluster. You can delete a service if you have no running tasks in it and the
* desired task count is zero. If the service is actively maintaining tasks, you cannot delete it, and you must
* update the service to a desired task count of zero. For more information, see UpdateService.
*
*
*
* When you delete a service, if there are still running tasks that require cleanup, the service status moves from
* ACTIVE
to DRAINING
, and the service is no longer visible in the console or in the
* ListServices API operation. After all tasks have transitioned to either STOPPING
or
* STOPPED
status, the service status moves from DRAINING
to INACTIVE
.
* Services in the DRAINING
or INACTIVE
status can still be viewed with the
* DescribeServices API operation. However, in the future, INACTIVE
services may be cleaned up
* and purged from Amazon ECS record keeping, and DescribeServices calls on those services return a
* ServiceNotFoundException
error.
*
*
*
* If you attempt to create a new service with the same name as an existing service in either ACTIVE
or
* DRAINING
status, you receive an error.
*
*
*
* @param deleteServiceRequest
* @return Result of the DeleteService operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws ServiceNotFoundException
* The specified service could not be found. You can view your available services with ListServices.
* Amazon ECS services are cluster-specific and Region-specific.
* @sample AmazonECS.DeleteService
* @see AWS API
* Documentation
*/
DeleteServiceResult deleteService(DeleteServiceRequest deleteServiceRequest);
/**
*
* Deletes a specified task set within a service. This is used when a service uses the EXTERNAL
* deployment controller type. For more information, see Amazon ECS Deployment
* Types in the Amazon Elastic Container Service Developer Guide.
*
*
* @param deleteTaskSetRequest
* @return Result of the DeleteTaskSet operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws UnsupportedFeatureException
* The specified task is not supported in this Region.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @throws ServiceNotFoundException
* The specified service could not be found. You can view your available services with ListServices.
* Amazon ECS services are cluster-specific and Region-specific.
* @throws ServiceNotActiveException
* The specified service is not active. You can't update a service that is inactive. If you have previously
* deleted a service, you can re-create it with CreateService.
* @throws TaskSetNotFoundException
* The specified task set could not be found. You can view your available task sets with
* DescribeTaskSets. Task sets are specific to each cluster, service and Region.
* @sample AmazonECS.DeleteTaskSet
* @see AWS API
* Documentation
*/
DeleteTaskSetResult deleteTaskSet(DeleteTaskSetRequest deleteTaskSetRequest);
/**
*
* Deregisters an Amazon ECS container instance from the specified cluster. This instance is no longer available to
* run tasks.
*
*
* If you intend to use the container instance for some other purpose after deregistration, you should stop all of
* the tasks running on the container instance before deregistration. That prevents any orphaned tasks from
* consuming resources.
*
*
* Deregistering a container instance removes the instance from a cluster, but it does not terminate the EC2
* instance. If you are finished using the instance, be sure to terminate it in the Amazon EC2 console to stop
* billing.
*
*
*
* If you terminate a running container instance, Amazon ECS automatically deregisters the instance from your
* cluster (stopped container instances or instances with disconnected agents are not automatically deregistered
* when terminated).
*
*
*
* @param deregisterContainerInstanceRequest
* @return Result of the DeregisterContainerInstance operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.DeregisterContainerInstance
* @see AWS API Documentation
*/
DeregisterContainerInstanceResult deregisterContainerInstance(DeregisterContainerInstanceRequest deregisterContainerInstanceRequest);
/**
*
* Deregisters the specified task definition by family and revision. Upon deregistration, the task definition is
* marked as INACTIVE
. Existing tasks and services that reference an INACTIVE
task
* definition continue to run without disruption. Existing services that reference an INACTIVE
task
* definition can still scale up or down by modifying the service's desired count.
*
*
* You cannot use an INACTIVE
task definition to run new tasks or create new services, and you cannot
* update an existing service to reference an INACTIVE
task definition. However, there may be up to a
* 10-minute window following deregistration where these restrictions have not yet taken effect.
*
*
*
* At this time, INACTIVE
task definitions remain discoverable in your account indefinitely. However,
* this behavior is subject to change in the future, so you should not rely on INACTIVE
task
* definitions persisting beyond the lifecycle of any associated tasks and services.
*
*
*
* @param deregisterTaskDefinitionRequest
* @return Result of the DeregisterTaskDefinition operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.DeregisterTaskDefinition
* @see AWS
* API Documentation
*/
DeregisterTaskDefinitionResult deregisterTaskDefinition(DeregisterTaskDefinitionRequest deregisterTaskDefinitionRequest);
/**
*
* Describes one or more of your capacity providers.
*
*
* @param describeCapacityProvidersRequest
* @return Result of the DescribeCapacityProviders operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.DescribeCapacityProviders
* @see AWS
* API Documentation
*/
DescribeCapacityProvidersResult describeCapacityProviders(DescribeCapacityProvidersRequest describeCapacityProvidersRequest);
/**
*
* Describes one or more of your clusters.
*
*
* @param describeClustersRequest
* @return Result of the DescribeClusters operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.DescribeClusters
* @see AWS API
* Documentation
*/
DescribeClustersResult describeClusters(DescribeClustersRequest describeClustersRequest);
/**
* Simplified method form for invoking the DescribeClusters operation.
*
* @see #describeClusters(DescribeClustersRequest)
*/
DescribeClustersResult describeClusters();
/**
*
* Describes one or more container instances. Returns metadata about each container instance requested.
*
*
* @param describeContainerInstancesRequest
* @return Result of the DescribeContainerInstances operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.DescribeContainerInstances
* @see AWS
* API Documentation
*/
DescribeContainerInstancesResult describeContainerInstances(DescribeContainerInstancesRequest describeContainerInstancesRequest);
/**
*
* Describes the specified services running in your cluster.
*
*
* @param describeServicesRequest
* @return Result of the DescribeServices operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.DescribeServices
* @see AWS API
* Documentation
*/
DescribeServicesResult describeServices(DescribeServicesRequest describeServicesRequest);
/**
*
* Describes a task definition. You can specify a family
and revision
to find information
* about a specific task definition, or you can simply specify the family to find the latest ACTIVE
* revision in that family.
*
*
*
* You can only describe INACTIVE
task definitions while an active task or service references them.
*
*
*
* @param describeTaskDefinitionRequest
* @return Result of the DescribeTaskDefinition operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.DescribeTaskDefinition
* @see AWS API
* Documentation
*/
DescribeTaskDefinitionResult describeTaskDefinition(DescribeTaskDefinitionRequest describeTaskDefinitionRequest);
/**
*
* Describes the task sets in the specified cluster and service. This is used when a service uses the
* EXTERNAL
deployment controller type. For more information, see Amazon ECS Deployment
* Types in the Amazon Elastic Container Service Developer Guide.
*
*
* @param describeTaskSetsRequest
* @return Result of the DescribeTaskSets operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws UnsupportedFeatureException
* The specified task is not supported in this Region.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @throws ServiceNotFoundException
* The specified service could not be found. You can view your available services with ListServices.
* Amazon ECS services are cluster-specific and Region-specific.
* @throws ServiceNotActiveException
* The specified service is not active. You can't update a service that is inactive. If you have previously
* deleted a service, you can re-create it with CreateService.
* @sample AmazonECS.DescribeTaskSets
* @see AWS API
* Documentation
*/
DescribeTaskSetsResult describeTaskSets(DescribeTaskSetsRequest describeTaskSetsRequest);
/**
*
* Describes a specified task or tasks.
*
*
* @param describeTasksRequest
* @return Result of the DescribeTasks operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.DescribeTasks
* @see AWS API
* Documentation
*/
DescribeTasksResult describeTasks(DescribeTasksRequest describeTasksRequest);
/**
*
*
* This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.
*
*
*
* Returns an endpoint for the Amazon ECS agent to poll for updates.
*
*
* @param discoverPollEndpointRequest
* @return Result of the DiscoverPollEndpoint operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @sample AmazonECS.DiscoverPollEndpoint
* @see AWS API
* Documentation
*/
DiscoverPollEndpointResult discoverPollEndpoint(DiscoverPollEndpointRequest discoverPollEndpointRequest);
/**
* Simplified method form for invoking the DiscoverPollEndpoint operation.
*
* @see #discoverPollEndpoint(DiscoverPollEndpointRequest)
*/
DiscoverPollEndpointResult discoverPollEndpoint();
/**
*
* Runs a command remotely on a container within a task.
*
*
* @param executeCommandRequest
* @return Result of the ExecuteCommand operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws TargetNotConnectedException
* The target container is not properly configured with the execute command agent or the container is no
* longer active or running.
* @sample AmazonECS.ExecuteCommand
* @see AWS API
* Documentation
*/
ExecuteCommandResult executeCommand(ExecuteCommandRequest executeCommandRequest);
/**
*
* Lists the account settings for a specified principal.
*
*
* @param listAccountSettingsRequest
* @return Result of the ListAccountSettings operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.ListAccountSettings
* @see AWS API
* Documentation
*/
ListAccountSettingsResult listAccountSettings(ListAccountSettingsRequest listAccountSettingsRequest);
/**
*
* 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, for example, to see which container
* instances in a cluster are running a Linux AMI (ecs.os-type=linux
).
*
*
* @param listAttributesRequest
* @return Result of the ListAttributes operation returned by the service.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.ListAttributes
* @see AWS API
* Documentation
*/
ListAttributesResult listAttributes(ListAttributesRequest listAttributesRequest);
/**
*
* Returns a list of existing clusters.
*
*
* @param listClustersRequest
* @return Result of the ListClusters operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.ListClusters
* @see AWS API
* Documentation
*/
ListClustersResult listClusters(ListClustersRequest listClustersRequest);
/**
* Simplified method form for invoking the ListClusters operation.
*
* @see #listClusters(ListClustersRequest)
*/
ListClustersResult listClusters();
/**
*
* Returns a list of container instances in a specified cluster. You can filter the results of a
* ListContainerInstances
operation with cluster query language statements inside the
* filter
parameter. For more information, see Cluster Query
* Language in the Amazon Elastic Container Service Developer Guide.
*
*
* @param listContainerInstancesRequest
* @return Result of the ListContainerInstances operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.ListContainerInstances
* @see AWS API
* Documentation
*/
ListContainerInstancesResult listContainerInstances(ListContainerInstancesRequest listContainerInstancesRequest);
/**
* Simplified method form for invoking the ListContainerInstances operation.
*
* @see #listContainerInstances(ListContainerInstancesRequest)
*/
ListContainerInstancesResult listContainerInstances();
/**
*
* Returns a list of services. You can filter the results by cluster, launch type, and scheduling strategy.
*
*
* @param listServicesRequest
* @return Result of the ListServices operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.ListServices
* @see AWS API
* Documentation
*/
ListServicesResult listServices(ListServicesRequest listServicesRequest);
/**
* Simplified method form for invoking the ListServices operation.
*
* @see #listServices(ListServicesRequest)
*/
ListServicesResult listServices();
/**
*
* List the tags for an Amazon ECS resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.ListTagsForResource
* @see AWS API
* Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Returns a list of task definition families that are registered to your account (which may include task definition
* families that no longer have any ACTIVE
task definition revisions).
*
*
* You can filter out task definition families that do not contain any ACTIVE
task definition revisions
* by setting the status
parameter to ACTIVE
. You can also filter the results with the
* familyPrefix
parameter.
*
*
* @param listTaskDefinitionFamiliesRequest
* @return Result of the ListTaskDefinitionFamilies operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.ListTaskDefinitionFamilies
* @see AWS
* API Documentation
*/
ListTaskDefinitionFamiliesResult listTaskDefinitionFamilies(ListTaskDefinitionFamiliesRequest listTaskDefinitionFamiliesRequest);
/**
* Simplified method form for invoking the ListTaskDefinitionFamilies operation.
*
* @see #listTaskDefinitionFamilies(ListTaskDefinitionFamiliesRequest)
*/
ListTaskDefinitionFamiliesResult listTaskDefinitionFamilies();
/**
*
* Returns a list of task definitions that are registered to your account. You can filter the results by family name
* with the familyPrefix
parameter or by status with the status
parameter.
*
*
* @param listTaskDefinitionsRequest
* @return Result of the ListTaskDefinitions operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.ListTaskDefinitions
* @see AWS API
* Documentation
*/
ListTaskDefinitionsResult listTaskDefinitions(ListTaskDefinitionsRequest listTaskDefinitionsRequest);
/**
* Simplified method form for invoking the ListTaskDefinitions operation.
*
* @see #listTaskDefinitions(ListTaskDefinitionsRequest)
*/
ListTaskDefinitionsResult listTaskDefinitions();
/**
*
* Returns a list of tasks. You can filter the results by cluster, task definition family, container instance,
* launch type, what IAM principal started the task, or by the desired status of the task.
*
*
* Recently stopped tasks might appear in the returned results. Currently, stopped tasks appear in the returned
* results for at least one hour.
*
*
* @param listTasksRequest
* @return Result of the ListTasks operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws ServiceNotFoundException
* The specified service could not be found. You can view your available services with ListServices.
* Amazon ECS services are cluster-specific and Region-specific.
* @sample AmazonECS.ListTasks
* @see AWS API
* Documentation
*/
ListTasksResult listTasks(ListTasksRequest listTasksRequest);
/**
* Simplified method form for invoking the ListTasks operation.
*
* @see #listTasks(ListTasksRequest)
*/
ListTasksResult listTasks();
/**
*
* Modifies an account setting. Account settings are set on a per-Region basis.
*
*
* If you change the account setting for the root user, the default settings for all of the IAM users and roles for
* which no individual account setting has been specified are reset. For more information, see Account Settings
* in the Amazon Elastic Container Service Developer Guide.
*
*
* When serviceLongArnFormat
, taskLongArnFormat
, or
* containerInstanceLongArnFormat
are specified, the Amazon Resource Name (ARN) and resource ID format
* of the resource type for a specified IAM user, IAM role, or the root user for an account is affected. The opt-in
* and opt-out account setting must be set for each Amazon ECS resource separately. The ARN and resource ID format
* of a resource will be defined by the opt-in status of the IAM user or role that created the resource. You must
* enable this setting to use Amazon ECS features such as resource tagging.
*
*
* When awsvpcTrunking
is specified, the elastic network interface (ENI) limit for any new container
* instances that support the feature is changed. If awsvpcTrunking
is enabled, any new container
* instances that support the feature are launched have the increased ENI limits available to them. For more
* information, see Elastic Network
* Interface Trunking in the Amazon Elastic Container Service Developer Guide.
*
*
* When containerInsights
is specified, the default setting indicating whether CloudWatch Container
* Insights is enabled for your clusters is changed. If containerInsights
is enabled, any new clusters
* that are created will have Container Insights enabled unless you disable it during cluster creation. For more
* information, see CloudWatch
* Container Insights in the Amazon Elastic Container Service Developer Guide.
*
*
* @param putAccountSettingRequest
* @return Result of the PutAccountSetting operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.PutAccountSetting
* @see AWS API
* Documentation
*/
PutAccountSettingResult putAccountSetting(PutAccountSettingRequest putAccountSettingRequest);
/**
*
* Modifies an account setting for all IAM users on an account for whom no individual account setting has been
* specified. Account settings are set on a per-Region basis.
*
*
* @param putAccountSettingDefaultRequest
* @return Result of the PutAccountSettingDefault operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.PutAccountSettingDefault
* @see AWS
* API Documentation
*/
PutAccountSettingDefaultResult putAccountSettingDefault(PutAccountSettingDefaultRequest putAccountSettingDefaultRequest);
/**
*
* Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, it is created. If the
* attribute exists, its value is replaced with the specified value. To delete an attribute, use
* DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.
*
*
* @param putAttributesRequest
* @return Result of the PutAttributes operation returned by the service.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws TargetNotFoundException
* The specified target could not be found. You can view your available container instances with
* ListContainerInstances. Amazon ECS container instances are cluster-specific and Region-specific.
* @throws AttributeLimitExceededException
* You can apply up to 10 custom attributes per resource. You can view the attributes of a resource with
* ListAttributes. You can remove existing attributes on a resource with DeleteAttributes.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.PutAttributes
* @see AWS API
* Documentation
*/
PutAttributesResult putAttributes(PutAttributesRequest putAttributesRequest);
/**
*
* Modifies the available capacity providers and the default capacity provider strategy for a cluster.
*
*
* You must specify both the available capacity providers and a default capacity provider strategy for the cluster.
* If the specified cluster has existing capacity providers associated with it, you must specify all existing
* capacity providers in addition to any new ones you want to add. Any existing capacity providers associated with a
* cluster that are omitted from a PutClusterCapacityProviders API call will be disassociated with the
* cluster. You can only disassociate an existing capacity provider from a cluster if it's not being used by any
* existing tasks.
*
*
* When creating a service or running a task on a cluster, if no capacity provider or launch type is specified, then
* the cluster's default capacity provider strategy is used. It is recommended to define a default capacity provider
* strategy for your cluster, however you may specify an empty array ([]
) to bypass defining a default
* strategy.
*
*
* @param putClusterCapacityProvidersRequest
* @return Result of the PutClusterCapacityProviders operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws ResourceInUseException
* The specified resource is in-use and cannot be removed.
* @throws UpdateInProgressException
* There is already a current Amazon ECS container agent update in progress on the specified container
* instance. If the container agent becomes disconnected while it is in a transitional stage, such as
* PENDING
or STAGING
, the update process can get stuck in that state. However,
* when the agent reconnects, it resumes where it stopped previously.
* @sample AmazonECS.PutClusterCapacityProviders
* @see AWS API Documentation
*/
PutClusterCapacityProvidersResult putClusterCapacityProviders(PutClusterCapacityProvidersRequest putClusterCapacityProvidersRequest);
/**
*
*
* This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.
*
*
*
* Registers an EC2 instance into the specified cluster. This instance becomes available to place containers on.
*
*
* @param registerContainerInstanceRequest
* @return Result of the RegisterContainerInstance operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.RegisterContainerInstance
* @see AWS
* API Documentation
*/
RegisterContainerInstanceResult registerContainerInstance(RegisterContainerInstanceRequest registerContainerInstanceRequest);
/**
*
* Registers a new task definition from the supplied family
and containerDefinitions
.
* Optionally, you can add data volumes to your containers with the volumes
parameter. For more
* information about task definition parameters and defaults, see Amazon ECS Task
* Definitions in the Amazon Elastic Container Service Developer Guide.
*
*
* You can specify an IAM role for your task with the taskRoleArn
parameter. When you specify an IAM
* role for a task, its containers can then use the latest versions of the AWS CLI or SDKs to make API requests to
* the AWS services that are specified in the IAM policy associated with the role. For more information, see IAM Roles for Tasks in
* the Amazon Elastic Container Service Developer Guide.
*
*
* You can specify a Docker networking mode for the containers in your task definition with the
* networkMode
parameter. The available network modes correspond to those described in Network settings in the Docker run
* reference. If you specify the awsvpc
network mode, the task is allocated an elastic network
* interface, and you must specify a NetworkConfiguration when you create a service or run a task with the
* task definition. For more information, see Task Networking in
* the Amazon Elastic Container Service Developer Guide.
*
*
* @param registerTaskDefinitionRequest
* @return Result of the RegisterTaskDefinition operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.RegisterTaskDefinition
* @see AWS API
* Documentation
*/
RegisterTaskDefinitionResult registerTaskDefinition(RegisterTaskDefinitionRequest registerTaskDefinitionRequest);
/**
*
* Starts a new task using the specified task definition.
*
*
* You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement
* constraints and placement strategies. For more information, see Scheduling Tasks in
* the Amazon Elastic Container Service Developer Guide.
*
*
* Alternatively, you can use StartTask to use your own scheduler or place tasks manually on specific
* container instances.
*
*
* The Amazon ECS API follows an eventual consistency model, due to the distributed nature of the system supporting
* the API. This means that the result of an API command you run that affects your Amazon ECS resources might not be
* immediately visible to all subsequent commands you run. Keep this in mind when you carry out an API command that
* immediately follows a previous API command.
*
*
* To manage eventual consistency, you can do the following:
*
*
* -
*
* Confirm the state of the resource before you run a command to modify it. Run the DescribeTasks command using an
* exponential backoff algorithm to ensure that you allow enough time for the previous command to propagate through
* the system. To do this, run the DescribeTasks command repeatedly, starting with a couple of seconds of wait time
* and increasing gradually up to five minutes of wait time.
*
*
* -
*
* Add wait time between subsequent commands, even if the DescribeTasks command returns an accurate response. Apply
* an exponential backoff algorithm starting with a couple of seconds of wait time, and increase gradually up to
* about five minutes of wait time.
*
*
*
*
* @param runTaskRequest
* @return Result of the RunTask operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws UnsupportedFeatureException
* The specified task is not supported in this Region.
* @throws PlatformUnknownException
* The specified platform version does not exist.
* @throws PlatformTaskDefinitionIncompatibilityException
* The specified platform version does not satisfy the task definition's required capabilities.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @throws BlockedException
* Your AWS account has been blocked. For more information, contact AWS Support.
* @sample AmazonECS.RunTask
* @see AWS API
* Documentation
*/
RunTaskResult runTask(RunTaskRequest runTaskRequest);
/**
*
* Starts a new task from the specified task definition on the specified container instance or instances.
*
*
* Alternatively, you can use RunTask to place tasks for you. For more information, see Scheduling Tasks in
* the Amazon Elastic Container Service Developer Guide.
*
*
* @param startTaskRequest
* @return Result of the StartTask operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.StartTask
* @see AWS API
* Documentation
*/
StartTaskResult startTask(StartTaskRequest startTaskRequest);
/**
*
* Stops a running task. Any tags associated with the task will be deleted.
*
*
* When StopTask is called on a task, the equivalent of docker stop
is issued to the containers
* running in the task. This results in a SIGTERM
value and a default 30-second timeout, after which
* the SIGKILL
value is sent and the containers are forcibly stopped. If the container handles the
* SIGTERM
value gracefully and exits within 30 seconds from receiving it, no SIGKILL
* value is sent.
*
*
*
* The default 30-second timeout can be configured on the Amazon ECS container agent with the
* ECS_CONTAINER_STOP_TIMEOUT
variable. For more information, see Amazon ECS Container
* Agent Configuration in the Amazon Elastic Container Service Developer Guide.
*
*
*
* @param stopTaskRequest
* @return Result of the StopTask operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.StopTask
* @see AWS API
* Documentation
*/
StopTaskResult stopTask(StopTaskRequest stopTaskRequest);
/**
*
*
* This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.
*
*
*
* Sent to acknowledge that an attachment changed states.
*
*
* @param submitAttachmentStateChangesRequest
* @return Result of the SubmitAttachmentStateChanges operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.SubmitAttachmentStateChanges
* @see AWS API Documentation
*/
SubmitAttachmentStateChangesResult submitAttachmentStateChanges(SubmitAttachmentStateChangesRequest submitAttachmentStateChangesRequest);
/**
*
*
* This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.
*
*
*
* Sent to acknowledge that a container changed states.
*
*
* @param submitContainerStateChangeRequest
* @return Result of the SubmitContainerStateChange operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @sample AmazonECS.SubmitContainerStateChange
* @see AWS
* API Documentation
*/
SubmitContainerStateChangeResult submitContainerStateChange(SubmitContainerStateChangeRequest submitContainerStateChangeRequest);
/**
* Simplified method form for invoking the SubmitContainerStateChange operation.
*
* @see #submitContainerStateChange(SubmitContainerStateChangeRequest)
*/
SubmitContainerStateChangeResult submitContainerStateChange();
/**
*
*
* This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.
*
*
*
* Sent to acknowledge that a task changed states.
*
*
* @param submitTaskStateChangeRequest
* @return Result of the SubmitTaskStateChange operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.SubmitTaskStateChange
* @see AWS API
* Documentation
*/
SubmitTaskStateChangeResult submitTaskStateChange(SubmitTaskStateChangeRequest submitTaskStateChangeRequest);
/**
*
* Associates the specified tags to a resource with the specified resourceArn
. If existing tags on a
* resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags
* associated with that resource are deleted as well.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Deletes specified tags from a resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws ResourceNotFoundException
* The specified resource could not be found.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Modifies the parameters for a capacity provider.
*
*
* @param updateCapacityProviderRequest
* @return Result of the UpdateCapacityProvider operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.UpdateCapacityProvider
* @see AWS API
* Documentation
*/
UpdateCapacityProviderResult updateCapacityProvider(UpdateCapacityProviderRequest updateCapacityProviderRequest);
/**
*
* Updates the cluster.
*
*
* @param updateClusterRequest
* @return Result of the UpdateCluster operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.UpdateCluster
* @see AWS API
* Documentation
*/
UpdateClusterResult updateCluster(UpdateClusterRequest updateClusterRequest);
/**
*
* Modifies the settings to use for a cluster.
*
*
* @param updateClusterSettingsRequest
* @return Result of the UpdateClusterSettings operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @sample AmazonECS.UpdateClusterSettings
* @see AWS API
* Documentation
*/
UpdateClusterSettingsResult updateClusterSettings(UpdateClusterSettingsRequest updateClusterSettingsRequest);
/**
*
* Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent
* does not interrupt running tasks or services on the container instance. The process for updating the agent
* differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another
* operating system.
*
*
*
* The UpdateContainerAgent
API isn't supported for container instances using the Amazon ECS-optimized
* Amazon Linux 2 (arm64) AMI. To update the container agent, you can update the ecs-init
package which
* will update the agent. For more information, see Updating the Amazon
* ECS container agent in the Amazon Elastic Container Service Developer Guide.
*
*
*
* The UpdateContainerAgent
API requires an Amazon ECS-optimized AMI or Amazon Linux AMI with the
* ecs-init
service installed and running. For help updating the Amazon ECS container agent on other
* operating systems, see Manually updating the Amazon ECS container agent in the Amazon Elastic Container Service Developer
* Guide.
*
*
* @param updateContainerAgentRequest
* @return Result of the UpdateContainerAgent operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws UpdateInProgressException
* There is already a current Amazon ECS container agent update in progress on the specified container
* instance. If the container agent becomes disconnected while it is in a transitional stage, such as
* PENDING
or STAGING
, the update process can get stuck in that state. However,
* when the agent reconnects, it resumes where it stopped previously.
* @throws NoUpdateAvailableException
* There is no update available for this Amazon ECS container agent. This could be because the agent is
* already running the latest version, or it is so old that there is no update path to the current version.
* @throws MissingVersionException
* Amazon ECS is unable to determine the current version of the Amazon ECS container agent on the container
* instance and does not have enough information to proceed with an update. This could be because the agent
* running on the container instance is an older or custom version that does not use our version
* information.
* @sample AmazonECS.UpdateContainerAgent
* @see AWS API
* Documentation
*/
UpdateContainerAgentResult updateContainerAgent(UpdateContainerAgentRequest updateContainerAgentRequest);
/**
*
* Modifies the status of an Amazon ECS container instance.
*
*
* Once a container instance has reached an ACTIVE
state, you can change the status of a container
* instance to DRAINING
to manually remove an instance from a cluster, for example to perform system
* updates, update the Docker daemon, or scale down the cluster size.
*
*
*
* A container instance cannot be changed to DRAINING
until it has reached an ACTIVE
* status. If the instance is in any other status, an error will be received.
*
*
*
* When you set a container instance to DRAINING
, Amazon ECS prevents new tasks from being scheduled
* for placement on the container instance and replacement service tasks are started on other container instances in
* the cluster if the resources are available. Service tasks on the container instance that are in the
* PENDING
state are stopped immediately.
*
*
* Service tasks on the container instance that are in the RUNNING
state are stopped and replaced
* according to the service's deployment configuration parameters, minimumHealthyPercent
and
* maximumPercent
. You can change the deployment configuration of your service using
* UpdateService.
*
*
* -
*
* If minimumHealthyPercent
is below 100%, the scheduler can ignore desiredCount
* temporarily during task replacement. For example, desiredCount
is four tasks, a minimum of 50%
* allows the scheduler to stop two existing tasks before starting two new tasks. If the minimum is 100%, the
* service scheduler can't remove existing tasks until the replacement tasks are considered healthy. Tasks for
* services that do not use a load balancer are considered healthy if they are in the RUNNING
state.
* Tasks for services that use a load balancer are considered healthy if they are in the RUNNING
state
* and the container instance they are hosted on is reported as healthy by the load balancer.
*
*
* -
*
* The maximumPercent
parameter represents an upper limit on the number of running tasks during task
* replacement, which enables you to define the replacement batch size. For example, if desiredCount
is
* four tasks, a maximum of 200% starts four new tasks before stopping the four tasks to be drained, provided that
* the cluster resources required to do this are available. If the maximum is 100%, then replacement tasks can't
* start until the draining tasks have stopped.
*
*
*
*
* Any PENDING
or RUNNING
tasks that do not belong to a service are not affected. You must
* wait for them to finish or stop them manually.
*
*
* A container instance has completed draining when it has no more RUNNING
tasks. You can verify this
* using ListTasks.
*
*
* When a container instance has been drained, you can set a container instance to ACTIVE
status and
* once it has reached that status the Amazon ECS scheduler can begin scheduling tasks on the instance again.
*
*
* @param updateContainerInstancesStateRequest
* @return Result of the UpdateContainerInstancesState operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @sample AmazonECS.UpdateContainerInstancesState
* @see AWS API Documentation
*/
UpdateContainerInstancesStateResult updateContainerInstancesState(UpdateContainerInstancesStateRequest updateContainerInstancesStateRequest);
/**
*
*
* Updating the task placement strategies and constraints on an Amazon ECS service remains in preview and is a Beta
* Service as defined by and subject to the Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms ("Beta Terms"). These Beta
* Terms apply to your participation in this preview.
*
*
*
* Modifies the parameters of a service.
*
*
* For services using the rolling update (ECS
) deployment controller, the desired count, deployment
* configuration, network configuration, task placement constraints and strategies, or task definition used can be
* updated.
*
*
* For services using the blue/green (CODE_DEPLOY
) deployment controller, only the desired count,
* deployment configuration, task placement constraints and strategies, and health check grace period can be updated
* using this API. If the network configuration, platform version, or task definition need to be updated, a new AWS
* CodeDeploy deployment should be created. For more information, see CreateDeployment
* in the AWS CodeDeploy API Reference.
*
*
* For services using an external deployment controller, you can update only the desired count, task placement
* constraints and strategies, and health check grace period using this API. If the launch type, load balancer,
* network configuration, platform version, or task definition need to be updated, you should create a new task set.
* For more information, see CreateTaskSet.
*
*
* You can add to or subtract from the number of instantiations of a task definition in a service by specifying the
* cluster that the service is running in and a new desiredCount
parameter.
*
*
* If you have updated the Docker image of your application, you can create a new task definition with that image
* and deploy it to your service. The service scheduler uses the minimum healthy percent and maximum percent
* parameters (in the service's deployment configuration) to determine the deployment strategy.
*
*
*
* If your updated Docker image uses the same tag as what is in the existing task definition for your service (for
* example, my_image:latest
), you do not need to create a new revision of your task definition. You can
* update the service using the forceNewDeployment
option. The new tasks launched by the deployment
* pull the current image/tag combination from your repository when they start.
*
*
*
* You can also update the deployment configuration of a service. When a deployment is triggered by updating the
* task definition of a service, the service scheduler uses the deployment configuration parameters,
* minimumHealthyPercent
and maximumPercent
, to determine the deployment strategy.
*
*
* -
*
* If minimumHealthyPercent
is below 100%, the scheduler can ignore desiredCount
* temporarily during a deployment. For example, if desiredCount
is four tasks, a minimum of 50% allows
* the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that do not use a load
* balancer are considered healthy if they are in the RUNNING
state. Tasks for services that use a load
* balancer are considered healthy if they are in the RUNNING
state and the container instance they are
* hosted on is reported as healthy by the load balancer.
*
*
* -
*
* The maximumPercent
parameter represents an upper limit on the number of running tasks during a
* deployment, which enables you to define the deployment batch size. For example, if desiredCount
is
* four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the
* cluster resources required to do this are available).
*
*
*
*
* When UpdateService stops a task during a deployment, the equivalent of docker stop
is issued
* to the containers running in the task. This results in a SIGTERM
and a 30-second timeout, after
* which SIGKILL
is sent and the containers are forcibly stopped. If the container handles the
* SIGTERM
gracefully and exits within 30 seconds from receiving it, no SIGKILL
is sent.
*
*
* When the service scheduler launches new tasks, it determines task placement in your cluster with the following
* logic:
*
*
* -
*
* Determine which of the container instances in your cluster can support your service's task definition (for
* example, they have the required CPU, memory, ports, and container instance attributes).
*
*
* -
*
* By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although
* you can choose a different placement strategy):
*
*
* -
*
* Sort the valid container instances by the fewest number of running tasks for this service in the same
* Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each
* have zero, valid container instances in either zone B or C are considered optimal for placement.
*
*
* -
*
* Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous
* steps), favoring container instances with the fewest number of running tasks for this service.
*
*
*
*
*
*
* When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in
* your cluster using the following logic:
*
*
* -
*
* Sort the container instances by the largest number of running tasks for this service in the same Availability
* Zone as the instance. For example, if zone A has one running service task and zones B and C each have two,
* container instances in either zone B or C are considered optimal for termination.
*
*
* -
*
* Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring
* container instances with the largest number of running tasks for this service.
*
*
*
*
* @param updateServiceRequest
* @return Result of the UpdateService operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws ServiceNotFoundException
* The specified service could not be found. You can view your available services with ListServices.
* Amazon ECS services are cluster-specific and Region-specific.
* @throws ServiceNotActiveException
* The specified service is not active. You can't update a service that is inactive. If you have previously
* deleted a service, you can re-create it with CreateService.
* @throws PlatformUnknownException
* The specified platform version does not exist.
* @throws PlatformTaskDefinitionIncompatibilityException
* The specified platform version does not satisfy the task definition's required capabilities.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @sample AmazonECS.UpdateService
* @see AWS API
* Documentation
*/
UpdateServiceResult updateService(UpdateServiceRequest updateServiceRequest);
/**
*
* Modifies which task set in a service is the primary task set. Any parameters that are updated on the primary task
* set in a service will transition to the service. This is used when a service uses the EXTERNAL
* deployment controller type. For more information, see Amazon ECS Deployment
* Types in the Amazon Elastic Container Service Developer Guide.
*
*
* @param updateServicePrimaryTaskSetRequest
* @return Result of the UpdateServicePrimaryTaskSet operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws UnsupportedFeatureException
* The specified task is not supported in this Region.
* @throws ServiceNotFoundException
* The specified service could not be found. You can view your available services with ListServices.
* Amazon ECS services are cluster-specific and Region-specific.
* @throws ServiceNotActiveException
* The specified service is not active. You can't update a service that is inactive. If you have previously
* deleted a service, you can re-create it with CreateService.
* @throws TaskSetNotFoundException
* The specified task set could not be found. You can view your available task sets with
* DescribeTaskSets. Task sets are specific to each cluster, service and Region.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @sample AmazonECS.UpdateServicePrimaryTaskSet
* @see AWS API Documentation
*/
UpdateServicePrimaryTaskSetResult updateServicePrimaryTaskSet(UpdateServicePrimaryTaskSetRequest updateServicePrimaryTaskSetRequest);
/**
*
* Modifies a task set. This is used when a service uses the EXTERNAL
deployment controller type. For
* more information, see Amazon ECS Deployment
* Types in the Amazon Elastic Container Service Developer Guide.
*
*
* @param updateTaskSetRequest
* @return Result of the UpdateTaskSet operation returned by the service.
* @throws ServerException
* These errors are usually caused by a server issue.
* @throws ClientException
* These errors are usually caused by a client action, such as using an action or resource on behalf of a
* user that doesn't have permissions to use the action or resource, or specifying an identifier that is not
* valid.
* @throws InvalidParameterException
* The specified parameter is invalid. Review the available parameters for the API request.
* @throws ClusterNotFoundException
* The specified cluster could not be found. You can view your available clusters with ListClusters.
* Amazon ECS clusters are Region-specific.
* @throws UnsupportedFeatureException
* The specified task is not supported in this Region.
* @throws AccessDeniedException
* You do not have authorization to perform the requested action.
* @throws ServiceNotFoundException
* The specified service could not be found. You can view your available services with ListServices.
* Amazon ECS services are cluster-specific and Region-specific.
* @throws ServiceNotActiveException
* The specified service is not active. You can't update a service that is inactive. If you have previously
* deleted a service, you can re-create it with CreateService.
* @throws TaskSetNotFoundException
* The specified task set could not be found. You can view your available task sets with
* DescribeTaskSets. Task sets are specific to each cluster, service and Region.
* @sample AmazonECS.UpdateTaskSet
* @see AWS API
* Documentation
*/
UpdateTaskSetResult updateTaskSet(UpdateTaskSetRequest updateTaskSetRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
AmazonECSWaiters waiters();
}