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

src.compute.beta.ImageArgs.scala Maven / Gradle / Ivy

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

final case class ImageArgs private(
  architecture: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.ImageArchitecture]],
  archiveSizeBytes: besom.types.Output[scala.Option[String]],
  deprecated: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.DeprecationStatusArgs]],
  description: besom.types.Output[scala.Option[String]],
  diskSizeGb: besom.types.Output[scala.Option[String]],
  enableConfidentialCompute: besom.types.Output[scala.Option[Boolean]],
  family: besom.types.Output[scala.Option[String]],
  forceCreate: besom.types.Output[scala.Option[Boolean]],
  guestOsFeatures: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.beta.inputs.GuestOsFeatureArgs]]],
  imageEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.CustomerEncryptionKeyArgs]],
  labels: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  licenseCodes: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  licenses: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  locked: besom.types.Output[scala.Option[Boolean]],
  name: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  rawDisk: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.ImageRawDiskArgs]],
  requestId: besom.types.Output[scala.Option[String]],
  rolloutOverride: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.RolloutPolicyArgs]],
  shieldedInstanceInitialState: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.InitialStateConfigArgs]],
  sourceDisk: besom.types.Output[scala.Option[String]],
  sourceDiskEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.CustomerEncryptionKeyArgs]],
  sourceImage: besom.types.Output[scala.Option[String]],
  sourceImageEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.CustomerEncryptionKeyArgs]],
  sourceSnapshot: besom.types.Output[scala.Option[String]],
  sourceSnapshotEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.CustomerEncryptionKeyArgs]],
  sourceType: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.ImageSourceType]],
  storageLocations: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  userLicenses: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]]
)

object ImageArgs:
  def apply(
    architecture: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.ImageArchitecture] = scala.None,
    archiveSizeBytes: besom.types.Input.Optional[String] = scala.None,
    deprecated: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.DeprecationStatusArgs] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    diskSizeGb: besom.types.Input.Optional[String] = scala.None,
    enableConfidentialCompute: besom.types.Input.Optional[Boolean] = scala.None,
    family: besom.types.Input.Optional[String] = scala.None,
    forceCreate: besom.types.Input.Optional[Boolean] = scala.None,
    guestOsFeatures: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.beta.inputs.GuestOsFeatureArgs]]] = scala.None,
    imageEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.CustomerEncryptionKeyArgs] = scala.None,
    labels: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    licenseCodes: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    licenses: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    locked: besom.types.Input.Optional[Boolean] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    rawDisk: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.ImageRawDiskArgs] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    rolloutOverride: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.RolloutPolicyArgs] = scala.None,
    shieldedInstanceInitialState: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.InitialStateConfigArgs] = scala.None,
    sourceDisk: besom.types.Input.Optional[String] = scala.None,
    sourceDiskEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.CustomerEncryptionKeyArgs] = scala.None,
    sourceImage: besom.types.Input.Optional[String] = scala.None,
    sourceImageEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.CustomerEncryptionKeyArgs] = scala.None,
    sourceSnapshot: besom.types.Input.Optional[String] = scala.None,
    sourceSnapshotEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.CustomerEncryptionKeyArgs] = scala.None,
    sourceType: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.ImageSourceType] = scala.None,
    storageLocations: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    userLicenses: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None
  )(using besom.types.Context): ImageArgs =
    new ImageArgs(
      architecture = architecture.asOptionOutput(isSecret = false),
      archiveSizeBytes = archiveSizeBytes.asOptionOutput(isSecret = false),
      deprecated = deprecated.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      diskSizeGb = diskSizeGb.asOptionOutput(isSecret = false),
      enableConfidentialCompute = enableConfidentialCompute.asOptionOutput(isSecret = false),
      family = family.asOptionOutput(isSecret = false),
      forceCreate = forceCreate.asOptionOutput(isSecret = false),
      guestOsFeatures = guestOsFeatures.asOptionOutput(isSecret = false),
      imageEncryptionKey = imageEncryptionKey.asOptionOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      licenseCodes = licenseCodes.asOptionOutput(isSecret = false),
      licenses = licenses.asOptionOutput(isSecret = false),
      locked = locked.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      rawDisk = rawDisk.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      rolloutOverride = rolloutOverride.asOptionOutput(isSecret = false),
      shieldedInstanceInitialState = shieldedInstanceInitialState.asOptionOutput(isSecret = false),
      sourceDisk = sourceDisk.asOptionOutput(isSecret = false),
      sourceDiskEncryptionKey = sourceDiskEncryptionKey.asOptionOutput(isSecret = false),
      sourceImage = sourceImage.asOptionOutput(isSecret = false),
      sourceImageEncryptionKey = sourceImageEncryptionKey.asOptionOutput(isSecret = false),
      sourceSnapshot = sourceSnapshot.asOptionOutput(isSecret = false),
      sourceSnapshotEncryptionKey = sourceSnapshotEncryptionKey.asOptionOutput(isSecret = false),
      sourceType = sourceType.asOptionOutput(isSecret = false),
      storageLocations = storageLocations.asOptionOutput(isSecret = false),
      userLicenses = userLicenses.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy