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

src.billingbudgets.v1beta1.BudgetArgs.scala Maven / Gradle / Ivy

package besom.api.googlenative.billingbudgets.v1beta1

final case class BudgetArgs private(
  allUpdatesRule: besom.types.Output[scala.Option[besom.api.googlenative.billingbudgets.v1beta1.inputs.GoogleCloudBillingBudgetsV1beta1AllUpdatesRuleArgs]],
  amount: besom.types.Output[besom.api.googlenative.billingbudgets.v1beta1.inputs.GoogleCloudBillingBudgetsV1beta1BudgetAmountArgs],
  billingAccountId: besom.types.Output[String],
  budgetFilter: besom.types.Output[scala.Option[besom.api.googlenative.billingbudgets.v1beta1.inputs.GoogleCloudBillingBudgetsV1beta1FilterArgs]],
  displayName: besom.types.Output[scala.Option[String]],
  etag: besom.types.Output[scala.Option[String]],
  ownershipScope: besom.types.Output[scala.Option[besom.api.googlenative.billingbudgets.v1beta1.enums.BudgetOwnershipScope]],
  thresholdRules: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.billingbudgets.v1beta1.inputs.GoogleCloudBillingBudgetsV1beta1ThresholdRuleArgs]]]
)

object BudgetArgs:
  def apply(
    allUpdatesRule: besom.types.Input.Optional[besom.api.googlenative.billingbudgets.v1beta1.inputs.GoogleCloudBillingBudgetsV1beta1AllUpdatesRuleArgs] = scala.None,
    amount: besom.types.Input[besom.api.googlenative.billingbudgets.v1beta1.inputs.GoogleCloudBillingBudgetsV1beta1BudgetAmountArgs],
    billingAccountId: besom.types.Input[String],
    budgetFilter: besom.types.Input.Optional[besom.api.googlenative.billingbudgets.v1beta1.inputs.GoogleCloudBillingBudgetsV1beta1FilterArgs] = scala.None,
    displayName: besom.types.Input.Optional[String] = scala.None,
    etag: besom.types.Input.Optional[String] = scala.None,
    ownershipScope: besom.types.Input.Optional[besom.api.googlenative.billingbudgets.v1beta1.enums.BudgetOwnershipScope] = scala.None,
    thresholdRules: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.billingbudgets.v1beta1.inputs.GoogleCloudBillingBudgetsV1beta1ThresholdRuleArgs]]] = scala.None
  )(using besom.types.Context): BudgetArgs =
    new BudgetArgs(
      allUpdatesRule = allUpdatesRule.asOptionOutput(isSecret = false),
      amount = amount.asOutput(isSecret = false),
      billingAccountId = billingAccountId.asOutput(isSecret = false),
      budgetFilter = budgetFilter.asOptionOutput(isSecret = false),
      displayName = displayName.asOptionOutput(isSecret = false),
      etag = etag.asOptionOutput(isSecret = false),
      ownershipScope = ownershipScope.asOptionOutput(isSecret = false),
      thresholdRules = thresholdRules.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy