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

src.pubsub.v1.SubscriptionArgs.scala Maven / Gradle / Ivy

There is a newer version: 0.32.0-core.0.4
Show newest version
package besom.api.googlenative.pubsub.v1

final case class SubscriptionArgs private(
  ackDeadlineSeconds: besom.types.Output[scala.Option[Int]],
  bigqueryConfig: besom.types.Output[scala.Option[besom.api.googlenative.pubsub.v1.inputs.BigQueryConfigArgs]],
  cloudStorageConfig: besom.types.Output[scala.Option[besom.api.googlenative.pubsub.v1.inputs.CloudStorageConfigArgs]],
  deadLetterPolicy: besom.types.Output[scala.Option[besom.api.googlenative.pubsub.v1.inputs.DeadLetterPolicyArgs]],
  detached: besom.types.Output[scala.Option[Boolean]],
  enableExactlyOnceDelivery: besom.types.Output[scala.Option[Boolean]],
  enableMessageOrdering: besom.types.Output[scala.Option[Boolean]],
  expirationPolicy: besom.types.Output[scala.Option[besom.api.googlenative.pubsub.v1.inputs.ExpirationPolicyArgs]],
  filter: besom.types.Output[scala.Option[String]],
  labels: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  messageRetentionDuration: besom.types.Output[scala.Option[String]],
  name: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  pushConfig: besom.types.Output[scala.Option[besom.api.googlenative.pubsub.v1.inputs.PushConfigArgs]],
  retainAckedMessages: besom.types.Output[scala.Option[Boolean]],
  retryPolicy: besom.types.Output[scala.Option[besom.api.googlenative.pubsub.v1.inputs.RetryPolicyArgs]],
  subscriptionId: besom.types.Output[String],
  topic: besom.types.Output[String]
)

object SubscriptionArgs:
  def apply(
    ackDeadlineSeconds: besom.types.Input.Optional[Int] = scala.None,
    bigqueryConfig: besom.types.Input.Optional[besom.api.googlenative.pubsub.v1.inputs.BigQueryConfigArgs] = scala.None,
    cloudStorageConfig: besom.types.Input.Optional[besom.api.googlenative.pubsub.v1.inputs.CloudStorageConfigArgs] = scala.None,
    deadLetterPolicy: besom.types.Input.Optional[besom.api.googlenative.pubsub.v1.inputs.DeadLetterPolicyArgs] = scala.None,
    detached: besom.types.Input.Optional[Boolean] = scala.None,
    enableExactlyOnceDelivery: besom.types.Input.Optional[Boolean] = scala.None,
    enableMessageOrdering: besom.types.Input.Optional[Boolean] = scala.None,
    expirationPolicy: besom.types.Input.Optional[besom.api.googlenative.pubsub.v1.inputs.ExpirationPolicyArgs] = scala.None,
    filter: besom.types.Input.Optional[String] = scala.None,
    labels: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    messageRetentionDuration: besom.types.Input.Optional[String] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    pushConfig: besom.types.Input.Optional[besom.api.googlenative.pubsub.v1.inputs.PushConfigArgs] = scala.None,
    retainAckedMessages: besom.types.Input.Optional[Boolean] = scala.None,
    retryPolicy: besom.types.Input.Optional[besom.api.googlenative.pubsub.v1.inputs.RetryPolicyArgs] = scala.None,
    subscriptionId: besom.types.Input[String],
    topic: besom.types.Input[String]
  )(using besom.types.Context): SubscriptionArgs =
    new SubscriptionArgs(
      ackDeadlineSeconds = ackDeadlineSeconds.asOptionOutput(isSecret = false),
      bigqueryConfig = bigqueryConfig.asOptionOutput(isSecret = false),
      cloudStorageConfig = cloudStorageConfig.asOptionOutput(isSecret = false),
      deadLetterPolicy = deadLetterPolicy.asOptionOutput(isSecret = false),
      detached = detached.asOptionOutput(isSecret = false),
      enableExactlyOnceDelivery = enableExactlyOnceDelivery.asOptionOutput(isSecret = false),
      enableMessageOrdering = enableMessageOrdering.asOptionOutput(isSecret = false),
      expirationPolicy = expirationPolicy.asOptionOutput(isSecret = false),
      filter = filter.asOptionOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      messageRetentionDuration = messageRetentionDuration.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      pushConfig = pushConfig.asOptionOutput(isSecret = false),
      retainAckedMessages = retainAckedMessages.asOptionOutput(isSecret = false),
      retryPolicy = retryPolicy.asOptionOutput(isSecret = false),
      subscriptionId = subscriptionId.asOutput(isSecret = false),
      topic = topic.asOutput(isSecret = false)
    )

  given encoder(using besom.types.Context): besom.types.Encoder[SubscriptionArgs] =
    besom.internal.Encoder.derived[SubscriptionArgs]
  given argsEncoder(using besom.types.Context): besom.types.ArgsEncoder[SubscriptionArgs] =
    besom.internal.ArgsEncoder.derived[SubscriptionArgs]






© 2015 - 2025 Weber Informatics LLC | Privacy Policy