Package com.pulumi.aws.ecs
Class Service
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.ecs.Service
-
public class Service extends com.pulumi.resources.CustomResource> **Note:** To prevent a race condition during service deletion, make sure to set `dependsOn` to the related `aws.iam.RolePolicy`; otherwise, the policy may be destroyed too soon and the ECS service will then get stuck in the `DRAINING` state. Provides an ECS service - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database). See [ECS Services section in AWS developer guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). ## Example Usage
### Ignoring Changes to Desired Count You can utilize the generic Terraform resource lifecycle configuration block with `ignoreChanges` to create an ECS service with an initial count of running instances, then ignore any changes to that count caused externally (e.g., Application Auto Scaling).package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import com.pulumi.aws.ecs.inputs.ServiceLoadBalancerArgs; import com.pulumi.aws.ecs.inputs.ServiceOrderedPlacementStrategyArgs; import com.pulumi.aws.ecs.inputs.ServicePlacementConstraintArgs; import com.pulumi.resources.CustomResourceOptions; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var mongo = new Service("mongo", ServiceArgs.builder() .loadBalancers(ServiceLoadBalancerArgs.builder() .targetGroupArn(fooAwsLbTargetGroup.arn()) .containerName("mongo") .containerPort(8080) .build()) .orderedPlacementStrategies(ServiceOrderedPlacementStrategyArgs.builder() .type("binpack") .field("cpu") .build()) .placementConstraints(ServicePlacementConstraintArgs.builder() .type("memberOf") .expression("attribute:ecs.availability-zone in [us-west-2a, us-west-2b]") .build()) .name("mongodb") .cluster(fooAwsEcsCluster.id()) .taskDefinition(mongoAwsEcsTaskDefinition.arn()) .desiredCount(3) .iamRole(fooAwsIamRole.arn()) .build(), CustomResourceOptions.builder() .dependsOn(foo) .build()); } }
### Daemon Scheduling Strategypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import com.pulumi.resources.CustomResourceOptions; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Service("example", ServiceArgs.builder() .desiredCount(2) .build(), CustomResourceOptions.builder() .ignoreChanges("desiredCount") .build()); } }
### CloudWatch Deployment Alarmspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var bar = new Service("bar", ServiceArgs.builder() .name("bar") .cluster(foo.id()) .taskDefinition(barAwsEcsTaskDefinition.arn()) .schedulingStrategy("DAEMON") .build()); } }
### External Deployment Controllerpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import com.pulumi.aws.ecs.inputs.ServiceAlarmsArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Service("example", ServiceArgs.builder() .alarms(ServiceAlarmsArgs.builder() .enable(true) .rollback(true) .alarmNames(exampleAwsCloudwatchMetricAlarm.alarmName()) .build()) .name("example") .cluster(exampleAwsEcsCluster.id()) .build()); } }
### Blue/Green Deployment with SIGINT Rollbackpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import com.pulumi.aws.ecs.inputs.ServiceDeploymentControllerArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Service("example", ServiceArgs.builder() .deploymentController(ServiceDeploymentControllerArgs.builder() .type("EXTERNAL") .build()) .name("example") .cluster(exampleAwsEcsCluster.id()) .build()); } }
### Linear Deployment Strategypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import com.pulumi.aws.ecs.inputs.ServiceDeploymentConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Service("example", ServiceArgs.builder() .deploymentConfiguration(ServiceDeploymentConfigurationArgs.builder() .strategy("BLUE_GREEN") .build()) .name("example") .cluster(exampleAwsEcsCluster.id()) .sigintRollback(true) .waitForSteadyState(true) .build()); } }
### Canary Deployment Strategypackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import com.pulumi.aws.ecs.inputs.ServiceDeploymentConfigurationArgs; import com.pulumi.aws.ecs.inputs.ServiceDeploymentConfigurationLinearConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Service("example", ServiceArgs.builder() .deploymentConfiguration(ServiceDeploymentConfigurationArgs.builder() .linearConfiguration(ServiceDeploymentConfigurationLinearConfigurationArgs.builder() .stepPercent(25.0) .stepBakeTimeInMinutes("5") .build()) .strategy("LINEAR") .bakeTimeInMinutes("10") .build()) .name("example") .cluster(exampleAwsEcsCluster.id()) .build()); } }
### Redeploy Service On Every Apply The key used with `triggers` is arbitrary.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import com.pulumi.aws.ecs.inputs.ServiceDeploymentConfigurationArgs; import com.pulumi.aws.ecs.inputs.ServiceDeploymentConfigurationCanaryConfigurationArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Service("example", ServiceArgs.builder() .deploymentConfiguration(ServiceDeploymentConfigurationArgs.builder() .canaryConfiguration(ServiceDeploymentConfigurationCanaryConfigurationArgs.builder() .canaryPercent(10.0) .canaryBakeTimeInMinutes("5") .build()) .strategy("CANARY") .bakeTimeInMinutes("15") .build()) .name("example") .cluster(exampleAwsEcsCluster.id()) .build()); } }
### Service Connect with Access Logspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var example = new Service("example", ServiceArgs.builder() .forceNewDeployment(true) .triggers(Map.of("redeployment", "plantimestamp()")) .build()); } }
## Import ### Identity Schema #### Required * `cluster` (String) The name of the cluster. * `name` (String) The name of the service. #### Optional * `accountId` (String) AWS Account where this resource is managed. * `region` (String) Region where this resource is managed. Using `pulumi import`, import ECS services using the `name` together with ECS cluster `name`. For example: ```sh $ pulumi import aws:ecs/service:Service imported cluster-name/service-name ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.cloudwatch.LogGroup; import com.pulumi.aws.cloudwatch.LogGroupArgs; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetRegionArgs; import com.pulumi.aws.ecs.Service; import com.pulumi.aws.ecs.ServiceArgs; import com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationArgs; import com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationLogConfigurationArgs; import com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationAccessLogConfigurationArgs; import com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationServiceArgs; import java.util.ArrayList; import java.util.Arrays; import java.util.Map; import java.io.File; import java.nio.file.Files; import java.nio.file.Paths; public class App { public static void main(String[] args) { Pulumi.run(App::stack); } public static void stack(Context ctx) { var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder() .name("/ecs/example/service-connect") .build()); final var current = AwsFunctions.getRegion(GetRegionArgs.builder() .build()); var example = new Service("example", ServiceArgs.builder() .serviceConnectConfiguration(ServiceServiceConnectConfigurationArgs.builder() .logConfiguration(ServiceServiceConnectConfigurationLogConfigurationArgs.builder() .logDriver("awslogs") .options(Map.ofEntries( Map.entry("awslogs-group", exampleLogGroup.name()), Map.entry("awslogs-region", current.region()), Map.entry("awslogs-stream-prefix", "service-connect") )) .build()) .accessLogConfiguration(ServiceServiceConnectConfigurationAccessLogConfigurationArgs.builder() .format("TEXT") .includeQueryParameters("ENABLED") .build()) .services(ServiceServiceConnectConfigurationServiceArgs.builder() .clientAlias(com.pulumi.aws.ecs.inputs.ServiceServiceConnectConfigurationServiceClientAliasArgs.builder() .dnsName("example") .port(8080) .build()) .portName("http") .discoveryName("example") .build()) .enabled(true) .namespace(exampleAwsServiceDiscoveryHttpNamespace.arn()) .build()) .name("example") .cluster(exampleAwsEcsCluster.id()) .taskDefinition(exampleAwsEcsTaskDefinition.arn()) .desiredCount(1) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description Service(java.lang.String name)Service(java.lang.String name, ServiceArgs args)Service(java.lang.String name, ServiceArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.util.Optional<ServiceAlarms>>alarms()com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.lang.String>availabilityZoneRebalancing()com.pulumi.core.Output<java.util.Optional<java.util.List<ServiceCapacityProviderStrategy>>>capacityProviderStrategies()com.pulumi.core.Output<java.lang.String>cluster()com.pulumi.core.Output<java.util.Optional<ServiceDeploymentCircuitBreaker>>deploymentCircuitBreaker()com.pulumi.core.Output<ServiceDeploymentConfiguration>deploymentConfiguration()com.pulumi.core.Output<java.util.Optional<ServiceDeploymentController>>deploymentController()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>deploymentMaximumPercent()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>deploymentMinimumHealthyPercent()com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>desiredCount()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>enableEcsManagedTags()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>enableExecuteCommand()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>forceDelete()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>forceNewDeployment()static Serviceget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, ServiceState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<java.lang.Integer>>healthCheckGracePeriodSeconds()com.pulumi.core.Output<java.lang.String>iamRole()com.pulumi.core.Output<java.lang.String>launchType()com.pulumi.core.Output<java.util.Optional<java.util.List<ServiceLoadBalancer>>>loadBalancers()com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.util.Optional<ServiceNetworkConfiguration>>networkConfiguration()com.pulumi.core.Output<java.util.Optional<java.util.List<ServiceOrderedPlacementStrategy>>>orderedPlacementStrategies()com.pulumi.core.Output<java.util.Optional<java.util.List<ServicePlacementConstraint>>>placementConstraints()com.pulumi.core.Output<java.lang.String>platformVersion()com.pulumi.core.Output<java.util.Optional<java.lang.String>>propagateTags()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.Optional<java.lang.String>>schedulingStrategy()com.pulumi.core.Output<java.util.Optional<ServiceServiceConnectConfiguration>>serviceConnectConfiguration()com.pulumi.core.Output<java.util.Optional<ServiceServiceRegistries>>serviceRegistries()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>sigintRollback()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<java.lang.String>>taskDefinition()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>triggers()com.pulumi.core.Output<java.util.Optional<ServiceVolumeConfiguration>>volumeConfiguration()com.pulumi.core.Output<java.util.Optional<java.util.List<ServiceVpcLatticeConfiguration>>>vpcLatticeConfigurations()com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>>waitForSteadyState()
-
-
-
Constructor Detail
-
Service
public Service(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Service
public Service(java.lang.String name, @Nullable ServiceArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Service
public Service(java.lang.String name, @Nullable ServiceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
alarms
public com.pulumi.core.Output<java.util.Optional<ServiceAlarms>> alarms()
- Returns:
- Information about the CloudWatch alarms. See below.
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN that identifies the service.
-
availabilityZoneRebalancing
public com.pulumi.core.Output<java.lang.String> availabilityZoneRebalancing()
- Returns:
- ECS automatically redistributes tasks within a service across Availability Zones (AZs) to mitigate the risk of impaired application availability due to underlying infrastructure failures and task lifecycle activities. The valid values are `ENABLED` and `DISABLED`. When creating a new service, if no value is specified, it defaults to `ENABLED` if the service is compatible with AvailabilityZoneRebalancing. When updating an existing service, if no value is specified it defaults to the existing service's AvailabilityZoneRebalancing value. If the service never had an AvailabilityZoneRebalancing value set, Amazon ECS treats this as `DISABLED`.
-
capacityProviderStrategies
public com.pulumi.core.Output<java.util.Optional<java.util.List<ServiceCapacityProviderStrategy>>> capacityProviderStrategies()
- Returns:
- Capacity provider strategies to use for the service. Can be one or more. Updating this argument requires `forceNewDeployment = true`. See below. Conflicts with `launchType`.
-
cluster
public com.pulumi.core.Output<java.lang.String> cluster()
- Returns:
- ARN of an ECS cluster.
-
deploymentCircuitBreaker
public com.pulumi.core.Output<java.util.Optional<ServiceDeploymentCircuitBreaker>> deploymentCircuitBreaker()
- Returns:
- Configuration block for deployment circuit breaker. See below.
-
deploymentConfiguration
public com.pulumi.core.Output<ServiceDeploymentConfiguration> deploymentConfiguration()
- Returns:
- Configuration block for deployment settings. See below.
-
deploymentController
public com.pulumi.core.Output<java.util.Optional<ServiceDeploymentController>> deploymentController()
- Returns:
- Configuration block for deployment controller configuration. See below.
-
deploymentMaximumPercent
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> deploymentMaximumPercent()
- Returns:
- Upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the `DAEMON` scheduling strategy.
-
deploymentMinimumHealthyPercent
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> deploymentMinimumHealthyPercent()
- Returns:
- Lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
-
desiredCount
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> desiredCount()
- Returns:
- Number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the `DAEMON` scheduling strategy.
-
enableEcsManagedTags
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableEcsManagedTags()
- Returns:
- Whether to enable Amazon ECS managed tags for the tasks within the service.
-
enableExecuteCommand
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> enableExecuteCommand()
- Returns:
- Whether to enable Amazon ECS Exec for the tasks within the service.
-
forceDelete
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> forceDelete()
- Returns:
- Enable to delete a service even if it wasn't scaled down to zero tasks. It's only necessary to use this if the service uses the `REPLICA` scheduling strategy.
-
forceNewDeployment
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> forceNewDeployment()
- Returns:
- Enable to force a new task deployment of the service. This can be used to update tasks to use a newer Docker image with same image/tag combination (e.g., `myimage:latest`), roll Fargate tasks onto a newer platform version, or immediately deploy `orderedPlacementStrategy` and `placementConstraints` updates. When using the forceNewDeployment property you also need to configure the triggers property.
-
healthCheckGracePeriodSeconds
public com.pulumi.core.Output<java.util.Optional<java.lang.Integer>> healthCheckGracePeriodSeconds()
- Returns:
- Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 2147483647. Only valid for services configured to use load balancers.
-
iamRole
public com.pulumi.core.Output<java.lang.String> iamRole()
- Returns:
- ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the `awsvpc` network mode. If using `awsvpc` network mode, do not specify this role. 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.
-
launchType
public com.pulumi.core.Output<java.lang.String> launchType()
- Returns:
- Launch type on which to run your service. The valid values are `EC2`, `FARGATE`, and `EXTERNAL`. Defaults to `EC2`. Conflicts with `capacityProviderStrategy`.
-
loadBalancers
public com.pulumi.core.Output<java.util.Optional<java.util.List<ServiceLoadBalancer>>> loadBalancers()
- Returns:
- Configuration block for load balancers. See below.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Name of the service (up to 255 letters, numbers, hyphens, and underscores) The following arguments are optional:
-
networkConfiguration
public com.pulumi.core.Output<java.util.Optional<ServiceNetworkConfiguration>> networkConfiguration()
- Returns:
- 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. See below.
-
orderedPlacementStrategies
public com.pulumi.core.Output<java.util.Optional<java.util.List<ServiceOrderedPlacementStrategy>>> orderedPlacementStrategies()
- Returns:
- Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. Updates to this configuration will take effect next task deployment unless `forceNewDeployment` is enabled. The maximum number of `orderedPlacementStrategy` blocks is `5`. See below.
-
placementConstraints
public com.pulumi.core.Output<java.util.Optional<java.util.List<ServicePlacementConstraint>>> placementConstraints()
- Returns:
- Rules that are taken into consideration during task placement. Updates to this configuration will take effect next task deployment unless `forceNewDeployment` is enabled. Maximum number of `placementConstraints` is `10`. See below.
-
platformVersion
public com.pulumi.core.Output<java.lang.String> platformVersion()
- Returns:
- Platform version on which to run your service. Only applicable for `launchType` set to `FARGATE`. Defaults to `LATEST`. More information about Fargate platform versions can be found in the [AWS ECS User Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).
-
propagateTags
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> propagateTags()
- Returns:
- Whether to propagate the tags from the task definition or the service to the tasks. The valid values are `SERVICE` and `TASK_DEFINITION`.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
schedulingStrategy
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> schedulingStrategy()
- Returns:
- Scheduling strategy to use for the service. The valid values are `REPLICA` and `DAEMON`. Defaults to `REPLICA`. Note that [*Tasks using the Fargate launch type or the `CODE_DEPLOY` or `EXTERNAL` deployment controller types don't support the `DAEMON` scheduling strategy*](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html).
-
serviceConnectConfiguration
public com.pulumi.core.Output<java.util.Optional<ServiceServiceConnectConfiguration>> serviceConnectConfiguration()
- Returns:
- ECS Service Connect configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. See below.
-
serviceRegistries
public com.pulumi.core.Output<java.util.Optional<ServiceServiceRegistries>> serviceRegistries()
- Returns:
- Service discovery registries for the service. The maximum number of `serviceRegistries` blocks is `1`. See below.
-
sigintRollback
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> sigintRollback()
- Returns:
- Whether to enable graceful termination of deployments using SIGINT signals. When enabled, allows customers to safely cancel an in-progress deployment and automatically trigger a rollback to the previous stable state. Defaults to `false`. Only applicable when using `ECS` deployment controller and requires `waitForSteadyState = true`.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
taskDefinition
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> taskDefinition()
- Returns:
- Family and revision (`family:revision`) or full ARN of the task definition that you want to run in your service. Required unless using the `EXTERNAL` deployment controller. If a revision is not specified, the latest `ACTIVE` revision is used.
-
triggers
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> triggers()
- Returns:
- Map of arbitrary keys and values that, when changed, will trigger an in-place update (redeployment). Useful with `"plantimestamp()"`. When using the triggers property you also need to set the forceNewDeployment property to True.
-
volumeConfiguration
public com.pulumi.core.Output<java.util.Optional<ServiceVolumeConfiguration>> volumeConfiguration()
- Returns:
- Configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume. See below.
-
vpcLatticeConfigurations
public com.pulumi.core.Output<java.util.Optional<java.util.List<ServiceVpcLatticeConfiguration>>> vpcLatticeConfigurations()
- Returns:
- VPC Lattice configuration for your service that allows Lattice to connect, secure, and monitor your service across multiple accounts and VPCs. See below.
-
waitForSteadyState
public com.pulumi.core.Output<java.util.Optional<java.lang.Boolean>> waitForSteadyState()
- Returns:
- If `true`, this provider will wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`.
-
get
public static Service get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable ServiceState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-