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

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

package besom.api.googlenative.compute.beta

final case class FutureReservationArgs private(
  autoCreatedReservationsDeleteTime: besom.types.Output[scala.Option[String]],
  autoCreatedReservationsDuration: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.DurationArgs]],
  autoDeleteAutoCreatedReservations: besom.types.Output[scala.Option[Boolean]],
  description: besom.types.Output[scala.Option[String]],
  name: besom.types.Output[scala.Option[String]],
  namePrefix: besom.types.Output[scala.Option[String]],
  planningStatus: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.enums.FutureReservationPlanningStatus]],
  project: besom.types.Output[scala.Option[String]],
  requestId: besom.types.Output[scala.Option[String]],
  shareSettings: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.ShareSettingsArgs]],
  specificSkuProperties: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.FutureReservationSpecificSkuPropertiesArgs]],
  timeWindow: besom.types.Output[scala.Option[besom.api.googlenative.compute.beta.inputs.FutureReservationTimeWindowArgs]],
  zone: besom.types.Output[scala.Option[String]]
)

object FutureReservationArgs:
  def apply(
    autoCreatedReservationsDeleteTime: besom.types.Input.Optional[String] = scala.None,
    autoCreatedReservationsDuration: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.DurationArgs] = scala.None,
    autoDeleteAutoCreatedReservations: besom.types.Input.Optional[Boolean] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    name: besom.types.Input.Optional[String] = scala.None,
    namePrefix: besom.types.Input.Optional[String] = scala.None,
    planningStatus: besom.types.Input.Optional[besom.api.googlenative.compute.beta.enums.FutureReservationPlanningStatus] = scala.None,
    project: besom.types.Input.Optional[String] = scala.None,
    requestId: besom.types.Input.Optional[String] = scala.None,
    shareSettings: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.ShareSettingsArgs] = scala.None,
    specificSkuProperties: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.FutureReservationSpecificSkuPropertiesArgs] = scala.None,
    timeWindow: besom.types.Input.Optional[besom.api.googlenative.compute.beta.inputs.FutureReservationTimeWindowArgs] = scala.None,
    zone: besom.types.Input.Optional[String] = scala.None
  )(using besom.types.Context): FutureReservationArgs =
    new FutureReservationArgs(
      autoCreatedReservationsDeleteTime = autoCreatedReservationsDeleteTime.asOptionOutput(isSecret = false),
      autoCreatedReservationsDuration = autoCreatedReservationsDuration.asOptionOutput(isSecret = false),
      autoDeleteAutoCreatedReservations = autoDeleteAutoCreatedReservations.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      name = name.asOptionOutput(isSecret = false),
      namePrefix = namePrefix.asOptionOutput(isSecret = false),
      planningStatus = planningStatus.asOptionOutput(isSecret = false),
      project = project.asOptionOutput(isSecret = false),
      requestId = requestId.asOptionOutput(isSecret = false),
      shareSettings = shareSettings.asOptionOutput(isSecret = false),
      specificSkuProperties = specificSkuProperties.asOptionOutput(isSecret = false),
      timeWindow = timeWindow.asOptionOutput(isSecret = false),
      zone = zone.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy