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

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

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

final case class InstanceArgs private(
  advancedMachineFeatures: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.AdvancedMachineFeaturesArgs]],
  canIpForward: besom.types.Output[scala.Option[Boolean]],
  confidentialInstanceConfig: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ConfidentialInstanceConfigArgs]],
  deletionProtection: besom.types.Output[scala.Option[Boolean]],
  description: besom.types.Output[scala.Option[String]],
  disks: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.v1.inputs.AttachedDiskArgs]]],
  displayDevice: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.DisplayDeviceArgs]],
  guestAccelerators: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.v1.inputs.AcceleratorConfigArgs]]],
  hostname: besom.types.Output[scala.Option[String]],
  instanceEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs]],
  keyRevocationActionType: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.enums.InstanceKeyRevocationActionType]],
  labels: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  machineType: besom.types.Output[scala.Option[String]],
  metadata: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.MetadataArgs]],
  minCpuPlatform: besom.types.Output[scala.Option[String]],
  name: besom.types.Output[scala.Option[String]],
  networkInterfaces: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.v1.inputs.NetworkInterfaceArgs]]],
  networkPerformanceConfig: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.NetworkPerformanceConfigArgs]],
  params: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.InstanceParamsArgs]],
  privateIpv6GoogleAccess: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.enums.InstancePrivateIpv6GoogleAccess]],
  project: besom.types.Output[scala.Option[String]],
  requestId: besom.types.Output[scala.Option[String]],
  reservationAffinity: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ReservationAffinityArgs]],
  resourcePolicies: besom.types.Output[scala.Option[scala.collection.immutable.List[String]]],
  scheduling: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.SchedulingArgs]],
  serviceAccounts: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.compute.v1.inputs.ServiceAccountArgs]]],
  shieldedInstanceConfig: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ShieldedInstanceConfigArgs]],
  shieldedInstanceIntegrityPolicy: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.ShieldedInstanceIntegrityPolicyArgs]],
  sourceInstanceTemplate: besom.types.Output[scala.Option[String]],
  sourceMachineImage: besom.types.Output[scala.Option[String]],
  sourceMachineImageEncryptionKey: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs]],
  tags: besom.types.Output[scala.Option[besom.api.googlenative.compute.v1.inputs.TagsArgs]],
  zone: besom.types.Output[scala.Option[String]]
)

object InstanceArgs:
  def apply(
    advancedMachineFeatures: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.AdvancedMachineFeaturesArgs] = scala.None,
    canIpForward: besom.types.Input.Optional[Boolean] = scala.None,
    confidentialInstanceConfig: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ConfidentialInstanceConfigArgs] = scala.None,
    deletionProtection: besom.types.Input.Optional[Boolean] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    disks: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.v1.inputs.AttachedDiskArgs]]] = scala.None,
    displayDevice: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.DisplayDeviceArgs] = scala.None,
    guestAccelerators: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.v1.inputs.AcceleratorConfigArgs]]] = scala.None,
    hostname: besom.types.Input.Optional[String] = scala.None,
    instanceEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs] = scala.None,
    keyRevocationActionType: besom.types.Input.Optional[besom.api.googlenative.compute.v1.enums.InstanceKeyRevocationActionType] = scala.None,
    labels: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    machineType: besom.types.Input.Optional[String] = scala.None,
    metadata: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.MetadataArgs] = scala.None,
    minCpuPlatform: besom.types.Input.Optional[String] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    networkInterfaces: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.v1.inputs.NetworkInterfaceArgs]]] = scala.None,
    networkPerformanceConfig: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.NetworkPerformanceConfigArgs] = scala.None,
    params: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.InstanceParamsArgs] = scala.None,
    privateIpv6GoogleAccess: besom.types.Input.Optional[besom.api.googlenative.compute.v1.enums.InstancePrivateIpv6GoogleAccess] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    reservationAffinity: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ReservationAffinityArgs] = scala.None,
    resourcePolicies: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[String]]] = scala.None,
    scheduling: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.SchedulingArgs] = scala.None,
    serviceAccounts: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.compute.v1.inputs.ServiceAccountArgs]]] = scala.None,
    shieldedInstanceConfig: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ShieldedInstanceConfigArgs] = scala.None,
    shieldedInstanceIntegrityPolicy: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.ShieldedInstanceIntegrityPolicyArgs] = scala.None,
    sourceInstanceTemplate: besom.types.Input.Optional[String] = scala.None,
    sourceMachineImage: besom.types.Input.Optional[String] = scala.None,
    sourceMachineImageEncryptionKey: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.CustomerEncryptionKeyArgs] = scala.None,
    tags: besom.types.Input.Optional[besom.api.googlenative.compute.v1.inputs.TagsArgs] = scala.None,
    zone: besom.types.Input.Optional[String] = scala.None
  )(using besom.types.Context): InstanceArgs =
    new InstanceArgs(
      advancedMachineFeatures = advancedMachineFeatures.asOptionOutput(isSecret = false),
      canIpForward = canIpForward.asOptionOutput(isSecret = false),
      confidentialInstanceConfig = confidentialInstanceConfig.asOptionOutput(isSecret = false),
      deletionProtection = deletionProtection.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      disks = disks.asOptionOutput(isSecret = false),
      displayDevice = displayDevice.asOptionOutput(isSecret = false),
      guestAccelerators = guestAccelerators.asOptionOutput(isSecret = false),
      hostname = hostname.asOptionOutput(isSecret = false),
      instanceEncryptionKey = instanceEncryptionKey.asOptionOutput(isSecret = false),
      keyRevocationActionType = keyRevocationActionType.asOptionOutput(isSecret = false),
      labels = labels.asOptionOutput(isSecret = false),
      machineType = machineType.asOptionOutput(isSecret = false),
      metadata = metadata.asOptionOutput(isSecret = false),
      minCpuPlatform = minCpuPlatform.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      networkInterfaces = networkInterfaces.asOptionOutput(isSecret = false),
      networkPerformanceConfig = networkPerformanceConfig.asOptionOutput(isSecret = false),
      params = params.asOptionOutput(isSecret = false),
      privateIpv6GoogleAccess = privateIpv6GoogleAccess.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      reservationAffinity = reservationAffinity.asOptionOutput(isSecret = false),
      resourcePolicies = resourcePolicies.asOptionOutput(isSecret = false),
      scheduling = scheduling.asOptionOutput(isSecret = false),
      serviceAccounts = serviceAccounts.asOptionOutput(isSecret = false),
      shieldedInstanceConfig = shieldedInstanceConfig.asOptionOutput(isSecret = false),
      shieldedInstanceIntegrityPolicy = shieldedInstanceIntegrityPolicy.asOptionOutput(isSecret = false),
      sourceInstanceTemplate = sourceInstanceTemplate.asOptionOutput(isSecret = false),
      sourceMachineImage = sourceMachineImage.asOptionOutput(isSecret = false),
      sourceMachineImageEncryptionKey = sourceMachineImageEncryptionKey.asOptionOutput(isSecret = false),
      tags = tags.asOptionOutput(isSecret = false),
      zone = zone.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy