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

src.compute.v1.DiskArgs.scala Maven / Gradle / Ivy

package besom.api.googlenative.compute.v1

final case class DiskArgs private(
  architecture: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.enums.DiskArchitecture]],
  asyncPrimaryDisk: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.DiskAsyncReplicationArgs]],
  description: besom.types.Output[scala.Option[String]],
  diskEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs]],
  guestOsFeatures: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.v1.inputs.GuestOsFeatureArgs]]],
  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]]],
  locationHint: besom.types.Output[scala.Option[String]],
  name: besom.types.Output[scala.Option[String]],
  options: besom.types.Output[scala.Option[String]],
  params: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.DiskParamsArgs]],
  physicalBlockSizeBytes: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  provisionedIops: besom.types.Output[scala.Option[String]],
  provisionedThroughput: besom.types.Output[scala.Option[String]],
  replicaZones: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  requestId: besom.types.Output[scala.Option[String]],
  resourcePolicies: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  sizeGb: besom.types.Output[scala.Option[String]],
  sourceDisk: besom.types.Output[scala.Option[String]],
  sourceImage: besom.types.Output[scala.Option[String]],
  sourceImageEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs]],
  sourceSnapshot: besom.types.Output[scala.Option[String]],
  sourceSnapshotEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs]],
  sourceStorageObject: besom.types.Output[scala.Option[String]],
  `type`: besom.types.Output[scala.Option[String]],
  zone: besom.types.Output[scala.Option[String]]
)

object DiskArgs:
  def apply(
    architecture: besom.types.Input.Optional[besom.api.googlenative.compute.v1.enums.DiskArchitecture] = scala.None,
    asyncPrimaryDisk: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.DiskAsyncReplicationArgs] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    diskEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs] = scala.None,
    guestOsFeatures: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.v1.inputs.GuestOsFeatureArgs]]] = 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,
    locationHint: besom.types.Input.Optional[String] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    options: besom.types.Input.Optional[String] = scala.None,
    params: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.DiskParamsArgs] = scala.None,
    physicalBlockSizeBytes: besom.types.Input.Optional[String] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    provisionedIops: besom.types.Input.Optional[String] = scala.None,
    provisionedThroughput: besom.types.Input.Optional[String] = scala.None,
    replicaZones: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    resourcePolicies: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    sizeGb: besom.types.Input.Optional[String] = scala.None,
    sourceDisk: besom.types.Input.Optional[String] = scala.None,
    sourceImage: besom.types.Input.Optional[String] = scala.None,
    sourceImageEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs] = scala.None,
    sourceSnapshot: besom.types.Input.Optional[String] = scala.None,
    sourceSnapshotEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs] = scala.None,
    sourceStorageObject: besom.types.Input.Optional[String] = scala.None,
    `type`: besom.types.Input.Optional[String] = scala.None,
    zone: besom.types.Input.Optional[String] = scala.None
  )(using besom.types.Context): DiskArgs =
    new DiskArgs(
      architecture = architecture.asOptionOutput(isSecret = false),
      asyncPrimaryDisk = asyncPrimaryDisk.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      diskEncryptionKey = diskEncryptionKey.asOptionOutput(isSecret = false),
      guestOsFeatures = guestOsFeatures.asOptionOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      licenseCodes = licenseCodes.asOptionOutput(isSecret = false),
      licenses = licenses.asOptionOutput(isSecret = false),
      locationHint = locationHint.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      options = options.asOptionOutput(isSecret = false),
      params = params.asOptionOutput(isSecret = false),
      physicalBlockSizeBytes = physicalBlockSizeBytes.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      provisionedIops = provisionedIops.asOptionOutput(isSecret = false),
      provisionedThroughput = provisionedThroughput.asOptionOutput(isSecret = false),
      replicaZones = replicaZones.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      resourcePolicies = resourcePolicies.asOptionOutput(isSecret = false),
      sizeGb = sizeGb.asOptionOutput(isSecret = false),
      sourceDisk = sourceDisk.asOptionOutput(isSecret = false),
      sourceImage = sourceImage.asOptionOutput(isSecret = false),
      sourceImageEncryptionKey = sourceImageEncryptionKey.asOptionOutput(isSecret = false),
      sourceSnapshot = sourceSnapshot.asOptionOutput(isSecret = false),
      sourceSnapshotEncryptionKey = sourceSnapshotEncryptionKey.asOptionOutput(isSecret = false),
      sourceStorageObject = sourceStorageObject.asOptionOutput(isSecret = false),
      `type` = `type`.asOptionOutput(isSecret = false),
      zone = zone.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy