
src.compute.beta.Reservation.scala Maven / Gradle / Ivy
package besom.api.googlenative.compute.beta
final case class Reservation private(
urn: besom.types.Output[besom.types.URN],
id: besom.types.Output[besom.types.ResourceId],
aggregateReservation: besom.types.Output[besom.api.googlenative.compute.beta.outputs.AllocationAggregateReservationResponse],
commitment: besom.types.Output[String],
creationTimestamp: besom.types.Output[String],
deleteAfterDuration: besom.types.Output[besom.api.googlenative.compute.beta.outputs.DurationResponse],
deleteAtTime: besom.types.Output[String],
description: besom.types.Output[String],
kind: besom.types.Output[String],
name: besom.types.Output[String],
project: besom.types.Output[String],
requestId: besom.types.Output[scala.Option[String]],
resourcePolicies: besom.types.Output[scala.Predef.Map[String, String]],
resourceStatus: besom.types.Output[besom.api.googlenative.compute.beta.outputs.AllocationResourceStatusResponse],
satisfiesPzs: besom.types.Output[Boolean],
selfLink: besom.types.Output[String],
shareSettings: besom.types.Output[besom.api.googlenative.compute.beta.outputs.ShareSettingsResponse],
specificReservation: besom.types.Output[besom.api.googlenative.compute.beta.outputs.AllocationSpecificSkuReservationResponse],
specificReservationRequired: besom.types.Output[Boolean],
status: besom.types.Output[String],
zone: besom.types.Output[String]
) extends besom.CustomResource
object Reservation extends besom.ResourceCompanion[Reservation]:
/** Resource constructor for Reservation.
*
* @param name [[besom.util.NonEmptyString]] The unique (stack-wise) name of the resource in Pulumi state (not on provider's side).
* NonEmptyString is inferred automatically from non-empty string literals, even when interpolated. If you encounter any
* issues with this, please try using `: NonEmptyString` type annotation. If you need to convert a dynamically generated
* string to NonEmptyString, use `NonEmptyString.apply` method - `NonEmptyString(str): Option[NonEmptyString]`.
*
* @param args [[ReservationArgs]] The configuration to use to create this resource. This resource has a default configuration.
*
* @param opts [[besom.CustomResourceOptions]] Resource options to use for this resource.
* Defaults to empty options. If you need to set some options, use [[besom.opts]] function to create them, for example:
*
* {{{
* val res = Reservation(
* "my-resource",
* ReservationArgs(...), // your args
* opts(provider = myProvider)
* )
* }}}
*/
def apply(using ctx: besom.types.Context)(
name: besom.util.NonEmptyString,
args: ReservationArgs = ReservationArgs(),
opts: besom.ResourceOptsVariant.Custom ?=> besom.CustomResourceOptions = besom.CustomResourceOptions()
): besom.types.Output[Reservation] =
ctx.readOrRegisterResource[Reservation, ReservationArgs]("google-native:compute/beta:Reservation", name, args, opts(using besom.ResourceOptsVariant.Custom))
private[besom] def typeToken: besom.types.ResourceType = "google-native:compute/beta:Reservation"
given resourceDecoder(using besom.types.Context): besom.types.ResourceDecoder[Reservation] =
besom.internal.ResourceDecoder.derived[Reservation]
given decoder(using besom.types.Context): besom.types.Decoder[Reservation] =
besom.internal.Decoder.customResourceDecoder[Reservation]
given outputOps: {} with
extension(output: besom.types.Output[Reservation])
def urn : besom.types.Output[besom.types.URN] = output.flatMap(_.urn)
def id : besom.types.Output[besom.types.ResourceId] = output.flatMap(_.id)
def aggregateReservation : besom.types.Output[besom.api.googlenative.compute.beta.outputs.AllocationAggregateReservationResponse] = output.flatMap(_.aggregateReservation)
def commitment : besom.types.Output[String] = output.flatMap(_.commitment)
def creationTimestamp : besom.types.Output[String] = output.flatMap(_.creationTimestamp)
def deleteAfterDuration : besom.types.Output[besom.api.googlenative.compute.beta.outputs.DurationResponse] = output.flatMap(_.deleteAfterDuration)
def deleteAtTime : besom.types.Output[String] = output.flatMap(_.deleteAtTime)
def description : besom.types.Output[String] = output.flatMap(_.description)
def kind : besom.types.Output[String] = output.flatMap(_.kind)
def name : besom.types.Output[String] = output.flatMap(_.name)
def project : besom.types.Output[String] = output.flatMap(_.project)
def requestId : besom.types.Output[scala.Option[String]] = output.flatMap(_.requestId)
def resourcePolicies : besom.types.Output[scala.Predef.Map[String, String]] = output.flatMap(_.resourcePolicies)
def resourceStatus : besom.types.Output[besom.api.googlenative.compute.beta.outputs.AllocationResourceStatusResponse] = output.flatMap(_.resourceStatus)
def satisfiesPzs : besom.types.Output[Boolean] = output.flatMap(_.satisfiesPzs)
def selfLink : besom.types.Output[String] = output.flatMap(_.selfLink)
def shareSettings : besom.types.Output[besom.api.googlenative.compute.beta.outputs.ShareSettingsResponse] = output.flatMap(_.shareSettings)
def specificReservation : besom.types.Output[besom.api.googlenative.compute.beta.outputs.AllocationSpecificSkuReservationResponse] = output.flatMap(_.specificReservation)
def specificReservationRequired : besom.types.Output[Boolean] = output.flatMap(_.specificReservationRequired)
def status : besom.types.Output[String] = output.flatMap(_.status)
def zone : besom.types.Output[String] = output.flatMap(_.zone)
© 2015 - 2025 Weber Informatics LLC | Privacy Policy