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

src.cloudkms.v1.CryptoKeyArgs.scala Maven / Gradle / Ivy

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

final case class CryptoKeyArgs private(
  cryptoKeyBackend: besom.types.Output[scala.Option[String]],
  cryptoKeyId: besom.types.Output[scala.Option[String]],
  destroyScheduledDuration: besom.types.Output[scala.Option[String]],
  importOnly: besom.types.Output[scala.Option[Boolean]],
  keyRingId: besom.types.Output[String],
  labels: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  location: besom.types.Output[scala.Option[String]],
  nextRotationTime: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  purpose: besom.types.Output[scala.Option[besom.api.googlenative.cloudkms.v1.enums.CryptoKeyPurpose]],
  rotationPeriod: besom.types.Output[scala.Option[String]],
  skipInitialVersionCreation: besom.types.Output[scala.Option[Boolean]],
  versionTemplate: besom.types.Output[scala.Option[besom.api.googlenative.cloudkms.v1.inputs.CryptoKeyVersionTemplateArgs]]
)

object CryptoKeyArgs:
  def apply(
    cryptoKeyBackend: besom.types.Input.Optional[String] = scala.None,
    cryptoKeyId: besom.types.Input.Optional[String] = scala.None,
    destroyScheduledDuration: besom.types.Input.Optional[String] = scala.None,
    importOnly: besom.types.Input.Optional[Boolean] = scala.None,
    keyRingId: besom.types.Input[String],
    labels: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    location: besom.types.Input.Optional[String] = scala.None,
    nextRotationTime: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    purpose: besom.types.Input.Optional[besom.api.googlenative.cloudkms.v1.enums.CryptoKeyPurpose] = scala.None,
    rotationPeriod: besom.types.Input.Optional[String] = scala.None,
    skipInitialVersionCreation: besom.types.Input.Optional[Boolean] = scala.None,
    versionTemplate: besom.types.Input.Optional[besom.api.googlenative.cloudkms.v1.inputs.CryptoKeyVersionTemplateArgs] = scala.None
  )(using besom.types.Context): CryptoKeyArgs =
    new CryptoKeyArgs(
      cryptoKeyBackend = cryptoKeyBackend.asOptionOutput(isSecret = false),
      cryptoKeyId = cryptoKeyId.asOptionOutput(isSecret = false),
      destroyScheduledDuration = destroyScheduledDuration.asOptionOutput(isSecret = false),
      importOnly = importOnly.asOptionOutput(isSecret = false),
      keyRingId = keyRingId.asOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      location = location.asOptionOutput(isSecret = false),
      nextRotationTime = nextRotationTime.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      purpose = purpose.asOptionOutput(isSecret = false),
      rotationPeriod = rotationPeriod.asOptionOutput(isSecret = false),
      skipInitialVersionCreation = skipInitialVersionCreation.asOptionOutput(isSecret = false),
      versionTemplate = versionTemplate.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy