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

src.compute.alpha.SnapshotArgs.scala Maven / Gradle / Ivy

The newest version!
package besom.api.googlenative.compute.alpha

final case class SnapshotArgs private(
  chainName: besom.types.Output[scala.Option[String]],
  description: besom.types.Output[scala.Option[String]],
  enableConfidentialCompute: besom.types.Output[scala.Option[Boolean]],
  guestFlush: besom.types.Output[scala.Option[Boolean]],
  labels: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  locationHint: besom.types.Output[scala.Option[String]],
  maxRetentionDays: besom.types.Output[scala.Option[Int]],
  name: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  requestId: besom.types.Output[scala.Option[String]],
  snapshotEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.inputs.CustomerEncryptionKeyArgs]],
  snapshotType: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.enums.SnapshotSnapshotType]],
  sourceDisk: besom.types.Output[scala.Option[String]],
  sourceDiskEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.inputs.CustomerEncryptionKeyArgs]],
  sourceDiskForRecoveryCheckpoint: besom.types.Output[scala.Option[String]],
  sourceInstantSnapshot: besom.types.Output[scala.Option[String]],
  sourceInstantSnapshotEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.inputs.CustomerEncryptionKeyArgs]],
  storageLocations: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]]
)

object SnapshotArgs:
  def apply(
    chainName: besom.types.Input.Optional[String] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    enableConfidentialCompute: besom.types.Input.Optional[Boolean] = scala.None,
    guestFlush: besom.types.Input.Optional[Boolean] = scala.None,
    labels: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    locationHint: besom.types.Input.Optional[String] = scala.None,
    maxRetentionDays: besom.types.Input.Optional[Int] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    snapshotEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.inputs.CustomerEncryptionKeyArgs] = scala.None,
    snapshotType: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.enums.SnapshotSnapshotType] = scala.None,
    sourceDisk: besom.types.Input.Optional[String] = scala.None,
    sourceDiskEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.inputs.CustomerEncryptionKeyArgs] = scala.None,
    sourceDiskForRecoveryCheckpoint: besom.types.Input.Optional[String] = scala.None,
    sourceInstantSnapshot: besom.types.Input.Optional[String] = scala.None,
    sourceInstantSnapshotEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.inputs.CustomerEncryptionKeyArgs] = scala.None,
    storageLocations: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None
  )(using besom.types.Context): SnapshotArgs =
    new SnapshotArgs(
      chainName = chainName.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      enableConfidentialCompute = enableConfidentialCompute.asOptionOutput(isSecret = false),
      guestFlush = guestFlush.asOptionOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      locationHint = locationHint.asOptionOutput(isSecret = false),
      maxRetentionDays = maxRetentionDays.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      snapshotEncryptionKey = snapshotEncryptionKey.asOptionOutput(isSecret = false),
      snapshotType = snapshotType.asOptionOutput(isSecret = false),
      sourceDisk = sourceDisk.asOptionOutput(isSecret = false),
      sourceDiskEncryptionKey = sourceDiskEncryptionKey.asOptionOutput(isSecret = false),
      sourceDiskForRecoveryCheckpoint = sourceDiskForRecoveryCheckpoint.asOptionOutput(isSecret = false),
      sourceInstantSnapshot = sourceInstantSnapshot.asOptionOutput(isSecret = false),
      sourceInstantSnapshotEncryptionKey = sourceInstantSnapshotEncryptionKey.asOptionOutput(isSecret = false),
      storageLocations = storageLocations.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy