All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.burkard.cdk.services.ecs.patterns.QueueProcessingServiceBaseProps.scala Maven / Gradle / Ivy

The newest version!
package io.burkard.cdk.services.ecs.patterns

import scala.collection.JavaConverters._

@scala.annotation.nowarn("cat=deprecation")
@SuppressWarnings(Array("org.wartremover.warts.DefaultArguments", "org.wartremover.warts.Null", "DisableSyntax.null"))
object QueueProcessingServiceBaseProps {

  def apply(
    image: software.amazon.awscdk.services.ecs.ContainerImage,
    minHealthyPercent: Option[Number] = None,
    secrets: Option[Map[String, _ <: software.amazon.awscdk.services.ecs.Secret]] = None,
    queue: Option[software.amazon.awscdk.services.sqs.IQueue] = None,
    retentionPeriod: Option[software.amazon.awscdk.Duration] = None,
    serviceName: Option[String] = None,
    visibilityTimeout: Option[software.amazon.awscdk.Duration] = None,
    enableExecuteCommand: Option[Boolean] = None,
    maxHealthyPercent: Option[Number] = None,
    command: Option[List[String]] = None,
    maxScalingCapacity: Option[Number] = None,
    logDriver: Option[software.amazon.awscdk.services.ecs.LogDriver] = None,
    circuitBreaker: Option[software.amazon.awscdk.services.ecs.DeploymentCircuitBreaker] = None,
    scalingSteps: Option[List[_ <: software.amazon.awscdk.services.applicationautoscaling.ScalingInterval]] = None,
    cluster: Option[software.amazon.awscdk.services.ecs.ICluster] = None,
    propagateTags: Option[software.amazon.awscdk.services.ecs.PropagatedTagSource] = None,
    enableEcsManagedTags: Option[Boolean] = None,
    enableLogging: Option[Boolean] = None,
    environment: Option[Map[String, String]] = None,
    minScalingCapacity: Option[Number] = None,
    deploymentController: Option[software.amazon.awscdk.services.ecs.DeploymentController] = None,
    vpc: Option[software.amazon.awscdk.services.ec2.IVpc] = None,
    family: Option[String] = None,
    capacityProviderStrategies: Option[List[_ <: software.amazon.awscdk.services.ecs.CapacityProviderStrategy]] = None,
    maxReceiveCount: Option[Number] = None
  ): software.amazon.awscdk.services.ecs.patterns.QueueProcessingServiceBaseProps =
    (new software.amazon.awscdk.services.ecs.patterns.QueueProcessingServiceBaseProps.Builder)
      .image(image)
      .minHealthyPercent(minHealthyPercent.orNull)
      .secrets(secrets.map(_.asJava).orNull)
      .queue(queue.orNull)
      .retentionPeriod(retentionPeriod.orNull)
      .serviceName(serviceName.orNull)
      .visibilityTimeout(visibilityTimeout.orNull)
      .enableExecuteCommand(enableExecuteCommand.map(Boolean.box).orNull)
      .maxHealthyPercent(maxHealthyPercent.orNull)
      .command(command.map(_.asJava).orNull)
      .maxScalingCapacity(maxScalingCapacity.orNull)
      .logDriver(logDriver.orNull)
      .circuitBreaker(circuitBreaker.orNull)
      .scalingSteps(scalingSteps.map(_.asJava).orNull)
      .cluster(cluster.orNull)
      .propagateTags(propagateTags.orNull)
      .enableEcsManagedTags(enableEcsManagedTags.map(Boolean.box).orNull)
      .enableLogging(enableLogging.map(Boolean.box).orNull)
      .environment(environment.map(_.asJava).orNull)
      .minScalingCapacity(minScalingCapacity.orNull)
      .deploymentController(deploymentController.orNull)
      .vpc(vpc.orNull)
      .family(family.orNull)
      .capacityProviderStrategies(capacityProviderStrategies.map(_.asJava).orNull)
      .maxReceiveCount(maxReceiveCount.orNull)
      .build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy