@Generated(value="software.amazon.awssdk:codegen") public final class Service extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Service.Builder,Service>
Details on a service within a cluster
Modifier and Type | Class and Description |
---|---|
static interface |
Service.Builder |
Modifier and Type | Method and Description |
---|---|
static Service.Builder |
builder() |
String |
clusterArn()
The Amazon Resource Name (ARN) of the cluster that hosts the service.
|
Instant |
createdAt()
The Unix timestamp for when the service was created.
|
String |
createdBy()
The principal that created the service.
|
DeploymentConfiguration |
deploymentConfiguration()
Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping
and starting tasks.
|
DeploymentController |
deploymentController()
The deployment controller type the service is using.
|
List<Deployment> |
deployments()
The current state of deployments for the service.
|
Integer |
desiredCount()
The desired number of instantiations of the task definition to keep running on the service.
|
Boolean |
enableECSManagedTags()
Specifies whether to enable Amazon ECS managed tags for the tasks in the service.
|
boolean |
equals(Object obj) |
List<ServiceEvent> |
events()
The event stream for your service.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
int |
hashCode() |
Integer |
healthCheckGracePeriodSeconds()
The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing
target health checks after a task has first started.
|
LaunchType |
launchType()
The launch type on which your service is running.
|
String |
launchTypeAsString()
The launch type on which your service is running.
|
List<LoadBalancer> |
loadBalancers()
A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the container name (as
it appears in a container definition), and the container port to access from the load balancer.
|
NetworkConfiguration |
networkConfiguration()
The VPC subnet and security group configuration for tasks that receive their own elastic network interface by
using the
awsvpc networking mode. |
Integer |
pendingCount()
The number of tasks in the cluster that are in the
PENDING state. |
List<PlacementConstraint> |
placementConstraints()
The placement constraints for the tasks in the service.
|
List<PlacementStrategy> |
placementStrategy()
The placement strategy that determines how tasks for the service are placed.
|
String |
platformVersion()
The platform version on which your tasks in the service are running.
|
PropagateTags |
propagateTags()
Specifies whether to propagate the tags from the task definition or the service to the task.
|
String |
propagateTagsAsString()
Specifies whether to propagate the tags from the task definition or the service to the task.
|
String |
roleArn()
The ARN of the IAM role associated with the service that allows the Amazon ECS container agent to register
container instances with an Elastic Load Balancing load balancer.
|
Integer |
runningCount()
The number of tasks in the cluster that are in the
RUNNING state. |
SchedulingStrategy |
schedulingStrategy()
The scheduling strategy to use for the service.
|
String |
schedulingStrategyAsString()
The scheduling strategy to use for the service.
|
List<SdkField<?>> |
sdkFields() |
static Class<? extends Service.Builder> |
serializableBuilderClass() |
String |
serviceArn()
The ARN that identifies the service.
|
String |
serviceName()
The name of your service.
|
List<ServiceRegistry> |
serviceRegistries()
|
String |
status()
The status of the service.
|
List<Tag> |
tags()
The metadata that you apply to the service to help you categorize and organize them.
|
String |
taskDefinition()
The task definition to use for tasks in the service.
|
List<TaskSet> |
taskSets()
Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment.
|
Service.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString() |
copy
public String serviceArn()
The ARN that identifies the service. The ARN contains the arn:aws:ecs
namespace, followed by the
Region of the service, the AWS account ID of the service owner, the service
namespace, and then the
service name. For example, arn:aws:ecs:region:012345678910:service/my-service
.
arn:aws:ecs
namespace, followed by
the Region of the service, the AWS account ID of the service owner, the service
namespace,
and then the service name. For example,
arn:aws:ecs:region:012345678910:service/my-service
.public String serviceName()
The name of your service. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions.
public String clusterArn()
The Amazon Resource Name (ARN) of the cluster that hosts the service.
public List<LoadBalancer> loadBalancers()
A list of Elastic Load Balancing load balancer objects, containing the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer.
Services with tasks that use the awsvpc
network mode (for example, those with the Fargate launch
type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not
supported. Also, when you create any target groups for these services, you must choose ip
as the
target type, not instance
. Tasks that use the awsvpc
network mode are associated with
an elastic network interface, not an Amazon EC2 instance.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
Services with tasks that use the awsvpc
network mode (for example, those with the Fargate
launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers
are not supported. Also, when you create any target groups for these services, you must choose
ip
as the target type, not instance
. Tasks that use the awsvpc
network mode are associated with an elastic network interface, not an Amazon EC2 instance.
public List<ServiceRegistry> serviceRegistries()
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public String status()
The status of the service. The valid values are ACTIVE
, DRAINING
, or
INACTIVE
.
ACTIVE
, DRAINING
, or
INACTIVE
.public Integer desiredCount()
The desired number of instantiations of the task definition to keep running on the service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.
public Integer runningCount()
The number of tasks in the cluster that are in the RUNNING
state.
RUNNING
state.public Integer pendingCount()
The number of tasks in the cluster that are in the PENDING
state.
PENDING
state.public LaunchType launchType()
The launch type on which your service is running. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.
If the service returns an enum value that is not available in the current SDK version, launchType
will
return LaunchType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available from
launchTypeAsString()
.
LaunchType
public String launchTypeAsString()
The launch type on which your service is running. For more information, see Amazon ECS Launch Types in the Amazon Elastic Container Service Developer Guide.
If the service returns an enum value that is not available in the current SDK version, launchType
will
return LaunchType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available from
launchTypeAsString()
.
LaunchType
public String platformVersion()
The platform version on which your tasks in the service are running. A platform version is only specified for
tasks using the Fargate launch type. If one is not specified, the LATEST
platform version is used by
default. For more information, see AWS Fargate Platform
Versions in the Amazon Elastic Container Service Developer Guide.
LATEST
platform
version is used by default. For more information, see AWS Fargate
Platform Versions in the Amazon Elastic Container Service Developer Guide.public String taskDefinition()
The task definition to use for tasks in the service. This value is specified when the service is created with CreateService, and it can be modified with UpdateService.
public DeploymentConfiguration deploymentConfiguration()
Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
public List<TaskSet> taskSets()
Information about a set of Amazon ECS tasks in an AWS CodeDeploy deployment. An Amazon ECS task set includes details such as the desired number of tasks, how many tasks are running, and whether the task set serves production traffic.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public List<Deployment> deployments()
The current state of deployments for the service.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public String roleArn()
The ARN of the IAM role associated with the service that allows the Amazon ECS container agent to register container instances with an Elastic Load Balancing load balancer.
public List<ServiceEvent> events()
The event stream for your service. A maximum of 100 of the latest events are displayed.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public Instant createdAt()
The Unix timestamp for when the service was created.
public List<PlacementConstraint> placementConstraints()
The placement constraints for the tasks in the service.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public List<PlacementStrategy> placementStrategy()
The placement strategy that determines how tasks for the service are placed.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public NetworkConfiguration networkConfiguration()
The VPC subnet and security group configuration for tasks that receive their own elastic network interface by
using the awsvpc
networking mode.
awsvpc
networking mode.public Integer healthCheckGracePeriodSeconds()
The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started.
public SchedulingStrategy schedulingStrategy()
The scheduling strategy to use for the service. For more information, see Services.
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.
DAEMON
-The daemon scheduling strategy deploys exactly one task on each container instance in your
cluster. When you are using this strategy, do not specify a desired number of tasks or any task placement
strategies.
Fargate tasks do not support the DAEMON
scheduling strategy.
If the service returns an enum value that is not available in the current SDK version,
schedulingStrategy
will return SchedulingStrategy.UNKNOWN_TO_SDK_VERSION
. The raw value returned
by the service is available from schedulingStrategyAsString()
.
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.
DAEMON
-The daemon scheduling strategy deploys exactly one task on each container instance in
your cluster. When you are using this strategy, do not specify a desired number of tasks or any task
placement strategies.
Fargate tasks do not support the DAEMON
scheduling strategy.
SchedulingStrategy
public String schedulingStrategyAsString()
The scheduling strategy to use for the service. For more information, see Services.
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.
DAEMON
-The daemon scheduling strategy deploys exactly one task on each container instance in your
cluster. When you are using this strategy, do not specify a desired number of tasks or any task placement
strategies.
Fargate tasks do not support the DAEMON
scheduling strategy.
If the service returns an enum value that is not available in the current SDK version,
schedulingStrategy
will return SchedulingStrategy.UNKNOWN_TO_SDK_VERSION
. The raw value returned
by the service is available from schedulingStrategyAsString()
.
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.
DAEMON
-The daemon scheduling strategy deploys exactly one task on each container instance in
your cluster. When you are using this strategy, do not specify a desired number of tasks or any task
placement strategies.
Fargate tasks do not support the DAEMON
scheduling strategy.
SchedulingStrategy
public DeploymentController deploymentController()
The deployment controller type the service is using.
public List<Tag> tags()
The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public String createdBy()
The principal that created the service.
public Boolean enableECSManagedTags()
Specifies whether to enable Amazon ECS managed tags for the tasks in the service. For more information, see Tagging Your Amazon ECS Resources in the Amazon Elastic Container Service Developer Guide.
public PropagateTags propagateTags()
Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags are not propagated.
If the service returns an enum value that is not available in the current SDK version, propagateTags
will return PropagateTags.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available from
propagateTagsAsString()
.
PropagateTags
public String propagateTagsAsString()
Specifies whether to propagate the tags from the task definition or the service to the task. If no value is specified, the tags are not propagated.
If the service returns an enum value that is not available in the current SDK version, propagateTags
will return PropagateTags.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available from
propagateTagsAsString()
.
PropagateTags
public Service.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<Service.Builder,Service>
public static Service.Builder builder()
public static Class<? extends Service.Builder> serializableBuilderClass()
Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.