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

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

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

final case class ReservationArgs private(
  aggregateReservation: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.inputs.AllocationAggregateReservationArgs]],
  deleteAfterDuration: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.inputs.DurationArgs]],
  deleteAtTime: besom.types.Output[scala.Option[String]],
  description: besom.types.Output[scala.Option[String]],
  name: besom.types.Output[scala.Option[String]],
  project: besom.types.Output[scala.Option[String]],
  requestId: besom.types.Output[scala.Option[String]],
  resourcePolicies: besom.types.Output[scala.Option[scala.Predef.Map[String, String]]],
  shareSettings: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.inputs.ShareSettingsArgs]],
  specificReservation: besom.types.Output[scala.Option[besom.api.googlenative.compute.alpha.inputs.AllocationSpecificSkuReservationArgs]],
  specificReservationRequired: besom.types.Output[scala.Option[Boolean]],
  zone: besom.types.Output[scala.Option[String]]
)

object ReservationArgs:
  def apply(
    aggregateReservation: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.inputs.AllocationAggregateReservationArgs] = scala.None,
    deleteAfterDuration: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.inputs.DurationArgs] = scala.None,
    deleteAtTime: besom.types.Input.Optional[String] = scala.None,
    description: besom.types.Input.Optional[String] = 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,
    resourcePolicies: besom.types.Input.Optional[scala.Predef.Map[String, besom.types.Input[String]]] = scala.None,
    shareSettings: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.inputs.ShareSettingsArgs] = scala.None,
    specificReservation: besom.types.Input.Optional[besom.api.googlenative.compute.alpha.inputs.AllocationSpecificSkuReservationArgs] = scala.None,
    specificReservationRequired: besom.types.Input.Optional[Boolean] = scala.None,
    zone: besom.types.Input.Optional[String] = scala.None
  )(using besom.types.Context): ReservationArgs =
    new ReservationArgs(
      aggregateReservation = aggregateReservation.asOptionOutput(isSecret = false),
      deleteAfterDuration = deleteAfterDuration.asOptionOutput(isSecret = false),
      deleteAtTime = deleteAtTime.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      resourcePolicies = resourcePolicies.asOptionOutput(isSecret = false),
      shareSettings = shareSettings.asOptionOutput(isSecret = false),
      specificReservation = specificReservation.asOptionOutput(isSecret = false),
      specificReservationRequired = specificReservationRequired.asOptionOutput(isSecret = false),
      zone = zone.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy