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

io.burkard.cdk.services.stepfunctions.tasks.SnsPublish.scala Maven / Gradle / Ivy

The newest version!
package io.burkard.cdk.services.stepfunctions.tasks

import scala.collection.JavaConverters._

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

  def apply(
    internalResourceId: String,
    message: software.amazon.awscdk.services.stepfunctions.TaskInput,
    topic: software.amazon.awscdk.services.sns.ITopic,
    subject: Option[String] = None,
    resultPath: Option[String] = None,
    integrationPattern: Option[software.amazon.awscdk.services.stepfunctions.IntegrationPattern] = None,
    messageAttributes: Option[Map[String, _ <: software.amazon.awscdk.services.stepfunctions.tasks.MessageAttribute]] = None,
    outputPath: Option[String] = None,
    comment: Option[String] = None,
    resultSelector: Option[Map[String, _]] = None,
    inputPath: Option[String] = None,
    timeout: Option[software.amazon.awscdk.Duration] = None,
    messagePerSubscriptionType: Option[Boolean] = None,
    heartbeat: Option[software.amazon.awscdk.Duration] = None
  )(implicit stackCtx: software.amazon.awscdk.Stack): software.amazon.awscdk.services.stepfunctions.tasks.SnsPublish =
    software.amazon.awscdk.services.stepfunctions.tasks.SnsPublish.Builder
      .create(stackCtx, internalResourceId)
      .message(message)
      .topic(topic)
      .subject(subject.orNull)
      .resultPath(resultPath.orNull)
      .integrationPattern(integrationPattern.orNull)
      .messageAttributes(messageAttributes.map(_.asJava).orNull)
      .outputPath(outputPath.orNull)
      .comment(comment.orNull)
      .resultSelector(resultSelector.map(_.asJava).orNull)
      .inputPath(inputPath.orNull)
      .timeout(timeout.orNull)
      .messagePerSubscriptionType(messagePerSubscriptionType.map(Boolean.box).orNull)
      .heartbeat(heartbeat.orNull)
      .build()
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy