Interface BaseServiceOptions

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Subinterfaces:
BaseServiceProps, Ec2ServiceProps, ExternalServiceProps, FargateServiceProps
All Known Implementing Classes:
BaseServiceOptions.Jsii$Proxy, BaseServiceProps.Jsii$Proxy, Ec2ServiceProps.Jsii$Proxy, ExternalServiceProps.Jsii$Proxy, FargateServiceProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.97.0 (build 729de35)", date="2024-04-18T17:54:16.271Z") @Stability(Stable) public interface BaseServiceOptions extends software.amazon.jsii.JsiiSerializable
The properties for the base Ec2Service or FargateService service.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.*;
 import software.amazon.awscdk.services.ecs.*;
 import software.amazon.awscdk.services.servicediscovery.*;
 Cluster cluster;
 ContainerDefinition containerDefinition;
 LogDriver logDriver;
 INamespace namespace;
 ServiceManagedVolume serviceManagedVolume;
 TaskDefinitionRevision taskDefinitionRevision;
 BaseServiceOptions baseServiceOptions = BaseServiceOptions.builder()
         .cluster(cluster)
         // the properties below are optional
         .capacityProviderStrategies(List.of(CapacityProviderStrategy.builder()
                 .capacityProvider("capacityProvider")
                 // the properties below are optional
                 .base(123)
                 .weight(123)
                 .build()))
         .circuitBreaker(DeploymentCircuitBreaker.builder()
                 .enable(false)
                 .rollback(false)
                 .build())
         .cloudMapOptions(CloudMapOptions.builder()
                 .cloudMapNamespace(namespace)
                 .container(containerDefinition)
                 .containerPort(123)
                 .dnsRecordType(DnsRecordType.A)
                 .dnsTtl(Duration.minutes(30))
                 .failureThreshold(123)
                 .name("name")
                 .build())
         .deploymentAlarms(DeploymentAlarmConfig.builder()
                 .alarmNames(List.of("alarmNames"))
                 // the properties below are optional
                 .behavior(AlarmBehavior.ROLLBACK_ON_ALARM)
                 .build())
         .deploymentController(DeploymentController.builder()
                 .type(DeploymentControllerType.ECS)
                 .build())
         .desiredCount(123)
         .enableECSManagedTags(false)
         .enableExecuteCommand(false)
         .healthCheckGracePeriod(Duration.minutes(30))
         .maxHealthyPercent(123)
         .minHealthyPercent(123)
         .propagateTags(PropagatedTagSource.SERVICE)
         .serviceConnectConfiguration(ServiceConnectProps.builder()
                 .logDriver(logDriver)
                 .namespace("namespace")
                 .services(List.of(ServiceConnectService.builder()
                         .portMappingName("portMappingName")
                         // the properties below are optional
                         .discoveryName("discoveryName")
                         .dnsName("dnsName")
                         .idleTimeout(Duration.minutes(30))
                         .ingressPortOverride(123)
                         .perRequestTimeout(Duration.minutes(30))
                         .port(123)
                         .build()))
                 .build())
         .serviceName("serviceName")
         .taskDefinitionRevision(taskDefinitionRevision)
         .volumeConfigurations(List.of(serviceManagedVolume))
         .build();
 
  • Method Details

    • getCluster

      @Stability(Stable) @NotNull ICluster getCluster()
      The name of the cluster that hosts the service.
    • getCapacityProviderStrategies

      @Stability(Stable) @Nullable default List<CapacityProviderStrategy> getCapacityProviderStrategies()
      A list of Capacity Provider strategies used to place a service.

      Default: - undefined

    • getCircuitBreaker

      @Stability(Stable) @Nullable default DeploymentCircuitBreaker getCircuitBreaker()
      Whether to enable the deployment circuit breaker.

      If this property is defined, circuit breaker will be implicitly enabled.

      Default: - disabled

    • getCloudMapOptions

      @Stability(Stable) @Nullable default CloudMapOptions getCloudMapOptions()
      The options for configuring an Amazon ECS service to use service discovery.

      Default: - AWS Cloud Map service discovery is not enabled.

    • getDeploymentAlarms

      @Stability(Stable) @Nullable default DeploymentAlarmConfig getDeploymentAlarms()
      The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time.

      Default: - No alarms will be monitored during deployment.

    • getDeploymentController

      @Stability(Stable) @Nullable default DeploymentController getDeploymentController()
      Specifies which deployment controller to use for the service.

      For more information, see Amazon ECS Deployment Types

      Default: - Rolling update (ECS)

    • getDesiredCount

      @Stability(Stable) @Nullable default Number getDesiredCount()
      The desired number of instantiations of the task definition to keep running on the service.

      Default: - When creating the service, default is 1; when updating the service, default uses the current task number.

    • getEnableECSManagedTags

      @Stability(Stable) @Nullable default Boolean getEnableECSManagedTags()
      Specifies whether to enable Amazon ECS managed tags for the tasks within the service.

      For more information, see Tagging Your Amazon ECS Resources

      Default: false

    • getEnableExecuteCommand

      @Stability(Stable) @Nullable default Boolean getEnableExecuteCommand()
      Whether to enable the ability to execute into a container.

      Default: - undefined

    • getHealthCheckGracePeriod

      @Stability(Stable) @Nullable default Duration getHealthCheckGracePeriod()
      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.

      Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set

    • getMaxHealthyPercent

      @Stability(Stable) @Nullable default Number getMaxHealthyPercent()
      The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.

      Default: - 100 if daemon, otherwise 200

    • getMinHealthyPercent

      @Stability(Stable) @Nullable default Number getMinHealthyPercent()
      The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment.

      Default: - 0 if daemon, otherwise 50

    • getPropagateTags

      @Stability(Stable) @Nullable default PropagatedTagSource getPropagateTags()
      Specifies whether to propagate the tags from the task definition or the service to the tasks in the service.

      Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE

      Default: PropagatedTagSource.NONE

    • getServiceConnectConfiguration

      @Stability(Stable) @Nullable default ServiceConnectProps getServiceConnectConfiguration()
      Configuration for Service Connect.

      Default: No ports are advertised via Service Connect on this service, and the service cannot make requests to other services via Service Connect.

    • getServiceName

      @Stability(Stable) @Nullable default String getServiceName()
      The name of the service.

      Default: - CloudFormation-generated name.

    • getTaskDefinitionRevision

      @Stability(Stable) @Nullable default TaskDefinitionRevision getTaskDefinitionRevision()
      Revision number for the task definition or latest to use the latest active task revision.

      Default: - Uses the revision of the passed task definition deployed by CloudFormation

    • getVolumeConfigurations

      @Stability(Stable) @Nullable default List<ServiceManagedVolume> getVolumeConfigurations()
      Configuration details for a volume used by the service.

      This allows you to specify details about the EBS volume that can be attched to ECS tasks.

      Default: - undefined

    • builder

      @Stability(Stable) static BaseServiceOptions.Builder builder()
      Returns:
      a BaseServiceOptions.Builder of BaseServiceOptions