@Generated(value="software.amazon.awssdk:codegen") public final class CreateServiceRequest extends EcsRequest implements ToCopyableBuilder<CreateServiceRequest.Builder,CreateServiceRequest>
Modifier and Type | Class and Description |
---|---|
static interface |
CreateServiceRequest.Builder |
Modifier and Type | Method and Description |
---|---|
static CreateServiceRequest.Builder |
builder() |
String |
clientToken()
Unique, case-sensitive identifier you provide to ensure the idempotency of the request.
|
String |
cluster()
The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service.
|
DeploymentConfiguration |
deploymentConfiguration()
Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping
and starting tasks.
|
Integer |
desiredCount()
The number of instantiations of the specified task definition to place and keep running on your cluster.
|
boolean |
equals(Object obj) |
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz)
Used to retrieve the value of a field from any class that extends
SdkRequest . |
int |
hashCode() |
List<LoadBalancer> |
loadBalancers()
A load balancer object representing the load balancer to use with your service.
|
NetworkConfiguration |
networkConfiguration()
The network configuration for the service.
|
List<PlacementConstraint> |
placementConstraints()
An array of placement constraint objects to use for tasks in your service.
|
List<PlacementStrategy> |
placementStrategy()
The placement strategy objects to use for tasks in your service.
|
String |
role()
The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load
balancer on your behalf.
|
static Class<? extends CreateServiceRequest.Builder> |
serializableBuilderClass() |
String |
serviceName()
The name of your service.
|
String |
taskDefinition()
The
family and revision (family:revision ) or full Amazon Resource Name
(ARN) of the task definition to run in your service. |
CreateServiceRequest.Builder |
toBuilder()
Take this object and create a builder that contains all of the current property values of this object.
|
String |
toString() |
overrideConfiguration
copy
public String cluster()
The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. If you do not specify a cluster, the default cluster is assumed.
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 taskDefinition()
The family
and revision
(family:revision
) or full Amazon Resource Name
(ARN) of the task definition to run in your service. If a revision
is not specified, the latest
ACTIVE
revision is used.
family
and revision
(family:revision
) or full Amazon Resource
Name (ARN) of the task definition to run in your service. If a revision
is not specified,
the latest ACTIVE
revision is used.public List<LoadBalancer> loadBalancers()
A load balancer object representing the load balancer to use with your service. Currently, you are limited to one load balancer or target group per service. After you create a service, the load balancer name or target group ARN, container name, and container port specified in the service definition are immutable.
For Classic Load Balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.
For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
For Classic Load Balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.
For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.
public Integer desiredCount()
The number of instantiations of the specified task definition to place and keep running on your cluster.
public String clientToken()
Unique, case-sensitive identifier you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.
public String role()
The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load
balancer on your behalf. This parameter is only permitted if you are using a load balancer with your service and
your task definition does not use the awsvpc
network mode. If you specify the role
parameter, you must also specify a load balancer object with the loadBalancers
parameter.
If your account has already created the Amazon ECS service-linked role, that role is used by default for your
service unless you specify a role here. The service-linked role is required if your task definition uses the
awsvpc
network mode, in which case you should not specify a role here. For more information, see Using
Service-Linked Roles for Amazon ECS in the Amazon EC2 Container Service Developer Guide.
If your specified role has a path other than /
, then you must either specify the full role ARN (this
is recommended) or prefix the role name with the path. For example, if a role with the name bar
has
a path of /foo/
then you would specify /foo/bar
as the role name. For more information,
see Friendly Names and Paths in the IAM User Guide.
awsvpc
network mode. If you specify the
role
parameter, you must also specify a load balancer object with the
loadBalancers
parameter.
If your account has already created the Amazon ECS service-linked role, that role is used by default for
your service unless you specify a role here. The service-linked role is required if your task definition
uses the awsvpc
network mode, in which case you should not specify a role here. For more
information, see Using
Service-Linked Roles for Amazon ECS in the Amazon EC2 Container Service Developer Guide.
If your specified role has a path other than /
, then you must either specify the full role
ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name
bar
has a path of /foo/
then you would specify /foo/bar
as the
role name. For more information, see Friendly Names and Paths in the IAM User Guide.
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<PlacementConstraint> placementConstraints()
An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time).
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public List<PlacementStrategy> placementStrategy()
The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules per service.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
public NetworkConfiguration networkConfiguration()
The network configuration for the service. This parameter is required for task definitions that use the
awsvpc
network mode to receive their own Elastic Network Interface, and it is not supported for
other network modes. For more information, see Task Networking in the
Amazon EC2 Container Service Developer Guide.
awsvpc
network mode to receive their own Elastic Network Interface, and it is not supported
for other network modes. For more information, see Task Networking
in the Amazon EC2 Container Service Developer Guide.public CreateServiceRequest.Builder toBuilder()
ToCopyableBuilder
toBuilder
in interface ToCopyableBuilder<CreateServiceRequest.Builder,CreateServiceRequest>
toBuilder
in class EcsRequest
public static CreateServiceRequest.Builder builder()
public static Class<? extends CreateServiceRequest.Builder> serializableBuilderClass()
public <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
SdkRequest
SdkRequest
. The field name
specified should match the member name from the corresponding service-2.json model specified in the
codegen-resources folder for a given service. The class specifies what class to cast the returned value to.
If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class)
method will
again be available.getValueForField
in class SdkRequest
fieldName
- The name of the member to be retrieved.clazz
- The class to cast the returned object to.Copyright © 2017 Amazon Web Services, Inc. All Rights Reserved.