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

src.apigee.v1.RatePlanArgs.scala Maven / Gradle / Ivy

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

final case class RatePlanArgs private(
  apiproduct: besom.types.Output[scala.Option[String]],
  apiproductId: besom.types.Output[String],
  billingPeriod: besom.types.Output[scala.Option[besom.api.googlenative.apigee.v1.enums.RatePlanBillingPeriod]],
  consumptionPricingRates: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.apigee.v1.inputs.GoogleCloudApigeeV1RateRangeArgs]]],
  consumptionPricingType: besom.types.Output[scala.Option[besom.api.googlenative.apigee.v1.enums.RatePlanConsumptionPricingType]],
  currencyCode: besom.types.Output[scala.Option[String]],
  description: besom.types.Output[scala.Option[String]],
  displayName: besom.types.Output[scala.Option[String]],
  endTime: besom.types.Output[scala.Option[String]],
  fixedFeeFrequency: besom.types.Output[scala.Option[Int]],
  fixedRecurringFee: besom.types.Output[scala.Option[besom.api.googlenative.apigee.v1.inputs.GoogleTypeMoneyArgs]],
  organizationId: besom.types.Output[String],
  paymentFundingModel: besom.types.Output[scala.Option[besom.api.googlenative.apigee.v1.enums.RatePlanPaymentFundingModel]],
  revenueShareRates: besom.types.Output[scala.Option[scala.collection.immutable.List[besom.api.googlenative.apigee.v1.inputs.GoogleCloudApigeeV1RevenueShareRangeArgs]]],
  revenueShareType: besom.types.Output[scala.Option[besom.api.googlenative.apigee.v1.enums.RatePlanRevenueShareType]],
  setupFee: besom.types.Output[scala.Option[besom.api.googlenative.apigee.v1.inputs.GoogleTypeMoneyArgs]],
  startTime: besom.types.Output[scala.Option[String]],
  state: besom.types.Output[scala.Option[besom.api.googlenative.apigee.v1.enums.RatePlanState]]
)

object RatePlanArgs:
  def apply(
    apiproduct: besom.types.Input.Optional[String] = scala.None,
    apiproductId: besom.types.Input[String],
    billingPeriod: besom.types.Input.Optional[besom.api.googlenative.apigee.v1.enums.RatePlanBillingPeriod] = scala.None,
    consumptionPricingRates: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.apigee.v1.inputs.GoogleCloudApigeeV1RateRangeArgs]]] = scala.None,
    consumptionPricingType: besom.types.Input.Optional[besom.api.googlenative.apigee.v1.enums.RatePlanConsumptionPricingType] = scala.None,
    currencyCode: besom.types.Input.Optional[String] = scala.None,
    description: besom.types.Input.Optional[String] = scala.None,
    displayName: besom.types.Input.Optional[String] = scala.None,
    endTime: besom.types.Input.Optional[String] = scala.None,
    fixedFeeFrequency: besom.types.Input.Optional[Int] = scala.None,
    fixedRecurringFee: besom.types.Input.Optional[besom.api.googlenative.apigee.v1.inputs.GoogleTypeMoneyArgs] = scala.None,
    organizationId: besom.types.Input[String],
    paymentFundingModel: besom.types.Input.Optional[besom.api.googlenative.apigee.v1.enums.RatePlanPaymentFundingModel] = scala.None,
    revenueShareRates: besom.types.Input.Optional[scala.collection.immutable.List[besom.types.Input[besom.api.googlenative.apigee.v1.inputs.GoogleCloudApigeeV1RevenueShareRangeArgs]]] = scala.None,
    revenueShareType: besom.types.Input.Optional[besom.api.googlenative.apigee.v1.enums.RatePlanRevenueShareType] = scala.None,
    setupFee: besom.types.Input.Optional[besom.api.googlenative.apigee.v1.inputs.GoogleTypeMoneyArgs] = scala.None,
    startTime: besom.types.Input.Optional[String] = scala.None,
    state: besom.types.Input.Optional[besom.api.googlenative.apigee.v1.enums.RatePlanState] = scala.None
  )(using besom.types.Context): RatePlanArgs =
    new RatePlanArgs(
      apiproduct = apiproduct.asOptionOutput(isSecret = false),
      apiproductId = apiproductId.asOutput(isSecret = false),
      billingPeriod = billingPeriod.asOptionOutput(isSecret = false),
      consumptionPricingRates = consumptionPricingRates.asOptionOutput(isSecret = false),
      consumptionPricingType = consumptionPricingType.asOptionOutput(isSecret = false),
      currencyCode = currencyCode.asOptionOutput(isSecret = false),
      description = description.asOptionOutput(isSecret = false),
      displayName = displayName.asOptionOutput(isSecret = false),
      endTime = endTime.asOptionOutput(isSecret = false),
      fixedFeeFrequency = fixedFeeFrequency.asOptionOutput(isSecret = false),
      fixedRecurringFee = fixedRecurringFee.asOptionOutput(isSecret = false),
      organizationId = organizationId.asOutput(isSecret = false),
      paymentFundingModel = paymentFundingModel.asOptionOutput(isSecret = false),
      revenueShareRates = revenueShareRates.asOptionOutput(isSecret = false),
      revenueShareType = revenueShareType.asOptionOutput(isSecret = false),
      setupFee = setupFee.asOptionOutput(isSecret = false),
      startTime = startTime.asOptionOutput(isSecret = false),
      state = state.asOptionOutput(isSecret = false)
    )

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






© 2015 - 2025 Weber Informatics LLC | Privacy Policy