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

src.pubsub.v1.TopicArgs.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 TopicArgs private(
  kmsKeyName: besom.types.Output[scala.Option[String]],
  labels: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  messageRetentionDuration: besom.types.Output[scala.Option[String]],
  messageStoragePolicy: besom.types.Output[scala.Option[besom.api.googlenative.pubsub.v1.inputs.MessageStoragePolicyArgs]],
  name: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  satisfiesPzs: besom.types.Output[scala.Option[Boolean]],
  schemaSettings: besom.types.Output[scala.Option[besom.api.googlenative.pubsub.v1.inputs.SchemaSettingsArgs]],
  topicId: besom.types.Output[String]
)

object TopicArgs:
  def apply(
    kmsKeyName: 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,
    messageStoragePolicy: besom.types.Input.Optional[besom.api.googlenative.pubsub.v1.inputs.MessageStoragePolicyArgs] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    satisfiesPzs: besom.types.Input.Optional[Boolean] = scala.None,
    schemaSettings: besom.types.Input.Optional[besom.api.googlenative.pubsub.v1.inputs.SchemaSettingsArgs] = scala.None,
    topicId: besom.types.Input[String]
  )(using besom.types.Context): TopicArgs =
    new TopicArgs(
      kmsKeyName = kmsKeyName.asOptionOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      messageRetentionDuration = messageRetentionDuration.asOptionOutput(isSecret = false),
      messageStoragePolicy = messageStoragePolicy.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      satisfiesPzs = satisfiesPzs.asOptionOutput(isSecret = false),
      schemaSettings = schemaSettings.asOptionOutput(isSecret = false),
      topicId = topicId.asOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy