shared

package
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 8, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Address added in v0.121.0

type Address struct {
	City       string      `json:"city,required,nullable"`
	Country    string      `json:"country,required,nullable"`
	Line1      string      `json:"line1,required,nullable"`
	Line2      string      `json:"line2,required,nullable"`
	PostalCode string      `json:"postal_code,required,nullable"`
	State      string      `json:"state,required,nullable"`
	JSON       addressJSON `json:"-"`
}

func (*Address) UnmarshalJSON added in v0.121.0

func (r *Address) UnmarshalJSON(data []byte) (err error)

type AdjustmentInterval added in v0.121.0

type AdjustmentInterval struct {
	ID         string                       `json:"id,required"`
	Adjustment AdjustmentIntervalAdjustment `json:"adjustment,required"`
	// The price interval IDs that this adjustment applies to.
	AppliesToPriceIntervalIDs []string `json:"applies_to_price_interval_ids,required"`
	// The end date of the adjustment interval.
	EndDate time.Time `json:"end_date,required,nullable" format:"date-time"`
	// The start date of the adjustment interval.
	StartDate time.Time              `json:"start_date,required" format:"date-time"`
	JSON      adjustmentIntervalJSON `json:"-"`
}

func (*AdjustmentInterval) UnmarshalJSON added in v0.121.0

func (r *AdjustmentInterval) UnmarshalJSON(data []byte) (err error)

type AdjustmentIntervalAdjustment added in v0.121.0

type AdjustmentIntervalAdjustment struct {
	ID             string                                     `json:"id,required"`
	AdjustmentType AdjustmentIntervalAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// This field can have the runtime type of [[]string].
	AppliesToPriceIDs interface{} `json:"applies_to_price_ids,required"`
	// This field can have the runtime type of [[]TransformPriceFilter].
	Filters interface{} `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The plan phase in which this adjustment is active.
	PlanPhaseOrder int64 `json:"plan_phase_order,required,nullable"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string `json:"replaces_adjustment_id,required,nullable"`
	// The amount by which to discount the prices this adjustment applies to in a given
	// billing period.
	AmountDiscount string `json:"amount_discount"`
	// The item ID that revenue from this minimum will be attributed to.
	ItemID string `json:"item_id"`
	// The maximum amount to charge in a given billing period for the prices this
	// adjustment applies to.
	MaximumAmount string `json:"maximum_amount"`
	// The minimum amount to charge in a given billing period for the prices this
	// adjustment applies to.
	MinimumAmount string `json:"minimum_amount"`
	// The percentage (as a value between 0 and 1) by which to discount the price
	// intervals this adjustment applies to in a given billing period.
	PercentageDiscount float64 `json:"percentage_discount"`
	// The number of usage units by which to discount the price this adjustment applies
	// to in a given billing period.
	UsageDiscount float64                          `json:"usage_discount"`
	JSON          adjustmentIntervalAdjustmentJSON `json:"-"`
	// contains filtered or unexported fields
}

func (AdjustmentIntervalAdjustment) AsUnion added in v0.121.0

AsUnion returns a AdjustmentIntervalAdjustmentUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are PlanPhaseUsageDiscountAdjustment, PlanPhaseAmountDiscountAdjustment, PlanPhasePercentageDiscountAdjustment, PlanPhaseMinimumAdjustment, PlanPhaseMaximumAdjustment.

func (*AdjustmentIntervalAdjustment) UnmarshalJSON added in v0.121.0

func (r *AdjustmentIntervalAdjustment) UnmarshalJSON(data []byte) (err error)

type AdjustmentIntervalAdjustmentAdjustmentType added in v0.121.0

type AdjustmentIntervalAdjustmentAdjustmentType string
const (
	AdjustmentIntervalAdjustmentAdjustmentTypeUsageDiscount      AdjustmentIntervalAdjustmentAdjustmentType = "usage_discount"
	AdjustmentIntervalAdjustmentAdjustmentTypeAmountDiscount     AdjustmentIntervalAdjustmentAdjustmentType = "amount_discount"
	AdjustmentIntervalAdjustmentAdjustmentTypePercentageDiscount AdjustmentIntervalAdjustmentAdjustmentType = "percentage_discount"
	AdjustmentIntervalAdjustmentAdjustmentTypeMinimum            AdjustmentIntervalAdjustmentAdjustmentType = "minimum"
	AdjustmentIntervalAdjustmentAdjustmentTypeMaximum            AdjustmentIntervalAdjustmentAdjustmentType = "maximum"
)

func (AdjustmentIntervalAdjustmentAdjustmentType) IsKnown added in v0.121.0

type AdjustmentIntervalAdjustmentUnion added in v0.121.0

type AdjustmentIntervalAdjustmentUnion interface {
	ImplementsAdjustmentIntervalAdjustment()
}

Union satisfied by PlanPhaseUsageDiscountAdjustment, PlanPhaseAmountDiscountAdjustment, PlanPhasePercentageDiscountAdjustment, PlanPhaseMinimumAdjustment or PlanPhaseMaximumAdjustment.

type AggregatedCost added in v0.121.0

type AggregatedCost struct {
	PerPriceCosts []PerPriceCost `json:"per_price_costs,required"`
	// Total costs for the timeframe, excluding any minimums and discounts.
	Subtotal       string    `json:"subtotal,required"`
	TimeframeEnd   time.Time `json:"timeframe_end,required" format:"date-time"`
	TimeframeStart time.Time `json:"timeframe_start,required" format:"date-time"`
	// Total costs for the timeframe, including any minimums and discounts.
	Total string             `json:"total,required"`
	JSON  aggregatedCostJSON `json:"-"`
}

func (*AggregatedCost) UnmarshalJSON added in v0.121.0

func (r *AggregatedCost) UnmarshalJSON(data []byte) (err error)

type Allocation added in v0.121.0

type Allocation struct {
	AllowsRollover   bool             `json:"allows_rollover,required"`
	Currency         string           `json:"currency,required"`
	CustomExpiration CustomExpiration `json:"custom_expiration,required,nullable"`
	JSON             allocationJSON   `json:"-"`
}

func (*Allocation) UnmarshalJSON added in v0.121.0

func (r *Allocation) UnmarshalJSON(data []byte) (err error)

type AmountDiscount added in v0.67.0

type AmountDiscount struct {
	// Only available if discount_type is `amount`.
	AmountDiscount string                     `json:"amount_discount,required"`
	DiscountType   AmountDiscountDiscountType `json:"discount_type,required"`
	// List of price_ids that this discount applies to. For plan/plan phase discounts,
	// this can be a subset of prices.
	AppliesToPriceIDs []string `json:"applies_to_price_ids,nullable"`
	// The filters that determine which prices to apply this discount to.
	Filters []TransformPriceFilter `json:"filters,nullable"`
	Reason  string                 `json:"reason,nullable"`
	JSON    amountDiscountJSON     `json:"-"`
}

func (AmountDiscount) ImplementsCouponDiscount added in v0.67.0

func (r AmountDiscount) ImplementsCouponDiscount()

func (AmountDiscount) ImplementsDiscount added in v0.89.1

func (r AmountDiscount) ImplementsDiscount()

func (AmountDiscount) ImplementsInvoiceLevelDiscount added in v0.89.1

func (r AmountDiscount) ImplementsInvoiceLevelDiscount()

func (*AmountDiscount) UnmarshalJSON added in v0.67.0

func (r *AmountDiscount) UnmarshalJSON(data []byte) (err error)

type AmountDiscountDiscountType added in v0.67.0

type AmountDiscountDiscountType string
const (
	AmountDiscountDiscountTypeAmount AmountDiscountDiscountType = "amount"
)

func (AmountDiscountDiscountType) IsKnown added in v0.67.0

func (r AmountDiscountDiscountType) IsKnown() bool

type AmountDiscountInterval added in v0.121.0

type AmountDiscountInterval struct {
	// Only available if discount_type is `amount`.
	AmountDiscount string `json:"amount_discount,required"`
	// The price interval ids that this discount interval applies to.
	AppliesToPriceIntervalIDs []string                           `json:"applies_to_price_interval_ids,required"`
	DiscountType              AmountDiscountIntervalDiscountType `json:"discount_type,required"`
	// The end date of the discount interval.
	EndDate time.Time `json:"end_date,required,nullable" format:"date-time"`
	// The filters that determine which prices this discount interval applies to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// The start date of the discount interval.
	StartDate time.Time                  `json:"start_date,required" format:"date-time"`
	JSON      amountDiscountIntervalJSON `json:"-"`
}

func (AmountDiscountInterval) ImplementsMutatedSubscriptionDiscountInterval added in v0.121.0

func (r AmountDiscountInterval) ImplementsMutatedSubscriptionDiscountInterval()

func (AmountDiscountInterval) ImplementsSubscriptionDiscountInterval added in v0.121.0

func (r AmountDiscountInterval) ImplementsSubscriptionDiscountInterval()

func (*AmountDiscountInterval) UnmarshalJSON added in v0.121.0

func (r *AmountDiscountInterval) UnmarshalJSON(data []byte) (err error)

type AmountDiscountIntervalDiscountType added in v0.121.0

type AmountDiscountIntervalDiscountType string
const (
	AmountDiscountIntervalDiscountTypeAmount AmountDiscountIntervalDiscountType = "amount"
)

func (AmountDiscountIntervalDiscountType) IsKnown added in v0.121.0

type AmountDiscountParam added in v0.67.0

type AmountDiscountParam struct {
	// Only available if discount_type is `amount`.
	AmountDiscount param.Field[string]                     `json:"amount_discount,required"`
	DiscountType   param.Field[AmountDiscountDiscountType] `json:"discount_type,required"`
	// List of price_ids that this discount applies to. For plan/plan phase discounts,
	// this can be a subset of prices.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// The filters that determine which prices to apply this discount to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	Reason  param.Field[string]                      `json:"reason"`
}

func (AmountDiscountParam) ImplementsDiscountUnionParam added in v0.89.1

func (r AmountDiscountParam) ImplementsDiscountUnionParam()

func (AmountDiscountParam) MarshalJSON added in v0.67.0

func (r AmountDiscountParam) MarshalJSON() (data []byte, err error)

type BPSConfig added in v0.121.0

type BPSConfig struct {
	// Basis point take rate per event
	BPS float64 `json:"bps,required"`
	// Optional currency amount maximum to cap spend per event
	PerUnitMaximum string        `json:"per_unit_maximum,nullable"`
	JSON           bpsConfigJSON `json:"-"`
}

func (*BPSConfig) UnmarshalJSON added in v0.121.0

func (r *BPSConfig) UnmarshalJSON(data []byte) (err error)

type BPSConfigParam added in v0.121.0

type BPSConfigParam struct {
	// Basis point take rate per event
	BPS param.Field[float64] `json:"bps,required"`
	// Optional currency amount maximum to cap spend per event
	PerUnitMaximum param.Field[string] `json:"per_unit_maximum"`
}

func (BPSConfigParam) MarshalJSON added in v0.121.0

func (r BPSConfigParam) MarshalJSON() (data []byte, err error)

type BPSTier added in v0.121.0

type BPSTier struct {
	// Per-event basis point rate
	BPS float64 `json:"bps,required"`
	// Exclusive tier starting value
	MinimumAmount string `json:"minimum_amount,required"`
	// Inclusive tier ending value
	MaximumAmount string `json:"maximum_amount,nullable"`
	// Per unit maximum to charge
	PerUnitMaximum string      `json:"per_unit_maximum,nullable"`
	JSON           bpsTierJSON `json:"-"`
}

func (*BPSTier) UnmarshalJSON added in v0.121.0

func (r *BPSTier) UnmarshalJSON(data []byte) (err error)

type BPSTierParam added in v0.121.0

type BPSTierParam struct {
	// Per-event basis point rate
	BPS param.Field[float64] `json:"bps,required"`
	// Exclusive tier starting value
	MinimumAmount param.Field[string] `json:"minimum_amount,required"`
	// Inclusive tier ending value
	MaximumAmount param.Field[string] `json:"maximum_amount"`
	// Per unit maximum to charge
	PerUnitMaximum param.Field[string] `json:"per_unit_maximum"`
}

func (BPSTierParam) MarshalJSON added in v0.121.0

func (r BPSTierParam) MarshalJSON() (data []byte, err error)

type BillableMetricTiny added in v0.121.0

type BillableMetricTiny struct {
	ID   string                 `json:"id,required"`
	JSON billableMetricTinyJSON `json:"-"`
}

func (*BillableMetricTiny) UnmarshalJSON added in v0.121.0

func (r *BillableMetricTiny) UnmarshalJSON(data []byte) (err error)

type BillingCycleAnchorConfiguration added in v0.121.0

type BillingCycleAnchorConfiguration struct {
	// The day of the month on which the billing cycle is anchored. If the maximum
	// number of days in a month is greater than this value, the last day of the month
	// is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
	// period begins on the 30th.
	Day int64 `json:"day,required"`
	// The month on which the billing cycle is anchored (e.g. a quarterly price
	// anchored in February would have cycles starting February, May, August, and
	// November).
	Month int64 `json:"month,nullable"`
	// The year on which the billing cycle is anchored (e.g. a 2 year billing cycle
	// anchored on 2021 would have cycles starting on 2021, 2023, 2025, etc.).
	Year int64                               `json:"year,nullable"`
	JSON billingCycleAnchorConfigurationJSON `json:"-"`
}

func (*BillingCycleAnchorConfiguration) UnmarshalJSON added in v0.121.0

func (r *BillingCycleAnchorConfiguration) UnmarshalJSON(data []byte) (err error)

type BillingCycleAnchorConfigurationParam added in v0.121.0

type BillingCycleAnchorConfigurationParam struct {
	// The day of the month on which the billing cycle is anchored. If the maximum
	// number of days in a month is greater than this value, the last day of the month
	// is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
	// period begins on the 30th.
	Day param.Field[int64] `json:"day,required"`
	// The month on which the billing cycle is anchored (e.g. a quarterly price
	// anchored in February would have cycles starting February, May, August, and
	// November).
	Month param.Field[int64] `json:"month"`
	// The year on which the billing cycle is anchored (e.g. a 2 year billing cycle
	// anchored on 2021 would have cycles starting on 2021, 2023, 2025, etc.).
	Year param.Field[int64] `json:"year"`
}

func (BillingCycleAnchorConfigurationParam) MarshalJSON added in v0.121.0

func (r BillingCycleAnchorConfigurationParam) MarshalJSON() (data []byte, err error)

type BillingCycleConfiguration added in v0.121.0

type BillingCycleConfiguration struct {
	Duration     int64                                 `json:"duration,required"`
	DurationUnit BillingCycleConfigurationDurationUnit `json:"duration_unit,required"`
	JSON         billingCycleConfigurationJSON         `json:"-"`
}

func (*BillingCycleConfiguration) UnmarshalJSON added in v0.121.0

func (r *BillingCycleConfiguration) UnmarshalJSON(data []byte) (err error)

type BillingCycleConfigurationDurationUnit added in v0.121.0

type BillingCycleConfigurationDurationUnit string
const (
	BillingCycleConfigurationDurationUnitDay   BillingCycleConfigurationDurationUnit = "day"
	BillingCycleConfigurationDurationUnitMonth BillingCycleConfigurationDurationUnit = "month"
)

func (BillingCycleConfigurationDurationUnit) IsKnown added in v0.121.0

type BillingCycleRelativeDate

type BillingCycleRelativeDate string
const (
	BillingCycleRelativeDateStartOfTerm BillingCycleRelativeDate = "start_of_term"
	BillingCycleRelativeDateEndOfTerm   BillingCycleRelativeDate = "end_of_term"
)

func (BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsEndDateUnion added in v0.37.1

func (r BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsEndDateUnion()

func (BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsStartDateUnion added in v0.37.1

func (r BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsStartDateUnion()

func (BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsAddEndDateUnion added in v0.37.1

func (r BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsAddEndDateUnion()

func (BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsAddStartDateUnion added in v0.37.1

func (r BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsAddStartDateUnion()

func (BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsEndDateUnion added in v0.37.1

func (r BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsEndDateUnion()

func (BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsStartDateUnion added in v0.37.1

func (r BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsStartDateUnion()

func (BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsEditEndDateUnion added in v0.37.1

func (r BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsEditEndDateUnion()

func (BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsEditStartDateUnion added in v0.37.1

func (r BillingCycleRelativeDate) ImplementsSubscriptionPriceIntervalsParamsEditStartDateUnion()

func (BillingCycleRelativeDate) IsKnown

func (r BillingCycleRelativeDate) IsKnown() bool

type BulkBPSConfig added in v0.121.0

type BulkBPSConfig struct {
	// Tiers for a bulk BPS pricing model where all usage is aggregated to a single
	// tier based on total volume
	Tiers []BulkBPSTier     `json:"tiers,required"`
	JSON  bulkBPSConfigJSON `json:"-"`
}

func (*BulkBPSConfig) UnmarshalJSON added in v0.121.0

func (r *BulkBPSConfig) UnmarshalJSON(data []byte) (err error)

type BulkBPSConfigParam added in v0.121.0

type BulkBPSConfigParam struct {
	// Tiers for a bulk BPS pricing model where all usage is aggregated to a single
	// tier based on total volume
	Tiers param.Field[[]BulkBPSTierParam] `json:"tiers,required"`
}

func (BulkBPSConfigParam) MarshalJSON added in v0.121.0

func (r BulkBPSConfigParam) MarshalJSON() (data []byte, err error)

type BulkBPSTier added in v0.121.0

type BulkBPSTier struct {
	// Basis points to rate on
	BPS float64 `json:"bps,required"`
	// Upper bound for tier
	MaximumAmount string `json:"maximum_amount,nullable"`
	// The maximum amount to charge for any one event
	PerUnitMaximum string          `json:"per_unit_maximum,nullable"`
	JSON           bulkBPSTierJSON `json:"-"`
}

func (*BulkBPSTier) UnmarshalJSON added in v0.121.0

func (r *BulkBPSTier) UnmarshalJSON(data []byte) (err error)

type BulkBPSTierParam added in v0.121.0

type BulkBPSTierParam struct {
	// Basis points to rate on
	BPS param.Field[float64] `json:"bps,required"`
	// Upper bound for tier
	MaximumAmount param.Field[string] `json:"maximum_amount"`
	// The maximum amount to charge for any one event
	PerUnitMaximum param.Field[string] `json:"per_unit_maximum"`
}

func (BulkBPSTierParam) MarshalJSON added in v0.121.0

func (r BulkBPSTierParam) MarshalJSON() (data []byte, err error)

type BulkConfig added in v0.121.0

type BulkConfig struct {
	// Bulk tiers for rating based on total usage volume
	Tiers []BulkTier     `json:"tiers,required"`
	JSON  bulkConfigJSON `json:"-"`
}

func (*BulkConfig) UnmarshalJSON added in v0.121.0

func (r *BulkConfig) UnmarshalJSON(data []byte) (err error)

type BulkConfigParam added in v0.121.0

type BulkConfigParam struct {
	// Bulk tiers for rating based on total usage volume
	Tiers param.Field[[]BulkTierParam] `json:"tiers,required"`
}

func (BulkConfigParam) MarshalJSON added in v0.121.0

func (r BulkConfigParam) MarshalJSON() (data []byte, err error)

type BulkTier added in v0.121.0

type BulkTier struct {
	// Amount per unit
	UnitAmount string `json:"unit_amount,required"`
	// Upper bound for this tier
	MaximumUnits float64      `json:"maximum_units,nullable"`
	JSON         bulkTierJSON `json:"-"`
}

func (*BulkTier) UnmarshalJSON added in v0.121.0

func (r *BulkTier) UnmarshalJSON(data []byte) (err error)

type BulkTierParam added in v0.121.0

type BulkTierParam struct {
	// Amount per unit
	UnitAmount param.Field[string] `json:"unit_amount,required"`
	// Upper bound for this tier
	MaximumUnits param.Field[float64] `json:"maximum_units"`
}

func (BulkTierParam) MarshalJSON added in v0.121.0

func (r BulkTierParam) MarshalJSON() (data []byte, err error)

type ChangedSubscriptionResources added in v0.121.0

type ChangedSubscriptionResources struct {
	// The credit notes that were created as part of this operation.
	CreatedCreditNotes []CreditNote `json:"created_credit_notes,required"`
	// The invoices that were created as part of this operation.
	CreatedInvoices []Invoice `json:"created_invoices,required"`
	// The credit notes that were voided as part of this operation.
	VoidedCreditNotes []CreditNote `json:"voided_credit_notes,required"`
	// The invoices that were voided as part of this operation.
	VoidedInvoices []Invoice                        `json:"voided_invoices,required"`
	JSON           changedSubscriptionResourcesJSON `json:"-"`
}

func (*ChangedSubscriptionResources) UnmarshalJSON added in v0.121.0

func (r *ChangedSubscriptionResources) UnmarshalJSON(data []byte) (err error)

type ConversionRateTier added in v0.123.0

type ConversionRateTier struct {
	// Exclusive tier starting value
	FirstUnit float64 `json:"first_unit,required"`
	// Amount per unit of overage
	UnitAmount string `json:"unit_amount,required"`
	// Inclusive tier ending value. If null, this is treated as the last tier
	LastUnit float64                `json:"last_unit,nullable"`
	JSON     conversionRateTierJSON `json:"-"`
}

func (*ConversionRateTier) UnmarshalJSON added in v0.123.0

func (r *ConversionRateTier) UnmarshalJSON(data []byte) (err error)

type ConversionRateTierParam added in v0.123.0

type ConversionRateTierParam struct {
	// Exclusive tier starting value
	FirstUnit param.Field[float64] `json:"first_unit,required"`
	// Amount per unit of overage
	UnitAmount param.Field[string] `json:"unit_amount,required"`
	// Inclusive tier ending value. If null, this is treated as the last tier
	LastUnit param.Field[float64] `json:"last_unit"`
}

func (ConversionRateTierParam) MarshalJSON added in v0.123.0

func (r ConversionRateTierParam) MarshalJSON() (data []byte, err error)

type ConversionRateTieredConfig added in v0.123.0

type ConversionRateTieredConfig struct {
	// Tiers for rating based on total usage quantities into the specified tier
	Tiers []ConversionRateTier           `json:"tiers,required"`
	JSON  conversionRateTieredConfigJSON `json:"-"`
}

func (*ConversionRateTieredConfig) UnmarshalJSON added in v0.123.0

func (r *ConversionRateTieredConfig) UnmarshalJSON(data []byte) (err error)

type ConversionRateTieredConfigParam added in v0.123.0

type ConversionRateTieredConfigParam struct {
	// Tiers for rating based on total usage quantities into the specified tier
	Tiers param.Field[[]ConversionRateTierParam] `json:"tiers,required"`
}

func (ConversionRateTieredConfigParam) MarshalJSON added in v0.123.0

func (r ConversionRateTieredConfigParam) MarshalJSON() (data []byte, err error)

type ConversionRateUnitConfig added in v0.123.0

type ConversionRateUnitConfig struct {
	// Amount per unit of overage
	UnitAmount string                       `json:"unit_amount,required"`
	JSON       conversionRateUnitConfigJSON `json:"-"`
}

func (*ConversionRateUnitConfig) UnmarshalJSON added in v0.123.0

func (r *ConversionRateUnitConfig) UnmarshalJSON(data []byte) (err error)

type ConversionRateUnitConfigParam added in v0.123.0

type ConversionRateUnitConfigParam struct {
	// Amount per unit of overage
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

func (ConversionRateUnitConfigParam) MarshalJSON added in v0.123.0

func (r ConversionRateUnitConfigParam) MarshalJSON() (data []byte, err error)

type CouponRedemption added in v0.121.0

type CouponRedemption struct {
	CouponID  string               `json:"coupon_id,required"`
	EndDate   time.Time            `json:"end_date,required,nullable" format:"date-time"`
	StartDate time.Time            `json:"start_date,required" format:"date-time"`
	JSON      couponRedemptionJSON `json:"-"`
}

func (*CouponRedemption) UnmarshalJSON added in v0.121.0

func (r *CouponRedemption) UnmarshalJSON(data []byte) (err error)

type CreditNote added in v0.121.0

type CreditNote struct {
	// The Orb id of this credit note.
	ID string `json:"id,required"`
	// The creation time of the resource in Orb.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The unique identifier for credit notes.
	CreditNoteNumber string `json:"credit_note_number,required"`
	// A URL to a PDF of the credit note.
	CreditNotePdf string           `json:"credit_note_pdf,required,nullable"`
	Customer      CustomerMinified `json:"customer,required"`
	// The id of the invoice resource that this credit note is applied to.
	InvoiceID string `json:"invoice_id,required"`
	// All of the line items associated with this credit note.
	LineItems []CreditNoteLineItem `json:"line_items,required"`
	// The maximum amount applied on the original invoice
	MaximumAmountAdjustment CreditNoteMaximumAmountAdjustment `json:"maximum_amount_adjustment,required,nullable"`
	// An optional memo supplied on the credit note.
	Memo string `json:"memo,required,nullable"`
	// Any credited amount from the applied minimum on the invoice.
	MinimumAmountRefunded string           `json:"minimum_amount_refunded,required,nullable"`
	Reason                CreditNoteReason `json:"reason,required,nullable"`
	// The total prior to any creditable invoice-level discounts or minimums.
	Subtotal string `json:"subtotal,required"`
	// The total including creditable invoice-level discounts or minimums, and tax.
	Total string         `json:"total,required"`
	Type  CreditNoteType `json:"type,required"`
	// The time at which the credit note was voided in Orb, if applicable.
	VoidedAt time.Time `json:"voided_at,required,nullable" format:"date-time"`
	// Any discounts applied on the original invoice.
	Discounts []CreditNoteDiscount `json:"discounts"`
	JSON      creditNoteJSON       `json:"-"`
}

The [Credit Note](/invoicing/credit-notes) resource represents a credit that has been applied to a particular invoice.

func (*CreditNote) UnmarshalJSON added in v0.121.0

func (r *CreditNote) UnmarshalJSON(data []byte) (err error)

type CreditNoteDiscount added in v0.121.0

type CreditNoteDiscount struct {
	AmountApplied      string                              `json:"amount_applied,required"`
	DiscountType       CreditNoteDiscountsDiscountType     `json:"discount_type,required"`
	PercentageDiscount float64                             `json:"percentage_discount,required"`
	AppliesToPrices    []CreditNoteDiscountsAppliesToPrice `json:"applies_to_prices,nullable"`
	Reason             string                              `json:"reason,nullable"`
	JSON               creditNoteDiscountJSON              `json:"-"`
}

func (*CreditNoteDiscount) UnmarshalJSON added in v0.121.0

func (r *CreditNoteDiscount) UnmarshalJSON(data []byte) (err error)

type CreditNoteDiscountsAppliesToPrice added in v0.121.0

type CreditNoteDiscountsAppliesToPrice struct {
	ID   string                                `json:"id,required"`
	Name string                                `json:"name,required"`
	JSON creditNoteDiscountsAppliesToPriceJSON `json:"-"`
}

func (*CreditNoteDiscountsAppliesToPrice) UnmarshalJSON added in v0.121.0

func (r *CreditNoteDiscountsAppliesToPrice) UnmarshalJSON(data []byte) (err error)

type CreditNoteDiscountsDiscountType added in v0.121.0

type CreditNoteDiscountsDiscountType string
const (
	CreditNoteDiscountsDiscountTypePercentage CreditNoteDiscountsDiscountType = "percentage"
)

func (CreditNoteDiscountsDiscountType) IsKnown added in v0.121.0

type CreditNoteLineItem added in v0.121.0

type CreditNoteLineItem struct {
	// The Orb id of this resource.
	ID string `json:"id,required"`
	// The amount of the line item, including any line item minimums and discounts.
	Amount string `json:"amount,required"`
	// The id of the item associated with this line item.
	ItemID string `json:"item_id,required"`
	// The name of the corresponding invoice line item.
	Name string `json:"name,required"`
	// An optional quantity credited.
	Quantity float64 `json:"quantity,required,nullable"`
	// The amount of the line item, excluding any line item minimums and discounts.
	Subtotal string `json:"subtotal,required"`
	// Any tax amounts applied onto the line item.
	TaxAmounts []TaxAmount `json:"tax_amounts,required"`
	// Any line item discounts from the invoice's line item.
	Discounts []CreditNoteLineItemsDiscount `json:"discounts"`
	JSON      creditNoteLineItemJSON        `json:"-"`
}

func (*CreditNoteLineItem) UnmarshalJSON added in v0.121.0

func (r *CreditNoteLineItem) UnmarshalJSON(data []byte) (err error)

type CreditNoteLineItemsDiscount added in v0.121.0

type CreditNoteLineItemsDiscount struct {
	ID                 string                                   `json:"id,required"`
	AmountApplied      string                                   `json:"amount_applied,required"`
	AppliesToPriceIDs  []string                                 `json:"applies_to_price_ids,required"`
	DiscountType       CreditNoteLineItemsDiscountsDiscountType `json:"discount_type,required"`
	PercentageDiscount float64                                  `json:"percentage_discount,required"`
	AmountDiscount     string                                   `json:"amount_discount,nullable"`
	Reason             string                                   `json:"reason,nullable"`
	JSON               creditNoteLineItemsDiscountJSON          `json:"-"`
}

func (*CreditNoteLineItemsDiscount) UnmarshalJSON added in v0.121.0

func (r *CreditNoteLineItemsDiscount) UnmarshalJSON(data []byte) (err error)

type CreditNoteLineItemsDiscountsDiscountType added in v0.121.0

type CreditNoteLineItemsDiscountsDiscountType string
const (
	CreditNoteLineItemsDiscountsDiscountTypePercentage CreditNoteLineItemsDiscountsDiscountType = "percentage"
	CreditNoteLineItemsDiscountsDiscountTypeAmount     CreditNoteLineItemsDiscountsDiscountType = "amount"
)

func (CreditNoteLineItemsDiscountsDiscountType) IsKnown added in v0.121.0

type CreditNoteMaximumAmountAdjustment added in v0.121.0

type CreditNoteMaximumAmountAdjustment struct {
	AmountApplied      string                                            `json:"amount_applied,required"`
	DiscountType       CreditNoteMaximumAmountAdjustmentDiscountType     `json:"discount_type,required"`
	PercentageDiscount float64                                           `json:"percentage_discount,required"`
	AppliesToPrices    []CreditNoteMaximumAmountAdjustmentAppliesToPrice `json:"applies_to_prices,nullable"`
	Reason             string                                            `json:"reason,nullable"`
	JSON               creditNoteMaximumAmountAdjustmentJSON             `json:"-"`
}

The maximum amount applied on the original invoice

func (*CreditNoteMaximumAmountAdjustment) UnmarshalJSON added in v0.121.0

func (r *CreditNoteMaximumAmountAdjustment) UnmarshalJSON(data []byte) (err error)

type CreditNoteMaximumAmountAdjustmentAppliesToPrice added in v0.121.0

type CreditNoteMaximumAmountAdjustmentAppliesToPrice struct {
	ID   string                                              `json:"id,required"`
	Name string                                              `json:"name,required"`
	JSON creditNoteMaximumAmountAdjustmentAppliesToPriceJSON `json:"-"`
}

func (*CreditNoteMaximumAmountAdjustmentAppliesToPrice) UnmarshalJSON added in v0.121.0

func (r *CreditNoteMaximumAmountAdjustmentAppliesToPrice) UnmarshalJSON(data []byte) (err error)

type CreditNoteMaximumAmountAdjustmentDiscountType added in v0.121.0

type CreditNoteMaximumAmountAdjustmentDiscountType string
const (
	CreditNoteMaximumAmountAdjustmentDiscountTypePercentage CreditNoteMaximumAmountAdjustmentDiscountType = "percentage"
)

func (CreditNoteMaximumAmountAdjustmentDiscountType) IsKnown added in v0.121.0

type CreditNoteReason added in v0.121.0

type CreditNoteReason string
const (
	CreditNoteReasonDuplicate             CreditNoteReason = "Duplicate"
	CreditNoteReasonFraudulent            CreditNoteReason = "Fraudulent"
	CreditNoteReasonOrderChange           CreditNoteReason = "Order change"
	CreditNoteReasonProductUnsatisfactory CreditNoteReason = "Product unsatisfactory"
)

func (CreditNoteReason) IsKnown added in v0.121.0

func (r CreditNoteReason) IsKnown() bool

type CreditNoteTiny added in v0.121.0

type CreditNoteTiny struct {
	// The id of the Credit note
	ID   string             `json:"id,required"`
	JSON creditNoteTinyJSON `json:"-"`
}

func (*CreditNoteTiny) UnmarshalJSON added in v0.121.0

func (r *CreditNoteTiny) UnmarshalJSON(data []byte) (err error)

type CreditNoteType added in v0.121.0

type CreditNoteType string
const (
	CreditNoteTypeRefund     CreditNoteType = "refund"
	CreditNoteTypeAdjustment CreditNoteType = "adjustment"
)

func (CreditNoteType) IsKnown added in v0.121.0

func (r CreditNoteType) IsKnown() bool

type CustomExpiration added in v0.121.0

type CustomExpiration struct {
	Duration     int64                        `json:"duration,required"`
	DurationUnit CustomExpirationDurationUnit `json:"duration_unit,required"`
	JSON         customExpirationJSON         `json:"-"`
}

func (*CustomExpiration) UnmarshalJSON added in v0.121.0

func (r *CustomExpiration) UnmarshalJSON(data []byte) (err error)

type CustomExpirationDurationUnit added in v0.121.0

type CustomExpirationDurationUnit string
const (
	CustomExpirationDurationUnitDay   CustomExpirationDurationUnit = "day"
	CustomExpirationDurationUnitMonth CustomExpirationDurationUnit = "month"
)

func (CustomExpirationDurationUnit) IsKnown added in v0.121.0

func (r CustomExpirationDurationUnit) IsKnown() bool

type CustomExpirationParam added in v0.121.0

type CustomExpirationParam struct {
	Duration     param.Field[int64]                        `json:"duration,required"`
	DurationUnit param.Field[CustomExpirationDurationUnit] `json:"duration_unit,required"`
}

func (CustomExpirationParam) MarshalJSON added in v0.121.0

func (r CustomExpirationParam) MarshalJSON() (data []byte, err error)

type CustomerMinified added in v0.121.0

type CustomerMinified struct {
	ID                 string               `json:"id,required"`
	ExternalCustomerID string               `json:"external_customer_id,required,nullable"`
	JSON               customerMinifiedJSON `json:"-"`
}

func (*CustomerMinified) UnmarshalJSON added in v0.121.0

func (r *CustomerMinified) UnmarshalJSON(data []byte) (err error)

type CustomerTaxID added in v0.121.0

type CustomerTaxID struct {
	Country CustomerTaxIDCountry `json:"country,required"`
	Type    CustomerTaxIDType    `json:"type,required"`
	Value   string               `json:"value,required"`
	JSON    customerTaxIDJSON    `json:"-"`
}

Tax IDs are commonly required to be displayed on customer invoices, which are added to the headers of invoices.

### Supported Tax ID Countries and Types

| Country | Type | Description | | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- | | Andorra | `ad_nrt` | Andorran NRT Number | | Argentina | `ar_cuit` | Argentinian Tax ID Number | | Australia | `au_abn` | Australian Business Number (AU ABN) | | Australia | `au_arn` | Australian Taxation Office Reference Number | | Austria | `eu_vat` | European VAT Number | | Bahrain | `bh_vat` | Bahraini VAT Number | | Belgium | `eu_vat` | European VAT Number | | Bolivia | `bo_tin` | Bolivian Tax ID | | Brazil | `br_cnpj` | Brazilian CNPJ Number | | Brazil | `br_cpf` | Brazilian CPF Number | | Bulgaria | `bg_uic` | Bulgaria Unified Identification Code | | Bulgaria | `eu_vat` | European VAT Number | | Canada | `ca_bn` | Canadian BN | | Canada | `ca_gst_hst` | Canadian GST/HST Number | | Canada | `ca_pst_bc` | Canadian PST Number (British Columbia) | | Canada | `ca_pst_mb` | Canadian PST Number (Manitoba) | | Canada | `ca_pst_sk` | Canadian PST Number (Saskatchewan) | | Canada | `ca_qst` | Canadian QST Number (Québec) | | Chile | `cl_tin` | Chilean TIN | | China | `cn_tin` | Chinese Tax ID | | Colombia | `co_nit` | Colombian NIT Number | | Costa Rica | `cr_tin` | Costa Rican Tax ID | | Croatia | `eu_vat` | European VAT Number | | Cyprus | `eu_vat` | European VAT Number | | Czech Republic | `eu_vat` | European VAT Number | | Denmark | `eu_vat` | European VAT Number | | Dominican Republic | `do_rcn` | Dominican RCN Number | | Ecuador | `ec_ruc` | Ecuadorian RUC Number | | Egypt | `eg_tin` | Egyptian Tax Identification Number | | El Salvador | `sv_nit` | El Salvadorian NIT Number | | Estonia | `eu_vat` | European VAT Number | | EU | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme | | Finland | `eu_vat` | European VAT Number | | France | `eu_vat` | European VAT Number | | Georgia | `ge_vat` | Georgian VAT | | Germany | `eu_vat` | European VAT Number | | Greece | `eu_vat` | European VAT Number | | Hong Kong | `hk_br` | Hong Kong BR Number | | Hungary | `eu_vat` | European VAT Number | | Hungary | `hu_tin` | Hungary Tax Number (adószám) | | Iceland | `is_vat` | Icelandic VAT | | India | `in_gst` | Indian GST Number | | Indonesia | `id_npwp` | Indonesian NPWP Number | | Ireland | `eu_vat` | European VAT Number | | Israel | `il_vat` | Israel VAT | | Italy | `eu_vat` | European VAT Number | | Japan | `jp_cn` | Japanese Corporate Number (_Hōjin Bangō_) | | Japan | `jp_rn` | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) | | Japan | `jp_trn` | Japanese Tax Registration Number (_Tōroku Bangō_) | | Kazakhstan | `kz_bin` | Kazakhstani Business Identification Number | | Kenya | `ke_pin` | Kenya Revenue Authority Personal Identification Number | | Latvia | `eu_vat` | European VAT Number | | Liechtenstein | `li_uid` | Liechtensteinian UID Number | | Lithuania | `eu_vat` | European VAT Number | | Luxembourg | `eu_vat` | European VAT Number | | Malaysia | `my_frp` | Malaysian FRP Number | | Malaysia | `my_itn` | Malaysian ITN | | Malaysia | `my_sst` | Malaysian SST Number | | Malta | `eu_vat ` | European VAT Number | | Mexico | `mx_rfc` | Mexican RFC Number | | Netherlands | `eu_vat` | European VAT Number | | New Zealand | `nz_gst` | New Zealand GST Number | | Nigeria | `ng_tin` | Nigerian Tax Identification Number | | Norway | `no_vat` | Norwegian VAT Number | | Norway | `no_voec` | Norwegian VAT on e-commerce Number | | Oman | `om_vat` | Omani VAT Number | | Peru | `pe_ruc` | Peruvian RUC Number | | Philippines | `ph_tin ` | Philippines Tax Identification Number | | Poland | `eu_vat` | European VAT Number | | Portugal | `eu_vat` | European VAT Number | | Romania | `eu_vat` | European VAT Number | | Romania | `ro_tin` | Romanian Tax ID Number | | Russia | `ru_inn` | Russian INN | | Russia | `ru_kpp` | Russian KPP | | Saudi Arabia | `sa_vat` | Saudi Arabia VAT | | Serbia | `rs_pib` | Serbian PIB Number | | Singapore | `sg_gst` | Singaporean GST | | Singapore | `sg_uen` | Singaporean UEN | | Slovakia | `eu_vat` | European VAT Number | | Slovenia | `eu_vat` | European VAT Number | | Slovenia | `si_tin` | Slovenia Tax Number (davčna številka) | | South Africa | `za_vat` | South African VAT Number | | South Korea | `kr_brn` | Korean BRN | | Spain | `es_cif` | Spanish NIF Number (previously Spanish CIF Number) | | Spain | `eu_vat` | European VAT Number | | Sweden | `eu_vat` | European VAT Number | | Switzerland | `ch_vat` | Switzerland VAT Number | | Taiwan | `tw_vat` | Taiwanese VAT | | Thailand | `th_vat` | Thai VAT | | Turkey | `tr_tin` | Turkish Tax Identification Number | | Ukraine | `ua_vat` | Ukrainian VAT | | United Arab Emirates | `ae_trn` | United Arab Emirates TRN | | United Kingdom | `eu_vat` | Northern Ireland VAT Number | | United Kingdom | `gb_vat` | United Kingdom VAT Number | | United States | `us_ein` | United States EIN | | Uruguay | `uy_ruc` | Uruguayan RUC Number | | Venezuela | `ve_rif` | Venezuelan RIF Number | | Vietnam | `vn_tin` | Vietnamese Tax ID Number |

func (*CustomerTaxID) UnmarshalJSON added in v0.121.0

func (r *CustomerTaxID) UnmarshalJSON(data []byte) (err error)

type CustomerTaxIDCountry added in v0.121.0

type CustomerTaxIDCountry string
const (
	CustomerTaxIDCountryAd CustomerTaxIDCountry = "AD"
	CustomerTaxIDCountryAe CustomerTaxIDCountry = "AE"
	CustomerTaxIDCountryAr CustomerTaxIDCountry = "AR"
	CustomerTaxIDCountryAt CustomerTaxIDCountry = "AT"
	CustomerTaxIDCountryAu CustomerTaxIDCountry = "AU"
	CustomerTaxIDCountryBe CustomerTaxIDCountry = "BE"
	CustomerTaxIDCountryBg CustomerTaxIDCountry = "BG"
	CustomerTaxIDCountryBh CustomerTaxIDCountry = "BH"
	CustomerTaxIDCountryBo CustomerTaxIDCountry = "BO"
	CustomerTaxIDCountryBr CustomerTaxIDCountry = "BR"
	CustomerTaxIDCountryCa CustomerTaxIDCountry = "CA"
	CustomerTaxIDCountryCh CustomerTaxIDCountry = "CH"
	CustomerTaxIDCountryCl CustomerTaxIDCountry = "CL"
	CustomerTaxIDCountryCn CustomerTaxIDCountry = "CN"
	CustomerTaxIDCountryCo CustomerTaxIDCountry = "CO"
	CustomerTaxIDCountryCr CustomerTaxIDCountry = "CR"
	CustomerTaxIDCountryCy CustomerTaxIDCountry = "CY"
	CustomerTaxIDCountryCz CustomerTaxIDCountry = "CZ"
	CustomerTaxIDCountryDe CustomerTaxIDCountry = "DE"
	CustomerTaxIDCountryDk CustomerTaxIDCountry = "DK"
	CustomerTaxIDCountryEe CustomerTaxIDCountry = "EE"
	CustomerTaxIDCountryDo CustomerTaxIDCountry = "DO"
	CustomerTaxIDCountryEc CustomerTaxIDCountry = "EC"
	CustomerTaxIDCountryEg CustomerTaxIDCountry = "EG"
	CustomerTaxIDCountryEs CustomerTaxIDCountry = "ES"
	CustomerTaxIDCountryEu CustomerTaxIDCountry = "EU"
	CustomerTaxIDCountryFi CustomerTaxIDCountry = "FI"
	CustomerTaxIDCountryFr CustomerTaxIDCountry = "FR"
	CustomerTaxIDCountryGB CustomerTaxIDCountry = "GB"
	CustomerTaxIDCountryGe CustomerTaxIDCountry = "GE"
	CustomerTaxIDCountryGr CustomerTaxIDCountry = "GR"
	CustomerTaxIDCountryHk CustomerTaxIDCountry = "HK"
	CustomerTaxIDCountryHr CustomerTaxIDCountry = "HR"
	CustomerTaxIDCountryHu CustomerTaxIDCountry = "HU"
	CustomerTaxIDCountryID CustomerTaxIDCountry = "ID"
	CustomerTaxIDCountryIe CustomerTaxIDCountry = "IE"
	CustomerTaxIDCountryIl CustomerTaxIDCountry = "IL"
	CustomerTaxIDCountryIn CustomerTaxIDCountry = "IN"
	CustomerTaxIDCountryIs CustomerTaxIDCountry = "IS"
	CustomerTaxIDCountryIt CustomerTaxIDCountry = "IT"
	CustomerTaxIDCountryJp CustomerTaxIDCountry = "JP"
	CustomerTaxIDCountryKe CustomerTaxIDCountry = "KE"
	CustomerTaxIDCountryKr CustomerTaxIDCountry = "KR"
	CustomerTaxIDCountryKz CustomerTaxIDCountry = "KZ"
	CustomerTaxIDCountryLi CustomerTaxIDCountry = "LI"
	CustomerTaxIDCountryLt CustomerTaxIDCountry = "LT"
	CustomerTaxIDCountryLu CustomerTaxIDCountry = "LU"
	CustomerTaxIDCountryLv CustomerTaxIDCountry = "LV"
	CustomerTaxIDCountryMt CustomerTaxIDCountry = "MT"
	CustomerTaxIDCountryMx CustomerTaxIDCountry = "MX"
	CustomerTaxIDCountryMy CustomerTaxIDCountry = "MY"
	CustomerTaxIDCountryNg CustomerTaxIDCountry = "NG"
	CustomerTaxIDCountryNl CustomerTaxIDCountry = "NL"
	CustomerTaxIDCountryNo CustomerTaxIDCountry = "NO"
	CustomerTaxIDCountryNz CustomerTaxIDCountry = "NZ"
	CustomerTaxIDCountryOm CustomerTaxIDCountry = "OM"
	CustomerTaxIDCountryPe CustomerTaxIDCountry = "PE"
	CustomerTaxIDCountryPh CustomerTaxIDCountry = "PH"
	CustomerTaxIDCountryPl CustomerTaxIDCountry = "PL"
	CustomerTaxIDCountryPt CustomerTaxIDCountry = "PT"
	CustomerTaxIDCountryRo CustomerTaxIDCountry = "RO"
	CustomerTaxIDCountryRs CustomerTaxIDCountry = "RS"
	CustomerTaxIDCountryRu CustomerTaxIDCountry = "RU"
	CustomerTaxIDCountrySa CustomerTaxIDCountry = "SA"
	CustomerTaxIDCountrySe CustomerTaxIDCountry = "SE"
	CustomerTaxIDCountrySg CustomerTaxIDCountry = "SG"
	CustomerTaxIDCountrySi CustomerTaxIDCountry = "SI"
	CustomerTaxIDCountrySk CustomerTaxIDCountry = "SK"
	CustomerTaxIDCountrySv CustomerTaxIDCountry = "SV"
	CustomerTaxIDCountryTh CustomerTaxIDCountry = "TH"
	CustomerTaxIDCountryTr CustomerTaxIDCountry = "TR"
	CustomerTaxIDCountryTw CustomerTaxIDCountry = "TW"
	CustomerTaxIDCountryUa CustomerTaxIDCountry = "UA"
	CustomerTaxIDCountryUs CustomerTaxIDCountry = "US"
	CustomerTaxIDCountryUy CustomerTaxIDCountry = "UY"
	CustomerTaxIDCountryVe CustomerTaxIDCountry = "VE"
	CustomerTaxIDCountryVn CustomerTaxIDCountry = "VN"
	CustomerTaxIDCountryZa CustomerTaxIDCountry = "ZA"
)

func (CustomerTaxIDCountry) IsKnown added in v0.121.0

func (r CustomerTaxIDCountry) IsKnown() bool

type CustomerTaxIDParam added in v0.121.0

type CustomerTaxIDParam struct {
	Country param.Field[CustomerTaxIDCountry] `json:"country,required"`
	Type    param.Field[CustomerTaxIDType]    `json:"type,required"`
	Value   param.Field[string]               `json:"value,required"`
}

Tax IDs are commonly required to be displayed on customer invoices, which are added to the headers of invoices.

### Supported Tax ID Countries and Types

| Country | Type | Description | | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- | | Andorra | `ad_nrt` | Andorran NRT Number | | Argentina | `ar_cuit` | Argentinian Tax ID Number | | Australia | `au_abn` | Australian Business Number (AU ABN) | | Australia | `au_arn` | Australian Taxation Office Reference Number | | Austria | `eu_vat` | European VAT Number | | Bahrain | `bh_vat` | Bahraini VAT Number | | Belgium | `eu_vat` | European VAT Number | | Bolivia | `bo_tin` | Bolivian Tax ID | | Brazil | `br_cnpj` | Brazilian CNPJ Number | | Brazil | `br_cpf` | Brazilian CPF Number | | Bulgaria | `bg_uic` | Bulgaria Unified Identification Code | | Bulgaria | `eu_vat` | European VAT Number | | Canada | `ca_bn` | Canadian BN | | Canada | `ca_gst_hst` | Canadian GST/HST Number | | Canada | `ca_pst_bc` | Canadian PST Number (British Columbia) | | Canada | `ca_pst_mb` | Canadian PST Number (Manitoba) | | Canada | `ca_pst_sk` | Canadian PST Number (Saskatchewan) | | Canada | `ca_qst` | Canadian QST Number (Québec) | | Chile | `cl_tin` | Chilean TIN | | China | `cn_tin` | Chinese Tax ID | | Colombia | `co_nit` | Colombian NIT Number | | Costa Rica | `cr_tin` | Costa Rican Tax ID | | Croatia | `eu_vat` | European VAT Number | | Cyprus | `eu_vat` | European VAT Number | | Czech Republic | `eu_vat` | European VAT Number | | Denmark | `eu_vat` | European VAT Number | | Dominican Republic | `do_rcn` | Dominican RCN Number | | Ecuador | `ec_ruc` | Ecuadorian RUC Number | | Egypt | `eg_tin` | Egyptian Tax Identification Number | | El Salvador | `sv_nit` | El Salvadorian NIT Number | | Estonia | `eu_vat` | European VAT Number | | EU | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme | | Finland | `eu_vat` | European VAT Number | | France | `eu_vat` | European VAT Number | | Georgia | `ge_vat` | Georgian VAT | | Germany | `eu_vat` | European VAT Number | | Greece | `eu_vat` | European VAT Number | | Hong Kong | `hk_br` | Hong Kong BR Number | | Hungary | `eu_vat` | European VAT Number | | Hungary | `hu_tin` | Hungary Tax Number (adószám) | | Iceland | `is_vat` | Icelandic VAT | | India | `in_gst` | Indian GST Number | | Indonesia | `id_npwp` | Indonesian NPWP Number | | Ireland | `eu_vat` | European VAT Number | | Israel | `il_vat` | Israel VAT | | Italy | `eu_vat` | European VAT Number | | Japan | `jp_cn` | Japanese Corporate Number (_Hōjin Bangō_) | | Japan | `jp_rn` | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) | | Japan | `jp_trn` | Japanese Tax Registration Number (_Tōroku Bangō_) | | Kazakhstan | `kz_bin` | Kazakhstani Business Identification Number | | Kenya | `ke_pin` | Kenya Revenue Authority Personal Identification Number | | Latvia | `eu_vat` | European VAT Number | | Liechtenstein | `li_uid` | Liechtensteinian UID Number | | Lithuania | `eu_vat` | European VAT Number | | Luxembourg | `eu_vat` | European VAT Number | | Malaysia | `my_frp` | Malaysian FRP Number | | Malaysia | `my_itn` | Malaysian ITN | | Malaysia | `my_sst` | Malaysian SST Number | | Malta | `eu_vat ` | European VAT Number | | Mexico | `mx_rfc` | Mexican RFC Number | | Netherlands | `eu_vat` | European VAT Number | | New Zealand | `nz_gst` | New Zealand GST Number | | Nigeria | `ng_tin` | Nigerian Tax Identification Number | | Norway | `no_vat` | Norwegian VAT Number | | Norway | `no_voec` | Norwegian VAT on e-commerce Number | | Oman | `om_vat` | Omani VAT Number | | Peru | `pe_ruc` | Peruvian RUC Number | | Philippines | `ph_tin ` | Philippines Tax Identification Number | | Poland | `eu_vat` | European VAT Number | | Portugal | `eu_vat` | European VAT Number | | Romania | `eu_vat` | European VAT Number | | Romania | `ro_tin` | Romanian Tax ID Number | | Russia | `ru_inn` | Russian INN | | Russia | `ru_kpp` | Russian KPP | | Saudi Arabia | `sa_vat` | Saudi Arabia VAT | | Serbia | `rs_pib` | Serbian PIB Number | | Singapore | `sg_gst` | Singaporean GST | | Singapore | `sg_uen` | Singaporean UEN | | Slovakia | `eu_vat` | European VAT Number | | Slovenia | `eu_vat` | European VAT Number | | Slovenia | `si_tin` | Slovenia Tax Number (davčna številka) | | South Africa | `za_vat` | South African VAT Number | | South Korea | `kr_brn` | Korean BRN | | Spain | `es_cif` | Spanish NIF Number (previously Spanish CIF Number) | | Spain | `eu_vat` | European VAT Number | | Sweden | `eu_vat` | European VAT Number | | Switzerland | `ch_vat` | Switzerland VAT Number | | Taiwan | `tw_vat` | Taiwanese VAT | | Thailand | `th_vat` | Thai VAT | | Turkey | `tr_tin` | Turkish Tax Identification Number | | Ukraine | `ua_vat` | Ukrainian VAT | | United Arab Emirates | `ae_trn` | United Arab Emirates TRN | | United Kingdom | `eu_vat` | Northern Ireland VAT Number | | United Kingdom | `gb_vat` | United Kingdom VAT Number | | United States | `us_ein` | United States EIN | | Uruguay | `uy_ruc` | Uruguayan RUC Number | | Venezuela | `ve_rif` | Venezuelan RIF Number | | Vietnam | `vn_tin` | Vietnamese Tax ID Number |

func (CustomerTaxIDParam) MarshalJSON added in v0.121.0

func (r CustomerTaxIDParam) MarshalJSON() (data []byte, err error)

type CustomerTaxIDType added in v0.121.0

type CustomerTaxIDType string
const (
	CustomerTaxIDTypeAdNrt    CustomerTaxIDType = "ad_nrt"
	CustomerTaxIDTypeAeTrn    CustomerTaxIDType = "ae_trn"
	CustomerTaxIDTypeArCuit   CustomerTaxIDType = "ar_cuit"
	CustomerTaxIDTypeEuVat    CustomerTaxIDType = "eu_vat"
	CustomerTaxIDTypeAuAbn    CustomerTaxIDType = "au_abn"
	CustomerTaxIDTypeAuArn    CustomerTaxIDType = "au_arn"
	CustomerTaxIDTypeBgUic    CustomerTaxIDType = "bg_uic"
	CustomerTaxIDTypeBhVat    CustomerTaxIDType = "bh_vat"
	CustomerTaxIDTypeBoTin    CustomerTaxIDType = "bo_tin"
	CustomerTaxIDTypeBrCnpj   CustomerTaxIDType = "br_cnpj"
	CustomerTaxIDTypeBrCpf    CustomerTaxIDType = "br_cpf"
	CustomerTaxIDTypeCaBn     CustomerTaxIDType = "ca_bn"
	CustomerTaxIDTypeCaGstHst CustomerTaxIDType = "ca_gst_hst"
	CustomerTaxIDTypeCaPstBc  CustomerTaxIDType = "ca_pst_bc"
	CustomerTaxIDTypeCaPstMB  CustomerTaxIDType = "ca_pst_mb"
	CustomerTaxIDTypeCaPstSk  CustomerTaxIDType = "ca_pst_sk"
	CustomerTaxIDTypeCaQst    CustomerTaxIDType = "ca_qst"
	CustomerTaxIDTypeChVat    CustomerTaxIDType = "ch_vat"
	CustomerTaxIDTypeClTin    CustomerTaxIDType = "cl_tin"
	CustomerTaxIDTypeCnTin    CustomerTaxIDType = "cn_tin"
	CustomerTaxIDTypeCoNit    CustomerTaxIDType = "co_nit"
	CustomerTaxIDTypeCrTin    CustomerTaxIDType = "cr_tin"
	CustomerTaxIDTypeDoRcn    CustomerTaxIDType = "do_rcn"
	CustomerTaxIDTypeEcRuc    CustomerTaxIDType = "ec_ruc"
	CustomerTaxIDTypeEgTin    CustomerTaxIDType = "eg_tin"
	CustomerTaxIDTypeEsCif    CustomerTaxIDType = "es_cif"
	CustomerTaxIDTypeEuOssVat CustomerTaxIDType = "eu_oss_vat"
	CustomerTaxIDTypeGBVat    CustomerTaxIDType = "gb_vat"
	CustomerTaxIDTypeGeVat    CustomerTaxIDType = "ge_vat"
	CustomerTaxIDTypeHkBr     CustomerTaxIDType = "hk_br"
	CustomerTaxIDTypeHuTin    CustomerTaxIDType = "hu_tin"
	CustomerTaxIDTypeIDNpwp   CustomerTaxIDType = "id_npwp"
	CustomerTaxIDTypeIlVat    CustomerTaxIDType = "il_vat"
	CustomerTaxIDTypeInGst    CustomerTaxIDType = "in_gst"
	CustomerTaxIDTypeIsVat    CustomerTaxIDType = "is_vat"
	CustomerTaxIDTypeJpCn     CustomerTaxIDType = "jp_cn"
	CustomerTaxIDTypeJpRn     CustomerTaxIDType = "jp_rn"
	CustomerTaxIDTypeJpTrn    CustomerTaxIDType = "jp_trn"
	CustomerTaxIDTypeKePin    CustomerTaxIDType = "ke_pin"
	CustomerTaxIDTypeKrBrn    CustomerTaxIDType = "kr_brn"
	CustomerTaxIDTypeKzBin    CustomerTaxIDType = "kz_bin"
	CustomerTaxIDTypeLiUid    CustomerTaxIDType = "li_uid"
	CustomerTaxIDTypeMxRfc    CustomerTaxIDType = "mx_rfc"
	CustomerTaxIDTypeMyFrp    CustomerTaxIDType = "my_frp"
	CustomerTaxIDTypeMyItn    CustomerTaxIDType = "my_itn"
	CustomerTaxIDTypeMySst    CustomerTaxIDType = "my_sst"
	CustomerTaxIDTypeNgTin    CustomerTaxIDType = "ng_tin"
	CustomerTaxIDTypeNoVat    CustomerTaxIDType = "no_vat"
	CustomerTaxIDTypeNoVoec   CustomerTaxIDType = "no_voec"
	CustomerTaxIDTypeNzGst    CustomerTaxIDType = "nz_gst"
	CustomerTaxIDTypeOmVat    CustomerTaxIDType = "om_vat"
	CustomerTaxIDTypePeRuc    CustomerTaxIDType = "pe_ruc"
	CustomerTaxIDTypePhTin    CustomerTaxIDType = "ph_tin"
	CustomerTaxIDTypeRoTin    CustomerTaxIDType = "ro_tin"
	CustomerTaxIDTypeRsPib    CustomerTaxIDType = "rs_pib"
	CustomerTaxIDTypeRuInn    CustomerTaxIDType = "ru_inn"
	CustomerTaxIDTypeRuKpp    CustomerTaxIDType = "ru_kpp"
	CustomerTaxIDTypeSaVat    CustomerTaxIDType = "sa_vat"
	CustomerTaxIDTypeSgGst    CustomerTaxIDType = "sg_gst"
	CustomerTaxIDTypeSgUen    CustomerTaxIDType = "sg_uen"
	CustomerTaxIDTypeSiTin    CustomerTaxIDType = "si_tin"
	CustomerTaxIDTypeSvNit    CustomerTaxIDType = "sv_nit"
	CustomerTaxIDTypeThVat    CustomerTaxIDType = "th_vat"
	CustomerTaxIDTypeTrTin    CustomerTaxIDType = "tr_tin"
	CustomerTaxIDTypeTwVat    CustomerTaxIDType = "tw_vat"
	CustomerTaxIDTypeUaVat    CustomerTaxIDType = "ua_vat"
	CustomerTaxIDTypeUsEin    CustomerTaxIDType = "us_ein"
	CustomerTaxIDTypeUyRuc    CustomerTaxIDType = "uy_ruc"
	CustomerTaxIDTypeVeRif    CustomerTaxIDType = "ve_rif"
	CustomerTaxIDTypeVnTin    CustomerTaxIDType = "vn_tin"
	CustomerTaxIDTypeZaVat    CustomerTaxIDType = "za_vat"
)

func (CustomerTaxIDType) IsKnown added in v0.121.0

func (r CustomerTaxIDType) IsKnown() bool

type DimensionalPriceConfiguration added in v0.121.0

type DimensionalPriceConfiguration struct {
	DimensionValues         []string                          `json:"dimension_values,required"`
	DimensionalPriceGroupID string                            `json:"dimensional_price_group_id,required"`
	JSON                    dimensionalPriceConfigurationJSON `json:"-"`
}

func (*DimensionalPriceConfiguration) UnmarshalJSON added in v0.121.0

func (r *DimensionalPriceConfiguration) UnmarshalJSON(data []byte) (err error)

type Discount

type Discount struct {
	DiscountType DiscountDiscountType `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount string `json:"amount_discount"`
	// This field can have the runtime type of [[]string].
	AppliesToPriceIDs interface{} `json:"applies_to_price_ids"`
	// This field can have the runtime type of [[]TransformPriceFilter].
	Filters interface{} `json:"filters"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount float64 `json:"percentage_discount"`
	Reason             string  `json:"reason,nullable"`
	// Only available if discount_type is `trial`
	TrialAmountDiscount string `json:"trial_amount_discount,nullable"`
	// Only available if discount_type is `trial`
	TrialPercentageDiscount float64 `json:"trial_percentage_discount,nullable"`
	// Only available if discount_type is `usage`. Number of usage units that this
	// discount is for
	UsageDiscount float64      `json:"usage_discount"`
	JSON          discountJSON `json:"-"`
	// contains filtered or unexported fields
}

func (Discount) AsUnion

func (r Discount) AsUnion() DiscountUnion

AsUnion returns a DiscountUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are PercentageDiscount, TrialDiscount, UsageDiscount, AmountDiscount.

func (*Discount) UnmarshalJSON

func (r *Discount) UnmarshalJSON(data []byte) (err error)

type DiscountDiscountType

type DiscountDiscountType string
const (
	DiscountDiscountTypePercentage DiscountDiscountType = "percentage"
	DiscountDiscountTypeTrial      DiscountDiscountType = "trial"
	DiscountDiscountTypeUsage      DiscountDiscountType = "usage"
	DiscountDiscountTypeAmount     DiscountDiscountType = "amount"
)

func (DiscountDiscountType) IsKnown

func (r DiscountDiscountType) IsKnown() bool

type DiscountParam added in v0.35.0

type DiscountParam struct {
	DiscountType param.Field[DiscountDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount    param.Field[string]      `json:"amount_discount"`
	AppliesToPriceIDs param.Field[interface{}] `json:"applies_to_price_ids"`
	Filters           param.Field[interface{}] `json:"filters"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount param.Field[float64] `json:"percentage_discount"`
	Reason             param.Field[string]  `json:"reason"`
	// Only available if discount_type is `trial`
	TrialAmountDiscount param.Field[string] `json:"trial_amount_discount"`
	// Only available if discount_type is `trial`
	TrialPercentageDiscount param.Field[float64] `json:"trial_percentage_discount"`
	// Only available if discount_type is `usage`. Number of usage units that this
	// discount is for
	UsageDiscount param.Field[float64] `json:"usage_discount"`
}

func (DiscountParam) ImplementsDiscountUnionParam added in v0.89.1

func (r DiscountParam) ImplementsDiscountUnionParam()

func (DiscountParam) MarshalJSON added in v0.35.0

func (r DiscountParam) MarshalJSON() (data []byte, err error)

type DiscountUnion

type DiscountUnion interface {
	ImplementsDiscount()
}

Union satisfied by PercentageDiscount, TrialDiscount, UsageDiscount or AmountDiscount.

type DiscountUnionParam added in v0.35.0

type DiscountUnionParam interface {
	ImplementsDiscountUnionParam()
}

Satisfied by shared.PercentageDiscountParam, shared.TrialDiscountParam, shared.UsageDiscountParam, shared.AmountDiscountParam, DiscountParam.

type FixedFeeQuantityScheduleEntry added in v0.121.0

type FixedFeeQuantityScheduleEntry struct {
	EndDate   time.Time                         `json:"end_date,required,nullable" format:"date-time"`
	PriceID   string                            `json:"price_id,required"`
	Quantity  float64                           `json:"quantity,required"`
	StartDate time.Time                         `json:"start_date,required" format:"date-time"`
	JSON      fixedFeeQuantityScheduleEntryJSON `json:"-"`
}

func (*FixedFeeQuantityScheduleEntry) UnmarshalJSON added in v0.121.0

func (r *FixedFeeQuantityScheduleEntry) UnmarshalJSON(data []byte) (err error)

type FixedFeeQuantityTransition added in v0.121.0

type FixedFeeQuantityTransition struct {
	EffectiveDate time.Time                      `json:"effective_date,required" format:"date-time"`
	PriceID       string                         `json:"price_id,required"`
	Quantity      int64                          `json:"quantity,required"`
	JSON          fixedFeeQuantityTransitionJSON `json:"-"`
}

func (*FixedFeeQuantityTransition) UnmarshalJSON added in v0.121.0

func (r *FixedFeeQuantityTransition) UnmarshalJSON(data []byte) (err error)

type Invoice added in v0.121.0

type Invoice struct {
	ID string `json:"id,required"`
	// This is the final amount required to be charged to the customer and reflects the
	// application of the customer balance to the `total` of the invoice.
	AmountDue      string                `json:"amount_due,required"`
	AutoCollection InvoiceAutoCollection `json:"auto_collection,required"`
	BillingAddress Address               `json:"billing_address,required,nullable"`
	// The creation time of the resource in Orb.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// A list of credit notes associated with the invoice
	CreditNotes []InvoiceCreditNote `json:"credit_notes,required"`
	// An ISO 4217 currency string or `credits`
	Currency                    string                              `json:"currency,required"`
	Customer                    CustomerMinified                    `json:"customer,required"`
	CustomerBalanceTransactions []InvoiceCustomerBalanceTransaction `json:"customer_balance_transactions,required"`
	// Tax IDs are commonly required to be displayed on customer invoices, which are
	// added to the headers of invoices.
	//
	// ### Supported Tax ID Countries and Types
	//
	// | Country              | Type         | Description                                                                                             |
	// | -------------------- | ------------ | ------------------------------------------------------------------------------------------------------- |
	// | Andorra              | `ad_nrt`     | Andorran NRT Number                                                                                     |
	// | Argentina            | `ar_cuit`    | Argentinian Tax ID Number                                                                               |
	// | Australia            | `au_abn`     | Australian Business Number (AU ABN)                                                                     |
	// | Australia            | `au_arn`     | Australian Taxation Office Reference Number                                                             |
	// | Austria              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bahrain              | `bh_vat`     | Bahraini VAT Number                                                                                     |
	// | Belgium              | `eu_vat`     | European VAT Number                                                                                     |
	// | Bolivia              | `bo_tin`     | Bolivian Tax ID                                                                                         |
	// | Brazil               | `br_cnpj`    | Brazilian CNPJ Number                                                                                   |
	// | Brazil               | `br_cpf`     | Brazilian CPF Number                                                                                    |
	// | Bulgaria             | `bg_uic`     | Bulgaria Unified Identification Code                                                                    |
	// | Bulgaria             | `eu_vat`     | European VAT Number                                                                                     |
	// | Canada               | `ca_bn`      | Canadian BN                                                                                             |
	// | Canada               | `ca_gst_hst` | Canadian GST/HST Number                                                                                 |
	// | Canada               | `ca_pst_bc`  | Canadian PST Number (British Columbia)                                                                  |
	// | Canada               | `ca_pst_mb`  | Canadian PST Number (Manitoba)                                                                          |
	// | Canada               | `ca_pst_sk`  | Canadian PST Number (Saskatchewan)                                                                      |
	// | Canada               | `ca_qst`     | Canadian QST Number (Québec)                                                                            |
	// | Chile                | `cl_tin`     | Chilean TIN                                                                                             |
	// | China                | `cn_tin`     | Chinese Tax ID                                                                                          |
	// | Colombia             | `co_nit`     | Colombian NIT Number                                                                                    |
	// | Costa Rica           | `cr_tin`     | Costa Rican Tax ID                                                                                      |
	// | Croatia              | `eu_vat`     | European VAT Number                                                                                     |
	// | Cyprus               | `eu_vat`     | European VAT Number                                                                                     |
	// | Czech Republic       | `eu_vat`     | European VAT Number                                                                                     |
	// | Denmark              | `eu_vat`     | European VAT Number                                                                                     |
	// | Dominican Republic   | `do_rcn`     | Dominican RCN Number                                                                                    |
	// | Ecuador              | `ec_ruc`     | Ecuadorian RUC Number                                                                                   |
	// | Egypt                | `eg_tin`     | Egyptian Tax Identification Number                                                                      |
	// | El Salvador          | `sv_nit`     | El Salvadorian NIT Number                                                                               |
	// | Estonia              | `eu_vat`     | European VAT Number                                                                                     |
	// | EU                   | `eu_oss_vat` | European One Stop Shop VAT Number for non-Union scheme                                                  |
	// | Finland              | `eu_vat`     | European VAT Number                                                                                     |
	// | France               | `eu_vat`     | European VAT Number                                                                                     |
	// | Georgia              | `ge_vat`     | Georgian VAT                                                                                            |
	// | Germany              | `eu_vat`     | European VAT Number                                                                                     |
	// | Greece               | `eu_vat`     | European VAT Number                                                                                     |
	// | Hong Kong            | `hk_br`      | Hong Kong BR Number                                                                                     |
	// | Hungary              | `eu_vat`     | European VAT Number                                                                                     |
	// | Hungary              | `hu_tin`     | Hungary Tax Number (adószám)                                                                            |
	// | Iceland              | `is_vat`     | Icelandic VAT                                                                                           |
	// | India                | `in_gst`     | Indian GST Number                                                                                       |
	// | Indonesia            | `id_npwp`    | Indonesian NPWP Number                                                                                  |
	// | Ireland              | `eu_vat`     | European VAT Number                                                                                     |
	// | Israel               | `il_vat`     | Israel VAT                                                                                              |
	// | Italy                | `eu_vat`     | European VAT Number                                                                                     |
	// | Japan                | `jp_cn`      | Japanese Corporate Number (_Hōjin Bangō_)                                                               |
	// | Japan                | `jp_rn`      | Japanese Registered Foreign Businesses' Registration Number (_Tōroku Kokugai Jigyōsha no Tōroku Bangō_) |
	// | Japan                | `jp_trn`     | Japanese Tax Registration Number (_Tōroku Bangō_)                                                       |
	// | Kazakhstan           | `kz_bin`     | Kazakhstani Business Identification Number                                                              |
	// | Kenya                | `ke_pin`     | Kenya Revenue Authority Personal Identification Number                                                  |
	// | Latvia               | `eu_vat`     | European VAT Number                                                                                     |
	// | Liechtenstein        | `li_uid`     | Liechtensteinian UID Number                                                                             |
	// | Lithuania            | `eu_vat`     | European VAT Number                                                                                     |
	// | Luxembourg           | `eu_vat`     | European VAT Number                                                                                     |
	// | Malaysia             | `my_frp`     | Malaysian FRP Number                                                                                    |
	// | Malaysia             | `my_itn`     | Malaysian ITN                                                                                           |
	// | Malaysia             | `my_sst`     | Malaysian SST Number                                                                                    |
	// | Malta                | `eu_vat `    | European VAT Number                                                                                     |
	// | Mexico               | `mx_rfc`     | Mexican RFC Number                                                                                      |
	// | Netherlands          | `eu_vat`     | European VAT Number                                                                                     |
	// | New Zealand          | `nz_gst`     | New Zealand GST Number                                                                                  |
	// | Nigeria              | `ng_tin`     | Nigerian Tax Identification Number                                                                      |
	// | Norway               | `no_vat`     | Norwegian VAT Number                                                                                    |
	// | Norway               | `no_voec`    | Norwegian VAT on e-commerce Number                                                                      |
	// | Oman                 | `om_vat`     | Omani VAT Number                                                                                        |
	// | Peru                 | `pe_ruc`     | Peruvian RUC Number                                                                                     |
	// | Philippines          | `ph_tin `    | Philippines Tax Identification Number                                                                   |
	// | Poland               | `eu_vat`     | European VAT Number                                                                                     |
	// | Portugal             | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `eu_vat`     | European VAT Number                                                                                     |
	// | Romania              | `ro_tin`     | Romanian Tax ID Number                                                                                  |
	// | Russia               | `ru_inn`     | Russian INN                                                                                             |
	// | Russia               | `ru_kpp`     | Russian KPP                                                                                             |
	// | Saudi Arabia         | `sa_vat`     | Saudi Arabia VAT                                                                                        |
	// | Serbia               | `rs_pib`     | Serbian PIB Number                                                                                      |
	// | Singapore            | `sg_gst`     | Singaporean GST                                                                                         |
	// | Singapore            | `sg_uen`     | Singaporean UEN                                                                                         |
	// | Slovakia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `eu_vat`     | European VAT Number                                                                                     |
	// | Slovenia             | `si_tin`     | Slovenia Tax Number (davčna številka)                                                                   |
	// | South Africa         | `za_vat`     | South African VAT Number                                                                                |
	// | South Korea          | `kr_brn`     | Korean BRN                                                                                              |
	// | Spain                | `es_cif`     | Spanish NIF Number (previously Spanish CIF Number)                                                      |
	// | Spain                | `eu_vat`     | European VAT Number                                                                                     |
	// | Sweden               | `eu_vat`     | European VAT Number                                                                                     |
	// | Switzerland          | `ch_vat`     | Switzerland VAT Number                                                                                  |
	// | Taiwan               | `tw_vat`     | Taiwanese VAT                                                                                           |
	// | Thailand             | `th_vat`     | Thai VAT                                                                                                |
	// | Turkey               | `tr_tin`     | Turkish Tax Identification Number                                                                       |
	// | Ukraine              | `ua_vat`     | Ukrainian VAT                                                                                           |
	// | United Arab Emirates | `ae_trn`     | United Arab Emirates TRN                                                                                |
	// | United Kingdom       | `eu_vat`     | Northern Ireland VAT Number                                                                             |
	// | United Kingdom       | `gb_vat`     | United Kingdom VAT Number                                                                               |
	// | United States        | `us_ein`     | United States EIN                                                                                       |
	// | Uruguay              | `uy_ruc`     | Uruguayan RUC Number                                                                                    |
	// | Venezuela            | `ve_rif`     | Venezuelan RIF Number                                                                                   |
	// | Vietnam              | `vn_tin`     | Vietnamese Tax ID Number                                                                                |
	CustomerTaxID CustomerTaxID `json:"customer_tax_id,required,nullable"`
	// This field is deprecated in favor of `discounts`. If a `discounts` list is
	// provided, the first discount in the list will be returned. If the list is empty,
	// `None` will be returned.
	//
	// Deprecated: deprecated
	Discount  interface{}            `json:"discount,required"`
	Discounts []InvoiceLevelDiscount `json:"discounts,required"`
	// When the invoice payment is due. The due date is null if the invoice is not yet
	// finalized.
	DueDate time.Time `json:"due_date,required,nullable" format:"date-time"`
	// If the invoice has a status of `draft`, this will be the time that the invoice
	// will be eligible to be issued, otherwise it will be `null`. If `auto-issue` is
	// true, the invoice will automatically begin issuing at this time.
	EligibleToIssueAt time.Time `json:"eligible_to_issue_at,required,nullable" format:"date-time"`
	// A URL for the customer-facing invoice portal. This URL expires 30 days after the
	// invoice's due date, or 60 days after being re-generated through the UI.
	HostedInvoiceURL string `json:"hosted_invoice_url,required,nullable"`
	// The scheduled date of the invoice
	InvoiceDate time.Time `json:"invoice_date,required" format:"date-time"`
	// Automatically generated invoice number to help track and reconcile invoices.
	// Invoice numbers have a prefix such as `RFOBWG`. These can be sequential per
	// account or customer.
	InvoiceNumber string `json:"invoice_number,required"`
	// The link to download the PDF representation of the `Invoice`.
	InvoicePdf    string               `json:"invoice_pdf,required,nullable"`
	InvoiceSource InvoiceInvoiceSource `json:"invoice_source,required"`
	// If the invoice failed to issue, this will be the last time it failed to issue
	// (even if it is now in a different state.)
	IssueFailedAt time.Time `json:"issue_failed_at,required,nullable" format:"date-time"`
	// If the invoice has been issued, this will be the time it transitioned to
	// `issued` (even if it is now in a different state.)
	IssuedAt time.Time `json:"issued_at,required,nullable" format:"date-time"`
	// The breakdown of prices in this invoice.
	LineItems     []InvoiceLineItem `json:"line_items,required"`
	Maximum       Maximum           `json:"maximum,required,nullable"`
	MaximumAmount string            `json:"maximum_amount,required,nullable"`
	// Free-form text which is available on the invoice PDF and the Orb invoice portal.
	Memo string `json:"memo,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata      map[string]string `json:"metadata,required"`
	Minimum       Minimum           `json:"minimum,required,nullable"`
	MinimumAmount string            `json:"minimum_amount,required,nullable"`
	// If the invoice has a status of `paid`, this gives a timestamp when the invoice
	// was paid.
	PaidAt time.Time `json:"paid_at,required,nullable" format:"date-time"`
	// A list of payment attempts associated with the invoice
	PaymentAttempts []InvoicePaymentAttempt `json:"payment_attempts,required"`
	// If payment was attempted on this invoice but failed, this will be the time of
	// the most recent attempt.
	PaymentFailedAt time.Time `json:"payment_failed_at,required,nullable" format:"date-time"`
	// If payment was attempted on this invoice, this will be the start time of the
	// most recent attempt. This field is especially useful for delayed-notification
	// payment mechanisms (like bank transfers), where payment can take 3 days or more.
	PaymentStartedAt time.Time `json:"payment_started_at,required,nullable" format:"date-time"`
	// If the invoice is in draft, this timestamp will reflect when the invoice is
	// scheduled to be issued.
	ScheduledIssueAt time.Time            `json:"scheduled_issue_at,required,nullable" format:"date-time"`
	ShippingAddress  Address              `json:"shipping_address,required,nullable"`
	Status           InvoiceStatus        `json:"status,required"`
	Subscription     SubscriptionMinified `json:"subscription,required,nullable"`
	// The total before any discounts and minimums are applied.
	Subtotal string `json:"subtotal,required"`
	// If the invoice failed to sync, this will be the last time an external invoicing
	// provider sync was attempted. This field will always be `null` for invoices using
	// Orb Invoicing.
	SyncFailedAt time.Time `json:"sync_failed_at,required,nullable" format:"date-time"`
	// The total after any minimums and discounts have been applied.
	Total string `json:"total,required"`
	// If the invoice has a status of `void`, this gives a timestamp when the invoice
	// was voided.
	VoidedAt time.Time `json:"voided_at,required,nullable" format:"date-time"`
	// This is true if the invoice will be automatically issued in the future, and
	// false otherwise.
	WillAutoIssue bool        `json:"will_auto_issue,required"`
	JSON          invoiceJSON `json:"-"`
}

An [`Invoice`](/core-concepts#invoice) is a fundamental billing entity, representing the request for payment for a single subscription. This includes a set of line items, which correspond to prices in the subscription's plan and can represent fixed recurring fees or usage-based fees. They are generated at the end of a billing period, or as the result of an action, such as a cancellation.

func (*Invoice) UnmarshalJSON added in v0.121.0

func (r *Invoice) UnmarshalJSON(data []byte) (err error)

type InvoiceAutoCollection added in v0.121.0

type InvoiceAutoCollection struct {
	// True only if auto-collection is enabled for this invoice.
	Enabled bool `json:"enabled,required,nullable"`
	// If the invoice is scheduled for auto-collection, this field will reflect when
	// the next attempt will occur. If dunning has been exhausted, or auto-collection
	// is not enabled for this invoice, this field will be `null`.
	NextAttemptAt time.Time `json:"next_attempt_at,required,nullable" format:"date-time"`
	// Number of auto-collection payment attempts.
	NumAttempts int64 `json:"num_attempts,required,nullable"`
	// If Orb has ever attempted payment auto-collection for this invoice, this field
	// will reflect when that attempt occurred. In conjunction with `next_attempt_at`,
	// this can be used to tell whether the invoice is currently in dunning (that is,
	// `previously_attempted_at` is non-null, and `next_attempt_time` is non-null), or
	// if dunning has been exhausted (`previously_attempted_at` is non-null, but
	// `next_attempt_time` is null).
	PreviouslyAttemptedAt time.Time                 `json:"previously_attempted_at,required,nullable" format:"date-time"`
	JSON                  invoiceAutoCollectionJSON `json:"-"`
}

func (*InvoiceAutoCollection) UnmarshalJSON added in v0.121.0

func (r *InvoiceAutoCollection) UnmarshalJSON(data []byte) (err error)

type InvoiceCreditNote added in v0.121.0

type InvoiceCreditNote struct {
	ID               string `json:"id,required"`
	CreditNoteNumber string `json:"credit_note_number,required"`
	// An optional memo supplied on the credit note.
	Memo   string `json:"memo,required,nullable"`
	Reason string `json:"reason,required"`
	Total  string `json:"total,required"`
	Type   string `json:"type,required"`
	// If the credit note has a status of `void`, this gives a timestamp when the
	// credit note was voided.
	VoidedAt time.Time             `json:"voided_at,required,nullable" format:"date-time"`
	JSON     invoiceCreditNoteJSON `json:"-"`
}

func (*InvoiceCreditNote) UnmarshalJSON added in v0.121.0

func (r *InvoiceCreditNote) UnmarshalJSON(data []byte) (err error)

type InvoiceCustomerBalanceTransaction added in v0.121.0

type InvoiceCustomerBalanceTransaction struct {
	// A unique id for this transaction.
	ID     string                                   `json:"id,required"`
	Action InvoiceCustomerBalanceTransactionsAction `json:"action,required"`
	// The value of the amount changed in the transaction.
	Amount string `json:"amount,required"`
	// The creation time of this transaction.
	CreatedAt  time.Time      `json:"created_at,required" format:"date-time"`
	CreditNote CreditNoteTiny `json:"credit_note,required,nullable"`
	// An optional description provided for manual customer balance adjustments.
	Description string `json:"description,required,nullable"`
	// The new value of the customer's balance prior to the transaction, in the
	// customer's currency.
	EndingBalance string      `json:"ending_balance,required"`
	Invoice       InvoiceTiny `json:"invoice,required,nullable"`
	// The original value of the customer's balance prior to the transaction, in the
	// customer's currency.
	StartingBalance string                                 `json:"starting_balance,required"`
	Type            InvoiceCustomerBalanceTransactionsType `json:"type,required"`
	JSON            invoiceCustomerBalanceTransactionJSON  `json:"-"`
}

func (*InvoiceCustomerBalanceTransaction) UnmarshalJSON added in v0.121.0

func (r *InvoiceCustomerBalanceTransaction) UnmarshalJSON(data []byte) (err error)

type InvoiceCustomerBalanceTransactionsAction added in v0.121.0

type InvoiceCustomerBalanceTransactionsAction string
const (
	InvoiceCustomerBalanceTransactionsActionAppliedToInvoice     InvoiceCustomerBalanceTransactionsAction = "applied_to_invoice"
	InvoiceCustomerBalanceTransactionsActionManualAdjustment     InvoiceCustomerBalanceTransactionsAction = "manual_adjustment"
	InvoiceCustomerBalanceTransactionsActionProratedRefund       InvoiceCustomerBalanceTransactionsAction = "prorated_refund"
	InvoiceCustomerBalanceTransactionsActionRevertProratedRefund InvoiceCustomerBalanceTransactionsAction = "revert_prorated_refund"
	InvoiceCustomerBalanceTransactionsActionReturnFromVoiding    InvoiceCustomerBalanceTransactionsAction = "return_from_voiding"
	InvoiceCustomerBalanceTransactionsActionCreditNoteApplied    InvoiceCustomerBalanceTransactionsAction = "credit_note_applied"
	InvoiceCustomerBalanceTransactionsActionCreditNoteVoided     InvoiceCustomerBalanceTransactionsAction = "credit_note_voided"
	InvoiceCustomerBalanceTransactionsActionOverpaymentRefund    InvoiceCustomerBalanceTransactionsAction = "overpayment_refund"
	InvoiceCustomerBalanceTransactionsActionExternalPayment      InvoiceCustomerBalanceTransactionsAction = "external_payment"
)

func (InvoiceCustomerBalanceTransactionsAction) IsKnown added in v0.121.0

type InvoiceCustomerBalanceTransactionsType added in v0.121.0

type InvoiceCustomerBalanceTransactionsType string
const (
	InvoiceCustomerBalanceTransactionsTypeIncrement InvoiceCustomerBalanceTransactionsType = "increment"
	InvoiceCustomerBalanceTransactionsTypeDecrement InvoiceCustomerBalanceTransactionsType = "decrement"
)

func (InvoiceCustomerBalanceTransactionsType) IsKnown added in v0.121.0

type InvoiceInvoiceSource added in v0.121.0

type InvoiceInvoiceSource string
const (
	InvoiceInvoiceSourceSubscription InvoiceInvoiceSource = "subscription"
	InvoiceInvoiceSourcePartial      InvoiceInvoiceSource = "partial"
	InvoiceInvoiceSourceOneOff       InvoiceInvoiceSource = "one_off"
)

func (InvoiceInvoiceSource) IsKnown added in v0.121.0

func (r InvoiceInvoiceSource) IsKnown() bool

type InvoiceLevelDiscount added in v0.67.0

type InvoiceLevelDiscount struct {
	DiscountType InvoiceLevelDiscountDiscountType `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount string `json:"amount_discount"`
	// This field can have the runtime type of [[]string].
	AppliesToPriceIDs interface{} `json:"applies_to_price_ids"`
	// This field can have the runtime type of [[]TransformPriceFilter].
	Filters interface{} `json:"filters"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount float64 `json:"percentage_discount"`
	Reason             string  `json:"reason,nullable"`
	// Only available if discount_type is `trial`
	TrialAmountDiscount string `json:"trial_amount_discount,nullable"`
	// Only available if discount_type is `trial`
	TrialPercentageDiscount float64                  `json:"trial_percentage_discount,nullable"`
	JSON                    invoiceLevelDiscountJSON `json:"-"`
	// contains filtered or unexported fields
}

func (InvoiceLevelDiscount) AsUnion added in v0.67.0

AsUnion returns a InvoiceLevelDiscountUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are PercentageDiscount, AmountDiscount, TrialDiscount.

func (*InvoiceLevelDiscount) UnmarshalJSON added in v0.67.0

func (r *InvoiceLevelDiscount) UnmarshalJSON(data []byte) (err error)

type InvoiceLevelDiscountDiscountType added in v0.67.0

type InvoiceLevelDiscountDiscountType string
const (
	InvoiceLevelDiscountDiscountTypePercentage InvoiceLevelDiscountDiscountType = "percentage"
	InvoiceLevelDiscountDiscountTypeAmount     InvoiceLevelDiscountDiscountType = "amount"
	InvoiceLevelDiscountDiscountTypeTrial      InvoiceLevelDiscountDiscountType = "trial"
)

func (InvoiceLevelDiscountDiscountType) IsKnown added in v0.67.0

type InvoiceLevelDiscountUnion added in v0.67.0

type InvoiceLevelDiscountUnion interface {
	ImplementsInvoiceLevelDiscount()
}

Union satisfied by PercentageDiscount, AmountDiscount or TrialDiscount.

type InvoiceLineItem added in v0.121.0

type InvoiceLineItem struct {
	// A unique ID for this line item.
	ID string `json:"id,required"`
	// The line amount after any adjustments and before overage conversion, credits and
	// partial invoicing.
	AdjustedSubtotal string `json:"adjusted_subtotal,required"`
	// All adjustments applied to the line item in the order they were applied based on
	// invoice calculations (ie. usage discounts -> amount discounts -> percentage
	// discounts -> minimums -> maximums).
	Adjustments []InvoiceLineItemsAdjustment `json:"adjustments,required"`
	// The final amount for a line item after all adjustments and pre paid credits have
	// been applied.
	Amount string `json:"amount,required"`
	// The number of prepaid credits applied.
	CreditsApplied string `json:"credits_applied,required"`
	// This field is deprecated in favor of `adjustments`
	//
	// Deprecated: deprecated
	Discount Discount `json:"discount,required,nullable"`
	// The end date of the range of time applied for this line item's price.
	EndDate time.Time `json:"end_date,required" format:"date-time"`
	// An additional filter that was used to calculate the usage for this line item.
	Filter string `json:"filter,required,nullable"`
	// [DEPRECATED] For configured prices that are split by a grouping key, this will
	// be populated with the key and a value. The `amount` and `subtotal` will be the
	// values for this particular grouping.
	Grouping string `json:"grouping,required,nullable"`
	// This field is deprecated in favor of `adjustments`.
	//
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// This field is deprecated in favor of `adjustments`.
	//
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// This field is deprecated in favor of `adjustments`.
	//
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// This field is deprecated in favor of `adjustments`.
	//
	// Deprecated: deprecated
	MinimumAmount string `json:"minimum_amount,required,nullable"`
	// The name of the price associated with this line item.
	Name string `json:"name,required"`
	// Any amount applied from a partial invoice
	PartiallyInvoicedAmount string `json:"partially_invoiced_amount,required"`
	// The Price resource represents a price that can be billed on a subscription,
	// resulting in a charge on an invoice in the form of an invoice line item. Prices
	// take a quantity and determine an amount to bill.
	//
	// Orb supports a few different pricing models out of the box. Each of these models
	// is serialized differently in a given Price object. The model_type field
	// determines the key for the configuration object that is present.
	//
	// For more on the types of prices, see
	// [the core concepts documentation](/core-concepts#plan-and-price)
	Price Price `json:"price,required"`
	// Either the fixed fee quantity or the usage during the service period.
	Quantity float64 `json:"quantity,required"`
	// The start date of the range of time applied for this line item's price.
	StartDate time.Time `json:"start_date,required" format:"date-time"`
	// For complex pricing structures, the line item can be broken down further in
	// `sub_line_items`.
	SubLineItems []InvoiceLineItemsSubLineItem `json:"sub_line_items,required"`
	// The line amount before before any adjustments.
	Subtotal string `json:"subtotal,required"`
	// An array of tax rates and their incurred tax amounts. Empty if no tax
	// integration is configured.
	TaxAmounts []TaxAmount `json:"tax_amounts,required"`
	// A list of customer ids that were used to calculate the usage for this line item.
	UsageCustomerIDs []string            `json:"usage_customer_ids,required,nullable"`
	JSON             invoiceLineItemJSON `json:"-"`
}

func (*InvoiceLineItem) UnmarshalJSON added in v0.121.0

func (r *InvoiceLineItem) UnmarshalJSON(data []byte) (err error)

type InvoiceLineItemsAdjustment added in v0.121.0

type InvoiceLineItemsAdjustment struct {
	ID             string                                    `json:"id,required"`
	AdjustmentType InvoiceLineItemsAdjustmentsAdjustmentType `json:"adjustment_type,required"`
	// The value applied by an adjustment.
	Amount string `json:"amount,required"`
	// This field can have the runtime type of [[]string].
	AppliesToPriceIDs interface{} `json:"applies_to_price_ids,required"`
	// This field can have the runtime type of [[]TransformPriceFilter].
	Filters interface{} `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string `json:"replaces_adjustment_id,required,nullable"`
	// The amount by which to discount the prices this adjustment applies to in a given
	// billing period.
	AmountDiscount string `json:"amount_discount"`
	// The item ID that revenue from this minimum will be attributed to.
	ItemID string `json:"item_id"`
	// The maximum amount to charge in a given billing period for the prices this
	// adjustment applies to.
	MaximumAmount string `json:"maximum_amount"`
	// The minimum amount to charge in a given billing period for the prices this
	// adjustment applies to.
	MinimumAmount string `json:"minimum_amount"`
	// The percentage (as a value between 0 and 1) by which to discount the price
	// intervals this adjustment applies to in a given billing period.
	PercentageDiscount float64 `json:"percentage_discount"`
	// The number of usage units by which to discount the price this adjustment applies
	// to in a given billing period.
	UsageDiscount float64                        `json:"usage_discount"`
	JSON          invoiceLineItemsAdjustmentJSON `json:"-"`
	// contains filtered or unexported fields
}

func (InvoiceLineItemsAdjustment) AsUnion added in v0.121.0

AsUnion returns a InvoiceLineItemsAdjustmentsUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are MonetaryUsageDiscountAdjustment, MonetaryAmountDiscountAdjustment, MonetaryPercentageDiscountAdjustment, MonetaryMinimumAdjustment, MonetaryMaximumAdjustment.

func (*InvoiceLineItemsAdjustment) UnmarshalJSON added in v0.121.0

func (r *InvoiceLineItemsAdjustment) UnmarshalJSON(data []byte) (err error)

type InvoiceLineItemsAdjustmentsAdjustmentType added in v0.121.0

type InvoiceLineItemsAdjustmentsAdjustmentType string
const (
	InvoiceLineItemsAdjustmentsAdjustmentTypeUsageDiscount      InvoiceLineItemsAdjustmentsAdjustmentType = "usage_discount"
	InvoiceLineItemsAdjustmentsAdjustmentTypeAmountDiscount     InvoiceLineItemsAdjustmentsAdjustmentType = "amount_discount"
	InvoiceLineItemsAdjustmentsAdjustmentTypePercentageDiscount InvoiceLineItemsAdjustmentsAdjustmentType = "percentage_discount"
	InvoiceLineItemsAdjustmentsAdjustmentTypeMinimum            InvoiceLineItemsAdjustmentsAdjustmentType = "minimum"
	InvoiceLineItemsAdjustmentsAdjustmentTypeMaximum            InvoiceLineItemsAdjustmentsAdjustmentType = "maximum"
)

func (InvoiceLineItemsAdjustmentsAdjustmentType) IsKnown added in v0.121.0

type InvoiceLineItemsAdjustmentsUnion added in v0.121.0

type InvoiceLineItemsAdjustmentsUnion interface {
	ImplementsInvoiceLineItemsAdjustment()
}

Union satisfied by MonetaryUsageDiscountAdjustment, MonetaryAmountDiscountAdjustment, MonetaryPercentageDiscountAdjustment, MonetaryMinimumAdjustment or MonetaryMaximumAdjustment.

type InvoiceLineItemsSubLineItem added in v0.121.0

type InvoiceLineItemsSubLineItem struct {
	// The total amount for this sub line item.
	Amount       string                           `json:"amount,required"`
	Grouping     SubLineItemGrouping              `json:"grouping,required,nullable"`
	Name         string                           `json:"name,required"`
	Quantity     float64                          `json:"quantity,required"`
	Type         InvoiceLineItemsSubLineItemsType `json:"type,required"`
	MatrixConfig SubLineItemMatrixConfig          `json:"matrix_config"`
	TierConfig   TierConfig                       `json:"tier_config"`
	JSON         invoiceLineItemsSubLineItemJSON  `json:"-"`
	// contains filtered or unexported fields
}

func (InvoiceLineItemsSubLineItem) AsUnion added in v0.121.0

AsUnion returns a InvoiceLineItemsSubLineItemsUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are MatrixSubLineItem, TierSubLineItem, OtherSubLineItem.

func (*InvoiceLineItemsSubLineItem) UnmarshalJSON added in v0.121.0

func (r *InvoiceLineItemsSubLineItem) UnmarshalJSON(data []byte) (err error)

type InvoiceLineItemsSubLineItemsType added in v0.121.0

type InvoiceLineItemsSubLineItemsType string
const (
	InvoiceLineItemsSubLineItemsTypeMatrix InvoiceLineItemsSubLineItemsType = "matrix"
	InvoiceLineItemsSubLineItemsTypeTier   InvoiceLineItemsSubLineItemsType = "tier"
	InvoiceLineItemsSubLineItemsTypeNull   InvoiceLineItemsSubLineItemsType = "'null'"
)

func (InvoiceLineItemsSubLineItemsType) IsKnown added in v0.121.0

type InvoiceLineItemsSubLineItemsUnion added in v0.121.0

type InvoiceLineItemsSubLineItemsUnion interface {
	ImplementsInvoiceLineItemsSubLineItem()
}

Union satisfied by MatrixSubLineItem, TierSubLineItem or OtherSubLineItem.

type InvoicePaymentAttempt added in v0.121.0

type InvoicePaymentAttempt struct {
	// The ID of the payment attempt.
	ID string `json:"id,required"`
	// The amount of the payment attempt.
	Amount string `json:"amount,required"`
	// The time at which the payment attempt was created.
	CreatedAt time.Time `json:"created_at,required" format:"date-time"`
	// The payment provider that attempted to collect the payment.
	PaymentProvider InvoicePaymentAttemptsPaymentProvider `json:"payment_provider,required,nullable"`
	// The ID of the payment attempt in the payment provider.
	PaymentProviderID string `json:"payment_provider_id,required,nullable"`
	// Whether the payment attempt succeeded.
	Succeeded bool                      `json:"succeeded,required"`
	JSON      invoicePaymentAttemptJSON `json:"-"`
}

func (*InvoicePaymentAttempt) UnmarshalJSON added in v0.121.0

func (r *InvoicePaymentAttempt) UnmarshalJSON(data []byte) (err error)

type InvoicePaymentAttemptsPaymentProvider added in v0.121.0

type InvoicePaymentAttemptsPaymentProvider string

The payment provider that attempted to collect the payment.

const (
	InvoicePaymentAttemptsPaymentProviderStripe InvoicePaymentAttemptsPaymentProvider = "stripe"
)

func (InvoicePaymentAttemptsPaymentProvider) IsKnown added in v0.121.0

type InvoiceStatus added in v0.121.0

type InvoiceStatus string
const (
	InvoiceStatusIssued InvoiceStatus = "issued"
	InvoiceStatusPaid   InvoiceStatus = "paid"
	InvoiceStatusSynced InvoiceStatus = "synced"
	InvoiceStatusVoid   InvoiceStatus = "void"
	InvoiceStatusDraft  InvoiceStatus = "draft"
)

func (InvoiceStatus) IsKnown added in v0.121.0

func (r InvoiceStatus) IsKnown() bool

type InvoiceTiny added in v0.121.0

type InvoiceTiny struct {
	// The Invoice id
	ID   string          `json:"id,required"`
	JSON invoiceTinyJSON `json:"-"`
}

func (*InvoiceTiny) UnmarshalJSON added in v0.121.0

func (r *InvoiceTiny) UnmarshalJSON(data []byte) (err error)

type ItemSlim added in v0.121.0

type ItemSlim struct {
	ID   string       `json:"id,required"`
	Name string       `json:"name,required"`
	JSON itemSlimJSON `json:"-"`
}

func (*ItemSlim) UnmarshalJSON added in v0.121.0

func (r *ItemSlim) UnmarshalJSON(data []byte) (err error)

type MatrixConfig added in v0.121.0

type MatrixConfig struct {
	// Default per unit rate for any usage not bucketed into a specified matrix_value
	DefaultUnitAmount string `json:"default_unit_amount,required"`
	// One or two event property values to evaluate matrix groups by
	Dimensions []string `json:"dimensions,required"`
	// Matrix values for specified matrix grouping keys
	MatrixValues []MatrixValue    `json:"matrix_values,required"`
	JSON         matrixConfigJSON `json:"-"`
}

func (*MatrixConfig) UnmarshalJSON added in v0.121.0

func (r *MatrixConfig) UnmarshalJSON(data []byte) (err error)

type MatrixConfigParam added in v0.121.0

type MatrixConfigParam struct {
	// Default per unit rate for any usage not bucketed into a specified matrix_value
	DefaultUnitAmount param.Field[string] `json:"default_unit_amount,required"`
	// One or two event property values to evaluate matrix groups by
	Dimensions param.Field[[]string] `json:"dimensions,required"`
	// Matrix values for specified matrix grouping keys
	MatrixValues param.Field[[]MatrixValueParam] `json:"matrix_values,required"`
}

func (MatrixConfigParam) MarshalJSON added in v0.121.0

func (r MatrixConfigParam) MarshalJSON() (data []byte, err error)

type MatrixSubLineItem added in v0.121.0

type MatrixSubLineItem struct {
	// The total amount for this sub line item.
	Amount       string                  `json:"amount,required"`
	Grouping     SubLineItemGrouping     `json:"grouping,required,nullable"`
	MatrixConfig SubLineItemMatrixConfig `json:"matrix_config,required"`
	Name         string                  `json:"name,required"`
	Quantity     float64                 `json:"quantity,required"`
	Type         MatrixSubLineItemType   `json:"type,required"`
	JSON         matrixSubLineItemJSON   `json:"-"`
}

func (MatrixSubLineItem) ImplementsInvoiceFetchUpcomingResponseLineItemsSubLineItem added in v0.121.0

func (r MatrixSubLineItem) ImplementsInvoiceFetchUpcomingResponseLineItemsSubLineItem()

func (MatrixSubLineItem) ImplementsInvoiceLineItemNewResponseSubLineItem added in v0.121.0

func (r MatrixSubLineItem) ImplementsInvoiceLineItemNewResponseSubLineItem()

func (MatrixSubLineItem) ImplementsInvoiceLineItemsSubLineItem added in v0.121.0

func (r MatrixSubLineItem) ImplementsInvoiceLineItemsSubLineItem()

func (*MatrixSubLineItem) UnmarshalJSON added in v0.121.0

func (r *MatrixSubLineItem) UnmarshalJSON(data []byte) (err error)

type MatrixSubLineItemType added in v0.121.0

type MatrixSubLineItemType string
const (
	MatrixSubLineItemTypeMatrix MatrixSubLineItemType = "matrix"
)

func (MatrixSubLineItemType) IsKnown added in v0.121.0

func (r MatrixSubLineItemType) IsKnown() bool

type MatrixValue added in v0.121.0

type MatrixValue struct {
	// One or two matrix keys to filter usage to this Matrix value by. For example,
	// ["region", "tier"] could be used to filter cloud usage by a cloud region and an
	// instance tier.
	DimensionValues []string `json:"dimension_values,required"`
	// Unit price for the specified dimension_values
	UnitAmount string          `json:"unit_amount,required"`
	JSON       matrixValueJSON `json:"-"`
}

func (*MatrixValue) UnmarshalJSON added in v0.121.0

func (r *MatrixValue) UnmarshalJSON(data []byte) (err error)

type MatrixValueParam added in v0.121.0

type MatrixValueParam struct {
	// One or two matrix keys to filter usage to this Matrix value by. For example,
	// ["region", "tier"] could be used to filter cloud usage by a cloud region and an
	// instance tier.
	DimensionValues param.Field[[]string] `json:"dimension_values,required"`
	// Unit price for the specified dimension_values
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

func (MatrixValueParam) MarshalJSON added in v0.121.0

func (r MatrixValueParam) MarshalJSON() (data []byte, err error)

type MatrixWithAllocationConfig added in v0.121.0

type MatrixWithAllocationConfig struct {
	// Allocation to be used to calculate the price
	Allocation float64 `json:"allocation,required"`
	// Default per unit rate for any usage not bucketed into a specified matrix_value
	DefaultUnitAmount string `json:"default_unit_amount,required"`
	// One or two event property values to evaluate matrix groups by
	Dimensions []string `json:"dimensions,required"`
	// Matrix values for specified matrix grouping keys
	MatrixValues []MatrixValue                  `json:"matrix_values,required"`
	JSON         matrixWithAllocationConfigJSON `json:"-"`
}

func (*MatrixWithAllocationConfig) UnmarshalJSON added in v0.121.0

func (r *MatrixWithAllocationConfig) UnmarshalJSON(data []byte) (err error)

type MatrixWithAllocationConfigParam added in v0.121.0

type MatrixWithAllocationConfigParam struct {
	// Allocation to be used to calculate the price
	Allocation param.Field[float64] `json:"allocation,required"`
	// Default per unit rate for any usage not bucketed into a specified matrix_value
	DefaultUnitAmount param.Field[string] `json:"default_unit_amount,required"`
	// One or two event property values to evaluate matrix groups by
	Dimensions param.Field[[]string] `json:"dimensions,required"`
	// Matrix values for specified matrix grouping keys
	MatrixValues param.Field[[]MatrixValueParam] `json:"matrix_values,required"`
}

func (MatrixWithAllocationConfigParam) MarshalJSON added in v0.121.0

func (r MatrixWithAllocationConfigParam) MarshalJSON() (data []byte, err error)

type Maximum added in v0.121.0

type Maximum struct {
	// List of price_ids that this maximum amount applies to. For plan/plan phase
	// maximums, this can be a subset of prices.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this maximum to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// Maximum amount applied
	MaximumAmount string      `json:"maximum_amount,required"`
	JSON          maximumJSON `json:"-"`
}

func (*Maximum) UnmarshalJSON added in v0.121.0

func (r *Maximum) UnmarshalJSON(data []byte) (err error)

type MaximumInterval added in v0.121.0

type MaximumInterval struct {
	// The price interval ids that this maximum interval applies to.
	AppliesToPriceIntervalIDs []string `json:"applies_to_price_interval_ids,required"`
	// The end date of the maximum interval.
	EndDate time.Time `json:"end_date,required,nullable" format:"date-time"`
	// The filters that determine which prices this maximum interval applies to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// The maximum amount to charge in a given billing period for the price intervals
	// this transform applies to.
	MaximumAmount string `json:"maximum_amount,required"`
	// The start date of the maximum interval.
	StartDate time.Time           `json:"start_date,required" format:"date-time"`
	JSON      maximumIntervalJSON `json:"-"`
}

func (*MaximumInterval) UnmarshalJSON added in v0.121.0

func (r *MaximumInterval) UnmarshalJSON(data []byte) (err error)

type Minimum added in v0.121.0

type Minimum struct {
	// List of price_ids that this minimum amount applies to. For plan/plan phase
	// minimums, this can be a subset of prices.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this minimum to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// Minimum amount applied
	MinimumAmount string      `json:"minimum_amount,required"`
	JSON          minimumJSON `json:"-"`
}

func (*Minimum) UnmarshalJSON added in v0.121.0

func (r *Minimum) UnmarshalJSON(data []byte) (err error)

type MinimumInterval added in v0.121.0

type MinimumInterval struct {
	// The price interval ids that this minimum interval applies to.
	AppliesToPriceIntervalIDs []string `json:"applies_to_price_interval_ids,required"`
	// The end date of the minimum interval.
	EndDate time.Time `json:"end_date,required,nullable" format:"date-time"`
	// The filters that determine which prices this minimum interval applies to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// The minimum amount to charge in a given billing period for the price intervals
	// this minimum applies to.
	MinimumAmount string `json:"minimum_amount,required"`
	// The start date of the minimum interval.
	StartDate time.Time           `json:"start_date,required" format:"date-time"`
	JSON      minimumIntervalJSON `json:"-"`
}

func (*MinimumInterval) UnmarshalJSON added in v0.121.0

func (r *MinimumInterval) UnmarshalJSON(data []byte) (err error)

type MonetaryAmountDiscountAdjustment added in v0.121.0

type MonetaryAmountDiscountAdjustment struct {
	ID             string                                         `json:"id,required"`
	AdjustmentType MonetaryAmountDiscountAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The value applied by an adjustment.
	Amount string `json:"amount,required"`
	// The amount by which to discount the prices this adjustment applies to in a given
	// billing period.
	AmountDiscount string `json:"amount_discount,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string                               `json:"replaces_adjustment_id,required,nullable"`
	JSON                 monetaryAmountDiscountAdjustmentJSON `json:"-"`
}

func (MonetaryAmountDiscountAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment added in v0.121.0

func (r MonetaryAmountDiscountAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment()

func (MonetaryAmountDiscountAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment added in v0.121.0

func (r MonetaryAmountDiscountAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment()

func (MonetaryAmountDiscountAdjustment) ImplementsInvoiceLineItemsAdjustment added in v0.121.0

func (r MonetaryAmountDiscountAdjustment) ImplementsInvoiceLineItemsAdjustment()

func (*MonetaryAmountDiscountAdjustment) UnmarshalJSON added in v0.121.0

func (r *MonetaryAmountDiscountAdjustment) UnmarshalJSON(data []byte) (err error)

type MonetaryAmountDiscountAdjustmentAdjustmentType added in v0.121.0

type MonetaryAmountDiscountAdjustmentAdjustmentType string
const (
	MonetaryAmountDiscountAdjustmentAdjustmentTypeAmountDiscount MonetaryAmountDiscountAdjustmentAdjustmentType = "amount_discount"
)

func (MonetaryAmountDiscountAdjustmentAdjustmentType) IsKnown added in v0.121.0

type MonetaryMaximumAdjustment added in v0.121.0

type MonetaryMaximumAdjustment struct {
	ID             string                                  `json:"id,required"`
	AdjustmentType MonetaryMaximumAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The value applied by an adjustment.
	Amount string `json:"amount,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The maximum amount to charge in a given billing period for the prices this
	// adjustment applies to.
	MaximumAmount string `json:"maximum_amount,required"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string                        `json:"replaces_adjustment_id,required,nullable"`
	JSON                 monetaryMaximumAdjustmentJSON `json:"-"`
}

func (MonetaryMaximumAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment added in v0.121.0

func (r MonetaryMaximumAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment()

func (MonetaryMaximumAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment added in v0.121.0

func (r MonetaryMaximumAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment()

func (MonetaryMaximumAdjustment) ImplementsInvoiceLineItemsAdjustment added in v0.121.0

func (r MonetaryMaximumAdjustment) ImplementsInvoiceLineItemsAdjustment()

func (*MonetaryMaximumAdjustment) UnmarshalJSON added in v0.121.0

func (r *MonetaryMaximumAdjustment) UnmarshalJSON(data []byte) (err error)

type MonetaryMaximumAdjustmentAdjustmentType added in v0.121.0

type MonetaryMaximumAdjustmentAdjustmentType string
const (
	MonetaryMaximumAdjustmentAdjustmentTypeMaximum MonetaryMaximumAdjustmentAdjustmentType = "maximum"
)

func (MonetaryMaximumAdjustmentAdjustmentType) IsKnown added in v0.121.0

type MonetaryMinimumAdjustment added in v0.121.0

type MonetaryMinimumAdjustment struct {
	ID             string                                  `json:"id,required"`
	AdjustmentType MonetaryMinimumAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The value applied by an adjustment.
	Amount string `json:"amount,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The item ID that revenue from this minimum will be attributed to.
	ItemID string `json:"item_id,required"`
	// The minimum amount to charge in a given billing period for the prices this
	// adjustment applies to.
	MinimumAmount string `json:"minimum_amount,required"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string                        `json:"replaces_adjustment_id,required,nullable"`
	JSON                 monetaryMinimumAdjustmentJSON `json:"-"`
}

func (MonetaryMinimumAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment added in v0.121.0

func (r MonetaryMinimumAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment()

func (MonetaryMinimumAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment added in v0.121.0

func (r MonetaryMinimumAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment()

func (MonetaryMinimumAdjustment) ImplementsInvoiceLineItemsAdjustment added in v0.121.0

func (r MonetaryMinimumAdjustment) ImplementsInvoiceLineItemsAdjustment()

func (*MonetaryMinimumAdjustment) UnmarshalJSON added in v0.121.0

func (r *MonetaryMinimumAdjustment) UnmarshalJSON(data []byte) (err error)

type MonetaryMinimumAdjustmentAdjustmentType added in v0.121.0

type MonetaryMinimumAdjustmentAdjustmentType string
const (
	MonetaryMinimumAdjustmentAdjustmentTypeMinimum MonetaryMinimumAdjustmentAdjustmentType = "minimum"
)

func (MonetaryMinimumAdjustmentAdjustmentType) IsKnown added in v0.121.0

type MonetaryPercentageDiscountAdjustment added in v0.121.0

type MonetaryPercentageDiscountAdjustment struct {
	ID             string                                             `json:"id,required"`
	AdjustmentType MonetaryPercentageDiscountAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The value applied by an adjustment.
	Amount string `json:"amount,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The percentage (as a value between 0 and 1) by which to discount the price
	// intervals this adjustment applies to in a given billing period.
	PercentageDiscount float64 `json:"percentage_discount,required"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string                                   `json:"replaces_adjustment_id,required,nullable"`
	JSON                 monetaryPercentageDiscountAdjustmentJSON `json:"-"`
}

func (MonetaryPercentageDiscountAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment added in v0.121.0

func (r MonetaryPercentageDiscountAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment()

func (MonetaryPercentageDiscountAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment added in v0.121.0

func (r MonetaryPercentageDiscountAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment()

func (MonetaryPercentageDiscountAdjustment) ImplementsInvoiceLineItemsAdjustment added in v0.121.0

func (r MonetaryPercentageDiscountAdjustment) ImplementsInvoiceLineItemsAdjustment()

func (*MonetaryPercentageDiscountAdjustment) UnmarshalJSON added in v0.121.0

func (r *MonetaryPercentageDiscountAdjustment) UnmarshalJSON(data []byte) (err error)

type MonetaryPercentageDiscountAdjustmentAdjustmentType added in v0.121.0

type MonetaryPercentageDiscountAdjustmentAdjustmentType string
const (
	MonetaryPercentageDiscountAdjustmentAdjustmentTypePercentageDiscount MonetaryPercentageDiscountAdjustmentAdjustmentType = "percentage_discount"
)

func (MonetaryPercentageDiscountAdjustmentAdjustmentType) IsKnown added in v0.121.0

type MonetaryUsageDiscountAdjustment added in v0.121.0

type MonetaryUsageDiscountAdjustment struct {
	ID             string                                        `json:"id,required"`
	AdjustmentType MonetaryUsageDiscountAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The value applied by an adjustment.
	Amount string `json:"amount,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string `json:"replaces_adjustment_id,required,nullable"`
	// The number of usage units by which to discount the price this adjustment applies
	// to in a given billing period.
	UsageDiscount float64                             `json:"usage_discount,required"`
	JSON          monetaryUsageDiscountAdjustmentJSON `json:"-"`
}

func (MonetaryUsageDiscountAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment added in v0.121.0

func (r MonetaryUsageDiscountAdjustment) ImplementsInvoiceFetchUpcomingResponseLineItemsAdjustment()

func (MonetaryUsageDiscountAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment added in v0.121.0

func (r MonetaryUsageDiscountAdjustment) ImplementsInvoiceLineItemNewResponseAdjustment()

func (MonetaryUsageDiscountAdjustment) ImplementsInvoiceLineItemsAdjustment added in v0.121.0

func (r MonetaryUsageDiscountAdjustment) ImplementsInvoiceLineItemsAdjustment()

func (*MonetaryUsageDiscountAdjustment) UnmarshalJSON added in v0.121.0

func (r *MonetaryUsageDiscountAdjustment) UnmarshalJSON(data []byte) (err error)

type MonetaryUsageDiscountAdjustmentAdjustmentType added in v0.121.0

type MonetaryUsageDiscountAdjustmentAdjustmentType string
const (
	MonetaryUsageDiscountAdjustmentAdjustmentTypeUsageDiscount MonetaryUsageDiscountAdjustmentAdjustmentType = "usage_discount"
)

func (MonetaryUsageDiscountAdjustmentAdjustmentType) IsKnown added in v0.121.0

type NewAllocationPriceCadence added in v0.121.0

type NewAllocationPriceCadence string

The cadence at which to allocate the amount to the customer.

const (
	NewAllocationPriceCadenceOneTime    NewAllocationPriceCadence = "one_time"
	NewAllocationPriceCadenceMonthly    NewAllocationPriceCadence = "monthly"
	NewAllocationPriceCadenceQuarterly  NewAllocationPriceCadence = "quarterly"
	NewAllocationPriceCadenceSemiAnnual NewAllocationPriceCadence = "semi_annual"
	NewAllocationPriceCadenceAnnual     NewAllocationPriceCadence = "annual"
)

func (NewAllocationPriceCadence) IsKnown added in v0.121.0

func (r NewAllocationPriceCadence) IsKnown() bool

type NewAllocationPriceParam added in v0.121.0

type NewAllocationPriceParam struct {
	// An amount of the currency to allocate to the customer at the specified cadence.
	Amount param.Field[string] `json:"amount,required"`
	// The cadence at which to allocate the amount to the customer.
	Cadence param.Field[NewAllocationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string or a custom pricing unit identifier in which to bill
	// this price.
	Currency param.Field[string] `json:"currency,required"`
	// The custom expiration for the allocation.
	CustomExpiration param.Field[CustomExpirationParam] `json:"custom_expiration"`
	// Whether the allocated amount should expire at the end of the cadence or roll
	// over to the next period. Set to null if using custom_expiration.
	ExpiresAtEndOfCadence param.Field[bool] `json:"expires_at_end_of_cadence"`
}

func (NewAllocationPriceParam) MarshalJSON added in v0.121.0

func (r NewAllocationPriceParam) MarshalJSON() (data []byte, err error)

type NewAmountDiscountAdjustmentType added in v0.121.0

type NewAmountDiscountAdjustmentType string
const (
	NewAmountDiscountAdjustmentTypeAmountDiscount NewAmountDiscountAdjustmentType = "amount_discount"
)

func (NewAmountDiscountAdjustmentType) IsKnown added in v0.121.0

type NewAmountDiscountAppliesToAll added in v0.121.0

type NewAmountDiscountAppliesToAll bool

If set, the adjustment will apply to every price on the subscription.

const (
	NewAmountDiscountAppliesToAllTrue NewAmountDiscountAppliesToAll = true
)

func (NewAmountDiscountAppliesToAll) IsKnown added in v0.121.0

func (r NewAmountDiscountAppliesToAll) IsKnown() bool

type NewAmountDiscountParam added in v0.121.0

type NewAmountDiscountParam struct {
	AdjustmentType param.Field[NewAmountDiscountAdjustmentType] `json:"adjustment_type,required"`
	AmountDiscount param.Field[string]                          `json:"amount_discount,required"`
	// If set, the adjustment will apply to every price on the subscription.
	AppliesToAll param.Field[NewAmountDiscountAppliesToAll] `json:"applies_to_all"`
	// The set of item IDs to which this adjustment applies.
	AppliesToItemIDs param.Field[[]string] `json:"applies_to_item_ids"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// If set, only prices in the specified currency will have the adjustment applied.
	Currency param.Field[string] `json:"currency"`
	// A list of filters that determine which prices this adjustment will apply to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	// When false, this adjustment will be applied to a single price. Otherwise, it
	// will be applied at the invoice level, possibly to multiple prices.
	IsInvoiceLevel param.Field[bool] `json:"is_invoice_level"`
	// If set, only prices of the specified type will have the adjustment applied.
	PriceType param.Field[NewAmountDiscountPriceType] `json:"price_type"`
}

func (NewAmountDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion added in v1.2.0

func (r NewAmountDiscountParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewAmountDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion()

func (NewAmountDiscountParam) MarshalJSON added in v0.121.0

func (r NewAmountDiscountParam) MarshalJSON() (data []byte, err error)

type NewAmountDiscountPriceType added in v0.121.0

type NewAmountDiscountPriceType string

If set, only prices of the specified type will have the adjustment applied.

const (
	NewAmountDiscountPriceTypeUsage          NewAmountDiscountPriceType = "usage"
	NewAmountDiscountPriceTypeFixedInAdvance NewAmountDiscountPriceType = "fixed_in_advance"
	NewAmountDiscountPriceTypeFixedInArrears NewAmountDiscountPriceType = "fixed_in_arrears"
	NewAmountDiscountPriceTypeFixed          NewAmountDiscountPriceType = "fixed"
	NewAmountDiscountPriceTypeInArrears      NewAmountDiscountPriceType = "in_arrears"
)

func (NewAmountDiscountPriceType) IsKnown added in v0.121.0

func (r NewAmountDiscountPriceType) IsKnown() bool

type NewBillingCycleConfigurationDurationUnit added in v0.121.0

type NewBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	NewBillingCycleConfigurationDurationUnitDay   NewBillingCycleConfigurationDurationUnit = "day"
	NewBillingCycleConfigurationDurationUnitMonth NewBillingCycleConfigurationDurationUnit = "month"
)

func (NewBillingCycleConfigurationDurationUnit) IsKnown added in v0.121.0

type NewBillingCycleConfigurationParam added in v0.121.0

type NewBillingCycleConfigurationParam struct {
	// The duration of the billing period.
	Duration param.Field[int64] `json:"duration,required"`
	// The unit of billing period duration.
	DurationUnit param.Field[NewBillingCycleConfigurationDurationUnit] `json:"duration_unit,required"`
}

func (NewBillingCycleConfigurationParam) MarshalJSON added in v0.121.0

func (r NewBillingCycleConfigurationParam) MarshalJSON() (data []byte, err error)

type NewDimensionalPriceConfigurationParam added in v0.121.0

type NewDimensionalPriceConfigurationParam struct {
	// The list of dimension values matching (in order) the dimensions of the price
	// group
	DimensionValues param.Field[[]string] `json:"dimension_values,required"`
	// The id of the dimensional price group to include this price in
	DimensionalPriceGroupID param.Field[string] `json:"dimensional_price_group_id"`
	// The external id of the dimensional price group to include this price in
	ExternalDimensionalPriceGroupID param.Field[string] `json:"external_dimensional_price_group_id"`
}

func (NewDimensionalPriceConfigurationParam) MarshalJSON added in v0.121.0

func (r NewDimensionalPriceConfigurationParam) MarshalJSON() (data []byte, err error)

type NewFloatingBPSPriceCadence added in v0.121.0

type NewFloatingBPSPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingBPSPriceCadenceAnnual     NewFloatingBPSPriceCadence = "annual"
	NewFloatingBPSPriceCadenceSemiAnnual NewFloatingBPSPriceCadence = "semi_annual"
	NewFloatingBPSPriceCadenceMonthly    NewFloatingBPSPriceCadence = "monthly"
	NewFloatingBPSPriceCadenceQuarterly  NewFloatingBPSPriceCadence = "quarterly"
	NewFloatingBPSPriceCadenceOneTime    NewFloatingBPSPriceCadence = "one_time"
	NewFloatingBPSPriceCadenceCustom     NewFloatingBPSPriceCadence = "custom"
)

func (NewFloatingBPSPriceCadence) IsKnown added in v0.121.0

func (r NewFloatingBPSPriceCadence) IsKnown() bool

type NewFloatingBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingBPSPriceConversionRateConfigConversionRateType string
const (
	NewFloatingBPSPriceConversionRateConfigConversionRateTypeUnit   NewFloatingBPSPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingBPSPriceConversionRateConfigConversionRateTypeTiered NewFloatingBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingBPSPriceConversionRateConfigParam added in v0.121.0

type NewFloatingBPSPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingBPSPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                           `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                             `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingBPSPriceConversionRateConfigParam) ImplementsNewFloatingBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingBPSPriceConversionRateConfigParam) ImplementsNewFloatingBPSPriceConversionRateConfigUnionParam()

func (NewFloatingBPSPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewFloatingBPSPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewFloatingBPSPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingBPSPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingBPSPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingBPSPriceConversionRateConfigParam.

type NewFloatingBPSPriceModelType added in v0.121.0

type NewFloatingBPSPriceModelType string
const (
	NewFloatingBPSPriceModelTypeBPS NewFloatingBPSPriceModelType = "bps"
)

func (NewFloatingBPSPriceModelType) IsKnown added in v0.121.0

func (r NewFloatingBPSPriceModelType) IsKnown() bool

type NewFloatingBPSPriceParam added in v0.121.0

type NewFloatingBPSPriceParam struct {
	BPSConfig param.Field[BPSConfigParam] `json:"bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingBPSPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                       `json:"item_id,required"`
	ModelType param.Field[NewFloatingBPSPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingBPSPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingBPSPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingBPSPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingBPSPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingBPSPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingBPSPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingBPSPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingBPSPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingBPSPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingBulkBPSPriceCadence added in v0.121.0

type NewFloatingBulkBPSPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingBulkBPSPriceCadenceAnnual     NewFloatingBulkBPSPriceCadence = "annual"
	NewFloatingBulkBPSPriceCadenceSemiAnnual NewFloatingBulkBPSPriceCadence = "semi_annual"
	NewFloatingBulkBPSPriceCadenceMonthly    NewFloatingBulkBPSPriceCadence = "monthly"
	NewFloatingBulkBPSPriceCadenceQuarterly  NewFloatingBulkBPSPriceCadence = "quarterly"
	NewFloatingBulkBPSPriceCadenceOneTime    NewFloatingBulkBPSPriceCadence = "one_time"
	NewFloatingBulkBPSPriceCadenceCustom     NewFloatingBulkBPSPriceCadence = "custom"
)

func (NewFloatingBulkBPSPriceCadence) IsKnown added in v0.121.0

type NewFloatingBulkBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingBulkBPSPriceConversionRateConfigConversionRateType string
const (
	NewFloatingBulkBPSPriceConversionRateConfigConversionRateTypeUnit   NewFloatingBulkBPSPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingBulkBPSPriceConversionRateConfigConversionRateTypeTiered NewFloatingBulkBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingBulkBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingBulkBPSPriceConversionRateConfigParam added in v0.121.0

type NewFloatingBulkBPSPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingBulkBPSPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                               `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                 `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingBulkBPSPriceConversionRateConfigParam) ImplementsNewFloatingBulkBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingBulkBPSPriceConversionRateConfigParam) ImplementsNewFloatingBulkBPSPriceConversionRateConfigUnionParam()

func (NewFloatingBulkBPSPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewFloatingBulkBPSPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewFloatingBulkBPSPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingBulkBPSPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingBulkBPSPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingBulkBPSPriceConversionRateConfigParam.

type NewFloatingBulkBPSPriceModelType added in v0.121.0

type NewFloatingBulkBPSPriceModelType string
const (
	NewFloatingBulkBPSPriceModelTypeBulkBPS NewFloatingBulkBPSPriceModelType = "bulk_bps"
)

func (NewFloatingBulkBPSPriceModelType) IsKnown added in v0.121.0

type NewFloatingBulkBPSPriceParam added in v0.121.0

type NewFloatingBulkBPSPriceParam struct {
	BulkBPSConfig param.Field[BulkBPSConfigParam] `json:"bulk_bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingBulkBPSPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                           `json:"item_id,required"`
	ModelType param.Field[NewFloatingBulkBPSPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingBulkBPSPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingBulkBPSPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingBulkBPSPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingBulkBPSPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingBulkBPSPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingBulkBPSPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingBulkBPSPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingBulkBPSPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingBulkBPSPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingBulkPriceCadence added in v0.121.0

type NewFloatingBulkPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingBulkPriceCadenceAnnual     NewFloatingBulkPriceCadence = "annual"
	NewFloatingBulkPriceCadenceSemiAnnual NewFloatingBulkPriceCadence = "semi_annual"
	NewFloatingBulkPriceCadenceMonthly    NewFloatingBulkPriceCadence = "monthly"
	NewFloatingBulkPriceCadenceQuarterly  NewFloatingBulkPriceCadence = "quarterly"
	NewFloatingBulkPriceCadenceOneTime    NewFloatingBulkPriceCadence = "one_time"
	NewFloatingBulkPriceCadenceCustom     NewFloatingBulkPriceCadence = "custom"
)

func (NewFloatingBulkPriceCadence) IsKnown added in v0.121.0

func (r NewFloatingBulkPriceCadence) IsKnown() bool

type NewFloatingBulkPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingBulkPriceConversionRateConfigConversionRateType string
const (
	NewFloatingBulkPriceConversionRateConfigConversionRateTypeUnit   NewFloatingBulkPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingBulkPriceConversionRateConfigConversionRateTypeTiered NewFloatingBulkPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingBulkPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingBulkPriceConversionRateConfigParam added in v0.121.0

type NewFloatingBulkPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingBulkPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                            `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                              `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingBulkPriceConversionRateConfigParam) ImplementsNewFloatingBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingBulkPriceConversionRateConfigParam) ImplementsNewFloatingBulkPriceConversionRateConfigUnionParam()

func (NewFloatingBulkPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewFloatingBulkPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewFloatingBulkPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingBulkPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingBulkPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingBulkPriceConversionRateConfigParam.

type NewFloatingBulkPriceModelType added in v0.121.0

type NewFloatingBulkPriceModelType string
const (
	NewFloatingBulkPriceModelTypeBulk NewFloatingBulkPriceModelType = "bulk"
)

func (NewFloatingBulkPriceModelType) IsKnown added in v0.121.0

func (r NewFloatingBulkPriceModelType) IsKnown() bool

type NewFloatingBulkPriceParam added in v0.121.0

type NewFloatingBulkPriceParam struct {
	BulkConfig param.Field[BulkConfigParam] `json:"bulk_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingBulkPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                        `json:"item_id,required"`
	ModelType param.Field[NewFloatingBulkPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingBulkPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingBulkPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingBulkPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingBulkPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingBulkPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingBulkPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingBulkPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingBulkPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingBulkPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingBulkWithProrationPriceCadence added in v0.121.0

type NewFloatingBulkWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingBulkWithProrationPriceCadenceAnnual     NewFloatingBulkWithProrationPriceCadence = "annual"
	NewFloatingBulkWithProrationPriceCadenceSemiAnnual NewFloatingBulkWithProrationPriceCadence = "semi_annual"
	NewFloatingBulkWithProrationPriceCadenceMonthly    NewFloatingBulkWithProrationPriceCadence = "monthly"
	NewFloatingBulkWithProrationPriceCadenceQuarterly  NewFloatingBulkWithProrationPriceCadence = "quarterly"
	NewFloatingBulkWithProrationPriceCadenceOneTime    NewFloatingBulkWithProrationPriceCadence = "one_time"
	NewFloatingBulkWithProrationPriceCadenceCustom     NewFloatingBulkWithProrationPriceCadence = "custom"
)

func (NewFloatingBulkWithProrationPriceCadence) IsKnown added in v0.121.0

type NewFloatingBulkWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingBulkWithProrationPriceConversionRateConfigConversionRateType string
const (
	NewFloatingBulkWithProrationPriceConversionRateConfigConversionRateTypeUnit   NewFloatingBulkWithProrationPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingBulkWithProrationPriceConversionRateConfigConversionRateTypeTiered NewFloatingBulkWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingBulkWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingBulkWithProrationPriceConversionRateConfigParam added in v0.121.0

type NewFloatingBulkWithProrationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingBulkWithProrationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                         `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                           `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingBulkWithProrationPriceConversionRateConfigParam) ImplementsNewFloatingBulkWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingBulkWithProrationPriceConversionRateConfigParam) ImplementsNewFloatingBulkWithProrationPriceConversionRateConfigUnionParam()

func (NewFloatingBulkWithProrationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingBulkWithProrationPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingBulkWithProrationPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingBulkWithProrationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingBulkWithProrationPriceConversionRateConfigParam.

type NewFloatingBulkWithProrationPriceModelType added in v0.121.0

type NewFloatingBulkWithProrationPriceModelType string
const (
	NewFloatingBulkWithProrationPriceModelTypeBulkWithProration NewFloatingBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (NewFloatingBulkWithProrationPriceModelType) IsKnown added in v0.121.0

type NewFloatingBulkWithProrationPriceParam added in v0.121.0

type NewFloatingBulkWithProrationPriceParam struct {
	BulkWithProrationConfig param.Field[map[string]interface{}] `json:"bulk_with_proration_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingBulkWithProrationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                     `json:"item_id,required"`
	ModelType param.Field[NewFloatingBulkWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingBulkWithProrationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingBulkWithProrationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingBulkWithProrationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingBulkWithProrationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingBulkWithProrationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingBulkWithProrationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingBulkWithProrationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingBulkWithProrationPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingBulkWithProrationPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingCumulativeGroupedBulkPriceCadence added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingCumulativeGroupedBulkPriceCadenceAnnual     NewFloatingCumulativeGroupedBulkPriceCadence = "annual"
	NewFloatingCumulativeGroupedBulkPriceCadenceSemiAnnual NewFloatingCumulativeGroupedBulkPriceCadence = "semi_annual"
	NewFloatingCumulativeGroupedBulkPriceCadenceMonthly    NewFloatingCumulativeGroupedBulkPriceCadence = "monthly"
	NewFloatingCumulativeGroupedBulkPriceCadenceQuarterly  NewFloatingCumulativeGroupedBulkPriceCadence = "quarterly"
	NewFloatingCumulativeGroupedBulkPriceCadenceOneTime    NewFloatingCumulativeGroupedBulkPriceCadence = "one_time"
	NewFloatingCumulativeGroupedBulkPriceCadenceCustom     NewFloatingCumulativeGroupedBulkPriceCadence = "custom"
)

func (NewFloatingCumulativeGroupedBulkPriceCadence) IsKnown added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceConversionRateConfigConversionRateType string
const (
	NewFloatingCumulativeGroupedBulkPriceConversionRateConfigConversionRateTypeUnit   NewFloatingCumulativeGroupedBulkPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingCumulativeGroupedBulkPriceConversionRateConfigConversionRateTypeTiered NewFloatingCumulativeGroupedBulkPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingCumulativeGroupedBulkPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceConversionRateConfigParam added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingCumulativeGroupedBulkPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                             `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                               `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingCumulativeGroupedBulkPriceConversionRateConfigParam) ImplementsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingCumulativeGroupedBulkPriceConversionRateConfigParam) ImplementsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam()

func (NewFloatingCumulativeGroupedBulkPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingCumulativeGroupedBulkPriceConversionRateConfigParam.

type NewFloatingCumulativeGroupedBulkPriceModelType added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceModelType string
const (
	NewFloatingCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk NewFloatingCumulativeGroupedBulkPriceModelType = "cumulative_grouped_bulk"
)

func (NewFloatingCumulativeGroupedBulkPriceModelType) IsKnown added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceParam added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceParam struct {
	// The cadence to bill for this price on.
	Cadence                     param.Field[NewFloatingCumulativeGroupedBulkPriceCadence] `json:"cadence,required"`
	CumulativeGroupedBulkConfig param.Field[map[string]interface{}]                       `json:"cumulative_grouped_bulk_config,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                         `json:"item_id,required"`
	ModelType param.Field[NewFloatingCumulativeGroupedBulkPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingCumulativeGroupedBulkPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingCumulativeGroupedBulkPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingCumulativeGroupedBulkPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingCumulativeGroupedBulkPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingCumulativeGroupedBulkPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingCumulativeGroupedBulkPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingCumulativeGroupedBulkPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingCumulativeGroupedBulkPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingGroupedAllocationPriceCadence added in v0.121.0

type NewFloatingGroupedAllocationPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingGroupedAllocationPriceCadenceAnnual     NewFloatingGroupedAllocationPriceCadence = "annual"
	NewFloatingGroupedAllocationPriceCadenceSemiAnnual NewFloatingGroupedAllocationPriceCadence = "semi_annual"
	NewFloatingGroupedAllocationPriceCadenceMonthly    NewFloatingGroupedAllocationPriceCadence = "monthly"
	NewFloatingGroupedAllocationPriceCadenceQuarterly  NewFloatingGroupedAllocationPriceCadence = "quarterly"
	NewFloatingGroupedAllocationPriceCadenceOneTime    NewFloatingGroupedAllocationPriceCadence = "one_time"
	NewFloatingGroupedAllocationPriceCadenceCustom     NewFloatingGroupedAllocationPriceCadence = "custom"
)

func (NewFloatingGroupedAllocationPriceCadence) IsKnown added in v0.121.0

type NewFloatingGroupedAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingGroupedAllocationPriceConversionRateConfigConversionRateType string
const (
	NewFloatingGroupedAllocationPriceConversionRateConfigConversionRateTypeUnit   NewFloatingGroupedAllocationPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingGroupedAllocationPriceConversionRateConfigConversionRateTypeTiered NewFloatingGroupedAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingGroupedAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingGroupedAllocationPriceConversionRateConfigParam added in v0.121.0

type NewFloatingGroupedAllocationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingGroupedAllocationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                         `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                           `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingGroupedAllocationPriceConversionRateConfigParam) ImplementsNewFloatingGroupedAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingGroupedAllocationPriceConversionRateConfigParam) ImplementsNewFloatingGroupedAllocationPriceConversionRateConfigUnionParam()

func (NewFloatingGroupedAllocationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingGroupedAllocationPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingGroupedAllocationPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingGroupedAllocationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingGroupedAllocationPriceConversionRateConfigParam.

type NewFloatingGroupedAllocationPriceModelType added in v0.121.0

type NewFloatingGroupedAllocationPriceModelType string
const (
	NewFloatingGroupedAllocationPriceModelTypeGroupedAllocation NewFloatingGroupedAllocationPriceModelType = "grouped_allocation"
)

func (NewFloatingGroupedAllocationPriceModelType) IsKnown added in v0.121.0

type NewFloatingGroupedAllocationPriceParam added in v0.121.0

type NewFloatingGroupedAllocationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingGroupedAllocationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency                param.Field[string]                 `json:"currency,required"`
	GroupedAllocationConfig param.Field[map[string]interface{}] `json:"grouped_allocation_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                     `json:"item_id,required"`
	ModelType param.Field[NewFloatingGroupedAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingGroupedAllocationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingGroupedAllocationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedAllocationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedAllocationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedAllocationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedAllocationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingGroupedAllocationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingGroupedAllocationPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingGroupedAllocationPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingGroupedTieredPackagePriceCadence added in v0.121.0

type NewFloatingGroupedTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingGroupedTieredPackagePriceCadenceAnnual     NewFloatingGroupedTieredPackagePriceCadence = "annual"
	NewFloatingGroupedTieredPackagePriceCadenceSemiAnnual NewFloatingGroupedTieredPackagePriceCadence = "semi_annual"
	NewFloatingGroupedTieredPackagePriceCadenceMonthly    NewFloatingGroupedTieredPackagePriceCadence = "monthly"
	NewFloatingGroupedTieredPackagePriceCadenceQuarterly  NewFloatingGroupedTieredPackagePriceCadence = "quarterly"
	NewFloatingGroupedTieredPackagePriceCadenceOneTime    NewFloatingGroupedTieredPackagePriceCadence = "one_time"
	NewFloatingGroupedTieredPackagePriceCadenceCustom     NewFloatingGroupedTieredPackagePriceCadence = "custom"
)

func (NewFloatingGroupedTieredPackagePriceCadence) IsKnown added in v0.121.0

type NewFloatingGroupedTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingGroupedTieredPackagePriceConversionRateConfigConversionRateType string
const (
	NewFloatingGroupedTieredPackagePriceConversionRateConfigConversionRateTypeUnit   NewFloatingGroupedTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	NewFloatingGroupedTieredPackagePriceConversionRateConfigConversionRateTypeTiered NewFloatingGroupedTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingGroupedTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingGroupedTieredPackagePriceConversionRateConfigParam added in v0.121.0

type NewFloatingGroupedTieredPackagePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingGroupedTieredPackagePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                            `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                              `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingGroupedTieredPackagePriceConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingGroupedTieredPackagePriceConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam()

func (NewFloatingGroupedTieredPackagePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingGroupedTieredPackagePriceConversionRateConfigParam.

type NewFloatingGroupedTieredPackagePriceModelType added in v0.121.0

type NewFloatingGroupedTieredPackagePriceModelType string
const (
	NewFloatingGroupedTieredPackagePriceModelTypeGroupedTieredPackage NewFloatingGroupedTieredPackagePriceModelType = "grouped_tiered_package"
)

func (NewFloatingGroupedTieredPackagePriceModelType) IsKnown added in v0.121.0

type NewFloatingGroupedTieredPackagePriceParam added in v0.121.0

type NewFloatingGroupedTieredPackagePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingGroupedTieredPackagePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency                   param.Field[string]                 `json:"currency,required"`
	GroupedTieredPackageConfig param.Field[map[string]interface{}] `json:"grouped_tiered_package_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                        `json:"item_id,required"`
	ModelType param.Field[NewFloatingGroupedTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingGroupedTieredPackagePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedTieredPackagePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedTieredPackagePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedTieredPackagePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedTieredPackagePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingGroupedTieredPackagePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingGroupedTieredPackagePriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingGroupedTieredPackagePriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingGroupedTieredPriceCadence added in v0.121.0

type NewFloatingGroupedTieredPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingGroupedTieredPriceCadenceAnnual     NewFloatingGroupedTieredPriceCadence = "annual"
	NewFloatingGroupedTieredPriceCadenceSemiAnnual NewFloatingGroupedTieredPriceCadence = "semi_annual"
	NewFloatingGroupedTieredPriceCadenceMonthly    NewFloatingGroupedTieredPriceCadence = "monthly"
	NewFloatingGroupedTieredPriceCadenceQuarterly  NewFloatingGroupedTieredPriceCadence = "quarterly"
	NewFloatingGroupedTieredPriceCadenceOneTime    NewFloatingGroupedTieredPriceCadence = "one_time"
	NewFloatingGroupedTieredPriceCadenceCustom     NewFloatingGroupedTieredPriceCadence = "custom"
)

func (NewFloatingGroupedTieredPriceCadence) IsKnown added in v0.121.0

type NewFloatingGroupedTieredPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingGroupedTieredPriceConversionRateConfigConversionRateType string
const (
	NewFloatingGroupedTieredPriceConversionRateConfigConversionRateTypeUnit   NewFloatingGroupedTieredPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingGroupedTieredPriceConversionRateConfigConversionRateTypeTiered NewFloatingGroupedTieredPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingGroupedTieredPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingGroupedTieredPriceConversionRateConfigParam added in v0.121.0

type NewFloatingGroupedTieredPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingGroupedTieredPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                     `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                       `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingGroupedTieredPriceConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingGroupedTieredPriceConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPriceConversionRateConfigUnionParam()

func (NewFloatingGroupedTieredPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingGroupedTieredPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingGroupedTieredPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingGroupedTieredPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingGroupedTieredPriceConversionRateConfigParam.

type NewFloatingGroupedTieredPriceModelType added in v0.121.0

type NewFloatingGroupedTieredPriceModelType string
const (
	NewFloatingGroupedTieredPriceModelTypeGroupedTiered NewFloatingGroupedTieredPriceModelType = "grouped_tiered"
)

func (NewFloatingGroupedTieredPriceModelType) IsKnown added in v0.121.0

type NewFloatingGroupedTieredPriceParam added in v0.121.0

type NewFloatingGroupedTieredPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingGroupedTieredPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency            param.Field[string]                 `json:"currency,required"`
	GroupedTieredConfig param.Field[map[string]interface{}] `json:"grouped_tiered_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                 `json:"item_id,required"`
	ModelType param.Field[NewFloatingGroupedTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingGroupedTieredPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingGroupedTieredPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedTieredPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedTieredPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedTieredPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedTieredPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingGroupedTieredPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingGroupedTieredPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingGroupedTieredPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingGroupedWithMeteredMinimumPriceCadence added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingGroupedWithMeteredMinimumPriceCadenceAnnual     NewFloatingGroupedWithMeteredMinimumPriceCadence = "annual"
	NewFloatingGroupedWithMeteredMinimumPriceCadenceSemiAnnual NewFloatingGroupedWithMeteredMinimumPriceCadence = "semi_annual"
	NewFloatingGroupedWithMeteredMinimumPriceCadenceMonthly    NewFloatingGroupedWithMeteredMinimumPriceCadence = "monthly"
	NewFloatingGroupedWithMeteredMinimumPriceCadenceQuarterly  NewFloatingGroupedWithMeteredMinimumPriceCadence = "quarterly"
	NewFloatingGroupedWithMeteredMinimumPriceCadenceOneTime    NewFloatingGroupedWithMeteredMinimumPriceCadence = "one_time"
	NewFloatingGroupedWithMeteredMinimumPriceCadenceCustom     NewFloatingGroupedWithMeteredMinimumPriceCadence = "custom"
)

func (NewFloatingGroupedWithMeteredMinimumPriceCadence) IsKnown added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType string
const (
	NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateTypeUnit   NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateTypeTiered NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigParam added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                                 `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                                   `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigParam) ImplementsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigParam) ImplementsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()

func (NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigParam.

type NewFloatingGroupedWithMeteredMinimumPriceModelType added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceModelType string
const (
	NewFloatingGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum NewFloatingGroupedWithMeteredMinimumPriceModelType = "grouped_with_metered_minimum"
)

func (NewFloatingGroupedWithMeteredMinimumPriceModelType) IsKnown added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceParam added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingGroupedWithMeteredMinimumPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency                        param.Field[string]                 `json:"currency,required"`
	GroupedWithMeteredMinimumConfig param.Field[map[string]interface{}] `json:"grouped_with_metered_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                             `json:"item_id,required"`
	ModelType param.Field[NewFloatingGroupedWithMeteredMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingGroupedWithMeteredMinimumPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedWithMeteredMinimumPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedWithMeteredMinimumPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedWithMeteredMinimumPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedWithMeteredMinimumPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingGroupedWithMeteredMinimumPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingGroupedWithMeteredMinimumPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingGroupedWithMeteredMinimumPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingGroupedWithProratedMinimumPriceCadence added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingGroupedWithProratedMinimumPriceCadenceAnnual     NewFloatingGroupedWithProratedMinimumPriceCadence = "annual"
	NewFloatingGroupedWithProratedMinimumPriceCadenceSemiAnnual NewFloatingGroupedWithProratedMinimumPriceCadence = "semi_annual"
	NewFloatingGroupedWithProratedMinimumPriceCadenceMonthly    NewFloatingGroupedWithProratedMinimumPriceCadence = "monthly"
	NewFloatingGroupedWithProratedMinimumPriceCadenceQuarterly  NewFloatingGroupedWithProratedMinimumPriceCadence = "quarterly"
	NewFloatingGroupedWithProratedMinimumPriceCadenceOneTime    NewFloatingGroupedWithProratedMinimumPriceCadence = "one_time"
	NewFloatingGroupedWithProratedMinimumPriceCadenceCustom     NewFloatingGroupedWithProratedMinimumPriceCadence = "custom"
)

func (NewFloatingGroupedWithProratedMinimumPriceCadence) IsKnown added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType string
const (
	NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigConversionRateTypeUnit   NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigConversionRateTypeTiered NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigParam added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                                  `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                                    `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigParam) ImplementsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigParam) ImplementsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()

func (NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigParam.

type NewFloatingGroupedWithProratedMinimumPriceModelType added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceModelType string
const (
	NewFloatingGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum NewFloatingGroupedWithProratedMinimumPriceModelType = "grouped_with_prorated_minimum"
)

func (NewFloatingGroupedWithProratedMinimumPriceModelType) IsKnown added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceParam added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingGroupedWithProratedMinimumPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency                         param.Field[string]                 `json:"currency,required"`
	GroupedWithProratedMinimumConfig param.Field[map[string]interface{}] `json:"grouped_with_prorated_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                              `json:"item_id,required"`
	ModelType param.Field[NewFloatingGroupedWithProratedMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingGroupedWithProratedMinimumPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedWithProratedMinimumPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedWithProratedMinimumPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingGroupedWithProratedMinimumPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingGroupedWithProratedMinimumPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingGroupedWithProratedMinimumPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingGroupedWithProratedMinimumPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingGroupedWithProratedMinimumPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingMatrixPriceCadence added in v0.121.0

type NewFloatingMatrixPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingMatrixPriceCadenceAnnual     NewFloatingMatrixPriceCadence = "annual"
	NewFloatingMatrixPriceCadenceSemiAnnual NewFloatingMatrixPriceCadence = "semi_annual"
	NewFloatingMatrixPriceCadenceMonthly    NewFloatingMatrixPriceCadence = "monthly"
	NewFloatingMatrixPriceCadenceQuarterly  NewFloatingMatrixPriceCadence = "quarterly"
	NewFloatingMatrixPriceCadenceOneTime    NewFloatingMatrixPriceCadence = "one_time"
	NewFloatingMatrixPriceCadenceCustom     NewFloatingMatrixPriceCadence = "custom"
)

func (NewFloatingMatrixPriceCadence) IsKnown added in v0.121.0

func (r NewFloatingMatrixPriceCadence) IsKnown() bool

type NewFloatingMatrixPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingMatrixPriceConversionRateConfigConversionRateType string
const (
	NewFloatingMatrixPriceConversionRateConfigConversionRateTypeUnit   NewFloatingMatrixPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingMatrixPriceConversionRateConfigConversionRateTypeTiered NewFloatingMatrixPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingMatrixPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingMatrixPriceConversionRateConfigParam added in v0.121.0

type NewFloatingMatrixPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingMatrixPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                              `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingMatrixPriceConversionRateConfigParam) ImplementsNewFloatingMatrixPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingMatrixPriceConversionRateConfigParam) ImplementsNewFloatingMatrixPriceConversionRateConfigUnionParam()

func (NewFloatingMatrixPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewFloatingMatrixPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewFloatingMatrixPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingMatrixPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingMatrixPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingMatrixPriceConversionRateConfigParam.

type NewFloatingMatrixPriceModelType added in v0.121.0

type NewFloatingMatrixPriceModelType string
const (
	NewFloatingMatrixPriceModelTypeMatrix NewFloatingMatrixPriceModelType = "matrix"
)

func (NewFloatingMatrixPriceModelType) IsKnown added in v0.121.0

type NewFloatingMatrixPriceParam added in v0.121.0

type NewFloatingMatrixPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingMatrixPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID       param.Field[string]                          `json:"item_id,required"`
	MatrixConfig param.Field[MatrixConfigParam]               `json:"matrix_config,required"`
	ModelType    param.Field[NewFloatingMatrixPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingMatrixPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingMatrixPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingMatrixPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingMatrixPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingMatrixPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingMatrixPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingMatrixPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingMatrixPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingMatrixPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingMatrixWithAllocationPriceCadence added in v0.121.0

type NewFloatingMatrixWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingMatrixWithAllocationPriceCadenceAnnual     NewFloatingMatrixWithAllocationPriceCadence = "annual"
	NewFloatingMatrixWithAllocationPriceCadenceSemiAnnual NewFloatingMatrixWithAllocationPriceCadence = "semi_annual"
	NewFloatingMatrixWithAllocationPriceCadenceMonthly    NewFloatingMatrixWithAllocationPriceCadence = "monthly"
	NewFloatingMatrixWithAllocationPriceCadenceQuarterly  NewFloatingMatrixWithAllocationPriceCadence = "quarterly"
	NewFloatingMatrixWithAllocationPriceCadenceOneTime    NewFloatingMatrixWithAllocationPriceCadence = "one_time"
	NewFloatingMatrixWithAllocationPriceCadenceCustom     NewFloatingMatrixWithAllocationPriceCadence = "custom"
)

func (NewFloatingMatrixWithAllocationPriceCadence) IsKnown added in v0.121.0

type NewFloatingMatrixWithAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingMatrixWithAllocationPriceConversionRateConfigConversionRateType string
const (
	NewFloatingMatrixWithAllocationPriceConversionRateConfigConversionRateTypeUnit   NewFloatingMatrixWithAllocationPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingMatrixWithAllocationPriceConversionRateConfigConversionRateTypeTiered NewFloatingMatrixWithAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingMatrixWithAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingMatrixWithAllocationPriceConversionRateConfigParam added in v0.121.0

type NewFloatingMatrixWithAllocationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingMatrixWithAllocationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                            `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                              `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingMatrixWithAllocationPriceConversionRateConfigParam) ImplementsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingMatrixWithAllocationPriceConversionRateConfigParam) ImplementsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam()

func (NewFloatingMatrixWithAllocationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingMatrixWithAllocationPriceConversionRateConfigParam.

type NewFloatingMatrixWithAllocationPriceModelType added in v0.121.0

type NewFloatingMatrixWithAllocationPriceModelType string
const (
	NewFloatingMatrixWithAllocationPriceModelTypeMatrixWithAllocation NewFloatingMatrixWithAllocationPriceModelType = "matrix_with_allocation"
)

func (NewFloatingMatrixWithAllocationPriceModelType) IsKnown added in v0.121.0

type NewFloatingMatrixWithAllocationPriceParam added in v0.121.0

type NewFloatingMatrixWithAllocationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingMatrixWithAllocationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID                     param.Field[string]                                        `json:"item_id,required"`
	MatrixWithAllocationConfig param.Field[MatrixWithAllocationConfigParam]               `json:"matrix_with_allocation_config,required"`
	ModelType                  param.Field[NewFloatingMatrixWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingMatrixWithAllocationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingMatrixWithAllocationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingMatrixWithAllocationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingMatrixWithAllocationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingMatrixWithAllocationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingMatrixWithAllocationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingMatrixWithAllocationPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingMatrixWithAllocationPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingMatrixWithDisplayNamePriceCadence added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingMatrixWithDisplayNamePriceCadenceAnnual     NewFloatingMatrixWithDisplayNamePriceCadence = "annual"
	NewFloatingMatrixWithDisplayNamePriceCadenceSemiAnnual NewFloatingMatrixWithDisplayNamePriceCadence = "semi_annual"
	NewFloatingMatrixWithDisplayNamePriceCadenceMonthly    NewFloatingMatrixWithDisplayNamePriceCadence = "monthly"
	NewFloatingMatrixWithDisplayNamePriceCadenceQuarterly  NewFloatingMatrixWithDisplayNamePriceCadence = "quarterly"
	NewFloatingMatrixWithDisplayNamePriceCadenceOneTime    NewFloatingMatrixWithDisplayNamePriceCadence = "one_time"
	NewFloatingMatrixWithDisplayNamePriceCadenceCustom     NewFloatingMatrixWithDisplayNamePriceCadence = "custom"
)

func (NewFloatingMatrixWithDisplayNamePriceCadence) IsKnown added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceConversionRateConfigConversionRateType string
const (
	NewFloatingMatrixWithDisplayNamePriceConversionRateConfigConversionRateTypeUnit   NewFloatingMatrixWithDisplayNamePriceConversionRateConfigConversionRateType = "unit"
	NewFloatingMatrixWithDisplayNamePriceConversionRateConfigConversionRateTypeTiered NewFloatingMatrixWithDisplayNamePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingMatrixWithDisplayNamePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceConversionRateConfigParam added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingMatrixWithDisplayNamePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                             `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                               `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingMatrixWithDisplayNamePriceConversionRateConfigParam) ImplementsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingMatrixWithDisplayNamePriceConversionRateConfigParam) ImplementsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam()

func (NewFloatingMatrixWithDisplayNamePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingMatrixWithDisplayNamePriceConversionRateConfigParam.

type NewFloatingMatrixWithDisplayNamePriceModelType added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceModelType string
const (
	NewFloatingMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName NewFloatingMatrixWithDisplayNamePriceModelType = "matrix_with_display_name"
)

func (NewFloatingMatrixWithDisplayNamePriceModelType) IsKnown added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceParam added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingMatrixWithDisplayNamePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                         `json:"item_id,required"`
	MatrixWithDisplayNameConfig param.Field[map[string]interface{}]                         `json:"matrix_with_display_name_config,required"`
	ModelType                   param.Field[NewFloatingMatrixWithDisplayNamePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingMatrixWithDisplayNamePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingMatrixWithDisplayNamePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingMatrixWithDisplayNamePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingMatrixWithDisplayNamePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingMatrixWithDisplayNamePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingMatrixWithDisplayNamePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingMatrixWithDisplayNamePriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingMatrixWithDisplayNamePriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingMaxGroupTieredPackagePriceCadence added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingMaxGroupTieredPackagePriceCadenceAnnual     NewFloatingMaxGroupTieredPackagePriceCadence = "annual"
	NewFloatingMaxGroupTieredPackagePriceCadenceSemiAnnual NewFloatingMaxGroupTieredPackagePriceCadence = "semi_annual"
	NewFloatingMaxGroupTieredPackagePriceCadenceMonthly    NewFloatingMaxGroupTieredPackagePriceCadence = "monthly"
	NewFloatingMaxGroupTieredPackagePriceCadenceQuarterly  NewFloatingMaxGroupTieredPackagePriceCadence = "quarterly"
	NewFloatingMaxGroupTieredPackagePriceCadenceOneTime    NewFloatingMaxGroupTieredPackagePriceCadence = "one_time"
	NewFloatingMaxGroupTieredPackagePriceCadenceCustom     NewFloatingMaxGroupTieredPackagePriceCadence = "custom"
)

func (NewFloatingMaxGroupTieredPackagePriceCadence) IsKnown added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceConversionRateConfigConversionRateType string
const (
	NewFloatingMaxGroupTieredPackagePriceConversionRateConfigConversionRateTypeUnit   NewFloatingMaxGroupTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	NewFloatingMaxGroupTieredPackagePriceConversionRateConfigConversionRateTypeTiered NewFloatingMaxGroupTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingMaxGroupTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceConversionRateConfigParam added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingMaxGroupTieredPackagePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                             `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                               `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingMaxGroupTieredPackagePriceConversionRateConfigParam) ImplementsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingMaxGroupTieredPackagePriceConversionRateConfigParam) ImplementsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam()

func (NewFloatingMaxGroupTieredPackagePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingMaxGroupTieredPackagePriceConversionRateConfigParam.

type NewFloatingMaxGroupTieredPackagePriceModelType added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceModelType string
const (
	NewFloatingMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage NewFloatingMaxGroupTieredPackagePriceModelType = "max_group_tiered_package"
)

func (NewFloatingMaxGroupTieredPackagePriceModelType) IsKnown added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceParam added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingMaxGroupTieredPackagePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                         `json:"item_id,required"`
	MaxGroupTieredPackageConfig param.Field[map[string]interface{}]                         `json:"max_group_tiered_package_config,required"`
	ModelType                   param.Field[NewFloatingMaxGroupTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingMaxGroupTieredPackagePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingMaxGroupTieredPackagePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingMaxGroupTieredPackagePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingMaxGroupTieredPackagePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingMaxGroupTieredPackagePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingMaxGroupTieredPackagePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingMaxGroupTieredPackagePriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingMaxGroupTieredPackagePriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingPackagePriceCadence added in v0.121.0

type NewFloatingPackagePriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingPackagePriceCadenceAnnual     NewFloatingPackagePriceCadence = "annual"
	NewFloatingPackagePriceCadenceSemiAnnual NewFloatingPackagePriceCadence = "semi_annual"
	NewFloatingPackagePriceCadenceMonthly    NewFloatingPackagePriceCadence = "monthly"
	NewFloatingPackagePriceCadenceQuarterly  NewFloatingPackagePriceCadence = "quarterly"
	NewFloatingPackagePriceCadenceOneTime    NewFloatingPackagePriceCadence = "one_time"
	NewFloatingPackagePriceCadenceCustom     NewFloatingPackagePriceCadence = "custom"
)

func (NewFloatingPackagePriceCadence) IsKnown added in v0.121.0

type NewFloatingPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingPackagePriceConversionRateConfigConversionRateType string
const (
	NewFloatingPackagePriceConversionRateConfigConversionRateTypeUnit   NewFloatingPackagePriceConversionRateConfigConversionRateType = "unit"
	NewFloatingPackagePriceConversionRateConfigConversionRateTypeTiered NewFloatingPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingPackagePriceConversionRateConfigParam added in v0.121.0

type NewFloatingPackagePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingPackagePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                               `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                 `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingPackagePriceConversionRateConfigParam) ImplementsNewFloatingPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingPackagePriceConversionRateConfigParam) ImplementsNewFloatingPackagePriceConversionRateConfigUnionParam()

func (NewFloatingPackagePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewFloatingPackagePriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewFloatingPackagePriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingPackagePriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingPackagePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingPackagePriceConversionRateConfigParam.

type NewFloatingPackagePriceModelType added in v0.121.0

type NewFloatingPackagePriceModelType string
const (
	NewFloatingPackagePriceModelTypePackage NewFloatingPackagePriceModelType = "package"
)

func (NewFloatingPackagePriceModelType) IsKnown added in v0.121.0

type NewFloatingPackagePriceParam added in v0.121.0

type NewFloatingPackagePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingPackagePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                           `json:"item_id,required"`
	ModelType param.Field[NewFloatingPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name          param.Field[string]             `json:"name,required"`
	PackageConfig param.Field[PackageConfigParam] `json:"package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingPackagePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingPackagePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingPackagePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingPackagePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingPackagePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingPackagePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingPackagePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingPackagePriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingPackagePriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingPackageWithAllocationPriceCadence added in v0.121.0

type NewFloatingPackageWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingPackageWithAllocationPriceCadenceAnnual     NewFloatingPackageWithAllocationPriceCadence = "annual"
	NewFloatingPackageWithAllocationPriceCadenceSemiAnnual NewFloatingPackageWithAllocationPriceCadence = "semi_annual"
	NewFloatingPackageWithAllocationPriceCadenceMonthly    NewFloatingPackageWithAllocationPriceCadence = "monthly"
	NewFloatingPackageWithAllocationPriceCadenceQuarterly  NewFloatingPackageWithAllocationPriceCadence = "quarterly"
	NewFloatingPackageWithAllocationPriceCadenceOneTime    NewFloatingPackageWithAllocationPriceCadence = "one_time"
	NewFloatingPackageWithAllocationPriceCadenceCustom     NewFloatingPackageWithAllocationPriceCadence = "custom"
)

func (NewFloatingPackageWithAllocationPriceCadence) IsKnown added in v0.121.0

type NewFloatingPackageWithAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingPackageWithAllocationPriceConversionRateConfigConversionRateType string
const (
	NewFloatingPackageWithAllocationPriceConversionRateConfigConversionRateTypeUnit   NewFloatingPackageWithAllocationPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingPackageWithAllocationPriceConversionRateConfigConversionRateTypeTiered NewFloatingPackageWithAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingPackageWithAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingPackageWithAllocationPriceConversionRateConfigParam added in v0.121.0

type NewFloatingPackageWithAllocationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingPackageWithAllocationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                             `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                               `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingPackageWithAllocationPriceConversionRateConfigParam) ImplementsNewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingPackageWithAllocationPriceConversionRateConfigParam) ImplementsNewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam()

func (NewFloatingPackageWithAllocationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingPackageWithAllocationPriceConversionRateConfigParam.

type NewFloatingPackageWithAllocationPriceModelType added in v0.121.0

type NewFloatingPackageWithAllocationPriceModelType string
const (
	NewFloatingPackageWithAllocationPriceModelTypePackageWithAllocation NewFloatingPackageWithAllocationPriceModelType = "package_with_allocation"
)

func (NewFloatingPackageWithAllocationPriceModelType) IsKnown added in v0.121.0

type NewFloatingPackageWithAllocationPriceParam added in v0.121.0

type NewFloatingPackageWithAllocationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingPackageWithAllocationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                         `json:"item_id,required"`
	ModelType param.Field[NewFloatingPackageWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                        param.Field[string]                 `json:"name,required"`
	PackageWithAllocationConfig param.Field[map[string]interface{}] `json:"package_with_allocation_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingPackageWithAllocationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingPackageWithAllocationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingPackageWithAllocationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingPackageWithAllocationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingPackageWithAllocationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingPackageWithAllocationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingPackageWithAllocationPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingPackageWithAllocationPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingScalableMatrixWithTieredPricingPriceCadence added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingScalableMatrixWithTieredPricingPriceCadenceAnnual     NewFloatingScalableMatrixWithTieredPricingPriceCadence = "annual"
	NewFloatingScalableMatrixWithTieredPricingPriceCadenceSemiAnnual NewFloatingScalableMatrixWithTieredPricingPriceCadence = "semi_annual"
	NewFloatingScalableMatrixWithTieredPricingPriceCadenceMonthly    NewFloatingScalableMatrixWithTieredPricingPriceCadence = "monthly"
	NewFloatingScalableMatrixWithTieredPricingPriceCadenceQuarterly  NewFloatingScalableMatrixWithTieredPricingPriceCadence = "quarterly"
	NewFloatingScalableMatrixWithTieredPricingPriceCadenceOneTime    NewFloatingScalableMatrixWithTieredPricingPriceCadence = "one_time"
	NewFloatingScalableMatrixWithTieredPricingPriceCadenceCustom     NewFloatingScalableMatrixWithTieredPricingPriceCadence = "custom"
)

func (NewFloatingScalableMatrixWithTieredPricingPriceCadence) IsKnown added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType string
const (
	NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateTypeUnit   NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateTypeTiered NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigParam added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                                       `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                                         `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()

func (NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigParam.

type NewFloatingScalableMatrixWithTieredPricingPriceModelType added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceModelType string
const (
	NewFloatingScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing NewFloatingScalableMatrixWithTieredPricingPriceModelType = "scalable_matrix_with_tiered_pricing"
)

func (NewFloatingScalableMatrixWithTieredPricingPriceModelType) IsKnown added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceParam added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingScalableMatrixWithTieredPricingPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                   `json:"item_id,required"`
	ModelType param.Field[NewFloatingScalableMatrixWithTieredPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                  param.Field[string]                 `json:"name,required"`
	ScalableMatrixWithTieredPricingConfig param.Field[map[string]interface{}] `json:"scalable_matrix_with_tiered_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingScalableMatrixWithTieredPricingPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingScalableMatrixWithTieredPricingPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingScalableMatrixWithTieredPricingPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingScalableMatrixWithTieredPricingPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingScalableMatrixWithTieredPricingPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingScalableMatrixWithTieredPricingPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingScalableMatrixWithTieredPricingPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingScalableMatrixWithTieredPricingPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingScalableMatrixWithUnitPricingPriceCadence added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingScalableMatrixWithUnitPricingPriceCadenceAnnual     NewFloatingScalableMatrixWithUnitPricingPriceCadence = "annual"
	NewFloatingScalableMatrixWithUnitPricingPriceCadenceSemiAnnual NewFloatingScalableMatrixWithUnitPricingPriceCadence = "semi_annual"
	NewFloatingScalableMatrixWithUnitPricingPriceCadenceMonthly    NewFloatingScalableMatrixWithUnitPricingPriceCadence = "monthly"
	NewFloatingScalableMatrixWithUnitPricingPriceCadenceQuarterly  NewFloatingScalableMatrixWithUnitPricingPriceCadence = "quarterly"
	NewFloatingScalableMatrixWithUnitPricingPriceCadenceOneTime    NewFloatingScalableMatrixWithUnitPricingPriceCadence = "one_time"
	NewFloatingScalableMatrixWithUnitPricingPriceCadenceCustom     NewFloatingScalableMatrixWithUnitPricingPriceCadence = "custom"
)

func (NewFloatingScalableMatrixWithUnitPricingPriceCadence) IsKnown added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType string
const (
	NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateTypeUnit   NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateTypeTiered NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigParam added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                                     `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                                       `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()

func (NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigParam.

type NewFloatingScalableMatrixWithUnitPricingPriceModelType added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceModelType string
const (
	NewFloatingScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing NewFloatingScalableMatrixWithUnitPricingPriceModelType = "scalable_matrix_with_unit_pricing"
)

func (NewFloatingScalableMatrixWithUnitPricingPriceModelType) IsKnown added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceParam added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingScalableMatrixWithUnitPricingPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                 `json:"item_id,required"`
	ModelType param.Field[NewFloatingScalableMatrixWithUnitPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                param.Field[string]                 `json:"name,required"`
	ScalableMatrixWithUnitPricingConfig param.Field[map[string]interface{}] `json:"scalable_matrix_with_unit_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingScalableMatrixWithUnitPricingPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingScalableMatrixWithUnitPricingPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingScalableMatrixWithUnitPricingPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingScalableMatrixWithUnitPricingPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingScalableMatrixWithUnitPricingPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingScalableMatrixWithUnitPricingPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingScalableMatrixWithUnitPricingPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingScalableMatrixWithUnitPricingPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingThresholdTotalAmountPriceCadence added in v0.121.0

type NewFloatingThresholdTotalAmountPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingThresholdTotalAmountPriceCadenceAnnual     NewFloatingThresholdTotalAmountPriceCadence = "annual"
	NewFloatingThresholdTotalAmountPriceCadenceSemiAnnual NewFloatingThresholdTotalAmountPriceCadence = "semi_annual"
	NewFloatingThresholdTotalAmountPriceCadenceMonthly    NewFloatingThresholdTotalAmountPriceCadence = "monthly"
	NewFloatingThresholdTotalAmountPriceCadenceQuarterly  NewFloatingThresholdTotalAmountPriceCadence = "quarterly"
	NewFloatingThresholdTotalAmountPriceCadenceOneTime    NewFloatingThresholdTotalAmountPriceCadence = "one_time"
	NewFloatingThresholdTotalAmountPriceCadenceCustom     NewFloatingThresholdTotalAmountPriceCadence = "custom"
)

func (NewFloatingThresholdTotalAmountPriceCadence) IsKnown added in v0.121.0

type NewFloatingThresholdTotalAmountPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingThresholdTotalAmountPriceConversionRateConfigConversionRateType string
const (
	NewFloatingThresholdTotalAmountPriceConversionRateConfigConversionRateTypeUnit   NewFloatingThresholdTotalAmountPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingThresholdTotalAmountPriceConversionRateConfigConversionRateTypeTiered NewFloatingThresholdTotalAmountPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingThresholdTotalAmountPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingThresholdTotalAmountPriceConversionRateConfigParam added in v0.121.0

type NewFloatingThresholdTotalAmountPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingThresholdTotalAmountPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                            `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                              `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingThresholdTotalAmountPriceConversionRateConfigParam) ImplementsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingThresholdTotalAmountPriceConversionRateConfigParam) ImplementsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam()

func (NewFloatingThresholdTotalAmountPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingThresholdTotalAmountPriceConversionRateConfigParam.

type NewFloatingThresholdTotalAmountPriceModelType added in v0.121.0

type NewFloatingThresholdTotalAmountPriceModelType string
const (
	NewFloatingThresholdTotalAmountPriceModelTypeThresholdTotalAmount NewFloatingThresholdTotalAmountPriceModelType = "threshold_total_amount"
)

func (NewFloatingThresholdTotalAmountPriceModelType) IsKnown added in v0.121.0

type NewFloatingThresholdTotalAmountPriceParam added in v0.121.0

type NewFloatingThresholdTotalAmountPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingThresholdTotalAmountPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                        `json:"item_id,required"`
	ModelType param.Field[NewFloatingThresholdTotalAmountPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                       param.Field[string]                 `json:"name,required"`
	ThresholdTotalAmountConfig param.Field[map[string]interface{}] `json:"threshold_total_amount_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingThresholdTotalAmountPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingThresholdTotalAmountPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingThresholdTotalAmountPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingThresholdTotalAmountPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingThresholdTotalAmountPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingThresholdTotalAmountPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingThresholdTotalAmountPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingThresholdTotalAmountPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingTieredBPSPriceCadence added in v0.121.0

type NewFloatingTieredBPSPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingTieredBPSPriceCadenceAnnual     NewFloatingTieredBPSPriceCadence = "annual"
	NewFloatingTieredBPSPriceCadenceSemiAnnual NewFloatingTieredBPSPriceCadence = "semi_annual"
	NewFloatingTieredBPSPriceCadenceMonthly    NewFloatingTieredBPSPriceCadence = "monthly"
	NewFloatingTieredBPSPriceCadenceQuarterly  NewFloatingTieredBPSPriceCadence = "quarterly"
	NewFloatingTieredBPSPriceCadenceOneTime    NewFloatingTieredBPSPriceCadence = "one_time"
	NewFloatingTieredBPSPriceCadenceCustom     NewFloatingTieredBPSPriceCadence = "custom"
)

func (NewFloatingTieredBPSPriceCadence) IsKnown added in v0.121.0

type NewFloatingTieredBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingTieredBPSPriceConversionRateConfigConversionRateType string
const (
	NewFloatingTieredBPSPriceConversionRateConfigConversionRateTypeUnit   NewFloatingTieredBPSPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingTieredBPSPriceConversionRateConfigConversionRateTypeTiered NewFloatingTieredBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingTieredBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingTieredBPSPriceConversionRateConfigParam added in v0.121.0

type NewFloatingTieredBPSPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingTieredBPSPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                 `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                   `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingTieredBPSPriceConversionRateConfigParam) ImplementsNewFloatingTieredBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingTieredBPSPriceConversionRateConfigParam) ImplementsNewFloatingTieredBPSPriceConversionRateConfigUnionParam()

func (NewFloatingTieredBPSPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewFloatingTieredBPSPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewFloatingTieredBPSPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingTieredBPSPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingTieredBPSPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingTieredBPSPriceConversionRateConfigParam.

type NewFloatingTieredBPSPriceModelType added in v0.121.0

type NewFloatingTieredBPSPriceModelType string
const (
	NewFloatingTieredBPSPriceModelTypeTieredBPS NewFloatingTieredBPSPriceModelType = "tiered_bps"
)

func (NewFloatingTieredBPSPriceModelType) IsKnown added in v0.121.0

type NewFloatingTieredBPSPriceParam added in v0.121.0

type NewFloatingTieredBPSPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingTieredBPSPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                             `json:"item_id,required"`
	ModelType param.Field[NewFloatingTieredBPSPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name            param.Field[string]               `json:"name,required"`
	TieredBPSConfig param.Field[TieredBPSConfigParam] `json:"tiered_bps_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingTieredBPSPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingTieredBPSPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredBPSPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredBPSPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredBPSPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredBPSPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingTieredBPSPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingTieredBPSPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingTieredBPSPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingTieredPackagePriceCadence added in v0.121.0

type NewFloatingTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingTieredPackagePriceCadenceAnnual     NewFloatingTieredPackagePriceCadence = "annual"
	NewFloatingTieredPackagePriceCadenceSemiAnnual NewFloatingTieredPackagePriceCadence = "semi_annual"
	NewFloatingTieredPackagePriceCadenceMonthly    NewFloatingTieredPackagePriceCadence = "monthly"
	NewFloatingTieredPackagePriceCadenceQuarterly  NewFloatingTieredPackagePriceCadence = "quarterly"
	NewFloatingTieredPackagePriceCadenceOneTime    NewFloatingTieredPackagePriceCadence = "one_time"
	NewFloatingTieredPackagePriceCadenceCustom     NewFloatingTieredPackagePriceCadence = "custom"
)

func (NewFloatingTieredPackagePriceCadence) IsKnown added in v0.121.0

type NewFloatingTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingTieredPackagePriceConversionRateConfigConversionRateType string
const (
	NewFloatingTieredPackagePriceConversionRateConfigConversionRateTypeUnit   NewFloatingTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	NewFloatingTieredPackagePriceConversionRateConfigConversionRateTypeTiered NewFloatingTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingTieredPackagePriceConversionRateConfigParam added in v0.121.0

type NewFloatingTieredPackagePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingTieredPackagePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                     `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                       `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingTieredPackagePriceConversionRateConfigParam) ImplementsNewFloatingTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingTieredPackagePriceConversionRateConfigParam) ImplementsNewFloatingTieredPackagePriceConversionRateConfigUnionParam()

func (NewFloatingTieredPackagePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingTieredPackagePriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingTieredPackagePriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingTieredPackagePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingTieredPackagePriceConversionRateConfigParam.

type NewFloatingTieredPackagePriceModelType added in v0.121.0

type NewFloatingTieredPackagePriceModelType string
const (
	NewFloatingTieredPackagePriceModelTypeTieredPackage NewFloatingTieredPackagePriceModelType = "tiered_package"
)

func (NewFloatingTieredPackagePriceModelType) IsKnown added in v0.121.0

type NewFloatingTieredPackagePriceParam added in v0.121.0

type NewFloatingTieredPackagePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingTieredPackagePriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                 `json:"item_id,required"`
	ModelType param.Field[NewFloatingTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                param.Field[string]                 `json:"name,required"`
	TieredPackageConfig param.Field[map[string]interface{}] `json:"tiered_package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingTieredPackagePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingTieredPackagePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredPackagePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredPackagePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredPackagePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredPackagePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingTieredPackagePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingTieredPackagePriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingTieredPackagePriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingTieredPackageWithMinimumPriceCadence added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingTieredPackageWithMinimumPriceCadenceAnnual     NewFloatingTieredPackageWithMinimumPriceCadence = "annual"
	NewFloatingTieredPackageWithMinimumPriceCadenceSemiAnnual NewFloatingTieredPackageWithMinimumPriceCadence = "semi_annual"
	NewFloatingTieredPackageWithMinimumPriceCadenceMonthly    NewFloatingTieredPackageWithMinimumPriceCadence = "monthly"
	NewFloatingTieredPackageWithMinimumPriceCadenceQuarterly  NewFloatingTieredPackageWithMinimumPriceCadence = "quarterly"
	NewFloatingTieredPackageWithMinimumPriceCadenceOneTime    NewFloatingTieredPackageWithMinimumPriceCadence = "one_time"
	NewFloatingTieredPackageWithMinimumPriceCadenceCustom     NewFloatingTieredPackageWithMinimumPriceCadence = "custom"
)

func (NewFloatingTieredPackageWithMinimumPriceCadence) IsKnown added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceConversionRateConfigConversionRateType string
const (
	NewFloatingTieredPackageWithMinimumPriceConversionRateConfigConversionRateTypeUnit   NewFloatingTieredPackageWithMinimumPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingTieredPackageWithMinimumPriceConversionRateConfigConversionRateTypeTiered NewFloatingTieredPackageWithMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingTieredPackageWithMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceConversionRateConfigParam added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingTieredPackageWithMinimumPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                                `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                                  `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingTieredPackageWithMinimumPriceConversionRateConfigParam) ImplementsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingTieredPackageWithMinimumPriceConversionRateConfigParam) ImplementsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam()

func (NewFloatingTieredPackageWithMinimumPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingTieredPackageWithMinimumPriceConversionRateConfigParam.

type NewFloatingTieredPackageWithMinimumPriceModelType added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceModelType string
const (
	NewFloatingTieredPackageWithMinimumPriceModelTypeTieredPackageWithMinimum NewFloatingTieredPackageWithMinimumPriceModelType = "tiered_package_with_minimum"
)

func (NewFloatingTieredPackageWithMinimumPriceModelType) IsKnown added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceParam added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingTieredPackageWithMinimumPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                            `json:"item_id,required"`
	ModelType param.Field[NewFloatingTieredPackageWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                           param.Field[string]                 `json:"name,required"`
	TieredPackageWithMinimumConfig param.Field[map[string]interface{}] `json:"tiered_package_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingTieredPackageWithMinimumPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredPackageWithMinimumPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredPackageWithMinimumPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredPackageWithMinimumPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredPackageWithMinimumPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingTieredPackageWithMinimumPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingTieredPackageWithMinimumPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingTieredPackageWithMinimumPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingTieredPriceCadence added in v0.121.0

type NewFloatingTieredPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingTieredPriceCadenceAnnual     NewFloatingTieredPriceCadence = "annual"
	NewFloatingTieredPriceCadenceSemiAnnual NewFloatingTieredPriceCadence = "semi_annual"
	NewFloatingTieredPriceCadenceMonthly    NewFloatingTieredPriceCadence = "monthly"
	NewFloatingTieredPriceCadenceQuarterly  NewFloatingTieredPriceCadence = "quarterly"
	NewFloatingTieredPriceCadenceOneTime    NewFloatingTieredPriceCadence = "one_time"
	NewFloatingTieredPriceCadenceCustom     NewFloatingTieredPriceCadence = "custom"
)

func (NewFloatingTieredPriceCadence) IsKnown added in v0.121.0

func (r NewFloatingTieredPriceCadence) IsKnown() bool

type NewFloatingTieredPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingTieredPriceConversionRateConfigConversionRateType string
const (
	NewFloatingTieredPriceConversionRateConfigConversionRateTypeUnit   NewFloatingTieredPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingTieredPriceConversionRateConfigConversionRateTypeTiered NewFloatingTieredPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingTieredPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingTieredPriceConversionRateConfigParam added in v0.121.0

type NewFloatingTieredPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingTieredPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                              `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingTieredPriceConversionRateConfigParam) ImplementsNewFloatingTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingTieredPriceConversionRateConfigParam) ImplementsNewFloatingTieredPriceConversionRateConfigUnionParam()

func (NewFloatingTieredPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewFloatingTieredPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewFloatingTieredPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingTieredPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingTieredPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingTieredPriceConversionRateConfigParam.

type NewFloatingTieredPriceModelType added in v0.121.0

type NewFloatingTieredPriceModelType string
const (
	NewFloatingTieredPriceModelTypeTiered NewFloatingTieredPriceModelType = "tiered"
)

func (NewFloatingTieredPriceModelType) IsKnown added in v0.121.0

type NewFloatingTieredPriceParam added in v0.121.0

type NewFloatingTieredPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingTieredPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                          `json:"item_id,required"`
	ModelType param.Field[NewFloatingTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name         param.Field[string]            `json:"name,required"`
	TieredConfig param.Field[TieredConfigParam] `json:"tiered_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingTieredPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingTieredPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingTieredPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingTieredPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingTieredPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingTieredWithMinimumPriceCadence added in v0.121.0

type NewFloatingTieredWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingTieredWithMinimumPriceCadenceAnnual     NewFloatingTieredWithMinimumPriceCadence = "annual"
	NewFloatingTieredWithMinimumPriceCadenceSemiAnnual NewFloatingTieredWithMinimumPriceCadence = "semi_annual"
	NewFloatingTieredWithMinimumPriceCadenceMonthly    NewFloatingTieredWithMinimumPriceCadence = "monthly"
	NewFloatingTieredWithMinimumPriceCadenceQuarterly  NewFloatingTieredWithMinimumPriceCadence = "quarterly"
	NewFloatingTieredWithMinimumPriceCadenceOneTime    NewFloatingTieredWithMinimumPriceCadence = "one_time"
	NewFloatingTieredWithMinimumPriceCadenceCustom     NewFloatingTieredWithMinimumPriceCadence = "custom"
)

func (NewFloatingTieredWithMinimumPriceCadence) IsKnown added in v0.121.0

type NewFloatingTieredWithMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingTieredWithMinimumPriceConversionRateConfigConversionRateType string
const (
	NewFloatingTieredWithMinimumPriceConversionRateConfigConversionRateTypeUnit   NewFloatingTieredWithMinimumPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingTieredWithMinimumPriceConversionRateConfigConversionRateTypeTiered NewFloatingTieredWithMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingTieredWithMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingTieredWithMinimumPriceConversionRateConfigParam added in v0.121.0

type NewFloatingTieredWithMinimumPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingTieredWithMinimumPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                         `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                           `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingTieredWithMinimumPriceConversionRateConfigParam) ImplementsNewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingTieredWithMinimumPriceConversionRateConfigParam) ImplementsNewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam()

func (NewFloatingTieredWithMinimumPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingTieredWithMinimumPriceConversionRateConfigParam.

type NewFloatingTieredWithMinimumPriceModelType added in v0.121.0

type NewFloatingTieredWithMinimumPriceModelType string
const (
	NewFloatingTieredWithMinimumPriceModelTypeTieredWithMinimum NewFloatingTieredWithMinimumPriceModelType = "tiered_with_minimum"
)

func (NewFloatingTieredWithMinimumPriceModelType) IsKnown added in v0.121.0

type NewFloatingTieredWithMinimumPriceParam added in v0.121.0

type NewFloatingTieredWithMinimumPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingTieredWithMinimumPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                     `json:"item_id,required"`
	ModelType param.Field[NewFloatingTieredWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                 `json:"name,required"`
	TieredWithMinimumConfig param.Field[map[string]interface{}] `json:"tiered_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingTieredWithMinimumPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredWithMinimumPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredWithMinimumPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredWithMinimumPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredWithMinimumPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingTieredWithMinimumPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingTieredWithMinimumPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingTieredWithMinimumPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingTieredWithProrationPriceCadence added in v0.121.0

type NewFloatingTieredWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingTieredWithProrationPriceCadenceAnnual     NewFloatingTieredWithProrationPriceCadence = "annual"
	NewFloatingTieredWithProrationPriceCadenceSemiAnnual NewFloatingTieredWithProrationPriceCadence = "semi_annual"
	NewFloatingTieredWithProrationPriceCadenceMonthly    NewFloatingTieredWithProrationPriceCadence = "monthly"
	NewFloatingTieredWithProrationPriceCadenceQuarterly  NewFloatingTieredWithProrationPriceCadence = "quarterly"
	NewFloatingTieredWithProrationPriceCadenceOneTime    NewFloatingTieredWithProrationPriceCadence = "one_time"
	NewFloatingTieredWithProrationPriceCadenceCustom     NewFloatingTieredWithProrationPriceCadence = "custom"
)

func (NewFloatingTieredWithProrationPriceCadence) IsKnown added in v0.121.0

type NewFloatingTieredWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingTieredWithProrationPriceConversionRateConfigConversionRateType string
const (
	NewFloatingTieredWithProrationPriceConversionRateConfigConversionRateTypeUnit   NewFloatingTieredWithProrationPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingTieredWithProrationPriceConversionRateConfigConversionRateTypeTiered NewFloatingTieredWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingTieredWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingTieredWithProrationPriceConversionRateConfigParam added in v0.121.0

type NewFloatingTieredWithProrationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingTieredWithProrationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                           `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                             `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingTieredWithProrationPriceConversionRateConfigParam) ImplementsNewFloatingTieredWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingTieredWithProrationPriceConversionRateConfigParam) ImplementsNewFloatingTieredWithProrationPriceConversionRateConfigUnionParam()

func (NewFloatingTieredWithProrationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingTieredWithProrationPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingTieredWithProrationPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingTieredWithProrationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingTieredWithProrationPriceConversionRateConfigParam.

type NewFloatingTieredWithProrationPriceModelType added in v0.121.0

type NewFloatingTieredWithProrationPriceModelType string
const (
	NewFloatingTieredWithProrationPriceModelTypeTieredWithProration NewFloatingTieredWithProrationPriceModelType = "tiered_with_proration"
)

func (NewFloatingTieredWithProrationPriceModelType) IsKnown added in v0.121.0

type NewFloatingTieredWithProrationPriceParam added in v0.121.0

type NewFloatingTieredWithProrationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingTieredWithProrationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                       `json:"item_id,required"`
	ModelType param.Field[NewFloatingTieredWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                      param.Field[string]                 `json:"name,required"`
	TieredWithProrationConfig param.Field[map[string]interface{}] `json:"tiered_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingTieredWithProrationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingTieredWithProrationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredWithProrationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredWithProrationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingTieredWithProrationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingTieredWithProrationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingTieredWithProrationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingTieredWithProrationPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingTieredWithProrationPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingUnitPriceCadence added in v0.121.0

type NewFloatingUnitPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingUnitPriceCadenceAnnual     NewFloatingUnitPriceCadence = "annual"
	NewFloatingUnitPriceCadenceSemiAnnual NewFloatingUnitPriceCadence = "semi_annual"
	NewFloatingUnitPriceCadenceMonthly    NewFloatingUnitPriceCadence = "monthly"
	NewFloatingUnitPriceCadenceQuarterly  NewFloatingUnitPriceCadence = "quarterly"
	NewFloatingUnitPriceCadenceOneTime    NewFloatingUnitPriceCadence = "one_time"
	NewFloatingUnitPriceCadenceCustom     NewFloatingUnitPriceCadence = "custom"
)

func (NewFloatingUnitPriceCadence) IsKnown added in v0.121.0

func (r NewFloatingUnitPriceCadence) IsKnown() bool

type NewFloatingUnitPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingUnitPriceConversionRateConfigConversionRateType string
const (
	NewFloatingUnitPriceConversionRateConfigConversionRateTypeUnit   NewFloatingUnitPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingUnitPriceConversionRateConfigConversionRateTypeTiered NewFloatingUnitPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingUnitPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingUnitPriceConversionRateConfigParam added in v0.121.0

type NewFloatingUnitPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingUnitPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                            `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                              `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingUnitPriceConversionRateConfigParam) ImplementsNewFloatingUnitPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingUnitPriceConversionRateConfigParam) ImplementsNewFloatingUnitPriceConversionRateConfigUnionParam()

func (NewFloatingUnitPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewFloatingUnitPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewFloatingUnitPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingUnitPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingUnitPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingUnitPriceConversionRateConfigParam.

type NewFloatingUnitPriceModelType added in v0.121.0

type NewFloatingUnitPriceModelType string
const (
	NewFloatingUnitPriceModelTypeUnit NewFloatingUnitPriceModelType = "unit"
)

func (NewFloatingUnitPriceModelType) IsKnown added in v0.121.0

func (r NewFloatingUnitPriceModelType) IsKnown() bool

type NewFloatingUnitPriceParam added in v0.121.0

type NewFloatingUnitPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingUnitPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                        `json:"item_id,required"`
	ModelType param.Field[NewFloatingUnitPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name       param.Field[string]          `json:"name,required"`
	UnitConfig param.Field[UnitConfigParam] `json:"unit_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingUnitPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingUnitPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingUnitPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingUnitPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingUnitPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingUnitPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingUnitPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingUnitPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingUnitPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingUnitWithPercentPriceCadence added in v0.121.0

type NewFloatingUnitWithPercentPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingUnitWithPercentPriceCadenceAnnual     NewFloatingUnitWithPercentPriceCadence = "annual"
	NewFloatingUnitWithPercentPriceCadenceSemiAnnual NewFloatingUnitWithPercentPriceCadence = "semi_annual"
	NewFloatingUnitWithPercentPriceCadenceMonthly    NewFloatingUnitWithPercentPriceCadence = "monthly"
	NewFloatingUnitWithPercentPriceCadenceQuarterly  NewFloatingUnitWithPercentPriceCadence = "quarterly"
	NewFloatingUnitWithPercentPriceCadenceOneTime    NewFloatingUnitWithPercentPriceCadence = "one_time"
	NewFloatingUnitWithPercentPriceCadenceCustom     NewFloatingUnitWithPercentPriceCadence = "custom"
)

func (NewFloatingUnitWithPercentPriceCadence) IsKnown added in v0.121.0

type NewFloatingUnitWithPercentPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingUnitWithPercentPriceConversionRateConfigConversionRateType string
const (
	NewFloatingUnitWithPercentPriceConversionRateConfigConversionRateTypeUnit   NewFloatingUnitWithPercentPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingUnitWithPercentPriceConversionRateConfigConversionRateTypeTiered NewFloatingUnitWithPercentPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingUnitWithPercentPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingUnitWithPercentPriceConversionRateConfigParam added in v0.121.0

type NewFloatingUnitWithPercentPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingUnitWithPercentPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                       `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                         `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingUnitWithPercentPriceConversionRateConfigParam) ImplementsNewFloatingUnitWithPercentPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingUnitWithPercentPriceConversionRateConfigParam) ImplementsNewFloatingUnitWithPercentPriceConversionRateConfigUnionParam()

func (NewFloatingUnitWithPercentPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingUnitWithPercentPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingUnitWithPercentPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingUnitWithPercentPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingUnitWithPercentPriceConversionRateConfigParam.

type NewFloatingUnitWithPercentPriceModelType added in v0.121.0

type NewFloatingUnitWithPercentPriceModelType string
const (
	NewFloatingUnitWithPercentPriceModelTypeUnitWithPercent NewFloatingUnitWithPercentPriceModelType = "unit_with_percent"
)

func (NewFloatingUnitWithPercentPriceModelType) IsKnown added in v0.121.0

type NewFloatingUnitWithPercentPriceParam added in v0.121.0

type NewFloatingUnitWithPercentPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingUnitWithPercentPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                   `json:"item_id,required"`
	ModelType param.Field[NewFloatingUnitWithPercentPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                  param.Field[string]                 `json:"name,required"`
	UnitWithPercentConfig param.Field[map[string]interface{}] `json:"unit_with_percent_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingUnitWithPercentPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingUnitWithPercentPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingUnitWithPercentPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingUnitWithPercentPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingUnitWithPercentPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingUnitWithPercentPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingUnitWithPercentPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingUnitWithPercentPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingUnitWithPercentPriceParam) MarshalJSON() (data []byte, err error)

type NewFloatingUnitWithProrationPriceCadence added in v0.121.0

type NewFloatingUnitWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingUnitWithProrationPriceCadenceAnnual     NewFloatingUnitWithProrationPriceCadence = "annual"
	NewFloatingUnitWithProrationPriceCadenceSemiAnnual NewFloatingUnitWithProrationPriceCadence = "semi_annual"
	NewFloatingUnitWithProrationPriceCadenceMonthly    NewFloatingUnitWithProrationPriceCadence = "monthly"
	NewFloatingUnitWithProrationPriceCadenceQuarterly  NewFloatingUnitWithProrationPriceCadence = "quarterly"
	NewFloatingUnitWithProrationPriceCadenceOneTime    NewFloatingUnitWithProrationPriceCadence = "one_time"
	NewFloatingUnitWithProrationPriceCadenceCustom     NewFloatingUnitWithProrationPriceCadence = "custom"
)

func (NewFloatingUnitWithProrationPriceCadence) IsKnown added in v0.121.0

type NewFloatingUnitWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewFloatingUnitWithProrationPriceConversionRateConfigConversionRateType string
const (
	NewFloatingUnitWithProrationPriceConversionRateConfigConversionRateTypeUnit   NewFloatingUnitWithProrationPriceConversionRateConfigConversionRateType = "unit"
	NewFloatingUnitWithProrationPriceConversionRateConfigConversionRateTypeTiered NewFloatingUnitWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingUnitWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewFloatingUnitWithProrationPriceConversionRateConfigParam added in v0.121.0

type NewFloatingUnitWithProrationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewFloatingUnitWithProrationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                         `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                           `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewFloatingUnitWithProrationPriceConversionRateConfigParam) ImplementsNewFloatingUnitWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewFloatingUnitWithProrationPriceConversionRateConfigParam) ImplementsNewFloatingUnitWithProrationPriceConversionRateConfigUnionParam()

func (NewFloatingUnitWithProrationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewFloatingUnitWithProrationPriceConversionRateConfigUnionParam added in v0.121.0

type NewFloatingUnitWithProrationPriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingUnitWithProrationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingUnitWithProrationPriceConversionRateConfigParam.

type NewFloatingUnitWithProrationPriceModelType added in v0.121.0

type NewFloatingUnitWithProrationPriceModelType string
const (
	NewFloatingUnitWithProrationPriceModelTypeUnitWithProration NewFloatingUnitWithProrationPriceModelType = "unit_with_proration"
)

func (NewFloatingUnitWithProrationPriceModelType) IsKnown added in v0.121.0

type NewFloatingUnitWithProrationPriceParam added in v0.121.0

type NewFloatingUnitWithProrationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingUnitWithProrationPriceCadence] `json:"cadence,required"`
	// An ISO 4217 currency string for which this price is billed in.
	Currency param.Field[string] `json:"currency,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                     `json:"item_id,required"`
	ModelType param.Field[NewFloatingUnitWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                 `json:"name,required"`
	UnitWithProrationConfig param.Field[map[string]interface{}] `json:"unit_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewFloatingUnitWithProrationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
}

func (NewFloatingUnitWithProrationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingUnitWithProrationPriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingUnitWithProrationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v0.121.0

func (r NewFloatingUnitWithProrationPriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingUnitWithProrationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v0.121.0

func (r NewFloatingUnitWithProrationPriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingUnitWithProrationPriceParam) MarshalJSON added in v0.121.0

func (r NewFloatingUnitWithProrationPriceParam) MarshalJSON() (data []byte, err error)

type NewMaximumAdjustmentType added in v0.121.0

type NewMaximumAdjustmentType string
const (
	NewMaximumAdjustmentTypeMaximum NewMaximumAdjustmentType = "maximum"
)

func (NewMaximumAdjustmentType) IsKnown added in v0.121.0

func (r NewMaximumAdjustmentType) IsKnown() bool

type NewMaximumAppliesToAll added in v0.121.0

type NewMaximumAppliesToAll bool

If set, the adjustment will apply to every price on the subscription.

const (
	NewMaximumAppliesToAllTrue NewMaximumAppliesToAll = true
)

func (NewMaximumAppliesToAll) IsKnown added in v0.121.0

func (r NewMaximumAppliesToAll) IsKnown() bool

type NewMaximumParam added in v0.121.0

type NewMaximumParam struct {
	AdjustmentType param.Field[NewMaximumAdjustmentType] `json:"adjustment_type,required"`
	MaximumAmount  param.Field[string]                   `json:"maximum_amount,required"`
	// If set, the adjustment will apply to every price on the subscription.
	AppliesToAll param.Field[NewMaximumAppliesToAll] `json:"applies_to_all"`
	// The set of item IDs to which this adjustment applies.
	AppliesToItemIDs param.Field[[]string] `json:"applies_to_item_ids"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// If set, only prices in the specified currency will have the adjustment applied.
	Currency param.Field[string] `json:"currency"`
	// A list of filters that determine which prices this adjustment will apply to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	// When false, this adjustment will be applied to a single price. Otherwise, it
	// will be applied at the invoice level, possibly to multiple prices.
	IsInvoiceLevel param.Field[bool] `json:"is_invoice_level"`
	// If set, only prices of the specified type will have the adjustment applied.
	PriceType param.Field[NewMaximumPriceType] `json:"price_type"`
}

func (NewMaximumParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion added in v1.2.0

func (r NewMaximumParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion()

func (NewMaximumParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMaximumParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion()

func (NewMaximumParam) MarshalJSON added in v0.121.0

func (r NewMaximumParam) MarshalJSON() (data []byte, err error)

type NewMaximumPriceType added in v0.121.0

type NewMaximumPriceType string

If set, only prices of the specified type will have the adjustment applied.

const (
	NewMaximumPriceTypeUsage          NewMaximumPriceType = "usage"
	NewMaximumPriceTypeFixedInAdvance NewMaximumPriceType = "fixed_in_advance"
	NewMaximumPriceTypeFixedInArrears NewMaximumPriceType = "fixed_in_arrears"
	NewMaximumPriceTypeFixed          NewMaximumPriceType = "fixed"
	NewMaximumPriceTypeInArrears      NewMaximumPriceType = "in_arrears"
)

func (NewMaximumPriceType) IsKnown added in v0.121.0

func (r NewMaximumPriceType) IsKnown() bool

type NewMinimumAdjustmentType added in v0.121.0

type NewMinimumAdjustmentType string
const (
	NewMinimumAdjustmentTypeMinimum NewMinimumAdjustmentType = "minimum"
)

func (NewMinimumAdjustmentType) IsKnown added in v0.121.0

func (r NewMinimumAdjustmentType) IsKnown() bool

type NewMinimumAppliesToAll added in v0.121.0

type NewMinimumAppliesToAll bool

If set, the adjustment will apply to every price on the subscription.

const (
	NewMinimumAppliesToAllTrue NewMinimumAppliesToAll = true
)

func (NewMinimumAppliesToAll) IsKnown added in v0.121.0

func (r NewMinimumAppliesToAll) IsKnown() bool

type NewMinimumParam added in v0.121.0

type NewMinimumParam struct {
	AdjustmentType param.Field[NewMinimumAdjustmentType] `json:"adjustment_type,required"`
	// The item ID that revenue from this minimum will be attributed to.
	ItemID        param.Field[string] `json:"item_id,required"`
	MinimumAmount param.Field[string] `json:"minimum_amount,required"`
	// If set, the adjustment will apply to every price on the subscription.
	AppliesToAll param.Field[NewMinimumAppliesToAll] `json:"applies_to_all"`
	// The set of item IDs to which this adjustment applies.
	AppliesToItemIDs param.Field[[]string] `json:"applies_to_item_ids"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// If set, only prices in the specified currency will have the adjustment applied.
	Currency param.Field[string] `json:"currency"`
	// A list of filters that determine which prices this adjustment will apply to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	// When false, this adjustment will be applied to a single price. Otherwise, it
	// will be applied at the invoice level, possibly to multiple prices.
	IsInvoiceLevel param.Field[bool] `json:"is_invoice_level"`
	// If set, only prices of the specified type will have the adjustment applied.
	PriceType param.Field[NewMinimumPriceType] `json:"price_type"`
}

func (NewMinimumParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion added in v1.2.0

func (r NewMinimumParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion()

func (NewMinimumParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewMinimumParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion()

func (NewMinimumParam) MarshalJSON added in v0.121.0

func (r NewMinimumParam) MarshalJSON() (data []byte, err error)

type NewMinimumPriceType added in v0.121.0

type NewMinimumPriceType string

If set, only prices of the specified type will have the adjustment applied.

const (
	NewMinimumPriceTypeUsage          NewMinimumPriceType = "usage"
	NewMinimumPriceTypeFixedInAdvance NewMinimumPriceType = "fixed_in_advance"
	NewMinimumPriceTypeFixedInArrears NewMinimumPriceType = "fixed_in_arrears"
	NewMinimumPriceTypeFixed          NewMinimumPriceType = "fixed"
	NewMinimumPriceTypeInArrears      NewMinimumPriceType = "in_arrears"
)

func (NewMinimumPriceType) IsKnown added in v0.121.0

func (r NewMinimumPriceType) IsKnown() bool

type NewPercentageDiscountAdjustmentType added in v0.121.0

type NewPercentageDiscountAdjustmentType string
const (
	NewPercentageDiscountAdjustmentTypePercentageDiscount NewPercentageDiscountAdjustmentType = "percentage_discount"
)

func (NewPercentageDiscountAdjustmentType) IsKnown added in v0.121.0

type NewPercentageDiscountAppliesToAll added in v0.121.0

type NewPercentageDiscountAppliesToAll bool

If set, the adjustment will apply to every price on the subscription.

const (
	NewPercentageDiscountAppliesToAllTrue NewPercentageDiscountAppliesToAll = true
)

func (NewPercentageDiscountAppliesToAll) IsKnown added in v0.121.0

type NewPercentageDiscountParam added in v0.121.0

type NewPercentageDiscountParam struct {
	AdjustmentType     param.Field[NewPercentageDiscountAdjustmentType] `json:"adjustment_type,required"`
	PercentageDiscount param.Field[float64]                             `json:"percentage_discount,required"`
	// If set, the adjustment will apply to every price on the subscription.
	AppliesToAll param.Field[NewPercentageDiscountAppliesToAll] `json:"applies_to_all"`
	// The set of item IDs to which this adjustment applies.
	AppliesToItemIDs param.Field[[]string] `json:"applies_to_item_ids"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// If set, only prices in the specified currency will have the adjustment applied.
	Currency param.Field[string] `json:"currency"`
	// A list of filters that determine which prices this adjustment will apply to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	// When false, this adjustment will be applied to a single price. Otherwise, it
	// will be applied at the invoice level, possibly to multiple prices.
	IsInvoiceLevel param.Field[bool] `json:"is_invoice_level"`
	// If set, only prices of the specified type will have the adjustment applied.
	PriceType param.Field[NewPercentageDiscountPriceType] `json:"price_type"`
}

func (NewPercentageDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion added in v1.2.0

func (r NewPercentageDiscountParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewPercentageDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion()

func (NewPercentageDiscountParam) MarshalJSON added in v0.121.0

func (r NewPercentageDiscountParam) MarshalJSON() (data []byte, err error)

type NewPercentageDiscountPriceType added in v0.121.0

type NewPercentageDiscountPriceType string

If set, only prices of the specified type will have the adjustment applied.

const (
	NewPercentageDiscountPriceTypeUsage          NewPercentageDiscountPriceType = "usage"
	NewPercentageDiscountPriceTypeFixedInAdvance NewPercentageDiscountPriceType = "fixed_in_advance"
	NewPercentageDiscountPriceTypeFixedInArrears NewPercentageDiscountPriceType = "fixed_in_arrears"
	NewPercentageDiscountPriceTypeFixed          NewPercentageDiscountPriceType = "fixed"
	NewPercentageDiscountPriceTypeInArrears      NewPercentageDiscountPriceType = "in_arrears"
)

func (NewPercentageDiscountPriceType) IsKnown added in v0.121.0

type NewPlanBPSPriceCadence added in v0.121.0

type NewPlanBPSPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanBPSPriceCadenceAnnual     NewPlanBPSPriceCadence = "annual"
	NewPlanBPSPriceCadenceSemiAnnual NewPlanBPSPriceCadence = "semi_annual"
	NewPlanBPSPriceCadenceMonthly    NewPlanBPSPriceCadence = "monthly"
	NewPlanBPSPriceCadenceQuarterly  NewPlanBPSPriceCadence = "quarterly"
	NewPlanBPSPriceCadenceOneTime    NewPlanBPSPriceCadence = "one_time"
	NewPlanBPSPriceCadenceCustom     NewPlanBPSPriceCadence = "custom"
)

func (NewPlanBPSPriceCadence) IsKnown added in v0.121.0

func (r NewPlanBPSPriceCadence) IsKnown() bool

type NewPlanBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanBPSPriceConversionRateConfigConversionRateType string
const (
	NewPlanBPSPriceConversionRateConfigConversionRateTypeUnit   NewPlanBPSPriceConversionRateConfigConversionRateType = "unit"
	NewPlanBPSPriceConversionRateConfigConversionRateTypeTiered NewPlanBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanBPSPriceConversionRateConfigParam added in v0.121.0

type NewPlanBPSPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanBPSPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                       `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                         `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanBPSPriceConversionRateConfigParam) ImplementsNewPlanBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanBPSPriceConversionRateConfigParam) ImplementsNewPlanBPSPriceConversionRateConfigUnionParam()

func (NewPlanBPSPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanBPSPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanBPSPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanBPSPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanBPSPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanBPSPriceConversionRateConfigParam.

type NewPlanBPSPriceModelType added in v0.121.0

type NewPlanBPSPriceModelType string
const (
	NewPlanBPSPriceModelTypeBPS NewPlanBPSPriceModelType = "bps"
)

func (NewPlanBPSPriceModelType) IsKnown added in v0.121.0

func (r NewPlanBPSPriceModelType) IsKnown() bool

type NewPlanBPSPriceParam added in v0.121.0

type NewPlanBPSPriceParam struct {
	BPSConfig param.Field[BPSConfigParam] `json:"bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanBPSPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                   `json:"item_id,required"`
	ModelType param.Field[NewPlanBPSPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanBPSPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanBPSPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanBPSPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanBPSPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanBPSPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanBPSPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanBPSPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanBPSPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanBPSPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanBulkBPSPriceCadence added in v0.121.0

type NewPlanBulkBPSPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanBulkBPSPriceCadenceAnnual     NewPlanBulkBPSPriceCadence = "annual"
	NewPlanBulkBPSPriceCadenceSemiAnnual NewPlanBulkBPSPriceCadence = "semi_annual"
	NewPlanBulkBPSPriceCadenceMonthly    NewPlanBulkBPSPriceCadence = "monthly"
	NewPlanBulkBPSPriceCadenceQuarterly  NewPlanBulkBPSPriceCadence = "quarterly"
	NewPlanBulkBPSPriceCadenceOneTime    NewPlanBulkBPSPriceCadence = "one_time"
	NewPlanBulkBPSPriceCadenceCustom     NewPlanBulkBPSPriceCadence = "custom"
)

func (NewPlanBulkBPSPriceCadence) IsKnown added in v0.121.0

func (r NewPlanBulkBPSPriceCadence) IsKnown() bool

type NewPlanBulkBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanBulkBPSPriceConversionRateConfigConversionRateType string
const (
	NewPlanBulkBPSPriceConversionRateConfigConversionRateTypeUnit   NewPlanBulkBPSPriceConversionRateConfigConversionRateType = "unit"
	NewPlanBulkBPSPriceConversionRateConfigConversionRateTypeTiered NewPlanBulkBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanBulkBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanBulkBPSPriceConversionRateConfigParam added in v0.121.0

type NewPlanBulkBPSPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanBulkBPSPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                           `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                             `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanBulkBPSPriceConversionRateConfigParam) ImplementsNewPlanBulkBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanBulkBPSPriceConversionRateConfigParam) ImplementsNewPlanBulkBPSPriceConversionRateConfigUnionParam()

func (NewPlanBulkBPSPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanBulkBPSPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanBulkBPSPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanBulkBPSPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanBulkBPSPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanBulkBPSPriceConversionRateConfigParam.

type NewPlanBulkBPSPriceModelType added in v0.121.0

type NewPlanBulkBPSPriceModelType string
const (
	NewPlanBulkBPSPriceModelTypeBulkBPS NewPlanBulkBPSPriceModelType = "bulk_bps"
)

func (NewPlanBulkBPSPriceModelType) IsKnown added in v0.121.0

func (r NewPlanBulkBPSPriceModelType) IsKnown() bool

type NewPlanBulkBPSPriceParam added in v0.121.0

type NewPlanBulkBPSPriceParam struct {
	BulkBPSConfig param.Field[BulkBPSConfigParam] `json:"bulk_bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanBulkBPSPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                       `json:"item_id,required"`
	ModelType param.Field[NewPlanBulkBPSPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanBulkBPSPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanBulkBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanBulkBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanBulkBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanBulkBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanBulkBPSPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanBulkBPSPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanBulkBPSPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanBulkBPSPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanBulkBPSPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanBulkBPSPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanBulkBPSPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanBulkBPSPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanBulkPriceCadence added in v0.121.0

type NewPlanBulkPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanBulkPriceCadenceAnnual     NewPlanBulkPriceCadence = "annual"
	NewPlanBulkPriceCadenceSemiAnnual NewPlanBulkPriceCadence = "semi_annual"
	NewPlanBulkPriceCadenceMonthly    NewPlanBulkPriceCadence = "monthly"
	NewPlanBulkPriceCadenceQuarterly  NewPlanBulkPriceCadence = "quarterly"
	NewPlanBulkPriceCadenceOneTime    NewPlanBulkPriceCadence = "one_time"
	NewPlanBulkPriceCadenceCustom     NewPlanBulkPriceCadence = "custom"
)

func (NewPlanBulkPriceCadence) IsKnown added in v0.121.0

func (r NewPlanBulkPriceCadence) IsKnown() bool

type NewPlanBulkPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanBulkPriceConversionRateConfigConversionRateType string
const (
	NewPlanBulkPriceConversionRateConfigConversionRateTypeUnit   NewPlanBulkPriceConversionRateConfigConversionRateType = "unit"
	NewPlanBulkPriceConversionRateConfigConversionRateTypeTiered NewPlanBulkPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanBulkPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanBulkPriceConversionRateConfigParam added in v0.121.0

type NewPlanBulkPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanBulkPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                        `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                          `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanBulkPriceConversionRateConfigParam) ImplementsNewPlanBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanBulkPriceConversionRateConfigParam) ImplementsNewPlanBulkPriceConversionRateConfigUnionParam()

func (NewPlanBulkPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanBulkPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanBulkPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanBulkPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanBulkPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanBulkPriceConversionRateConfigParam.

type NewPlanBulkPriceModelType added in v0.121.0

type NewPlanBulkPriceModelType string
const (
	NewPlanBulkPriceModelTypeBulk NewPlanBulkPriceModelType = "bulk"
)

func (NewPlanBulkPriceModelType) IsKnown added in v0.121.0

func (r NewPlanBulkPriceModelType) IsKnown() bool

type NewPlanBulkPriceParam added in v0.121.0

type NewPlanBulkPriceParam struct {
	BulkConfig param.Field[BulkConfigParam] `json:"bulk_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanBulkPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                    `json:"item_id,required"`
	ModelType param.Field[NewPlanBulkPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanBulkPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanBulkPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanBulkPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanBulkPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanBulkPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanBulkPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanBulkPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanBulkPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanBulkPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanBulkPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanBulkPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanBulkPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanBulkPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanBulkWithProrationPriceCadence added in v0.121.0

type NewPlanBulkWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanBulkWithProrationPriceCadenceAnnual     NewPlanBulkWithProrationPriceCadence = "annual"
	NewPlanBulkWithProrationPriceCadenceSemiAnnual NewPlanBulkWithProrationPriceCadence = "semi_annual"
	NewPlanBulkWithProrationPriceCadenceMonthly    NewPlanBulkWithProrationPriceCadence = "monthly"
	NewPlanBulkWithProrationPriceCadenceQuarterly  NewPlanBulkWithProrationPriceCadence = "quarterly"
	NewPlanBulkWithProrationPriceCadenceOneTime    NewPlanBulkWithProrationPriceCadence = "one_time"
	NewPlanBulkWithProrationPriceCadenceCustom     NewPlanBulkWithProrationPriceCadence = "custom"
)

func (NewPlanBulkWithProrationPriceCadence) IsKnown added in v0.121.0

type NewPlanBulkWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanBulkWithProrationPriceConversionRateConfigConversionRateType string
const (
	NewPlanBulkWithProrationPriceConversionRateConfigConversionRateTypeUnit   NewPlanBulkWithProrationPriceConversionRateConfigConversionRateType = "unit"
	NewPlanBulkWithProrationPriceConversionRateConfigConversionRateTypeTiered NewPlanBulkWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanBulkWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanBulkWithProrationPriceConversionRateConfigParam added in v0.121.0

type NewPlanBulkWithProrationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanBulkWithProrationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                     `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                       `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanBulkWithProrationPriceConversionRateConfigParam) ImplementsNewPlanBulkWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanBulkWithProrationPriceConversionRateConfigParam) ImplementsNewPlanBulkWithProrationPriceConversionRateConfigUnionParam()

func (NewPlanBulkWithProrationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanBulkWithProrationPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanBulkWithProrationPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanBulkWithProrationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanBulkWithProrationPriceConversionRateConfigParam.

type NewPlanBulkWithProrationPriceModelType added in v0.121.0

type NewPlanBulkWithProrationPriceModelType string
const (
	NewPlanBulkWithProrationPriceModelTypeBulkWithProration NewPlanBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (NewPlanBulkWithProrationPriceModelType) IsKnown added in v0.121.0

type NewPlanBulkWithProrationPriceParam added in v0.121.0

type NewPlanBulkWithProrationPriceParam struct {
	BulkWithProrationConfig param.Field[map[string]interface{}] `json:"bulk_with_proration_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanBulkWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                 `json:"item_id,required"`
	ModelType param.Field[NewPlanBulkWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanBulkWithProrationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanBulkWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanBulkWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanBulkWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanBulkWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanBulkWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanBulkWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanBulkWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanBulkWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanBulkWithProrationPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanBulkWithProrationPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanBulkWithProrationPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanBulkWithProrationPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanCumulativeGroupedBulkPriceCadence added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanCumulativeGroupedBulkPriceCadenceAnnual     NewPlanCumulativeGroupedBulkPriceCadence = "annual"
	NewPlanCumulativeGroupedBulkPriceCadenceSemiAnnual NewPlanCumulativeGroupedBulkPriceCadence = "semi_annual"
	NewPlanCumulativeGroupedBulkPriceCadenceMonthly    NewPlanCumulativeGroupedBulkPriceCadence = "monthly"
	NewPlanCumulativeGroupedBulkPriceCadenceQuarterly  NewPlanCumulativeGroupedBulkPriceCadence = "quarterly"
	NewPlanCumulativeGroupedBulkPriceCadenceOneTime    NewPlanCumulativeGroupedBulkPriceCadence = "one_time"
	NewPlanCumulativeGroupedBulkPriceCadenceCustom     NewPlanCumulativeGroupedBulkPriceCadence = "custom"
)

func (NewPlanCumulativeGroupedBulkPriceCadence) IsKnown added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceConversionRateConfigConversionRateType string
const (
	NewPlanCumulativeGroupedBulkPriceConversionRateConfigConversionRateTypeUnit   NewPlanCumulativeGroupedBulkPriceConversionRateConfigConversionRateType = "unit"
	NewPlanCumulativeGroupedBulkPriceConversionRateConfigConversionRateTypeTiered NewPlanCumulativeGroupedBulkPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanCumulativeGroupedBulkPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceConversionRateConfigParam added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanCumulativeGroupedBulkPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                         `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                           `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanCumulativeGroupedBulkPriceConversionRateConfigParam) ImplementsNewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanCumulativeGroupedBulkPriceConversionRateConfigParam) ImplementsNewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam()

func (NewPlanCumulativeGroupedBulkPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanCumulativeGroupedBulkPriceConversionRateConfigParam.

type NewPlanCumulativeGroupedBulkPriceModelType added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceModelType string
const (
	NewPlanCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk NewPlanCumulativeGroupedBulkPriceModelType = "cumulative_grouped_bulk"
)

func (NewPlanCumulativeGroupedBulkPriceModelType) IsKnown added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceParam added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceParam struct {
	// The cadence to bill for this price on.
	Cadence                     param.Field[NewPlanCumulativeGroupedBulkPriceCadence] `json:"cadence,required"`
	CumulativeGroupedBulkConfig param.Field[map[string]interface{}]                   `json:"cumulative_grouped_bulk_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                     `json:"item_id,required"`
	ModelType param.Field[NewPlanCumulativeGroupedBulkPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanCumulativeGroupedBulkPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanCumulativeGroupedBulkPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanCumulativeGroupedBulkPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanCumulativeGroupedBulkPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanCumulativeGroupedBulkPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanCumulativeGroupedBulkPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanCumulativeGroupedBulkPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanCumulativeGroupedBulkPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanCumulativeGroupedBulkPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanCumulativeGroupedBulkPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanCumulativeGroupedBulkPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanCumulativeGroupedBulkPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanGroupedAllocationPriceCadence added in v0.121.0

type NewPlanGroupedAllocationPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanGroupedAllocationPriceCadenceAnnual     NewPlanGroupedAllocationPriceCadence = "annual"
	NewPlanGroupedAllocationPriceCadenceSemiAnnual NewPlanGroupedAllocationPriceCadence = "semi_annual"
	NewPlanGroupedAllocationPriceCadenceMonthly    NewPlanGroupedAllocationPriceCadence = "monthly"
	NewPlanGroupedAllocationPriceCadenceQuarterly  NewPlanGroupedAllocationPriceCadence = "quarterly"
	NewPlanGroupedAllocationPriceCadenceOneTime    NewPlanGroupedAllocationPriceCadence = "one_time"
	NewPlanGroupedAllocationPriceCadenceCustom     NewPlanGroupedAllocationPriceCadence = "custom"
)

func (NewPlanGroupedAllocationPriceCadence) IsKnown added in v0.121.0

type NewPlanGroupedAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanGroupedAllocationPriceConversionRateConfigConversionRateType string
const (
	NewPlanGroupedAllocationPriceConversionRateConfigConversionRateTypeUnit   NewPlanGroupedAllocationPriceConversionRateConfigConversionRateType = "unit"
	NewPlanGroupedAllocationPriceConversionRateConfigConversionRateTypeTiered NewPlanGroupedAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanGroupedAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanGroupedAllocationPriceConversionRateConfigParam added in v0.121.0

type NewPlanGroupedAllocationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanGroupedAllocationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                     `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                       `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanGroupedAllocationPriceConversionRateConfigParam) ImplementsNewPlanGroupedAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanGroupedAllocationPriceConversionRateConfigParam) ImplementsNewPlanGroupedAllocationPriceConversionRateConfigUnionParam()

func (NewPlanGroupedAllocationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanGroupedAllocationPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanGroupedAllocationPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanGroupedAllocationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanGroupedAllocationPriceConversionRateConfigParam.

type NewPlanGroupedAllocationPriceModelType added in v0.121.0

type NewPlanGroupedAllocationPriceModelType string
const (
	NewPlanGroupedAllocationPriceModelTypeGroupedAllocation NewPlanGroupedAllocationPriceModelType = "grouped_allocation"
)

func (NewPlanGroupedAllocationPriceModelType) IsKnown added in v0.121.0

type NewPlanGroupedAllocationPriceParam added in v0.121.0

type NewPlanGroupedAllocationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence                 param.Field[NewPlanGroupedAllocationPriceCadence] `json:"cadence,required"`
	GroupedAllocationConfig param.Field[map[string]interface{}]               `json:"grouped_allocation_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                 `json:"item_id,required"`
	ModelType param.Field[NewPlanGroupedAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanGroupedAllocationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanGroupedAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedAllocationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedAllocationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedAllocationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedAllocationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedAllocationPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanGroupedAllocationPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanGroupedAllocationPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanGroupedAllocationPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanGroupedTieredPackagePriceCadence added in v0.121.0

type NewPlanGroupedTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	NewPlanGroupedTieredPackagePriceCadenceAnnual     NewPlanGroupedTieredPackagePriceCadence = "annual"
	NewPlanGroupedTieredPackagePriceCadenceSemiAnnual NewPlanGroupedTieredPackagePriceCadence = "semi_annual"
	NewPlanGroupedTieredPackagePriceCadenceMonthly    NewPlanGroupedTieredPackagePriceCadence = "monthly"
	NewPlanGroupedTieredPackagePriceCadenceQuarterly  NewPlanGroupedTieredPackagePriceCadence = "quarterly"
	NewPlanGroupedTieredPackagePriceCadenceOneTime    NewPlanGroupedTieredPackagePriceCadence = "one_time"
	NewPlanGroupedTieredPackagePriceCadenceCustom     NewPlanGroupedTieredPackagePriceCadence = "custom"
)

func (NewPlanGroupedTieredPackagePriceCadence) IsKnown added in v0.121.0

type NewPlanGroupedTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanGroupedTieredPackagePriceConversionRateConfigConversionRateType string
const (
	NewPlanGroupedTieredPackagePriceConversionRateConfigConversionRateTypeUnit   NewPlanGroupedTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	NewPlanGroupedTieredPackagePriceConversionRateConfigConversionRateTypeTiered NewPlanGroupedTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanGroupedTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanGroupedTieredPackagePriceConversionRateConfigParam added in v0.121.0

type NewPlanGroupedTieredPackagePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanGroupedTieredPackagePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                        `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                          `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanGroupedTieredPackagePriceConversionRateConfigParam) ImplementsNewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanGroupedTieredPackagePriceConversionRateConfigParam) ImplementsNewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam()

func (NewPlanGroupedTieredPackagePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanGroupedTieredPackagePriceConversionRateConfigParam.

type NewPlanGroupedTieredPackagePriceModelType added in v0.121.0

type NewPlanGroupedTieredPackagePriceModelType string
const (
	NewPlanGroupedTieredPackagePriceModelTypeGroupedTieredPackage NewPlanGroupedTieredPackagePriceModelType = "grouped_tiered_package"
)

func (NewPlanGroupedTieredPackagePriceModelType) IsKnown added in v0.121.0

type NewPlanGroupedTieredPackagePriceParam added in v0.121.0

type NewPlanGroupedTieredPackagePriceParam struct {
	// The cadence to bill for this price on.
	Cadence                    param.Field[NewPlanGroupedTieredPackagePriceCadence] `json:"cadence,required"`
	GroupedTieredPackageConfig param.Field[map[string]interface{}]                  `json:"grouped_tiered_package_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                    `json:"item_id,required"`
	ModelType param.Field[NewPlanGroupedTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanGroupedTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedTieredPackagePriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanGroupedTieredPackagePriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanGroupedTieredPackagePriceParam) MarshalJSON added in v0.121.0

func (r NewPlanGroupedTieredPackagePriceParam) MarshalJSON() (data []byte, err error)

type NewPlanGroupedTieredPriceCadence added in v0.121.0

type NewPlanGroupedTieredPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanGroupedTieredPriceCadenceAnnual     NewPlanGroupedTieredPriceCadence = "annual"
	NewPlanGroupedTieredPriceCadenceSemiAnnual NewPlanGroupedTieredPriceCadence = "semi_annual"
	NewPlanGroupedTieredPriceCadenceMonthly    NewPlanGroupedTieredPriceCadence = "monthly"
	NewPlanGroupedTieredPriceCadenceQuarterly  NewPlanGroupedTieredPriceCadence = "quarterly"
	NewPlanGroupedTieredPriceCadenceOneTime    NewPlanGroupedTieredPriceCadence = "one_time"
	NewPlanGroupedTieredPriceCadenceCustom     NewPlanGroupedTieredPriceCadence = "custom"
)

func (NewPlanGroupedTieredPriceCadence) IsKnown added in v0.121.0

type NewPlanGroupedTieredPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanGroupedTieredPriceConversionRateConfigConversionRateType string
const (
	NewPlanGroupedTieredPriceConversionRateConfigConversionRateTypeUnit   NewPlanGroupedTieredPriceConversionRateConfigConversionRateType = "unit"
	NewPlanGroupedTieredPriceConversionRateConfigConversionRateTypeTiered NewPlanGroupedTieredPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanGroupedTieredPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanGroupedTieredPriceConversionRateConfigParam added in v0.121.0

type NewPlanGroupedTieredPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanGroupedTieredPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                 `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                   `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanGroupedTieredPriceConversionRateConfigParam) ImplementsNewPlanGroupedTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanGroupedTieredPriceConversionRateConfigParam) ImplementsNewPlanGroupedTieredPriceConversionRateConfigUnionParam()

func (NewPlanGroupedTieredPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanGroupedTieredPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanGroupedTieredPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanGroupedTieredPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanGroupedTieredPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanGroupedTieredPriceConversionRateConfigParam.

type NewPlanGroupedTieredPriceModelType added in v0.121.0

type NewPlanGroupedTieredPriceModelType string
const (
	NewPlanGroupedTieredPriceModelTypeGroupedTiered NewPlanGroupedTieredPriceModelType = "grouped_tiered"
)

func (NewPlanGroupedTieredPriceModelType) IsKnown added in v0.121.0

type NewPlanGroupedTieredPriceParam added in v0.121.0

type NewPlanGroupedTieredPriceParam struct {
	// The cadence to bill for this price on.
	Cadence             param.Field[NewPlanGroupedTieredPriceCadence] `json:"cadence,required"`
	GroupedTieredConfig param.Field[map[string]interface{}]           `json:"grouped_tiered_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                             `json:"item_id,required"`
	ModelType param.Field[NewPlanGroupedTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanGroupedTieredPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanGroupedTieredPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedTieredPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedTieredPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedTieredPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedTieredPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedTieredPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedTieredPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedTieredPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedTieredPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanGroupedTieredPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanGroupedTieredPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanGroupedTieredPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanGroupedWithMeteredMinimumPriceCadence added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanGroupedWithMeteredMinimumPriceCadenceAnnual     NewPlanGroupedWithMeteredMinimumPriceCadence = "annual"
	NewPlanGroupedWithMeteredMinimumPriceCadenceSemiAnnual NewPlanGroupedWithMeteredMinimumPriceCadence = "semi_annual"
	NewPlanGroupedWithMeteredMinimumPriceCadenceMonthly    NewPlanGroupedWithMeteredMinimumPriceCadence = "monthly"
	NewPlanGroupedWithMeteredMinimumPriceCadenceQuarterly  NewPlanGroupedWithMeteredMinimumPriceCadence = "quarterly"
	NewPlanGroupedWithMeteredMinimumPriceCadenceOneTime    NewPlanGroupedWithMeteredMinimumPriceCadence = "one_time"
	NewPlanGroupedWithMeteredMinimumPriceCadenceCustom     NewPlanGroupedWithMeteredMinimumPriceCadence = "custom"
)

func (NewPlanGroupedWithMeteredMinimumPriceCadence) IsKnown added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType string
const (
	NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateTypeUnit   NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType = "unit"
	NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateTypeTiered NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigParam added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                             `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                               `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigParam) ImplementsNewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigParam) ImplementsNewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()

func (NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigParam.

type NewPlanGroupedWithMeteredMinimumPriceModelType added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceModelType string
const (
	NewPlanGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum NewPlanGroupedWithMeteredMinimumPriceModelType = "grouped_with_metered_minimum"
)

func (NewPlanGroupedWithMeteredMinimumPriceModelType) IsKnown added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceParam added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceParam struct {
	// The cadence to bill for this price on.
	Cadence                         param.Field[NewPlanGroupedWithMeteredMinimumPriceCadence] `json:"cadence,required"`
	GroupedWithMeteredMinimumConfig param.Field[map[string]interface{}]                       `json:"grouped_with_metered_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                         `json:"item_id,required"`
	ModelType param.Field[NewPlanGroupedWithMeteredMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanGroupedWithMeteredMinimumPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanGroupedWithMeteredMinimumPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanGroupedWithMeteredMinimumPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanGroupedWithProratedMinimumPriceCadence added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanGroupedWithProratedMinimumPriceCadenceAnnual     NewPlanGroupedWithProratedMinimumPriceCadence = "annual"
	NewPlanGroupedWithProratedMinimumPriceCadenceSemiAnnual NewPlanGroupedWithProratedMinimumPriceCadence = "semi_annual"
	NewPlanGroupedWithProratedMinimumPriceCadenceMonthly    NewPlanGroupedWithProratedMinimumPriceCadence = "monthly"
	NewPlanGroupedWithProratedMinimumPriceCadenceQuarterly  NewPlanGroupedWithProratedMinimumPriceCadence = "quarterly"
	NewPlanGroupedWithProratedMinimumPriceCadenceOneTime    NewPlanGroupedWithProratedMinimumPriceCadence = "one_time"
	NewPlanGroupedWithProratedMinimumPriceCadenceCustom     NewPlanGroupedWithProratedMinimumPriceCadence = "custom"
)

func (NewPlanGroupedWithProratedMinimumPriceCadence) IsKnown added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType string
const (
	NewPlanGroupedWithProratedMinimumPriceConversionRateConfigConversionRateTypeUnit   NewPlanGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType = "unit"
	NewPlanGroupedWithProratedMinimumPriceConversionRateConfigConversionRateTypeTiered NewPlanGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceConversionRateConfigParam added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                              `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                                `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanGroupedWithProratedMinimumPriceConversionRateConfigParam) ImplementsNewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanGroupedWithProratedMinimumPriceConversionRateConfigParam) ImplementsNewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()

func (NewPlanGroupedWithProratedMinimumPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanGroupedWithProratedMinimumPriceConversionRateConfigParam.

type NewPlanGroupedWithProratedMinimumPriceModelType added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceModelType string
const (
	NewPlanGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum NewPlanGroupedWithProratedMinimumPriceModelType = "grouped_with_prorated_minimum"
)

func (NewPlanGroupedWithProratedMinimumPriceModelType) IsKnown added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceParam added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceParam struct {
	// The cadence to bill for this price on.
	Cadence                          param.Field[NewPlanGroupedWithProratedMinimumPriceCadence] `json:"cadence,required"`
	GroupedWithProratedMinimumConfig param.Field[map[string]interface{}]                        `json:"grouped_with_prorated_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                          `json:"item_id,required"`
	ModelType param.Field[NewPlanGroupedWithProratedMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanGroupedWithProratedMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedWithProratedMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedWithProratedMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedWithProratedMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedWithProratedMinimumPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanGroupedWithProratedMinimumPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanGroupedWithProratedMinimumPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanGroupedWithProratedMinimumPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanGroupedWithProratedMinimumPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanGroupedWithProratedMinimumPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanGroupedWithProratedMinimumPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanGroupedWithProratedMinimumPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanMatrixPriceCadence added in v0.121.0

type NewPlanMatrixPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanMatrixPriceCadenceAnnual     NewPlanMatrixPriceCadence = "annual"
	NewPlanMatrixPriceCadenceSemiAnnual NewPlanMatrixPriceCadence = "semi_annual"
	NewPlanMatrixPriceCadenceMonthly    NewPlanMatrixPriceCadence = "monthly"
	NewPlanMatrixPriceCadenceQuarterly  NewPlanMatrixPriceCadence = "quarterly"
	NewPlanMatrixPriceCadenceOneTime    NewPlanMatrixPriceCadence = "one_time"
	NewPlanMatrixPriceCadenceCustom     NewPlanMatrixPriceCadence = "custom"
)

func (NewPlanMatrixPriceCadence) IsKnown added in v0.121.0

func (r NewPlanMatrixPriceCadence) IsKnown() bool

type NewPlanMatrixPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanMatrixPriceConversionRateConfigConversionRateType string
const (
	NewPlanMatrixPriceConversionRateConfigConversionRateTypeUnit   NewPlanMatrixPriceConversionRateConfigConversionRateType = "unit"
	NewPlanMatrixPriceConversionRateConfigConversionRateTypeTiered NewPlanMatrixPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanMatrixPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanMatrixPriceConversionRateConfigParam added in v0.121.0

type NewPlanMatrixPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanMatrixPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                          `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                            `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanMatrixPriceConversionRateConfigParam) ImplementsNewPlanMatrixPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanMatrixPriceConversionRateConfigParam) ImplementsNewPlanMatrixPriceConversionRateConfigUnionParam()

func (NewPlanMatrixPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanMatrixPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanMatrixPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanMatrixPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanMatrixPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanMatrixPriceConversionRateConfigParam.

type NewPlanMatrixPriceModelType added in v0.121.0

type NewPlanMatrixPriceModelType string
const (
	NewPlanMatrixPriceModelTypeMatrix NewPlanMatrixPriceModelType = "matrix"
)

func (NewPlanMatrixPriceModelType) IsKnown added in v0.121.0

func (r NewPlanMatrixPriceModelType) IsKnown() bool

type NewPlanMatrixPriceParam added in v0.121.0

type NewPlanMatrixPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanMatrixPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID       param.Field[string]                      `json:"item_id,required"`
	MatrixConfig param.Field[MatrixConfigParam]           `json:"matrix_config,required"`
	ModelType    param.Field[NewPlanMatrixPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanMatrixPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanMatrixPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanMatrixPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMatrixPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanMatrixPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMatrixPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanMatrixPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMatrixPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanMatrixPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMatrixPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanMatrixPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanMatrixPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanMatrixPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanMatrixWithAllocationPriceCadence added in v0.121.0

type NewPlanMatrixWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanMatrixWithAllocationPriceCadenceAnnual     NewPlanMatrixWithAllocationPriceCadence = "annual"
	NewPlanMatrixWithAllocationPriceCadenceSemiAnnual NewPlanMatrixWithAllocationPriceCadence = "semi_annual"
	NewPlanMatrixWithAllocationPriceCadenceMonthly    NewPlanMatrixWithAllocationPriceCadence = "monthly"
	NewPlanMatrixWithAllocationPriceCadenceQuarterly  NewPlanMatrixWithAllocationPriceCadence = "quarterly"
	NewPlanMatrixWithAllocationPriceCadenceOneTime    NewPlanMatrixWithAllocationPriceCadence = "one_time"
	NewPlanMatrixWithAllocationPriceCadenceCustom     NewPlanMatrixWithAllocationPriceCadence = "custom"
)

func (NewPlanMatrixWithAllocationPriceCadence) IsKnown added in v0.121.0

type NewPlanMatrixWithAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanMatrixWithAllocationPriceConversionRateConfigConversionRateType string
const (
	NewPlanMatrixWithAllocationPriceConversionRateConfigConversionRateTypeUnit   NewPlanMatrixWithAllocationPriceConversionRateConfigConversionRateType = "unit"
	NewPlanMatrixWithAllocationPriceConversionRateConfigConversionRateTypeTiered NewPlanMatrixWithAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanMatrixWithAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanMatrixWithAllocationPriceConversionRateConfigParam added in v0.121.0

type NewPlanMatrixWithAllocationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanMatrixWithAllocationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                        `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                          `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanMatrixWithAllocationPriceConversionRateConfigParam) ImplementsNewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanMatrixWithAllocationPriceConversionRateConfigParam) ImplementsNewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam()

func (NewPlanMatrixWithAllocationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanMatrixWithAllocationPriceConversionRateConfigParam.

type NewPlanMatrixWithAllocationPriceModelType added in v0.121.0

type NewPlanMatrixWithAllocationPriceModelType string
const (
	NewPlanMatrixWithAllocationPriceModelTypeMatrixWithAllocation NewPlanMatrixWithAllocationPriceModelType = "matrix_with_allocation"
)

func (NewPlanMatrixWithAllocationPriceModelType) IsKnown added in v0.121.0

type NewPlanMatrixWithAllocationPriceParam added in v0.121.0

type NewPlanMatrixWithAllocationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanMatrixWithAllocationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                     param.Field[string]                                    `json:"item_id,required"`
	MatrixWithAllocationConfig param.Field[MatrixWithAllocationConfigParam]           `json:"matrix_with_allocation_config,required"`
	ModelType                  param.Field[NewPlanMatrixWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanMatrixWithAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanMatrixWithAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMatrixWithAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanMatrixWithAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMatrixWithAllocationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanMatrixWithAllocationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMatrixWithAllocationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanMatrixWithAllocationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMatrixWithAllocationPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanMatrixWithAllocationPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanMatrixWithAllocationPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanMatrixWithAllocationPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanMatrixWithDisplayNamePriceCadence added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceCadence string

The cadence to bill for this price on.

const (
	NewPlanMatrixWithDisplayNamePriceCadenceAnnual     NewPlanMatrixWithDisplayNamePriceCadence = "annual"
	NewPlanMatrixWithDisplayNamePriceCadenceSemiAnnual NewPlanMatrixWithDisplayNamePriceCadence = "semi_annual"
	NewPlanMatrixWithDisplayNamePriceCadenceMonthly    NewPlanMatrixWithDisplayNamePriceCadence = "monthly"
	NewPlanMatrixWithDisplayNamePriceCadenceQuarterly  NewPlanMatrixWithDisplayNamePriceCadence = "quarterly"
	NewPlanMatrixWithDisplayNamePriceCadenceOneTime    NewPlanMatrixWithDisplayNamePriceCadence = "one_time"
	NewPlanMatrixWithDisplayNamePriceCadenceCustom     NewPlanMatrixWithDisplayNamePriceCadence = "custom"
)

func (NewPlanMatrixWithDisplayNamePriceCadence) IsKnown added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceConversionRateConfigConversionRateType string
const (
	NewPlanMatrixWithDisplayNamePriceConversionRateConfigConversionRateTypeUnit   NewPlanMatrixWithDisplayNamePriceConversionRateConfigConversionRateType = "unit"
	NewPlanMatrixWithDisplayNamePriceConversionRateConfigConversionRateTypeTiered NewPlanMatrixWithDisplayNamePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanMatrixWithDisplayNamePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceConversionRateConfigParam added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanMatrixWithDisplayNamePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                         `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                           `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanMatrixWithDisplayNamePriceConversionRateConfigParam) ImplementsNewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanMatrixWithDisplayNamePriceConversionRateConfigParam) ImplementsNewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam()

func (NewPlanMatrixWithDisplayNamePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanMatrixWithDisplayNamePriceConversionRateConfigParam.

type NewPlanMatrixWithDisplayNamePriceModelType added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceModelType string
const (
	NewPlanMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName NewPlanMatrixWithDisplayNamePriceModelType = "matrix_with_display_name"
)

func (NewPlanMatrixWithDisplayNamePriceModelType) IsKnown added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceParam added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanMatrixWithDisplayNamePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                     `json:"item_id,required"`
	MatrixWithDisplayNameConfig param.Field[map[string]interface{}]                     `json:"matrix_with_display_name_config,required"`
	ModelType                   param.Field[NewPlanMatrixWithDisplayNamePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanMatrixWithDisplayNamePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanMatrixWithDisplayNamePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMatrixWithDisplayNamePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanMatrixWithDisplayNamePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMatrixWithDisplayNamePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanMatrixWithDisplayNamePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMatrixWithDisplayNamePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanMatrixWithDisplayNamePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMatrixWithDisplayNamePriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanMatrixWithDisplayNamePriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanMatrixWithDisplayNamePriceParam) MarshalJSON added in v0.121.0

func (r NewPlanMatrixWithDisplayNamePriceParam) MarshalJSON() (data []byte, err error)

type NewPlanMaxGroupTieredPackagePriceCadence added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	NewPlanMaxGroupTieredPackagePriceCadenceAnnual     NewPlanMaxGroupTieredPackagePriceCadence = "annual"
	NewPlanMaxGroupTieredPackagePriceCadenceSemiAnnual NewPlanMaxGroupTieredPackagePriceCadence = "semi_annual"
	NewPlanMaxGroupTieredPackagePriceCadenceMonthly    NewPlanMaxGroupTieredPackagePriceCadence = "monthly"
	NewPlanMaxGroupTieredPackagePriceCadenceQuarterly  NewPlanMaxGroupTieredPackagePriceCadence = "quarterly"
	NewPlanMaxGroupTieredPackagePriceCadenceOneTime    NewPlanMaxGroupTieredPackagePriceCadence = "one_time"
	NewPlanMaxGroupTieredPackagePriceCadenceCustom     NewPlanMaxGroupTieredPackagePriceCadence = "custom"
)

func (NewPlanMaxGroupTieredPackagePriceCadence) IsKnown added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceConversionRateConfigConversionRateType string
const (
	NewPlanMaxGroupTieredPackagePriceConversionRateConfigConversionRateTypeUnit   NewPlanMaxGroupTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	NewPlanMaxGroupTieredPackagePriceConversionRateConfigConversionRateTypeTiered NewPlanMaxGroupTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanMaxGroupTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceConversionRateConfigParam added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanMaxGroupTieredPackagePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                         `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                           `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanMaxGroupTieredPackagePriceConversionRateConfigParam) ImplementsNewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanMaxGroupTieredPackagePriceConversionRateConfigParam) ImplementsNewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam()

func (NewPlanMaxGroupTieredPackagePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanMaxGroupTieredPackagePriceConversionRateConfigParam.

type NewPlanMaxGroupTieredPackagePriceModelType added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceModelType string
const (
	NewPlanMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage NewPlanMaxGroupTieredPackagePriceModelType = "max_group_tiered_package"
)

func (NewPlanMaxGroupTieredPackagePriceModelType) IsKnown added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceParam added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanMaxGroupTieredPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                     `json:"item_id,required"`
	MaxGroupTieredPackageConfig param.Field[map[string]interface{}]                     `json:"max_group_tiered_package_config,required"`
	ModelType                   param.Field[NewPlanMaxGroupTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanMaxGroupTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanMaxGroupTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMaxGroupTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanMaxGroupTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMaxGroupTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanMaxGroupTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMaxGroupTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanMaxGroupTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMaxGroupTieredPackagePriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanMaxGroupTieredPackagePriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanMaxGroupTieredPackagePriceParam) MarshalJSON added in v0.121.0

func (r NewPlanMaxGroupTieredPackagePriceParam) MarshalJSON() (data []byte, err error)

type NewPlanPackagePriceCadence added in v0.121.0

type NewPlanPackagePriceCadence string

The cadence to bill for this price on.

const (
	NewPlanPackagePriceCadenceAnnual     NewPlanPackagePriceCadence = "annual"
	NewPlanPackagePriceCadenceSemiAnnual NewPlanPackagePriceCadence = "semi_annual"
	NewPlanPackagePriceCadenceMonthly    NewPlanPackagePriceCadence = "monthly"
	NewPlanPackagePriceCadenceQuarterly  NewPlanPackagePriceCadence = "quarterly"
	NewPlanPackagePriceCadenceOneTime    NewPlanPackagePriceCadence = "one_time"
	NewPlanPackagePriceCadenceCustom     NewPlanPackagePriceCadence = "custom"
)

func (NewPlanPackagePriceCadence) IsKnown added in v0.121.0

func (r NewPlanPackagePriceCadence) IsKnown() bool

type NewPlanPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanPackagePriceConversionRateConfigConversionRateType string
const (
	NewPlanPackagePriceConversionRateConfigConversionRateTypeUnit   NewPlanPackagePriceConversionRateConfigConversionRateType = "unit"
	NewPlanPackagePriceConversionRateConfigConversionRateTypeTiered NewPlanPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanPackagePriceConversionRateConfigParam added in v0.121.0

type NewPlanPackagePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanPackagePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                           `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                             `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanPackagePriceConversionRateConfigParam) ImplementsNewPlanPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanPackagePriceConversionRateConfigParam) ImplementsNewPlanPackagePriceConversionRateConfigUnionParam()

func (NewPlanPackagePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanPackagePriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanPackagePriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanPackagePriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanPackagePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanPackagePriceConversionRateConfigParam.

type NewPlanPackagePriceModelType added in v0.121.0

type NewPlanPackagePriceModelType string
const (
	NewPlanPackagePriceModelTypePackage NewPlanPackagePriceModelType = "package"
)

func (NewPlanPackagePriceModelType) IsKnown added in v0.121.0

func (r NewPlanPackagePriceModelType) IsKnown() bool

type NewPlanPackagePriceParam added in v0.121.0

type NewPlanPackagePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                       `json:"item_id,required"`
	ModelType param.Field[NewPlanPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name          param.Field[string]             `json:"name,required"`
	PackageConfig param.Field[PackageConfigParam] `json:"package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanPackagePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanPackagePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanPackagePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanPackagePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanPackagePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanPackagePriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanPackagePriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanPackagePriceParam) MarshalJSON added in v0.121.0

func (r NewPlanPackagePriceParam) MarshalJSON() (data []byte, err error)

type NewPlanPackageWithAllocationPriceCadence added in v0.121.0

type NewPlanPackageWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanPackageWithAllocationPriceCadenceAnnual     NewPlanPackageWithAllocationPriceCadence = "annual"
	NewPlanPackageWithAllocationPriceCadenceSemiAnnual NewPlanPackageWithAllocationPriceCadence = "semi_annual"
	NewPlanPackageWithAllocationPriceCadenceMonthly    NewPlanPackageWithAllocationPriceCadence = "monthly"
	NewPlanPackageWithAllocationPriceCadenceQuarterly  NewPlanPackageWithAllocationPriceCadence = "quarterly"
	NewPlanPackageWithAllocationPriceCadenceOneTime    NewPlanPackageWithAllocationPriceCadence = "one_time"
	NewPlanPackageWithAllocationPriceCadenceCustom     NewPlanPackageWithAllocationPriceCadence = "custom"
)

func (NewPlanPackageWithAllocationPriceCadence) IsKnown added in v0.121.0

type NewPlanPackageWithAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanPackageWithAllocationPriceConversionRateConfigConversionRateType string
const (
	NewPlanPackageWithAllocationPriceConversionRateConfigConversionRateTypeUnit   NewPlanPackageWithAllocationPriceConversionRateConfigConversionRateType = "unit"
	NewPlanPackageWithAllocationPriceConversionRateConfigConversionRateTypeTiered NewPlanPackageWithAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanPackageWithAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanPackageWithAllocationPriceConversionRateConfigParam added in v0.121.0

type NewPlanPackageWithAllocationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanPackageWithAllocationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                         `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                           `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanPackageWithAllocationPriceConversionRateConfigParam) ImplementsNewPlanPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanPackageWithAllocationPriceConversionRateConfigParam) ImplementsNewPlanPackageWithAllocationPriceConversionRateConfigUnionParam()

func (NewPlanPackageWithAllocationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanPackageWithAllocationPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanPackageWithAllocationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanPackageWithAllocationPriceConversionRateConfigParam.

type NewPlanPackageWithAllocationPriceModelType added in v0.121.0

type NewPlanPackageWithAllocationPriceModelType string
const (
	NewPlanPackageWithAllocationPriceModelTypePackageWithAllocation NewPlanPackageWithAllocationPriceModelType = "package_with_allocation"
)

func (NewPlanPackageWithAllocationPriceModelType) IsKnown added in v0.121.0

type NewPlanPackageWithAllocationPriceParam added in v0.121.0

type NewPlanPackageWithAllocationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanPackageWithAllocationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                     `json:"item_id,required"`
	ModelType param.Field[NewPlanPackageWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                        param.Field[string]                 `json:"name,required"`
	PackageWithAllocationConfig param.Field[map[string]interface{}] `json:"package_with_allocation_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanPackageWithAllocationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanPackageWithAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanPackageWithAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanPackageWithAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanPackageWithAllocationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanPackageWithAllocationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanPackageWithAllocationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanPackageWithAllocationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanPackageWithAllocationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanPackageWithAllocationPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanPackageWithAllocationPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanPackageWithAllocationPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanPackageWithAllocationPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanScalableMatrixWithTieredPricingPriceCadence added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanScalableMatrixWithTieredPricingPriceCadenceAnnual     NewPlanScalableMatrixWithTieredPricingPriceCadence = "annual"
	NewPlanScalableMatrixWithTieredPricingPriceCadenceSemiAnnual NewPlanScalableMatrixWithTieredPricingPriceCadence = "semi_annual"
	NewPlanScalableMatrixWithTieredPricingPriceCadenceMonthly    NewPlanScalableMatrixWithTieredPricingPriceCadence = "monthly"
	NewPlanScalableMatrixWithTieredPricingPriceCadenceQuarterly  NewPlanScalableMatrixWithTieredPricingPriceCadence = "quarterly"
	NewPlanScalableMatrixWithTieredPricingPriceCadenceOneTime    NewPlanScalableMatrixWithTieredPricingPriceCadence = "one_time"
	NewPlanScalableMatrixWithTieredPricingPriceCadenceCustom     NewPlanScalableMatrixWithTieredPricingPriceCadence = "custom"
)

func (NewPlanScalableMatrixWithTieredPricingPriceCadence) IsKnown added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType string
const (
	NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateTypeUnit   NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType = "unit"
	NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateTypeTiered NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigParam added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                                   `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                                     `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()

func (NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigParam.

type NewPlanScalableMatrixWithTieredPricingPriceModelType added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceModelType string
const (
	NewPlanScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing NewPlanScalableMatrixWithTieredPricingPriceModelType = "scalable_matrix_with_tiered_pricing"
)

func (NewPlanScalableMatrixWithTieredPricingPriceModelType) IsKnown added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceParam added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanScalableMatrixWithTieredPricingPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                               `json:"item_id,required"`
	ModelType param.Field[NewPlanScalableMatrixWithTieredPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                  param.Field[string]                 `json:"name,required"`
	ScalableMatrixWithTieredPricingConfig param.Field[map[string]interface{}] `json:"scalable_matrix_with_tiered_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanScalableMatrixWithTieredPricingPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanScalableMatrixWithTieredPricingPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanScalableMatrixWithTieredPricingPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanScalableMatrixWithUnitPricingPriceCadence added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanScalableMatrixWithUnitPricingPriceCadenceAnnual     NewPlanScalableMatrixWithUnitPricingPriceCadence = "annual"
	NewPlanScalableMatrixWithUnitPricingPriceCadenceSemiAnnual NewPlanScalableMatrixWithUnitPricingPriceCadence = "semi_annual"
	NewPlanScalableMatrixWithUnitPricingPriceCadenceMonthly    NewPlanScalableMatrixWithUnitPricingPriceCadence = "monthly"
	NewPlanScalableMatrixWithUnitPricingPriceCadenceQuarterly  NewPlanScalableMatrixWithUnitPricingPriceCadence = "quarterly"
	NewPlanScalableMatrixWithUnitPricingPriceCadenceOneTime    NewPlanScalableMatrixWithUnitPricingPriceCadence = "one_time"
	NewPlanScalableMatrixWithUnitPricingPriceCadenceCustom     NewPlanScalableMatrixWithUnitPricingPriceCadence = "custom"
)

func (NewPlanScalableMatrixWithUnitPricingPriceCadence) IsKnown added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType string
const (
	NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateTypeUnit   NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType = "unit"
	NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateTypeTiered NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigParam added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                                 `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                                   `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()

func (NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigParam.

type NewPlanScalableMatrixWithUnitPricingPriceModelType added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceModelType string
const (
	NewPlanScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing NewPlanScalableMatrixWithUnitPricingPriceModelType = "scalable_matrix_with_unit_pricing"
)

func (NewPlanScalableMatrixWithUnitPricingPriceModelType) IsKnown added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceParam added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanScalableMatrixWithUnitPricingPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                             `json:"item_id,required"`
	ModelType param.Field[NewPlanScalableMatrixWithUnitPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                param.Field[string]                 `json:"name,required"`
	ScalableMatrixWithUnitPricingConfig param.Field[map[string]interface{}] `json:"scalable_matrix_with_unit_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanScalableMatrixWithUnitPricingPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanScalableMatrixWithUnitPricingPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanScalableMatrixWithUnitPricingPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanThresholdTotalAmountPriceCadence added in v0.121.0

type NewPlanThresholdTotalAmountPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanThresholdTotalAmountPriceCadenceAnnual     NewPlanThresholdTotalAmountPriceCadence = "annual"
	NewPlanThresholdTotalAmountPriceCadenceSemiAnnual NewPlanThresholdTotalAmountPriceCadence = "semi_annual"
	NewPlanThresholdTotalAmountPriceCadenceMonthly    NewPlanThresholdTotalAmountPriceCadence = "monthly"
	NewPlanThresholdTotalAmountPriceCadenceQuarterly  NewPlanThresholdTotalAmountPriceCadence = "quarterly"
	NewPlanThresholdTotalAmountPriceCadenceOneTime    NewPlanThresholdTotalAmountPriceCadence = "one_time"
	NewPlanThresholdTotalAmountPriceCadenceCustom     NewPlanThresholdTotalAmountPriceCadence = "custom"
)

func (NewPlanThresholdTotalAmountPriceCadence) IsKnown added in v0.121.0

type NewPlanThresholdTotalAmountPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanThresholdTotalAmountPriceConversionRateConfigConversionRateType string
const (
	NewPlanThresholdTotalAmountPriceConversionRateConfigConversionRateTypeUnit   NewPlanThresholdTotalAmountPriceConversionRateConfigConversionRateType = "unit"
	NewPlanThresholdTotalAmountPriceConversionRateConfigConversionRateTypeTiered NewPlanThresholdTotalAmountPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanThresholdTotalAmountPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanThresholdTotalAmountPriceConversionRateConfigParam added in v0.121.0

type NewPlanThresholdTotalAmountPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanThresholdTotalAmountPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                        `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                          `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanThresholdTotalAmountPriceConversionRateConfigParam) ImplementsNewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanThresholdTotalAmountPriceConversionRateConfigParam) ImplementsNewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam()

func (NewPlanThresholdTotalAmountPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanThresholdTotalAmountPriceConversionRateConfigParam.

type NewPlanThresholdTotalAmountPriceModelType added in v0.121.0

type NewPlanThresholdTotalAmountPriceModelType string
const (
	NewPlanThresholdTotalAmountPriceModelTypeThresholdTotalAmount NewPlanThresholdTotalAmountPriceModelType = "threshold_total_amount"
)

func (NewPlanThresholdTotalAmountPriceModelType) IsKnown added in v0.121.0

type NewPlanThresholdTotalAmountPriceParam added in v0.121.0

type NewPlanThresholdTotalAmountPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanThresholdTotalAmountPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                    `json:"item_id,required"`
	ModelType param.Field[NewPlanThresholdTotalAmountPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                       param.Field[string]                 `json:"name,required"`
	ThresholdTotalAmountConfig param.Field[map[string]interface{}] `json:"threshold_total_amount_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanThresholdTotalAmountPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanThresholdTotalAmountPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanThresholdTotalAmountPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanThresholdTotalAmountPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanThresholdTotalAmountPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanThresholdTotalAmountPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanThresholdTotalAmountPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanThresholdTotalAmountPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanThresholdTotalAmountPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanThresholdTotalAmountPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanThresholdTotalAmountPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanThresholdTotalAmountPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanTierWithProrationPriceCadence added in v0.121.0

type NewPlanTierWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanTierWithProrationPriceCadenceAnnual     NewPlanTierWithProrationPriceCadence = "annual"
	NewPlanTierWithProrationPriceCadenceSemiAnnual NewPlanTierWithProrationPriceCadence = "semi_annual"
	NewPlanTierWithProrationPriceCadenceMonthly    NewPlanTierWithProrationPriceCadence = "monthly"
	NewPlanTierWithProrationPriceCadenceQuarterly  NewPlanTierWithProrationPriceCadence = "quarterly"
	NewPlanTierWithProrationPriceCadenceOneTime    NewPlanTierWithProrationPriceCadence = "one_time"
	NewPlanTierWithProrationPriceCadenceCustom     NewPlanTierWithProrationPriceCadence = "custom"
)

func (NewPlanTierWithProrationPriceCadence) IsKnown added in v0.121.0

type NewPlanTierWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanTierWithProrationPriceConversionRateConfigConversionRateType string
const (
	NewPlanTierWithProrationPriceConversionRateConfigConversionRateTypeUnit   NewPlanTierWithProrationPriceConversionRateConfigConversionRateType = "unit"
	NewPlanTierWithProrationPriceConversionRateConfigConversionRateTypeTiered NewPlanTierWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanTierWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanTierWithProrationPriceConversionRateConfigParam added in v0.121.0

type NewPlanTierWithProrationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanTierWithProrationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                     `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                       `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanTierWithProrationPriceConversionRateConfigParam) ImplementsNewPlanTierWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanTierWithProrationPriceConversionRateConfigParam) ImplementsNewPlanTierWithProrationPriceConversionRateConfigUnionParam()

func (NewPlanTierWithProrationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanTierWithProrationPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanTierWithProrationPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanTierWithProrationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanTierWithProrationPriceConversionRateConfigParam.

type NewPlanTierWithProrationPriceModelType added in v0.121.0

type NewPlanTierWithProrationPriceModelType string
const (
	NewPlanTierWithProrationPriceModelTypeTieredWithProration NewPlanTierWithProrationPriceModelType = "tiered_with_proration"
)

func (NewPlanTierWithProrationPriceModelType) IsKnown added in v0.121.0

type NewPlanTierWithProrationPriceParam added in v0.121.0

type NewPlanTierWithProrationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanTierWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                 `json:"item_id,required"`
	ModelType param.Field[NewPlanTierWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                      param.Field[string]                 `json:"name,required"`
	TieredWithProrationConfig param.Field[map[string]interface{}] `json:"tiered_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanTierWithProrationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanTierWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTierWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTierWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTierWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTierWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTierWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTierWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTierWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTierWithProrationPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanTierWithProrationPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanTierWithProrationPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanTierWithProrationPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanTieredBPSPriceCadence added in v0.121.0

type NewPlanTieredBPSPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanTieredBPSPriceCadenceAnnual     NewPlanTieredBPSPriceCadence = "annual"
	NewPlanTieredBPSPriceCadenceSemiAnnual NewPlanTieredBPSPriceCadence = "semi_annual"
	NewPlanTieredBPSPriceCadenceMonthly    NewPlanTieredBPSPriceCadence = "monthly"
	NewPlanTieredBPSPriceCadenceQuarterly  NewPlanTieredBPSPriceCadence = "quarterly"
	NewPlanTieredBPSPriceCadenceOneTime    NewPlanTieredBPSPriceCadence = "one_time"
	NewPlanTieredBPSPriceCadenceCustom     NewPlanTieredBPSPriceCadence = "custom"
)

func (NewPlanTieredBPSPriceCadence) IsKnown added in v0.121.0

func (r NewPlanTieredBPSPriceCadence) IsKnown() bool

type NewPlanTieredBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanTieredBPSPriceConversionRateConfigConversionRateType string
const (
	NewPlanTieredBPSPriceConversionRateConfigConversionRateTypeUnit   NewPlanTieredBPSPriceConversionRateConfigConversionRateType = "unit"
	NewPlanTieredBPSPriceConversionRateConfigConversionRateTypeTiered NewPlanTieredBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanTieredBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanTieredBPSPriceConversionRateConfigParam added in v0.121.0

type NewPlanTieredBPSPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanTieredBPSPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                             `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                               `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanTieredBPSPriceConversionRateConfigParam) ImplementsNewPlanTieredBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanTieredBPSPriceConversionRateConfigParam) ImplementsNewPlanTieredBPSPriceConversionRateConfigUnionParam()

func (NewPlanTieredBPSPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanTieredBPSPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanTieredBPSPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanTieredBPSPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanTieredBPSPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanTieredBPSPriceConversionRateConfigParam.

type NewPlanTieredBPSPriceModelType added in v0.121.0

type NewPlanTieredBPSPriceModelType string
const (
	NewPlanTieredBPSPriceModelTypeTieredBPS NewPlanTieredBPSPriceModelType = "tiered_bps"
)

func (NewPlanTieredBPSPriceModelType) IsKnown added in v0.121.0

type NewPlanTieredBPSPriceParam added in v0.121.0

type NewPlanTieredBPSPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanTieredBPSPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                         `json:"item_id,required"`
	ModelType param.Field[NewPlanTieredBPSPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name            param.Field[string]               `json:"name,required"`
	TieredBPSConfig param.Field[TieredBPSConfigParam] `json:"tiered_bps_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanTieredBPSPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanTieredBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredBPSPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredBPSPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredBPSPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredBPSPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredBPSPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredBPSPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanTieredBPSPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanTieredBPSPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanTieredBPSPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanTieredPackagePriceCadence added in v0.121.0

type NewPlanTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	NewPlanTieredPackagePriceCadenceAnnual     NewPlanTieredPackagePriceCadence = "annual"
	NewPlanTieredPackagePriceCadenceSemiAnnual NewPlanTieredPackagePriceCadence = "semi_annual"
	NewPlanTieredPackagePriceCadenceMonthly    NewPlanTieredPackagePriceCadence = "monthly"
	NewPlanTieredPackagePriceCadenceQuarterly  NewPlanTieredPackagePriceCadence = "quarterly"
	NewPlanTieredPackagePriceCadenceOneTime    NewPlanTieredPackagePriceCadence = "one_time"
	NewPlanTieredPackagePriceCadenceCustom     NewPlanTieredPackagePriceCadence = "custom"
)

func (NewPlanTieredPackagePriceCadence) IsKnown added in v0.121.0

type NewPlanTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanTieredPackagePriceConversionRateConfigConversionRateType string
const (
	NewPlanTieredPackagePriceConversionRateConfigConversionRateTypeUnit   NewPlanTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	NewPlanTieredPackagePriceConversionRateConfigConversionRateTypeTiered NewPlanTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanTieredPackagePriceConversionRateConfigParam added in v0.121.0

type NewPlanTieredPackagePriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanTieredPackagePriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                 `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                   `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanTieredPackagePriceConversionRateConfigParam) ImplementsNewPlanTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanTieredPackagePriceConversionRateConfigParam) ImplementsNewPlanTieredPackagePriceConversionRateConfigUnionParam()

func (NewPlanTieredPackagePriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanTieredPackagePriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanTieredPackagePriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanTieredPackagePriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanTieredPackagePriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanTieredPackagePriceConversionRateConfigParam.

type NewPlanTieredPackagePriceModelType added in v0.121.0

type NewPlanTieredPackagePriceModelType string
const (
	NewPlanTieredPackagePriceModelTypeTieredPackage NewPlanTieredPackagePriceModelType = "tiered_package"
)

func (NewPlanTieredPackagePriceModelType) IsKnown added in v0.121.0

type NewPlanTieredPackagePriceParam added in v0.121.0

type NewPlanTieredPackagePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanTieredPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                             `json:"item_id,required"`
	ModelType param.Field[NewPlanTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                param.Field[string]                 `json:"name,required"`
	TieredPackageConfig param.Field[map[string]interface{}] `json:"tiered_package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanTieredPackagePriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredPackagePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredPackagePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredPackagePriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanTieredPackagePriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanTieredPackagePriceParam) MarshalJSON added in v0.121.0

func (r NewPlanTieredPackagePriceParam) MarshalJSON() (data []byte, err error)

type NewPlanTieredPackageWithMinimumPriceCadence added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanTieredPackageWithMinimumPriceCadenceAnnual     NewPlanTieredPackageWithMinimumPriceCadence = "annual"
	NewPlanTieredPackageWithMinimumPriceCadenceSemiAnnual NewPlanTieredPackageWithMinimumPriceCadence = "semi_annual"
	NewPlanTieredPackageWithMinimumPriceCadenceMonthly    NewPlanTieredPackageWithMinimumPriceCadence = "monthly"
	NewPlanTieredPackageWithMinimumPriceCadenceQuarterly  NewPlanTieredPackageWithMinimumPriceCadence = "quarterly"
	NewPlanTieredPackageWithMinimumPriceCadenceOneTime    NewPlanTieredPackageWithMinimumPriceCadence = "one_time"
	NewPlanTieredPackageWithMinimumPriceCadenceCustom     NewPlanTieredPackageWithMinimumPriceCadence = "custom"
)

func (NewPlanTieredPackageWithMinimumPriceCadence) IsKnown added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceConversionRateConfigConversionRateType string
const (
	NewPlanTieredPackageWithMinimumPriceConversionRateConfigConversionRateTypeUnit   NewPlanTieredPackageWithMinimumPriceConversionRateConfigConversionRateType = "unit"
	NewPlanTieredPackageWithMinimumPriceConversionRateConfigConversionRateTypeTiered NewPlanTieredPackageWithMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanTieredPackageWithMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceConversionRateConfigParam added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanTieredPackageWithMinimumPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                            `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                              `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanTieredPackageWithMinimumPriceConversionRateConfigParam) ImplementsNewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanTieredPackageWithMinimumPriceConversionRateConfigParam) ImplementsNewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam()

func (NewPlanTieredPackageWithMinimumPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanTieredPackageWithMinimumPriceConversionRateConfigParam.

type NewPlanTieredPackageWithMinimumPriceModelType added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceModelType string
const (
	NewPlanTieredPackageWithMinimumPriceModelTypeTieredPackageWithMinimum NewPlanTieredPackageWithMinimumPriceModelType = "tiered_package_with_minimum"
)

func (NewPlanTieredPackageWithMinimumPriceModelType) IsKnown added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceParam added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanTieredPackageWithMinimumPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                        `json:"item_id,required"`
	ModelType param.Field[NewPlanTieredPackageWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                           param.Field[string]                 `json:"name,required"`
	TieredPackageWithMinimumConfig param.Field[map[string]interface{}] `json:"tiered_package_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanTieredPackageWithMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredPackageWithMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredPackageWithMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredPackageWithMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredPackageWithMinimumPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredPackageWithMinimumPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredPackageWithMinimumPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredPackageWithMinimumPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredPackageWithMinimumPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanTieredPackageWithMinimumPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanTieredPackageWithMinimumPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanTieredPackageWithMinimumPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanTieredPriceCadence added in v0.121.0

type NewPlanTieredPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanTieredPriceCadenceAnnual     NewPlanTieredPriceCadence = "annual"
	NewPlanTieredPriceCadenceSemiAnnual NewPlanTieredPriceCadence = "semi_annual"
	NewPlanTieredPriceCadenceMonthly    NewPlanTieredPriceCadence = "monthly"
	NewPlanTieredPriceCadenceQuarterly  NewPlanTieredPriceCadence = "quarterly"
	NewPlanTieredPriceCadenceOneTime    NewPlanTieredPriceCadence = "one_time"
	NewPlanTieredPriceCadenceCustom     NewPlanTieredPriceCadence = "custom"
)

func (NewPlanTieredPriceCadence) IsKnown added in v0.121.0

func (r NewPlanTieredPriceCadence) IsKnown() bool

type NewPlanTieredPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanTieredPriceConversionRateConfigConversionRateType string
const (
	NewPlanTieredPriceConversionRateConfigConversionRateTypeUnit   NewPlanTieredPriceConversionRateConfigConversionRateType = "unit"
	NewPlanTieredPriceConversionRateConfigConversionRateTypeTiered NewPlanTieredPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanTieredPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanTieredPriceConversionRateConfigParam added in v0.121.0

type NewPlanTieredPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanTieredPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                          `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                            `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanTieredPriceConversionRateConfigParam) ImplementsNewPlanTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanTieredPriceConversionRateConfigParam) ImplementsNewPlanTieredPriceConversionRateConfigUnionParam()

func (NewPlanTieredPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanTieredPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanTieredPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanTieredPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanTieredPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanTieredPriceConversionRateConfigParam.

type NewPlanTieredPriceModelType added in v0.121.0

type NewPlanTieredPriceModelType string
const (
	NewPlanTieredPriceModelTypeTiered NewPlanTieredPriceModelType = "tiered"
)

func (NewPlanTieredPriceModelType) IsKnown added in v0.121.0

func (r NewPlanTieredPriceModelType) IsKnown() bool

type NewPlanTieredPriceParam added in v0.121.0

type NewPlanTieredPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanTieredPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                      `json:"item_id,required"`
	ModelType param.Field[NewPlanTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name         param.Field[string]            `json:"name,required"`
	TieredConfig param.Field[TieredConfigParam] `json:"tiered_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanTieredPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanTieredPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanTieredPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanTieredPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanTieredPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanTieredWithMinimumPriceCadence added in v0.121.0

type NewPlanTieredWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanTieredWithMinimumPriceCadenceAnnual     NewPlanTieredWithMinimumPriceCadence = "annual"
	NewPlanTieredWithMinimumPriceCadenceSemiAnnual NewPlanTieredWithMinimumPriceCadence = "semi_annual"
	NewPlanTieredWithMinimumPriceCadenceMonthly    NewPlanTieredWithMinimumPriceCadence = "monthly"
	NewPlanTieredWithMinimumPriceCadenceQuarterly  NewPlanTieredWithMinimumPriceCadence = "quarterly"
	NewPlanTieredWithMinimumPriceCadenceOneTime    NewPlanTieredWithMinimumPriceCadence = "one_time"
	NewPlanTieredWithMinimumPriceCadenceCustom     NewPlanTieredWithMinimumPriceCadence = "custom"
)

func (NewPlanTieredWithMinimumPriceCadence) IsKnown added in v0.121.0

type NewPlanTieredWithMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanTieredWithMinimumPriceConversionRateConfigConversionRateType string
const (
	NewPlanTieredWithMinimumPriceConversionRateConfigConversionRateTypeUnit   NewPlanTieredWithMinimumPriceConversionRateConfigConversionRateType = "unit"
	NewPlanTieredWithMinimumPriceConversionRateConfigConversionRateTypeTiered NewPlanTieredWithMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanTieredWithMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanTieredWithMinimumPriceConversionRateConfigParam added in v0.121.0

type NewPlanTieredWithMinimumPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanTieredWithMinimumPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                     `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                       `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanTieredWithMinimumPriceConversionRateConfigParam) ImplementsNewPlanTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanTieredWithMinimumPriceConversionRateConfigParam) ImplementsNewPlanTieredWithMinimumPriceConversionRateConfigUnionParam()

func (NewPlanTieredWithMinimumPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanTieredWithMinimumPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanTieredWithMinimumPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanTieredWithMinimumPriceConversionRateConfigParam.

type NewPlanTieredWithMinimumPriceModelType added in v0.121.0

type NewPlanTieredWithMinimumPriceModelType string
const (
	NewPlanTieredWithMinimumPriceModelTypeTieredWithMinimum NewPlanTieredWithMinimumPriceModelType = "tiered_with_minimum"
)

func (NewPlanTieredWithMinimumPriceModelType) IsKnown added in v0.121.0

type NewPlanTieredWithMinimumPriceParam added in v0.121.0

type NewPlanTieredWithMinimumPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanTieredWithMinimumPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                 `json:"item_id,required"`
	ModelType param.Field[NewPlanTieredWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                 `json:"name,required"`
	TieredWithMinimumConfig param.Field[map[string]interface{}] `json:"tiered_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanTieredWithMinimumPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanTieredWithMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredWithMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredWithMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredWithMinimumPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredWithMinimumPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanTieredWithMinimumPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanTieredWithMinimumPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanTieredWithMinimumPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanTieredWithMinimumPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanTieredWithMinimumPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanTieredWithMinimumPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanTieredWithMinimumPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanUnitPriceCadence added in v0.121.0

type NewPlanUnitPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanUnitPriceCadenceAnnual     NewPlanUnitPriceCadence = "annual"
	NewPlanUnitPriceCadenceSemiAnnual NewPlanUnitPriceCadence = "semi_annual"
	NewPlanUnitPriceCadenceMonthly    NewPlanUnitPriceCadence = "monthly"
	NewPlanUnitPriceCadenceQuarterly  NewPlanUnitPriceCadence = "quarterly"
	NewPlanUnitPriceCadenceOneTime    NewPlanUnitPriceCadence = "one_time"
	NewPlanUnitPriceCadenceCustom     NewPlanUnitPriceCadence = "custom"
)

func (NewPlanUnitPriceCadence) IsKnown added in v0.121.0

func (r NewPlanUnitPriceCadence) IsKnown() bool

type NewPlanUnitPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanUnitPriceConversionRateConfigConversionRateType string
const (
	NewPlanUnitPriceConversionRateConfigConversionRateTypeUnit   NewPlanUnitPriceConversionRateConfigConversionRateType = "unit"
	NewPlanUnitPriceConversionRateConfigConversionRateTypeTiered NewPlanUnitPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanUnitPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanUnitPriceConversionRateConfigParam added in v0.121.0

type NewPlanUnitPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanUnitPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                        `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                          `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanUnitPriceConversionRateConfigParam) ImplementsNewPlanUnitPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanUnitPriceConversionRateConfigParam) ImplementsNewPlanUnitPriceConversionRateConfigUnionParam()

func (NewPlanUnitPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanUnitPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanUnitPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanUnitPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanUnitPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanUnitPriceConversionRateConfigParam.

type NewPlanUnitPriceModelType added in v0.121.0

type NewPlanUnitPriceModelType string
const (
	NewPlanUnitPriceModelTypeUnit NewPlanUnitPriceModelType = "unit"
)

func (NewPlanUnitPriceModelType) IsKnown added in v0.121.0

func (r NewPlanUnitPriceModelType) IsKnown() bool

type NewPlanUnitPriceParam added in v0.121.0

type NewPlanUnitPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanUnitPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                    `json:"item_id,required"`
	ModelType param.Field[NewPlanUnitPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name       param.Field[string]          `json:"name,required"`
	UnitConfig param.Field[UnitConfigParam] `json:"unit_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanUnitPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanUnitPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanUnitPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanUnitPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanUnitPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanUnitPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanUnitPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanUnitPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanUnitPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanUnitPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanUnitPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanUnitPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanUnitPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanUnitWithPercentPriceCadence added in v0.121.0

type NewPlanUnitWithPercentPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanUnitWithPercentPriceCadenceAnnual     NewPlanUnitWithPercentPriceCadence = "annual"
	NewPlanUnitWithPercentPriceCadenceSemiAnnual NewPlanUnitWithPercentPriceCadence = "semi_annual"
	NewPlanUnitWithPercentPriceCadenceMonthly    NewPlanUnitWithPercentPriceCadence = "monthly"
	NewPlanUnitWithPercentPriceCadenceQuarterly  NewPlanUnitWithPercentPriceCadence = "quarterly"
	NewPlanUnitWithPercentPriceCadenceOneTime    NewPlanUnitWithPercentPriceCadence = "one_time"
	NewPlanUnitWithPercentPriceCadenceCustom     NewPlanUnitWithPercentPriceCadence = "custom"
)

func (NewPlanUnitWithPercentPriceCadence) IsKnown added in v0.121.0

type NewPlanUnitWithPercentPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanUnitWithPercentPriceConversionRateConfigConversionRateType string
const (
	NewPlanUnitWithPercentPriceConversionRateConfigConversionRateTypeUnit   NewPlanUnitWithPercentPriceConversionRateConfigConversionRateType = "unit"
	NewPlanUnitWithPercentPriceConversionRateConfigConversionRateTypeTiered NewPlanUnitWithPercentPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanUnitWithPercentPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanUnitWithPercentPriceConversionRateConfigParam added in v0.121.0

type NewPlanUnitWithPercentPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanUnitWithPercentPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                   `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                     `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanUnitWithPercentPriceConversionRateConfigParam) ImplementsNewPlanUnitWithPercentPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanUnitWithPercentPriceConversionRateConfigParam) ImplementsNewPlanUnitWithPercentPriceConversionRateConfigUnionParam()

func (NewPlanUnitWithPercentPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

func (r NewPlanUnitWithPercentPriceConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type NewPlanUnitWithPercentPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanUnitWithPercentPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanUnitWithPercentPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanUnitWithPercentPriceConversionRateConfigParam.

type NewPlanUnitWithPercentPriceModelType added in v0.121.0

type NewPlanUnitWithPercentPriceModelType string
const (
	NewPlanUnitWithPercentPriceModelTypeUnitWithPercent NewPlanUnitWithPercentPriceModelType = "unit_with_percent"
)

func (NewPlanUnitWithPercentPriceModelType) IsKnown added in v0.121.0

type NewPlanUnitWithPercentPriceParam added in v0.121.0

type NewPlanUnitWithPercentPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanUnitWithPercentPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                               `json:"item_id,required"`
	ModelType param.Field[NewPlanUnitWithPercentPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                  param.Field[string]                 `json:"name,required"`
	UnitWithPercentConfig param.Field[map[string]interface{}] `json:"unit_with_percent_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanUnitWithPercentPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanUnitWithPercentPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanUnitWithPercentPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanUnitWithPercentPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanUnitWithPercentPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanUnitWithPercentPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanUnitWithPercentPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanUnitWithPercentPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanUnitWithPercentPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanUnitWithPercentPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanUnitWithPercentPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanUnitWithPercentPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanUnitWithPercentPriceParam) MarshalJSON() (data []byte, err error)

type NewPlanUnitWithProrationPriceCadence added in v0.121.0

type NewPlanUnitWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	NewPlanUnitWithProrationPriceCadenceAnnual     NewPlanUnitWithProrationPriceCadence = "annual"
	NewPlanUnitWithProrationPriceCadenceSemiAnnual NewPlanUnitWithProrationPriceCadence = "semi_annual"
	NewPlanUnitWithProrationPriceCadenceMonthly    NewPlanUnitWithProrationPriceCadence = "monthly"
	NewPlanUnitWithProrationPriceCadenceQuarterly  NewPlanUnitWithProrationPriceCadence = "quarterly"
	NewPlanUnitWithProrationPriceCadenceOneTime    NewPlanUnitWithProrationPriceCadence = "one_time"
	NewPlanUnitWithProrationPriceCadenceCustom     NewPlanUnitWithProrationPriceCadence = "custom"
)

func (NewPlanUnitWithProrationPriceCadence) IsKnown added in v0.121.0

type NewPlanUnitWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type NewPlanUnitWithProrationPriceConversionRateConfigConversionRateType string
const (
	NewPlanUnitWithProrationPriceConversionRateConfigConversionRateTypeUnit   NewPlanUnitWithProrationPriceConversionRateConfigConversionRateType = "unit"
	NewPlanUnitWithProrationPriceConversionRateConfigConversionRateTypeTiered NewPlanUnitWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanUnitWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type NewPlanUnitWithProrationPriceConversionRateConfigParam added in v0.121.0

type NewPlanUnitWithProrationPriceConversionRateConfigParam struct {
	ConversionRateType param.Field[NewPlanUnitWithProrationPriceConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]                                     `json:"tiered_config"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]                                       `json:"unit_config"`
}

The configuration for the rate of the price currency to the invoicing currency.

func (NewPlanUnitWithProrationPriceConversionRateConfigParam) ImplementsNewPlanUnitWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r NewPlanUnitWithProrationPriceConversionRateConfigParam) ImplementsNewPlanUnitWithProrationPriceConversionRateConfigUnionParam()

func (NewPlanUnitWithProrationPriceConversionRateConfigParam) MarshalJSON added in v0.121.0

type NewPlanUnitWithProrationPriceConversionRateConfigUnionParam added in v0.121.0

type NewPlanUnitWithProrationPriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanUnitWithProrationPriceConversionRateConfigUnionParam()
}

The configuration for the rate of the price currency to the invoicing currency.

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanUnitWithProrationPriceConversionRateConfigParam.

type NewPlanUnitWithProrationPriceModelType added in v0.121.0

type NewPlanUnitWithProrationPriceModelType string
const (
	NewPlanUnitWithProrationPriceModelTypeUnitWithProration NewPlanUnitWithProrationPriceModelType = "unit_with_proration"
)

func (NewPlanUnitWithProrationPriceModelType) IsKnown added in v0.121.0

type NewPlanUnitWithProrationPriceParam added in v0.121.0

type NewPlanUnitWithProrationPriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanUnitWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                 `json:"item_id,required"`
	ModelType param.Field[NewPlanUnitWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                 `json:"name,required"`
	UnitWithProrationConfig param.Field[map[string]interface{}] `json:"unit_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// The configuration for the rate of the price currency to the invoicing currency.
	ConversionRateConfig param.Field[NewPlanUnitWithProrationPriceConversionRateConfigUnionParam] `json:"conversion_rate_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// For dimensional price: specifies a price group and dimension values
	DimensionalPriceConfiguration param.Field[NewDimensionalPriceConfigurationParam] `json:"dimensional_price_configuration"`
	// An alias for the price.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// If the Price represents a fixed cost, this represents the quantity of units
	// applied.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey param.Field[string] `json:"invoice_grouping_key"`
	// Within each billing cycle, specifies the cadence at which invoices are produced.
	// If unspecified, a single invoice is produced per billing cycle.
	InvoicingCycleConfiguration param.Field[NewBillingCycleConfigurationParam] `json:"invoicing_cycle_configuration"`
	// User-specified key/value pairs for the resource. Individual keys can be removed
	// by setting the value to `null`, and the entire metadata mapping can be cleared
	// by setting `metadata` to `null`.
	Metadata param.Field[map[string]string] `json:"metadata"`
	// A transient ID that can be used to reference this price when adding adjustments
	// in the same API call.
	ReferenceID param.Field[string] `json:"reference_id"`
}

func (NewPlanUnitWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanUnitWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanUnitWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanUnitWithProrationPriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanUnitWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v0.121.0

func (r NewPlanUnitWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanUnitWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v0.121.0

func (r NewPlanUnitWithProrationPriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanUnitWithProrationPriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.2.0

func (r NewPlanUnitWithProrationPriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanUnitWithProrationPriceParam) MarshalJSON added in v0.121.0

func (r NewPlanUnitWithProrationPriceParam) MarshalJSON() (data []byte, err error)

type NewUsageDiscountAdjustmentType added in v0.121.0

type NewUsageDiscountAdjustmentType string
const (
	NewUsageDiscountAdjustmentTypeUsageDiscount NewUsageDiscountAdjustmentType = "usage_discount"
)

func (NewUsageDiscountAdjustmentType) IsKnown added in v0.121.0

type NewUsageDiscountAppliesToAll added in v0.121.0

type NewUsageDiscountAppliesToAll bool

If set, the adjustment will apply to every price on the subscription.

const (
	NewUsageDiscountAppliesToAllTrue NewUsageDiscountAppliesToAll = true
)

func (NewUsageDiscountAppliesToAll) IsKnown added in v0.121.0

func (r NewUsageDiscountAppliesToAll) IsKnown() bool

type NewUsageDiscountParam added in v0.121.0

type NewUsageDiscountParam struct {
	AdjustmentType param.Field[NewUsageDiscountAdjustmentType] `json:"adjustment_type,required"`
	UsageDiscount  param.Field[float64]                        `json:"usage_discount,required"`
	// If set, the adjustment will apply to every price on the subscription.
	AppliesToAll param.Field[NewUsageDiscountAppliesToAll] `json:"applies_to_all"`
	// The set of item IDs to which this adjustment applies.
	AppliesToItemIDs param.Field[[]string] `json:"applies_to_item_ids"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// If set, only prices in the specified currency will have the adjustment applied.
	Currency param.Field[string] `json:"currency"`
	// A list of filters that determine which prices this adjustment will apply to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	// When false, this adjustment will be applied to a single price. Otherwise, it
	// will be applied at the invoice level, possibly to multiple prices.
	IsInvoiceLevel param.Field[bool] `json:"is_invoice_level"`
	// If set, only prices of the specified type will have the adjustment applied.
	PriceType param.Field[NewUsageDiscountPriceType] `json:"price_type"`
}

func (NewUsageDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsBetaNewPlanVersionParamsAddAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsBetaNewPlanVersionParamsReplaceAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion added in v1.2.0

func (r NewUsageDiscountParam) ImplementsPlanNewParamsAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsSubscriptionNewParamsAddAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsSubscriptionNewParamsReplaceAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsAddAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion added in v0.121.0

func (r NewUsageDiscountParam) ImplementsSubscriptionSchedulePlanChangeParamsReplaceAdjustmentsAdjustmentUnion()

func (NewUsageDiscountParam) MarshalJSON added in v0.121.0

func (r NewUsageDiscountParam) MarshalJSON() (data []byte, err error)

type NewUsageDiscountPriceType added in v0.121.0

type NewUsageDiscountPriceType string

If set, only prices of the specified type will have the adjustment applied.

const (
	NewUsageDiscountPriceTypeUsage          NewUsageDiscountPriceType = "usage"
	NewUsageDiscountPriceTypeFixedInAdvance NewUsageDiscountPriceType = "fixed_in_advance"
	NewUsageDiscountPriceTypeFixedInArrears NewUsageDiscountPriceType = "fixed_in_arrears"
	NewUsageDiscountPriceTypeFixed          NewUsageDiscountPriceType = "fixed"
	NewUsageDiscountPriceTypeInArrears      NewUsageDiscountPriceType = "in_arrears"
)

func (NewUsageDiscountPriceType) IsKnown added in v0.121.0

func (r NewUsageDiscountPriceType) IsKnown() bool

type OtherSubLineItem added in v0.121.0

type OtherSubLineItem struct {
	// The total amount for this sub line item.
	Amount   string               `json:"amount,required"`
	Grouping SubLineItemGrouping  `json:"grouping,required,nullable"`
	Name     string               `json:"name,required"`
	Quantity float64              `json:"quantity,required"`
	Type     OtherSubLineItemType `json:"type,required"`
	JSON     otherSubLineItemJSON `json:"-"`
}

func (OtherSubLineItem) ImplementsInvoiceFetchUpcomingResponseLineItemsSubLineItem added in v0.121.0

func (r OtherSubLineItem) ImplementsInvoiceFetchUpcomingResponseLineItemsSubLineItem()

func (OtherSubLineItem) ImplementsInvoiceLineItemNewResponseSubLineItem added in v0.121.0

func (r OtherSubLineItem) ImplementsInvoiceLineItemNewResponseSubLineItem()

func (OtherSubLineItem) ImplementsInvoiceLineItemsSubLineItem added in v0.121.0

func (r OtherSubLineItem) ImplementsInvoiceLineItemsSubLineItem()

func (*OtherSubLineItem) UnmarshalJSON added in v0.121.0

func (r *OtherSubLineItem) UnmarshalJSON(data []byte) (err error)

type OtherSubLineItemType added in v0.121.0

type OtherSubLineItemType string
const (
	OtherSubLineItemTypeNull OtherSubLineItemType = "'null'"
)

func (OtherSubLineItemType) IsKnown added in v0.121.0

func (r OtherSubLineItemType) IsKnown() bool

type PackageConfig added in v0.121.0

type PackageConfig struct {
	// A currency amount to rate usage by
	PackageAmount string `json:"package_amount,required"`
	// An integer amount to represent package size. For example, 1000 here would divide
	// usage by 1000 before multiplying by package_amount in rating
	PackageSize int64             `json:"package_size,required"`
	JSON        packageConfigJSON `json:"-"`
}

func (*PackageConfig) UnmarshalJSON added in v0.121.0

func (r *PackageConfig) UnmarshalJSON(data []byte) (err error)

type PackageConfigParam added in v0.121.0

type PackageConfigParam struct {
	// A currency amount to rate usage by
	PackageAmount param.Field[string] `json:"package_amount,required"`
	// An integer amount to represent package size. For example, 1000 here would divide
	// usage by 1000 before multiplying by package_amount in rating
	PackageSize param.Field[int64] `json:"package_size,required"`
}

func (PackageConfigParam) MarshalJSON added in v0.121.0

func (r PackageConfigParam) MarshalJSON() (data []byte, err error)

type PaginationMetadata

type PaginationMetadata struct {
	HasMore    bool                   `json:"has_more,required"`
	NextCursor string                 `json:"next_cursor,required,nullable"`
	JSON       paginationMetadataJSON `json:"-"`
}

func (*PaginationMetadata) UnmarshalJSON

func (r *PaginationMetadata) UnmarshalJSON(data []byte) (err error)

type PerPriceCost added in v0.121.0

type PerPriceCost struct {
	// The price object
	Price Price `json:"price,required"`
	// The price the cost is associated with
	PriceID string `json:"price_id,required"`
	// Price's contributions for the timeframe, excluding any minimums and discounts.
	Subtotal string `json:"subtotal,required"`
	// Price's contributions for the timeframe, including minimums and discounts.
	Total string `json:"total,required"`
	// The price's quantity for the timeframe
	Quantity float64          `json:"quantity,nullable"`
	JSON     perPriceCostJSON `json:"-"`
}

func (*PerPriceCost) UnmarshalJSON added in v0.121.0

func (r *PerPriceCost) UnmarshalJSON(data []byte) (err error)

type PercentageDiscount added in v0.67.0

type PercentageDiscount struct {
	DiscountType PercentageDiscountDiscountType `json:"discount_type,required"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount float64 `json:"percentage_discount,required"`
	// List of price_ids that this discount applies to. For plan/plan phase discounts,
	// this can be a subset of prices.
	AppliesToPriceIDs []string `json:"applies_to_price_ids,nullable"`
	// The filters that determine which prices to apply this discount to.
	Filters []TransformPriceFilter `json:"filters,nullable"`
	Reason  string                 `json:"reason,nullable"`
	JSON    percentageDiscountJSON `json:"-"`
}

func (PercentageDiscount) ImplementsCouponDiscount added in v0.67.0

func (r PercentageDiscount) ImplementsCouponDiscount()

func (PercentageDiscount) ImplementsDiscount added in v0.89.1

func (r PercentageDiscount) ImplementsDiscount()

func (PercentageDiscount) ImplementsInvoiceLevelDiscount added in v0.89.1

func (r PercentageDiscount) ImplementsInvoiceLevelDiscount()

func (*PercentageDiscount) UnmarshalJSON added in v0.67.0

func (r *PercentageDiscount) UnmarshalJSON(data []byte) (err error)

type PercentageDiscountDiscountType added in v0.67.0

type PercentageDiscountDiscountType string
const (
	PercentageDiscountDiscountTypePercentage PercentageDiscountDiscountType = "percentage"
)

func (PercentageDiscountDiscountType) IsKnown added in v0.67.0

type PercentageDiscountInterval added in v0.121.0

type PercentageDiscountInterval struct {
	// The price interval ids that this discount interval applies to.
	AppliesToPriceIntervalIDs []string                               `json:"applies_to_price_interval_ids,required"`
	DiscountType              PercentageDiscountIntervalDiscountType `json:"discount_type,required"`
	// The end date of the discount interval.
	EndDate time.Time `json:"end_date,required,nullable" format:"date-time"`
	// The filters that determine which prices this discount interval applies to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// Only available if discount_type is `percentage`.This is a number between 0
	// and 1.
	PercentageDiscount float64 `json:"percentage_discount,required"`
	// The start date of the discount interval.
	StartDate time.Time                      `json:"start_date,required" format:"date-time"`
	JSON      percentageDiscountIntervalJSON `json:"-"`
}

func (PercentageDiscountInterval) ImplementsMutatedSubscriptionDiscountInterval added in v0.121.0

func (r PercentageDiscountInterval) ImplementsMutatedSubscriptionDiscountInterval()

func (PercentageDiscountInterval) ImplementsSubscriptionDiscountInterval added in v0.121.0

func (r PercentageDiscountInterval) ImplementsSubscriptionDiscountInterval()

func (*PercentageDiscountInterval) UnmarshalJSON added in v0.121.0

func (r *PercentageDiscountInterval) UnmarshalJSON(data []byte) (err error)

type PercentageDiscountIntervalDiscountType added in v0.121.0

type PercentageDiscountIntervalDiscountType string
const (
	PercentageDiscountIntervalDiscountTypePercentage PercentageDiscountIntervalDiscountType = "percentage"
)

func (PercentageDiscountIntervalDiscountType) IsKnown added in v0.121.0

type PercentageDiscountParam added in v0.67.0

type PercentageDiscountParam struct {
	DiscountType param.Field[PercentageDiscountDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount param.Field[float64] `json:"percentage_discount,required"`
	// List of price_ids that this discount applies to. For plan/plan phase discounts,
	// this can be a subset of prices.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// The filters that determine which prices to apply this discount to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	Reason  param.Field[string]                      `json:"reason"`
}

func (PercentageDiscountParam) ImplementsDiscountUnionParam added in v0.89.1

func (r PercentageDiscountParam) ImplementsDiscountUnionParam()

func (PercentageDiscountParam) MarshalJSON added in v0.67.0

func (r PercentageDiscountParam) MarshalJSON() (data []byte, err error)

type PlanPhaseAmountDiscountAdjustment added in v0.121.0

type PlanPhaseAmountDiscountAdjustment struct {
	ID             string                                          `json:"id,required"`
	AdjustmentType PlanPhaseAmountDiscountAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The amount by which to discount the prices this adjustment applies to in a given
	// billing period.
	AmountDiscount string `json:"amount_discount,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The plan phase in which this adjustment is active.
	PlanPhaseOrder int64 `json:"plan_phase_order,required,nullable"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string                                `json:"replaces_adjustment_id,required,nullable"`
	JSON                 planPhaseAmountDiscountAdjustmentJSON `json:"-"`
}

func (PlanPhaseAmountDiscountAdjustment) ImplementsAdjustmentIntervalAdjustment added in v0.121.0

func (r PlanPhaseAmountDiscountAdjustment) ImplementsAdjustmentIntervalAdjustment()

func (PlanPhaseAmountDiscountAdjustment) ImplementsPlanAdjustment added in v0.121.0

func (r PlanPhaseAmountDiscountAdjustment) ImplementsPlanAdjustment()

func (PlanPhaseAmountDiscountAdjustment) ImplementsPlanVersionAdjustment added in v0.121.0

func (r PlanPhaseAmountDiscountAdjustment) ImplementsPlanVersionAdjustment()

func (*PlanPhaseAmountDiscountAdjustment) UnmarshalJSON added in v0.121.0

func (r *PlanPhaseAmountDiscountAdjustment) UnmarshalJSON(data []byte) (err error)

type PlanPhaseAmountDiscountAdjustmentAdjustmentType added in v0.121.0

type PlanPhaseAmountDiscountAdjustmentAdjustmentType string
const (
	PlanPhaseAmountDiscountAdjustmentAdjustmentTypeAmountDiscount PlanPhaseAmountDiscountAdjustmentAdjustmentType = "amount_discount"
)

func (PlanPhaseAmountDiscountAdjustmentAdjustmentType) IsKnown added in v0.121.0

type PlanPhaseMaximumAdjustment added in v0.121.0

type PlanPhaseMaximumAdjustment struct {
	ID             string                                   `json:"id,required"`
	AdjustmentType PlanPhaseMaximumAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The maximum amount to charge in a given billing period for the prices this
	// adjustment applies to.
	MaximumAmount string `json:"maximum_amount,required"`
	// The plan phase in which this adjustment is active.
	PlanPhaseOrder int64 `json:"plan_phase_order,required,nullable"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string                         `json:"replaces_adjustment_id,required,nullable"`
	JSON                 planPhaseMaximumAdjustmentJSON `json:"-"`
}

func (PlanPhaseMaximumAdjustment) ImplementsAdjustmentIntervalAdjustment added in v0.121.0

func (r PlanPhaseMaximumAdjustment) ImplementsAdjustmentIntervalAdjustment()

func (PlanPhaseMaximumAdjustment) ImplementsPlanAdjustment added in v0.121.0

func (r PlanPhaseMaximumAdjustment) ImplementsPlanAdjustment()

func (PlanPhaseMaximumAdjustment) ImplementsPlanVersionAdjustment added in v0.121.0

func (r PlanPhaseMaximumAdjustment) ImplementsPlanVersionAdjustment()

func (*PlanPhaseMaximumAdjustment) UnmarshalJSON added in v0.121.0

func (r *PlanPhaseMaximumAdjustment) UnmarshalJSON(data []byte) (err error)

type PlanPhaseMaximumAdjustmentAdjustmentType added in v0.121.0

type PlanPhaseMaximumAdjustmentAdjustmentType string
const (
	PlanPhaseMaximumAdjustmentAdjustmentTypeMaximum PlanPhaseMaximumAdjustmentAdjustmentType = "maximum"
)

func (PlanPhaseMaximumAdjustmentAdjustmentType) IsKnown added in v0.121.0

type PlanPhaseMinimumAdjustment added in v0.121.0

type PlanPhaseMinimumAdjustment struct {
	ID             string                                   `json:"id,required"`
	AdjustmentType PlanPhaseMinimumAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The item ID that revenue from this minimum will be attributed to.
	ItemID string `json:"item_id,required"`
	// The minimum amount to charge in a given billing period for the prices this
	// adjustment applies to.
	MinimumAmount string `json:"minimum_amount,required"`
	// The plan phase in which this adjustment is active.
	PlanPhaseOrder int64 `json:"plan_phase_order,required,nullable"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string                         `json:"replaces_adjustment_id,required,nullable"`
	JSON                 planPhaseMinimumAdjustmentJSON `json:"-"`
}

func (PlanPhaseMinimumAdjustment) ImplementsAdjustmentIntervalAdjustment added in v0.121.0

func (r PlanPhaseMinimumAdjustment) ImplementsAdjustmentIntervalAdjustment()

func (PlanPhaseMinimumAdjustment) ImplementsPlanAdjustment added in v0.121.0

func (r PlanPhaseMinimumAdjustment) ImplementsPlanAdjustment()

func (PlanPhaseMinimumAdjustment) ImplementsPlanVersionAdjustment added in v0.121.0

func (r PlanPhaseMinimumAdjustment) ImplementsPlanVersionAdjustment()

func (*PlanPhaseMinimumAdjustment) UnmarshalJSON added in v0.121.0

func (r *PlanPhaseMinimumAdjustment) UnmarshalJSON(data []byte) (err error)

type PlanPhaseMinimumAdjustmentAdjustmentType added in v0.121.0

type PlanPhaseMinimumAdjustmentAdjustmentType string
const (
	PlanPhaseMinimumAdjustmentAdjustmentTypeMinimum PlanPhaseMinimumAdjustmentAdjustmentType = "minimum"
)

func (PlanPhaseMinimumAdjustmentAdjustmentType) IsKnown added in v0.121.0

type PlanPhasePercentageDiscountAdjustment added in v0.121.0

type PlanPhasePercentageDiscountAdjustment struct {
	ID             string                                              `json:"id,required"`
	AdjustmentType PlanPhasePercentageDiscountAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The percentage (as a value between 0 and 1) by which to discount the price
	// intervals this adjustment applies to in a given billing period.
	PercentageDiscount float64 `json:"percentage_discount,required"`
	// The plan phase in which this adjustment is active.
	PlanPhaseOrder int64 `json:"plan_phase_order,required,nullable"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string                                    `json:"replaces_adjustment_id,required,nullable"`
	JSON                 planPhasePercentageDiscountAdjustmentJSON `json:"-"`
}

func (PlanPhasePercentageDiscountAdjustment) ImplementsAdjustmentIntervalAdjustment added in v0.121.0

func (r PlanPhasePercentageDiscountAdjustment) ImplementsAdjustmentIntervalAdjustment()

func (PlanPhasePercentageDiscountAdjustment) ImplementsPlanAdjustment added in v0.121.0

func (r PlanPhasePercentageDiscountAdjustment) ImplementsPlanAdjustment()

func (PlanPhasePercentageDiscountAdjustment) ImplementsPlanVersionAdjustment added in v0.121.0

func (r PlanPhasePercentageDiscountAdjustment) ImplementsPlanVersionAdjustment()

func (*PlanPhasePercentageDiscountAdjustment) UnmarshalJSON added in v0.121.0

func (r *PlanPhasePercentageDiscountAdjustment) UnmarshalJSON(data []byte) (err error)

type PlanPhasePercentageDiscountAdjustmentAdjustmentType added in v0.121.0

type PlanPhasePercentageDiscountAdjustmentAdjustmentType string
const (
	PlanPhasePercentageDiscountAdjustmentAdjustmentTypePercentageDiscount PlanPhasePercentageDiscountAdjustmentAdjustmentType = "percentage_discount"
)

func (PlanPhasePercentageDiscountAdjustmentAdjustmentType) IsKnown added in v0.121.0

type PlanPhaseUsageDiscountAdjustment added in v0.121.0

type PlanPhaseUsageDiscountAdjustment struct {
	ID             string                                         `json:"id,required"`
	AdjustmentType PlanPhaseUsageDiscountAdjustmentAdjustmentType `json:"adjustment_type,required"`
	// The price IDs that this adjustment applies to.
	//
	// Deprecated: deprecated
	AppliesToPriceIDs []string `json:"applies_to_price_ids,required"`
	// The filters that determine which prices to apply this adjustment to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invocice, false for adjustments
	// that apply to only one price.
	IsInvoiceLevel bool `json:"is_invoice_level,required"`
	// The plan phase in which this adjustment is active.
	PlanPhaseOrder int64 `json:"plan_phase_order,required,nullable"`
	// The reason for the adjustment.
	Reason string `json:"reason,required,nullable"`
	// The adjustment id this adjustment replaces. This adjustment will take the place
	// of the replaced adjustment in plan version migrations.
	ReplacesAdjustmentID string `json:"replaces_adjustment_id,required,nullable"`
	// The number of usage units by which to discount the price this adjustment applies
	// to in a given billing period.
	UsageDiscount float64                              `json:"usage_discount,required"`
	JSON          planPhaseUsageDiscountAdjustmentJSON `json:"-"`
}

func (PlanPhaseUsageDiscountAdjustment) ImplementsAdjustmentIntervalAdjustment added in v0.121.0

func (r PlanPhaseUsageDiscountAdjustment) ImplementsAdjustmentIntervalAdjustment()

func (PlanPhaseUsageDiscountAdjustment) ImplementsPlanAdjustment added in v0.121.0

func (r PlanPhaseUsageDiscountAdjustment) ImplementsPlanAdjustment()

func (PlanPhaseUsageDiscountAdjustment) ImplementsPlanVersionAdjustment added in v0.121.0

func (r PlanPhaseUsageDiscountAdjustment) ImplementsPlanVersionAdjustment()

func (*PlanPhaseUsageDiscountAdjustment) UnmarshalJSON added in v0.121.0

func (r *PlanPhaseUsageDiscountAdjustment) UnmarshalJSON(data []byte) (err error)

type PlanPhaseUsageDiscountAdjustmentAdjustmentType added in v0.121.0

type PlanPhaseUsageDiscountAdjustmentAdjustmentType string
const (
	PlanPhaseUsageDiscountAdjustmentAdjustmentTypeUsageDiscount PlanPhaseUsageDiscountAdjustmentAdjustmentType = "usage_discount"
)

func (PlanPhaseUsageDiscountAdjustmentAdjustmentType) IsKnown added in v0.121.0

type Price added in v0.121.0

type Price struct {
	ID                        string                    `json:"id,required"`
	BillableMetric            BillableMetricTiny        `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration `json:"billing_cycle_configuration,required"`
	Cadence                   PriceCadence              `json:"cadence,required"`
	ConversionRate            float64                   `json:"conversion_rate,required,nullable"`
	// This field can have the runtime type of [PriceUnitPriceConversionRateConfig],
	// [PricePackagePriceConversionRateConfig], [PriceMatrixPriceConversionRateConfig],
	// [PriceTieredPriceConversionRateConfig],
	// [PriceTieredBPSPriceConversionRateConfig], [PriceBPSPriceConversionRateConfig],
	// [PriceBulkBPSPriceConversionRateConfig], [PriceBulkPriceConversionRateConfig],
	// [PriceThresholdTotalAmountPriceConversionRateConfig],
	// [PriceTieredPackagePriceConversionRateConfig],
	// [PriceGroupedTieredPriceConversionRateConfig],
	// [PriceTieredWithMinimumPriceConversionRateConfig],
	// [PriceTieredPackageWithMinimumPriceConversionRateConfig],
	// [PricePackageWithAllocationPriceConversionRateConfig],
	// [PriceUnitWithPercentPriceConversionRateConfig],
	// [PriceMatrixWithAllocationPriceConversionRateConfig],
	// [PriceTieredWithProrationPriceConversionRateConfig],
	// [PriceUnitWithProrationPriceConversionRateConfig],
	// [PriceGroupedAllocationPriceConversionRateConfig],
	// [PriceGroupedWithProratedMinimumPriceConversionRateConfig],
	// [PriceGroupedWithMeteredMinimumPriceConversionRateConfig],
	// [PriceMatrixWithDisplayNamePriceConversionRateConfig],
	// [PriceBulkWithProrationPriceConversionRateConfig],
	// [PriceGroupedTieredPackagePriceConversionRateConfig],
	// [PriceMaxGroupTieredPackagePriceConversionRateConfig],
	// [PriceScalableMatrixWithUnitPricingPriceConversionRateConfig],
	// [PriceScalableMatrixWithTieredPricingPriceConversionRateConfig],
	// [PriceCumulativeGroupedBulkPriceConversionRateConfig].
	ConversionRateConfig interface{} `json:"conversion_rate_config,required"`
	CreatedAt            time.Time   `json:"created_at,required" format:"date-time"`
	CreditAllocation     Allocation  `json:"credit_allocation,required,nullable"`
	Currency             string      `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// This field can have the runtime type of [map[string]string].
	Metadata interface{} `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string         `json:"minimum_amount,required,nullable"`
	ModelType      PriceModelType `json:"model_type,required"`
	Name           string         `json:"name,required"`
	PlanPhaseOrder int64          `json:"plan_phase_order,required,nullable"`
	PriceType      PricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID string        `json:"replaces_price_id,required,nullable"`
	BPSConfig       BPSConfig     `json:"bps_config"`
	BulkBPSConfig   BulkBPSConfig `json:"bulk_bps_config"`
	BulkConfig      BulkConfig    `json:"bulk_config"`
	// This field can have the runtime type of [map[string]interface{}].
	BulkWithProrationConfig interface{} `json:"bulk_with_proration_config"`
	// This field can have the runtime type of [map[string]interface{}].
	CumulativeGroupedBulkConfig   interface{}                   `json:"cumulative_grouped_bulk_config"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	// This field can have the runtime type of [map[string]interface{}].
	GroupedAllocationConfig interface{} `json:"grouped_allocation_config"`
	// This field can have the runtime type of [map[string]interface{}].
	GroupedTieredConfig interface{} `json:"grouped_tiered_config"`
	// This field can have the runtime type of [map[string]interface{}].
	GroupedTieredPackageConfig interface{} `json:"grouped_tiered_package_config"`
	// This field can have the runtime type of [map[string]interface{}].
	GroupedWithMeteredMinimumConfig interface{} `json:"grouped_with_metered_minimum_config"`
	// This field can have the runtime type of [map[string]interface{}].
	GroupedWithProratedMinimumConfig interface{}                `json:"grouped_with_prorated_minimum_config"`
	MatrixConfig                     MatrixConfig               `json:"matrix_config"`
	MatrixWithAllocationConfig       MatrixWithAllocationConfig `json:"matrix_with_allocation_config"`
	// This field can have the runtime type of [map[string]interface{}].
	MatrixWithDisplayNameConfig interface{} `json:"matrix_with_display_name_config"`
	// This field can have the runtime type of [map[string]interface{}].
	MaxGroupTieredPackageConfig interface{}   `json:"max_group_tiered_package_config"`
	PackageConfig               PackageConfig `json:"package_config"`
	// This field can have the runtime type of [map[string]interface{}].
	PackageWithAllocationConfig interface{} `json:"package_with_allocation_config"`
	// This field can have the runtime type of [map[string]interface{}].
	ScalableMatrixWithTieredPricingConfig interface{} `json:"scalable_matrix_with_tiered_pricing_config"`
	// This field can have the runtime type of [map[string]interface{}].
	ScalableMatrixWithUnitPricingConfig interface{} `json:"scalable_matrix_with_unit_pricing_config"`
	// This field can have the runtime type of [map[string]interface{}].
	ThresholdTotalAmountConfig interface{}     `json:"threshold_total_amount_config"`
	TieredBPSConfig            TieredBPSConfig `json:"tiered_bps_config"`
	TieredConfig               TieredConfig    `json:"tiered_config"`
	// This field can have the runtime type of [map[string]interface{}].
	TieredPackageConfig interface{} `json:"tiered_package_config"`
	// This field can have the runtime type of [map[string]interface{}].
	TieredPackageWithMinimumConfig interface{} `json:"tiered_package_with_minimum_config"`
	// This field can have the runtime type of [map[string]interface{}].
	TieredWithMinimumConfig interface{} `json:"tiered_with_minimum_config"`
	// This field can have the runtime type of [map[string]interface{}].
	TieredWithProrationConfig interface{} `json:"tiered_with_proration_config"`
	UnitConfig                UnitConfig  `json:"unit_config"`
	// This field can have the runtime type of [map[string]interface{}].
	UnitWithPercentConfig interface{} `json:"unit_with_percent_config"`
	// This field can have the runtime type of [map[string]interface{}].
	UnitWithProrationConfig interface{} `json:"unit_with_proration_config"`
	JSON                    priceJSON   `json:"-"`
	// contains filtered or unexported fields
}

The Price resource represents a price that can be billed on a subscription, resulting in a charge on an invoice in the form of an invoice line item. Prices take a quantity and determine an amount to bill.

Orb supports a few different pricing models out of the box. Each of these models is serialized differently in a given Price object. The model_type field determines the key for the configuration object that is present.

For more on the types of prices, see [the core concepts documentation](/core-concepts#plan-and-price)

func (*Price) UnmarshalJSON added in v0.121.0

func (r *Price) UnmarshalJSON(data []byte) (err error)

type PriceBPSPrice added in v0.121.0

type PriceBPSPrice struct {
	ID                        string                            `json:"id,required"`
	BillableMetric            BillableMetricTiny                `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration         `json:"billing_cycle_configuration,required"`
	BPSConfig                 BPSConfig                         `json:"bps_config,required"`
	Cadence                   PriceBPSPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                           `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceBPSPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                         `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                        `json:"credit_allocation,required,nullable"`
	Currency                  string                            `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                 `json:"minimum_amount,required,nullable"`
	ModelType      PriceBPSPriceModelType `json:"model_type,required"`
	Name           string                 `json:"name,required"`
	PlanPhaseOrder int64                  `json:"plan_phase_order,required,nullable"`
	PriceType      PriceBPSPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceBPSPriceJSON             `json:"-"`
}

func (*PriceBPSPrice) UnmarshalJSON added in v0.121.0

func (r *PriceBPSPrice) UnmarshalJSON(data []byte) (err error)

type PriceBPSPriceCadence added in v0.121.0

type PriceBPSPriceCadence string
const (
	PriceBPSPriceCadenceOneTime    PriceBPSPriceCadence = "one_time"
	PriceBPSPriceCadenceMonthly    PriceBPSPriceCadence = "monthly"
	PriceBPSPriceCadenceQuarterly  PriceBPSPriceCadence = "quarterly"
	PriceBPSPriceCadenceSemiAnnual PriceBPSPriceCadence = "semi_annual"
	PriceBPSPriceCadenceAnnual     PriceBPSPriceCadence = "annual"
	PriceBPSPriceCadenceCustom     PriceBPSPriceCadence = "custom"
)

func (PriceBPSPriceCadence) IsKnown added in v0.121.0

func (r PriceBPSPriceCadence) IsKnown() bool

type PriceBPSPriceConversionRateConfig added in v0.121.0

type PriceBPSPriceConversionRateConfig struct {
	ConversionRateType PriceBPSPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                          `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                            `json:"unit_config"`
	JSON               priceBPSPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceBPSPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceBPSPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceBPSPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceBPSPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceBPSPriceConversionRateConfigConversionRateType string
const (
	PriceBPSPriceConversionRateConfigConversionRateTypeUnit   PriceBPSPriceConversionRateConfigConversionRateType = "unit"
	PriceBPSPriceConversionRateConfigConversionRateTypeTiered PriceBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceBPSPriceConversionRateConfigUnion added in v0.121.0

type PriceBPSPriceConversionRateConfigUnion interface {
	ImplementsPriceBPSPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceBPSPriceModelType added in v0.121.0

type PriceBPSPriceModelType string
const (
	PriceBPSPriceModelTypeBPS PriceBPSPriceModelType = "bps"
)

func (PriceBPSPriceModelType) IsKnown added in v0.121.0

func (r PriceBPSPriceModelType) IsKnown() bool

type PriceBPSPricePriceType added in v0.121.0

type PriceBPSPricePriceType string
const (
	PriceBPSPricePriceTypeUsagePrice PriceBPSPricePriceType = "usage_price"
	PriceBPSPricePriceTypeFixedPrice PriceBPSPricePriceType = "fixed_price"
)

func (PriceBPSPricePriceType) IsKnown added in v0.121.0

func (r PriceBPSPricePriceType) IsKnown() bool

type PriceBulkBPSPrice added in v0.121.0

type PriceBulkBPSPrice struct {
	ID                        string                                `json:"id,required"`
	BillableMetric            BillableMetricTiny                    `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration             `json:"billing_cycle_configuration,required"`
	BulkBPSConfig             BulkBPSConfig                         `json:"bulk_bps_config,required"`
	Cadence                   PriceBulkBPSPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                               `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceBulkBPSPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                             `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                            `json:"credit_allocation,required,nullable"`
	Currency                  string                                `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                     `json:"minimum_amount,required,nullable"`
	ModelType      PriceBulkBPSPriceModelType `json:"model_type,required"`
	Name           string                     `json:"name,required"`
	PlanPhaseOrder int64                      `json:"plan_phase_order,required,nullable"`
	PriceType      PriceBulkBPSPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceBulkBPSPriceJSON         `json:"-"`
}

func (*PriceBulkBPSPrice) UnmarshalJSON added in v0.121.0

func (r *PriceBulkBPSPrice) UnmarshalJSON(data []byte) (err error)

type PriceBulkBPSPriceCadence added in v0.121.0

type PriceBulkBPSPriceCadence string
const (
	PriceBulkBPSPriceCadenceOneTime    PriceBulkBPSPriceCadence = "one_time"
	PriceBulkBPSPriceCadenceMonthly    PriceBulkBPSPriceCadence = "monthly"
	PriceBulkBPSPriceCadenceQuarterly  PriceBulkBPSPriceCadence = "quarterly"
	PriceBulkBPSPriceCadenceSemiAnnual PriceBulkBPSPriceCadence = "semi_annual"
	PriceBulkBPSPriceCadenceAnnual     PriceBulkBPSPriceCadence = "annual"
	PriceBulkBPSPriceCadenceCustom     PriceBulkBPSPriceCadence = "custom"
)

func (PriceBulkBPSPriceCadence) IsKnown added in v0.121.0

func (r PriceBulkBPSPriceCadence) IsKnown() bool

type PriceBulkBPSPriceConversionRateConfig added in v0.121.0

type PriceBulkBPSPriceConversionRateConfig struct {
	ConversionRateType PriceBulkBPSPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                              `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                `json:"unit_config"`
	JSON               priceBulkBPSPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceBulkBPSPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceBulkBPSPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceBulkBPSPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceBulkBPSPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceBulkBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceBulkBPSPriceConversionRateConfigConversionRateType string
const (
	PriceBulkBPSPriceConversionRateConfigConversionRateTypeUnit   PriceBulkBPSPriceConversionRateConfigConversionRateType = "unit"
	PriceBulkBPSPriceConversionRateConfigConversionRateTypeTiered PriceBulkBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceBulkBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceBulkBPSPriceConversionRateConfigUnion added in v0.121.0

type PriceBulkBPSPriceConversionRateConfigUnion interface {
	ImplementsPriceBulkBPSPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceBulkBPSPriceModelType added in v0.121.0

type PriceBulkBPSPriceModelType string
const (
	PriceBulkBPSPriceModelTypeBulkBPS PriceBulkBPSPriceModelType = "bulk_bps"
)

func (PriceBulkBPSPriceModelType) IsKnown added in v0.121.0

func (r PriceBulkBPSPriceModelType) IsKnown() bool

type PriceBulkBPSPricePriceType added in v0.121.0

type PriceBulkBPSPricePriceType string
const (
	PriceBulkBPSPricePriceTypeUsagePrice PriceBulkBPSPricePriceType = "usage_price"
	PriceBulkBPSPricePriceTypeFixedPrice PriceBulkBPSPricePriceType = "fixed_price"
)

func (PriceBulkBPSPricePriceType) IsKnown added in v0.121.0

func (r PriceBulkBPSPricePriceType) IsKnown() bool

type PriceBulkPrice added in v0.121.0

type PriceBulkPrice struct {
	ID                        string                             `json:"id,required"`
	BillableMetric            BillableMetricTiny                 `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration          `json:"billing_cycle_configuration,required"`
	BulkConfig                BulkConfig                         `json:"bulk_config,required"`
	Cadence                   PriceBulkPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                            `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceBulkPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                          `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                         `json:"credit_allocation,required,nullable"`
	Currency                  string                             `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                  `json:"minimum_amount,required,nullable"`
	ModelType      PriceBulkPriceModelType `json:"model_type,required"`
	Name           string                  `json:"name,required"`
	PlanPhaseOrder int64                   `json:"plan_phase_order,required,nullable"`
	PriceType      PriceBulkPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceBulkPriceJSON            `json:"-"`
}

func (*PriceBulkPrice) UnmarshalJSON added in v0.121.0

func (r *PriceBulkPrice) UnmarshalJSON(data []byte) (err error)

type PriceBulkPriceCadence added in v0.121.0

type PriceBulkPriceCadence string
const (
	PriceBulkPriceCadenceOneTime    PriceBulkPriceCadence = "one_time"
	PriceBulkPriceCadenceMonthly    PriceBulkPriceCadence = "monthly"
	PriceBulkPriceCadenceQuarterly  PriceBulkPriceCadence = "quarterly"
	PriceBulkPriceCadenceSemiAnnual PriceBulkPriceCadence = "semi_annual"
	PriceBulkPriceCadenceAnnual     PriceBulkPriceCadence = "annual"
	PriceBulkPriceCadenceCustom     PriceBulkPriceCadence = "custom"
)

func (PriceBulkPriceCadence) IsKnown added in v0.121.0

func (r PriceBulkPriceCadence) IsKnown() bool

type PriceBulkPriceConversionRateConfig added in v0.121.0

type PriceBulkPriceConversionRateConfig struct {
	ConversionRateType PriceBulkPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                           `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                             `json:"unit_config"`
	JSON               priceBulkPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceBulkPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceBulkPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceBulkPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceBulkPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceBulkPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceBulkPriceConversionRateConfigConversionRateType string
const (
	PriceBulkPriceConversionRateConfigConversionRateTypeUnit   PriceBulkPriceConversionRateConfigConversionRateType = "unit"
	PriceBulkPriceConversionRateConfigConversionRateTypeTiered PriceBulkPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceBulkPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceBulkPriceConversionRateConfigUnion added in v0.121.0

type PriceBulkPriceConversionRateConfigUnion interface {
	ImplementsPriceBulkPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceBulkPriceModelType added in v0.121.0

type PriceBulkPriceModelType string
const (
	PriceBulkPriceModelTypeBulk PriceBulkPriceModelType = "bulk"
)

func (PriceBulkPriceModelType) IsKnown added in v0.121.0

func (r PriceBulkPriceModelType) IsKnown() bool

type PriceBulkPricePriceType added in v0.121.0

type PriceBulkPricePriceType string
const (
	PriceBulkPricePriceTypeUsagePrice PriceBulkPricePriceType = "usage_price"
	PriceBulkPricePriceTypeFixedPrice PriceBulkPricePriceType = "fixed_price"
)

func (PriceBulkPricePriceType) IsKnown added in v0.121.0

func (r PriceBulkPricePriceType) IsKnown() bool

type PriceBulkWithProrationPrice added in v0.121.0

type PriceBulkWithProrationPrice struct {
	ID                        string                                          `json:"id,required"`
	BillableMetric            BillableMetricTiny                              `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                       `json:"billing_cycle_configuration,required"`
	BulkWithProrationConfig   map[string]interface{}                          `json:"bulk_with_proration_config,required"`
	Cadence                   PriceBulkWithProrationPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                         `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceBulkWithProrationPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                       `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                      `json:"credit_allocation,required,nullable"`
	Currency                  string                                          `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                               `json:"minimum_amount,required,nullable"`
	ModelType      PriceBulkWithProrationPriceModelType `json:"model_type,required"`
	Name           string                               `json:"name,required"`
	PlanPhaseOrder int64                                `json:"plan_phase_order,required,nullable"`
	PriceType      PriceBulkWithProrationPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                          `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration   `json:"dimensional_price_configuration,nullable"`
	JSON                          priceBulkWithProrationPriceJSON `json:"-"`
}

func (*PriceBulkWithProrationPrice) UnmarshalJSON added in v0.121.0

func (r *PriceBulkWithProrationPrice) UnmarshalJSON(data []byte) (err error)

type PriceBulkWithProrationPriceCadence added in v0.121.0

type PriceBulkWithProrationPriceCadence string
const (
	PriceBulkWithProrationPriceCadenceOneTime    PriceBulkWithProrationPriceCadence = "one_time"
	PriceBulkWithProrationPriceCadenceMonthly    PriceBulkWithProrationPriceCadence = "monthly"
	PriceBulkWithProrationPriceCadenceQuarterly  PriceBulkWithProrationPriceCadence = "quarterly"
	PriceBulkWithProrationPriceCadenceSemiAnnual PriceBulkWithProrationPriceCadence = "semi_annual"
	PriceBulkWithProrationPriceCadenceAnnual     PriceBulkWithProrationPriceCadence = "annual"
	PriceBulkWithProrationPriceCadenceCustom     PriceBulkWithProrationPriceCadence = "custom"
)

func (PriceBulkWithProrationPriceCadence) IsKnown added in v0.121.0

type PriceBulkWithProrationPriceConversionRateConfig added in v0.121.0

type PriceBulkWithProrationPriceConversionRateConfig struct {
	ConversionRateType PriceBulkWithProrationPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                        `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                          `json:"unit_config"`
	JSON               priceBulkWithProrationPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceBulkWithProrationPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceBulkWithProrationPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceBulkWithProrationPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceBulkWithProrationPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceBulkWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceBulkWithProrationPriceConversionRateConfigConversionRateType string
const (
	PriceBulkWithProrationPriceConversionRateConfigConversionRateTypeUnit   PriceBulkWithProrationPriceConversionRateConfigConversionRateType = "unit"
	PriceBulkWithProrationPriceConversionRateConfigConversionRateTypeTiered PriceBulkWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceBulkWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceBulkWithProrationPriceConversionRateConfigUnion added in v0.121.0

type PriceBulkWithProrationPriceConversionRateConfigUnion interface {
	ImplementsPriceBulkWithProrationPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceBulkWithProrationPriceModelType added in v0.121.0

type PriceBulkWithProrationPriceModelType string
const (
	PriceBulkWithProrationPriceModelTypeBulkWithProration PriceBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (PriceBulkWithProrationPriceModelType) IsKnown added in v0.121.0

type PriceBulkWithProrationPricePriceType added in v0.121.0

type PriceBulkWithProrationPricePriceType string
const (
	PriceBulkWithProrationPricePriceTypeUsagePrice PriceBulkWithProrationPricePriceType = "usage_price"
	PriceBulkWithProrationPricePriceTypeFixedPrice PriceBulkWithProrationPricePriceType = "fixed_price"
)

func (PriceBulkWithProrationPricePriceType) IsKnown added in v0.121.0

type PriceCadence added in v0.121.0

type PriceCadence string
const (
	PriceCadenceOneTime    PriceCadence = "one_time"
	PriceCadenceMonthly    PriceCadence = "monthly"
	PriceCadenceQuarterly  PriceCadence = "quarterly"
	PriceCadenceSemiAnnual PriceCadence = "semi_annual"
	PriceCadenceAnnual     PriceCadence = "annual"
	PriceCadenceCustom     PriceCadence = "custom"
)

func (PriceCadence) IsKnown added in v0.121.0

func (r PriceCadence) IsKnown() bool

type PriceCumulativeGroupedBulkPrice added in v0.121.0

type PriceCumulativeGroupedBulkPrice struct {
	ID                          string                                              `json:"id,required"`
	BillableMetric              BillableMetricTiny                                  `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration   BillingCycleConfiguration                           `json:"billing_cycle_configuration,required"`
	Cadence                     PriceCumulativeGroupedBulkPriceCadence              `json:"cadence,required"`
	ConversionRate              float64                                             `json:"conversion_rate,required,nullable"`
	ConversionRateConfig        PriceCumulativeGroupedBulkPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                   time.Time                                           `json:"created_at,required" format:"date-time"`
	CreditAllocation            Allocation                                          `json:"credit_allocation,required,nullable"`
	CumulativeGroupedBulkConfig map[string]interface{}                              `json:"cumulative_grouped_bulk_config,required"`
	Currency                    string                                              `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                   `json:"minimum_amount,required,nullable"`
	ModelType      PriceCumulativeGroupedBulkPriceModelType `json:"model_type,required"`
	Name           string                                   `json:"name,required"`
	PlanPhaseOrder int64                                    `json:"plan_phase_order,required,nullable"`
	PriceType      PriceCumulativeGroupedBulkPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                              `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration       `json:"dimensional_price_configuration,nullable"`
	JSON                          priceCumulativeGroupedBulkPriceJSON `json:"-"`
}

func (*PriceCumulativeGroupedBulkPrice) UnmarshalJSON added in v0.121.0

func (r *PriceCumulativeGroupedBulkPrice) UnmarshalJSON(data []byte) (err error)

type PriceCumulativeGroupedBulkPriceCadence added in v0.121.0

type PriceCumulativeGroupedBulkPriceCadence string
const (
	PriceCumulativeGroupedBulkPriceCadenceOneTime    PriceCumulativeGroupedBulkPriceCadence = "one_time"
	PriceCumulativeGroupedBulkPriceCadenceMonthly    PriceCumulativeGroupedBulkPriceCadence = "monthly"
	PriceCumulativeGroupedBulkPriceCadenceQuarterly  PriceCumulativeGroupedBulkPriceCadence = "quarterly"
	PriceCumulativeGroupedBulkPriceCadenceSemiAnnual PriceCumulativeGroupedBulkPriceCadence = "semi_annual"
	PriceCumulativeGroupedBulkPriceCadenceAnnual     PriceCumulativeGroupedBulkPriceCadence = "annual"
	PriceCumulativeGroupedBulkPriceCadenceCustom     PriceCumulativeGroupedBulkPriceCadence = "custom"
)

func (PriceCumulativeGroupedBulkPriceCadence) IsKnown added in v0.121.0

type PriceCumulativeGroupedBulkPriceConversionRateConfig added in v0.121.0

type PriceCumulativeGroupedBulkPriceConversionRateConfig struct {
	ConversionRateType PriceCumulativeGroupedBulkPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                            `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                              `json:"unit_config"`
	JSON               priceCumulativeGroupedBulkPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceCumulativeGroupedBulkPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceCumulativeGroupedBulkPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceCumulativeGroupedBulkPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceCumulativeGroupedBulkPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceCumulativeGroupedBulkPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceCumulativeGroupedBulkPriceConversionRateConfigConversionRateType string
const (
	PriceCumulativeGroupedBulkPriceConversionRateConfigConversionRateTypeUnit   PriceCumulativeGroupedBulkPriceConversionRateConfigConversionRateType = "unit"
	PriceCumulativeGroupedBulkPriceConversionRateConfigConversionRateTypeTiered PriceCumulativeGroupedBulkPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceCumulativeGroupedBulkPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceCumulativeGroupedBulkPriceConversionRateConfigUnion added in v0.121.0

type PriceCumulativeGroupedBulkPriceConversionRateConfigUnion interface {
	ImplementsPriceCumulativeGroupedBulkPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceCumulativeGroupedBulkPriceModelType added in v0.121.0

type PriceCumulativeGroupedBulkPriceModelType string
const (
	PriceCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk PriceCumulativeGroupedBulkPriceModelType = "cumulative_grouped_bulk"
)

func (PriceCumulativeGroupedBulkPriceModelType) IsKnown added in v0.121.0

type PriceCumulativeGroupedBulkPricePriceType added in v0.121.0

type PriceCumulativeGroupedBulkPricePriceType string
const (
	PriceCumulativeGroupedBulkPricePriceTypeUsagePrice PriceCumulativeGroupedBulkPricePriceType = "usage_price"
	PriceCumulativeGroupedBulkPricePriceTypeFixedPrice PriceCumulativeGroupedBulkPricePriceType = "fixed_price"
)

func (PriceCumulativeGroupedBulkPricePriceType) IsKnown added in v0.121.0

type PriceGroupedAllocationPrice added in v0.121.0

type PriceGroupedAllocationPrice struct {
	ID                        string                                          `json:"id,required"`
	BillableMetric            BillableMetricTiny                              `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                       `json:"billing_cycle_configuration,required"`
	Cadence                   PriceGroupedAllocationPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                         `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceGroupedAllocationPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                       `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                      `json:"credit_allocation,required,nullable"`
	Currency                  string                                          `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	GroupedAllocationConfig     map[string]interface{}    `json:"grouped_allocation_config,required"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                               `json:"minimum_amount,required,nullable"`
	ModelType      PriceGroupedAllocationPriceModelType `json:"model_type,required"`
	Name           string                               `json:"name,required"`
	PlanPhaseOrder int64                                `json:"plan_phase_order,required,nullable"`
	PriceType      PriceGroupedAllocationPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                          `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration   `json:"dimensional_price_configuration,nullable"`
	JSON                          priceGroupedAllocationPriceJSON `json:"-"`
}

func (*PriceGroupedAllocationPrice) UnmarshalJSON added in v0.121.0

func (r *PriceGroupedAllocationPrice) UnmarshalJSON(data []byte) (err error)

type PriceGroupedAllocationPriceCadence added in v0.121.0

type PriceGroupedAllocationPriceCadence string
const (
	PriceGroupedAllocationPriceCadenceOneTime    PriceGroupedAllocationPriceCadence = "one_time"
	PriceGroupedAllocationPriceCadenceMonthly    PriceGroupedAllocationPriceCadence = "monthly"
	PriceGroupedAllocationPriceCadenceQuarterly  PriceGroupedAllocationPriceCadence = "quarterly"
	PriceGroupedAllocationPriceCadenceSemiAnnual PriceGroupedAllocationPriceCadence = "semi_annual"
	PriceGroupedAllocationPriceCadenceAnnual     PriceGroupedAllocationPriceCadence = "annual"
	PriceGroupedAllocationPriceCadenceCustom     PriceGroupedAllocationPriceCadence = "custom"
)

func (PriceGroupedAllocationPriceCadence) IsKnown added in v0.121.0

type PriceGroupedAllocationPriceConversionRateConfig added in v0.121.0

type PriceGroupedAllocationPriceConversionRateConfig struct {
	ConversionRateType PriceGroupedAllocationPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                        `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                          `json:"unit_config"`
	JSON               priceGroupedAllocationPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceGroupedAllocationPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceGroupedAllocationPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceGroupedAllocationPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceGroupedAllocationPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceGroupedAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceGroupedAllocationPriceConversionRateConfigConversionRateType string
const (
	PriceGroupedAllocationPriceConversionRateConfigConversionRateTypeUnit   PriceGroupedAllocationPriceConversionRateConfigConversionRateType = "unit"
	PriceGroupedAllocationPriceConversionRateConfigConversionRateTypeTiered PriceGroupedAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceGroupedAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceGroupedAllocationPriceConversionRateConfigUnion added in v0.121.0

type PriceGroupedAllocationPriceConversionRateConfigUnion interface {
	ImplementsPriceGroupedAllocationPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceGroupedAllocationPriceModelType added in v0.121.0

type PriceGroupedAllocationPriceModelType string
const (
	PriceGroupedAllocationPriceModelTypeGroupedAllocation PriceGroupedAllocationPriceModelType = "grouped_allocation"
)

func (PriceGroupedAllocationPriceModelType) IsKnown added in v0.121.0

type PriceGroupedAllocationPricePriceType added in v0.121.0

type PriceGroupedAllocationPricePriceType string
const (
	PriceGroupedAllocationPricePriceTypeUsagePrice PriceGroupedAllocationPricePriceType = "usage_price"
	PriceGroupedAllocationPricePriceTypeFixedPrice PriceGroupedAllocationPricePriceType = "fixed_price"
)

func (PriceGroupedAllocationPricePriceType) IsKnown added in v0.121.0

type PriceGroupedTieredPackagePrice added in v0.121.0

type PriceGroupedTieredPackagePrice struct {
	ID                        string                                             `json:"id,required"`
	BillableMetric            BillableMetricTiny                                 `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                          `json:"billing_cycle_configuration,required"`
	Cadence                   PriceGroupedTieredPackagePriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                            `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceGroupedTieredPackagePriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                          `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                         `json:"credit_allocation,required,nullable"`
	Currency                  string                                             `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	GroupedTieredPackageConfig  map[string]interface{}    `json:"grouped_tiered_package_config,required"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                  `json:"minimum_amount,required,nullable"`
	ModelType      PriceGroupedTieredPackagePriceModelType `json:"model_type,required"`
	Name           string                                  `json:"name,required"`
	PlanPhaseOrder int64                                   `json:"plan_phase_order,required,nullable"`
	PriceType      PriceGroupedTieredPackagePricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                             `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration      `json:"dimensional_price_configuration,nullable"`
	JSON                          priceGroupedTieredPackagePriceJSON `json:"-"`
}

func (*PriceGroupedTieredPackagePrice) UnmarshalJSON added in v0.121.0

func (r *PriceGroupedTieredPackagePrice) UnmarshalJSON(data []byte) (err error)

type PriceGroupedTieredPackagePriceCadence added in v0.121.0

type PriceGroupedTieredPackagePriceCadence string
const (
	PriceGroupedTieredPackagePriceCadenceOneTime    PriceGroupedTieredPackagePriceCadence = "one_time"
	PriceGroupedTieredPackagePriceCadenceMonthly    PriceGroupedTieredPackagePriceCadence = "monthly"
	PriceGroupedTieredPackagePriceCadenceQuarterly  PriceGroupedTieredPackagePriceCadence = "quarterly"
	PriceGroupedTieredPackagePriceCadenceSemiAnnual PriceGroupedTieredPackagePriceCadence = "semi_annual"
	PriceGroupedTieredPackagePriceCadenceAnnual     PriceGroupedTieredPackagePriceCadence = "annual"
	PriceGroupedTieredPackagePriceCadenceCustom     PriceGroupedTieredPackagePriceCadence = "custom"
)

func (PriceGroupedTieredPackagePriceCadence) IsKnown added in v0.121.0

type PriceGroupedTieredPackagePriceConversionRateConfig added in v0.121.0

type PriceGroupedTieredPackagePriceConversionRateConfig struct {
	ConversionRateType PriceGroupedTieredPackagePriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                           `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                             `json:"unit_config"`
	JSON               priceGroupedTieredPackagePriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceGroupedTieredPackagePriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceGroupedTieredPackagePriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceGroupedTieredPackagePriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceGroupedTieredPackagePriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceGroupedTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type PriceGroupedTieredPackagePriceConversionRateConfigConversionRateType string
const (
	PriceGroupedTieredPackagePriceConversionRateConfigConversionRateTypeUnit   PriceGroupedTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	PriceGroupedTieredPackagePriceConversionRateConfigConversionRateTypeTiered PriceGroupedTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceGroupedTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceGroupedTieredPackagePriceConversionRateConfigUnion added in v0.121.0

type PriceGroupedTieredPackagePriceConversionRateConfigUnion interface {
	ImplementsPriceGroupedTieredPackagePriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceGroupedTieredPackagePriceModelType added in v0.121.0

type PriceGroupedTieredPackagePriceModelType string
const (
	PriceGroupedTieredPackagePriceModelTypeGroupedTieredPackage PriceGroupedTieredPackagePriceModelType = "grouped_tiered_package"
)

func (PriceGroupedTieredPackagePriceModelType) IsKnown added in v0.121.0

type PriceGroupedTieredPackagePricePriceType added in v0.121.0

type PriceGroupedTieredPackagePricePriceType string
const (
	PriceGroupedTieredPackagePricePriceTypeUsagePrice PriceGroupedTieredPackagePricePriceType = "usage_price"
	PriceGroupedTieredPackagePricePriceTypeFixedPrice PriceGroupedTieredPackagePricePriceType = "fixed_price"
)

func (PriceGroupedTieredPackagePricePriceType) IsKnown added in v0.121.0

type PriceGroupedTieredPrice added in v0.121.0

type PriceGroupedTieredPrice struct {
	ID                        string                                      `json:"id,required"`
	BillableMetric            BillableMetricTiny                          `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                   `json:"billing_cycle_configuration,required"`
	Cadence                   PriceGroupedTieredPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                     `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceGroupedTieredPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                   `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                  `json:"credit_allocation,required,nullable"`
	Currency                  string                                      `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	GroupedTieredConfig         map[string]interface{}    `json:"grouped_tiered_config,required"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                           `json:"minimum_amount,required,nullable"`
	ModelType      PriceGroupedTieredPriceModelType `json:"model_type,required"`
	Name           string                           `json:"name,required"`
	PlanPhaseOrder int64                            `json:"plan_phase_order,required,nullable"`
	PriceType      PriceGroupedTieredPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceGroupedTieredPriceJSON   `json:"-"`
}

func (*PriceGroupedTieredPrice) UnmarshalJSON added in v0.121.0

func (r *PriceGroupedTieredPrice) UnmarshalJSON(data []byte) (err error)

type PriceGroupedTieredPriceCadence added in v0.121.0

type PriceGroupedTieredPriceCadence string
const (
	PriceGroupedTieredPriceCadenceOneTime    PriceGroupedTieredPriceCadence = "one_time"
	PriceGroupedTieredPriceCadenceMonthly    PriceGroupedTieredPriceCadence = "monthly"
	PriceGroupedTieredPriceCadenceQuarterly  PriceGroupedTieredPriceCadence = "quarterly"
	PriceGroupedTieredPriceCadenceSemiAnnual PriceGroupedTieredPriceCadence = "semi_annual"
	PriceGroupedTieredPriceCadenceAnnual     PriceGroupedTieredPriceCadence = "annual"
	PriceGroupedTieredPriceCadenceCustom     PriceGroupedTieredPriceCadence = "custom"
)

func (PriceGroupedTieredPriceCadence) IsKnown added in v0.121.0

type PriceGroupedTieredPriceConversionRateConfig added in v0.121.0

type PriceGroupedTieredPriceConversionRateConfig struct {
	ConversionRateType PriceGroupedTieredPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                    `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                      `json:"unit_config"`
	JSON               priceGroupedTieredPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceGroupedTieredPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceGroupedTieredPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceGroupedTieredPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceGroupedTieredPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceGroupedTieredPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceGroupedTieredPriceConversionRateConfigConversionRateType string
const (
	PriceGroupedTieredPriceConversionRateConfigConversionRateTypeUnit   PriceGroupedTieredPriceConversionRateConfigConversionRateType = "unit"
	PriceGroupedTieredPriceConversionRateConfigConversionRateTypeTiered PriceGroupedTieredPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceGroupedTieredPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceGroupedTieredPriceConversionRateConfigUnion added in v0.121.0

type PriceGroupedTieredPriceConversionRateConfigUnion interface {
	ImplementsPriceGroupedTieredPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceGroupedTieredPriceModelType added in v0.121.0

type PriceGroupedTieredPriceModelType string
const (
	PriceGroupedTieredPriceModelTypeGroupedTiered PriceGroupedTieredPriceModelType = "grouped_tiered"
)

func (PriceGroupedTieredPriceModelType) IsKnown added in v0.121.0

type PriceGroupedTieredPricePriceType added in v0.121.0

type PriceGroupedTieredPricePriceType string
const (
	PriceGroupedTieredPricePriceTypeUsagePrice PriceGroupedTieredPricePriceType = "usage_price"
	PriceGroupedTieredPricePriceTypeFixedPrice PriceGroupedTieredPricePriceType = "fixed_price"
)

func (PriceGroupedTieredPricePriceType) IsKnown added in v0.121.0

type PriceGroupedWithMeteredMinimumPrice added in v0.121.0

type PriceGroupedWithMeteredMinimumPrice struct {
	ID                        string                                                  `json:"id,required"`
	BillableMetric            BillableMetricTiny                                      `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                               `json:"billing_cycle_configuration,required"`
	Cadence                   PriceGroupedWithMeteredMinimumPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                                 `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceGroupedWithMeteredMinimumPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                               `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                              `json:"credit_allocation,required,nullable"`
	Currency                  string                                                  `json:"currency,required"`
	// Deprecated: deprecated
	Discount                        Discount                  `json:"discount,required,nullable"`
	ExternalPriceID                 string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity              float64                   `json:"fixed_price_quantity,required,nullable"`
	GroupedWithMeteredMinimumConfig map[string]interface{}    `json:"grouped_with_metered_minimum_config,required"`
	InvoicingCycleConfiguration     BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                            ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                       `json:"minimum_amount,required,nullable"`
	ModelType      PriceGroupedWithMeteredMinimumPriceModelType `json:"model_type,required"`
	Name           string                                       `json:"name,required"`
	PlanPhaseOrder int64                                        `json:"plan_phase_order,required,nullable"`
	PriceType      PriceGroupedWithMeteredMinimumPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                                  `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration           `json:"dimensional_price_configuration,nullable"`
	JSON                          priceGroupedWithMeteredMinimumPriceJSON `json:"-"`
}

func (*PriceGroupedWithMeteredMinimumPrice) UnmarshalJSON added in v0.121.0

func (r *PriceGroupedWithMeteredMinimumPrice) UnmarshalJSON(data []byte) (err error)

type PriceGroupedWithMeteredMinimumPriceCadence added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceCadence string
const (
	PriceGroupedWithMeteredMinimumPriceCadenceOneTime    PriceGroupedWithMeteredMinimumPriceCadence = "one_time"
	PriceGroupedWithMeteredMinimumPriceCadenceMonthly    PriceGroupedWithMeteredMinimumPriceCadence = "monthly"
	PriceGroupedWithMeteredMinimumPriceCadenceQuarterly  PriceGroupedWithMeteredMinimumPriceCadence = "quarterly"
	PriceGroupedWithMeteredMinimumPriceCadenceSemiAnnual PriceGroupedWithMeteredMinimumPriceCadence = "semi_annual"
	PriceGroupedWithMeteredMinimumPriceCadenceAnnual     PriceGroupedWithMeteredMinimumPriceCadence = "annual"
	PriceGroupedWithMeteredMinimumPriceCadenceCustom     PriceGroupedWithMeteredMinimumPriceCadence = "custom"
)

func (PriceGroupedWithMeteredMinimumPriceCadence) IsKnown added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceConversionRateConfig added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceConversionRateConfig struct {
	ConversionRateType PriceGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                                `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                                  `json:"unit_config"`
	JSON               priceGroupedWithMeteredMinimumPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceGroupedWithMeteredMinimumPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceGroupedWithMeteredMinimumPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceGroupedWithMeteredMinimumPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType string
const (
	PriceGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateTypeUnit   PriceGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType = "unit"
	PriceGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateTypeTiered PriceGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceGroupedWithMeteredMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceConversionRateConfigUnion added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceConversionRateConfigUnion interface {
	ImplementsPriceGroupedWithMeteredMinimumPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceGroupedWithMeteredMinimumPriceModelType added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceModelType string
const (
	PriceGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum PriceGroupedWithMeteredMinimumPriceModelType = "grouped_with_metered_minimum"
)

func (PriceGroupedWithMeteredMinimumPriceModelType) IsKnown added in v0.121.0

type PriceGroupedWithMeteredMinimumPricePriceType added in v0.121.0

type PriceGroupedWithMeteredMinimumPricePriceType string
const (
	PriceGroupedWithMeteredMinimumPricePriceTypeUsagePrice PriceGroupedWithMeteredMinimumPricePriceType = "usage_price"
	PriceGroupedWithMeteredMinimumPricePriceTypeFixedPrice PriceGroupedWithMeteredMinimumPricePriceType = "fixed_price"
)

func (PriceGroupedWithMeteredMinimumPricePriceType) IsKnown added in v0.121.0

type PriceGroupedWithProratedMinimumPrice added in v0.121.0

type PriceGroupedWithProratedMinimumPrice struct {
	ID                        string                                                   `json:"id,required"`
	BillableMetric            BillableMetricTiny                                       `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                                `json:"billing_cycle_configuration,required"`
	Cadence                   PriceGroupedWithProratedMinimumPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                                  `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceGroupedWithProratedMinimumPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                                `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                               `json:"credit_allocation,required,nullable"`
	Currency                  string                                                   `json:"currency,required"`
	// Deprecated: deprecated
	Discount                         Discount                  `json:"discount,required,nullable"`
	ExternalPriceID                  string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity               float64                   `json:"fixed_price_quantity,required,nullable"`
	GroupedWithProratedMinimumConfig map[string]interface{}    `json:"grouped_with_prorated_minimum_config,required"`
	InvoicingCycleConfiguration      BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                             ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                        `json:"minimum_amount,required,nullable"`
	ModelType      PriceGroupedWithProratedMinimumPriceModelType `json:"model_type,required"`
	Name           string                                        `json:"name,required"`
	PlanPhaseOrder int64                                         `json:"plan_phase_order,required,nullable"`
	PriceType      PriceGroupedWithProratedMinimumPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                                   `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration            `json:"dimensional_price_configuration,nullable"`
	JSON                          priceGroupedWithProratedMinimumPriceJSON `json:"-"`
}

func (*PriceGroupedWithProratedMinimumPrice) UnmarshalJSON added in v0.121.0

func (r *PriceGroupedWithProratedMinimumPrice) UnmarshalJSON(data []byte) (err error)

type PriceGroupedWithProratedMinimumPriceCadence added in v0.121.0

type PriceGroupedWithProratedMinimumPriceCadence string
const (
	PriceGroupedWithProratedMinimumPriceCadenceOneTime    PriceGroupedWithProratedMinimumPriceCadence = "one_time"
	PriceGroupedWithProratedMinimumPriceCadenceMonthly    PriceGroupedWithProratedMinimumPriceCadence = "monthly"
	PriceGroupedWithProratedMinimumPriceCadenceQuarterly  PriceGroupedWithProratedMinimumPriceCadence = "quarterly"
	PriceGroupedWithProratedMinimumPriceCadenceSemiAnnual PriceGroupedWithProratedMinimumPriceCadence = "semi_annual"
	PriceGroupedWithProratedMinimumPriceCadenceAnnual     PriceGroupedWithProratedMinimumPriceCadence = "annual"
	PriceGroupedWithProratedMinimumPriceCadenceCustom     PriceGroupedWithProratedMinimumPriceCadence = "custom"
)

func (PriceGroupedWithProratedMinimumPriceCadence) IsKnown added in v0.121.0

type PriceGroupedWithProratedMinimumPriceConversionRateConfig added in v0.121.0

type PriceGroupedWithProratedMinimumPriceConversionRateConfig struct {
	ConversionRateType PriceGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                                 `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                                   `json:"unit_config"`
	JSON               priceGroupedWithProratedMinimumPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceGroupedWithProratedMinimumPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceGroupedWithProratedMinimumPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceGroupedWithProratedMinimumPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

type PriceGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType string
const (
	PriceGroupedWithProratedMinimumPriceConversionRateConfigConversionRateTypeUnit   PriceGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType = "unit"
	PriceGroupedWithProratedMinimumPriceConversionRateConfigConversionRateTypeTiered PriceGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceGroupedWithProratedMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceGroupedWithProratedMinimumPriceConversionRateConfigUnion added in v0.121.0

type PriceGroupedWithProratedMinimumPriceConversionRateConfigUnion interface {
	ImplementsPriceGroupedWithProratedMinimumPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceGroupedWithProratedMinimumPriceModelType added in v0.121.0

type PriceGroupedWithProratedMinimumPriceModelType string
const (
	PriceGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum PriceGroupedWithProratedMinimumPriceModelType = "grouped_with_prorated_minimum"
)

func (PriceGroupedWithProratedMinimumPriceModelType) IsKnown added in v0.121.0

type PriceGroupedWithProratedMinimumPricePriceType added in v0.121.0

type PriceGroupedWithProratedMinimumPricePriceType string
const (
	PriceGroupedWithProratedMinimumPricePriceTypeUsagePrice PriceGroupedWithProratedMinimumPricePriceType = "usage_price"
	PriceGroupedWithProratedMinimumPricePriceTypeFixedPrice PriceGroupedWithProratedMinimumPricePriceType = "fixed_price"
)

func (PriceGroupedWithProratedMinimumPricePriceType) IsKnown added in v0.121.0

type PriceInterval added in v0.121.0

type PriceInterval struct {
	ID string `json:"id,required"`
	// The day of the month that Orb bills for this price
	BillingCycleDay int64 `json:"billing_cycle_day,required"`
	// The end of the current billing period. This is an exclusive timestamp, such that
	// the instant returned is exactly the end of the billing period. Set to null if
	// this price interval is not currently active.
	CurrentBillingPeriodEndDate time.Time `json:"current_billing_period_end_date,required,nullable" format:"date-time"`
	// The start date of the current billing period. This is an inclusive timestamp;
	// the instant returned is exactly the beginning of the billing period. Set to null
	// if this price interval is not currently active.
	CurrentBillingPeriodStartDate time.Time `json:"current_billing_period_start_date,required,nullable" format:"date-time"`
	// The end date of the price interval. This is the date that Orb stops billing for
	// this price.
	EndDate time.Time `json:"end_date,required,nullable" format:"date-time"`
	// An additional filter to apply to usage queries.
	Filter string `json:"filter,required,nullable"`
	// The fixed fee quantity transitions for this price interval. This is only
	// relevant for fixed fees.
	FixedFeeQuantityTransitions []FixedFeeQuantityTransition `json:"fixed_fee_quantity_transitions,required,nullable"`
	// The Price resource represents a price that can be billed on a subscription,
	// resulting in a charge on an invoice in the form of an invoice line item. Prices
	// take a quantity and determine an amount to bill.
	//
	// Orb supports a few different pricing models out of the box. Each of these models
	// is serialized differently in a given Price object. The model_type field
	// determines the key for the configuration object that is present.
	//
	// For more on the types of prices, see
	// [the core concepts documentation](/core-concepts#plan-and-price)
	Price Price `json:"price,required"`
	// The start date of the price interval. This is the date that Orb starts billing
	// for this price.
	StartDate time.Time `json:"start_date,required" format:"date-time"`
	// A list of customer IDs whose usage events will be aggregated and billed under
	// this price interval.
	UsageCustomerIDs []string          `json:"usage_customer_ids,required,nullable"`
	JSON             priceIntervalJSON `json:"-"`
}

The Price Interval resource represents a period of time for which a price will bill on a subscription. A subscription’s price intervals define its billing behavior.

func (*PriceInterval) UnmarshalJSON added in v0.121.0

func (r *PriceInterval) UnmarshalJSON(data []byte) (err error)

type PriceMatrixPrice added in v0.121.0

type PriceMatrixPrice struct {
	ID                        string                               `json:"id,required"`
	BillableMetric            BillableMetricTiny                   `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration            `json:"billing_cycle_configuration,required"`
	Cadence                   PriceMatrixPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                              `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceMatrixPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                            `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                           `json:"credit_allocation,required,nullable"`
	Currency                  string                               `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	MatrixConfig                MatrixConfig              `json:"matrix_config,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                    `json:"minimum_amount,required,nullable"`
	ModelType      PriceMatrixPriceModelType `json:"model_type,required"`
	Name           string                    `json:"name,required"`
	PlanPhaseOrder int64                     `json:"plan_phase_order,required,nullable"`
	PriceType      PriceMatrixPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceMatrixPriceJSON          `json:"-"`
}

func (*PriceMatrixPrice) UnmarshalJSON added in v0.121.0

func (r *PriceMatrixPrice) UnmarshalJSON(data []byte) (err error)

type PriceMatrixPriceCadence added in v0.121.0

type PriceMatrixPriceCadence string
const (
	PriceMatrixPriceCadenceOneTime    PriceMatrixPriceCadence = "one_time"
	PriceMatrixPriceCadenceMonthly    PriceMatrixPriceCadence = "monthly"
	PriceMatrixPriceCadenceQuarterly  PriceMatrixPriceCadence = "quarterly"
	PriceMatrixPriceCadenceSemiAnnual PriceMatrixPriceCadence = "semi_annual"
	PriceMatrixPriceCadenceAnnual     PriceMatrixPriceCadence = "annual"
	PriceMatrixPriceCadenceCustom     PriceMatrixPriceCadence = "custom"
)

func (PriceMatrixPriceCadence) IsKnown added in v0.121.0

func (r PriceMatrixPriceCadence) IsKnown() bool

type PriceMatrixPriceConversionRateConfig added in v0.121.0

type PriceMatrixPriceConversionRateConfig struct {
	ConversionRateType PriceMatrixPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                             `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                               `json:"unit_config"`
	JSON               priceMatrixPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceMatrixPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceMatrixPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceMatrixPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceMatrixPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceMatrixPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceMatrixPriceConversionRateConfigConversionRateType string
const (
	PriceMatrixPriceConversionRateConfigConversionRateTypeUnit   PriceMatrixPriceConversionRateConfigConversionRateType = "unit"
	PriceMatrixPriceConversionRateConfigConversionRateTypeTiered PriceMatrixPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceMatrixPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceMatrixPriceConversionRateConfigUnion added in v0.121.0

type PriceMatrixPriceConversionRateConfigUnion interface {
	ImplementsPriceMatrixPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceMatrixPriceModelType added in v0.121.0

type PriceMatrixPriceModelType string
const (
	PriceMatrixPriceModelTypeMatrix PriceMatrixPriceModelType = "matrix"
)

func (PriceMatrixPriceModelType) IsKnown added in v0.121.0

func (r PriceMatrixPriceModelType) IsKnown() bool

type PriceMatrixPricePriceType added in v0.121.0

type PriceMatrixPricePriceType string
const (
	PriceMatrixPricePriceTypeUsagePrice PriceMatrixPricePriceType = "usage_price"
	PriceMatrixPricePriceTypeFixedPrice PriceMatrixPricePriceType = "fixed_price"
)

func (PriceMatrixPricePriceType) IsKnown added in v0.121.0

func (r PriceMatrixPricePriceType) IsKnown() bool

type PriceMatrixWithAllocationPrice added in v0.121.0

type PriceMatrixWithAllocationPrice struct {
	ID                        string                                             `json:"id,required"`
	BillableMetric            BillableMetricTiny                                 `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                          `json:"billing_cycle_configuration,required"`
	Cadence                   PriceMatrixWithAllocationPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                            `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceMatrixWithAllocationPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                          `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                         `json:"credit_allocation,required,nullable"`
	Currency                  string                                             `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                   `json:"discount,required,nullable"`
	ExternalPriceID             string                     `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                    `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration  `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                   `json:"item,required"`
	MatrixWithAllocationConfig  MatrixWithAllocationConfig `json:"matrix_with_allocation_config,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                  `json:"minimum_amount,required,nullable"`
	ModelType      PriceMatrixWithAllocationPriceModelType `json:"model_type,required"`
	Name           string                                  `json:"name,required"`
	PlanPhaseOrder int64                                   `json:"plan_phase_order,required,nullable"`
	PriceType      PriceMatrixWithAllocationPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                             `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration      `json:"dimensional_price_configuration,nullable"`
	JSON                          priceMatrixWithAllocationPriceJSON `json:"-"`
}

func (*PriceMatrixWithAllocationPrice) UnmarshalJSON added in v0.121.0

func (r *PriceMatrixWithAllocationPrice) UnmarshalJSON(data []byte) (err error)

type PriceMatrixWithAllocationPriceCadence added in v0.121.0

type PriceMatrixWithAllocationPriceCadence string
const (
	PriceMatrixWithAllocationPriceCadenceOneTime    PriceMatrixWithAllocationPriceCadence = "one_time"
	PriceMatrixWithAllocationPriceCadenceMonthly    PriceMatrixWithAllocationPriceCadence = "monthly"
	PriceMatrixWithAllocationPriceCadenceQuarterly  PriceMatrixWithAllocationPriceCadence = "quarterly"
	PriceMatrixWithAllocationPriceCadenceSemiAnnual PriceMatrixWithAllocationPriceCadence = "semi_annual"
	PriceMatrixWithAllocationPriceCadenceAnnual     PriceMatrixWithAllocationPriceCadence = "annual"
	PriceMatrixWithAllocationPriceCadenceCustom     PriceMatrixWithAllocationPriceCadence = "custom"
)

func (PriceMatrixWithAllocationPriceCadence) IsKnown added in v0.121.0

type PriceMatrixWithAllocationPriceConversionRateConfig added in v0.121.0

type PriceMatrixWithAllocationPriceConversionRateConfig struct {
	ConversionRateType PriceMatrixWithAllocationPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                           `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                             `json:"unit_config"`
	JSON               priceMatrixWithAllocationPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceMatrixWithAllocationPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceMatrixWithAllocationPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceMatrixWithAllocationPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceMatrixWithAllocationPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceMatrixWithAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceMatrixWithAllocationPriceConversionRateConfigConversionRateType string
const (
	PriceMatrixWithAllocationPriceConversionRateConfigConversionRateTypeUnit   PriceMatrixWithAllocationPriceConversionRateConfigConversionRateType = "unit"
	PriceMatrixWithAllocationPriceConversionRateConfigConversionRateTypeTiered PriceMatrixWithAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceMatrixWithAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceMatrixWithAllocationPriceConversionRateConfigUnion added in v0.121.0

type PriceMatrixWithAllocationPriceConversionRateConfigUnion interface {
	ImplementsPriceMatrixWithAllocationPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceMatrixWithAllocationPriceModelType added in v0.121.0

type PriceMatrixWithAllocationPriceModelType string
const (
	PriceMatrixWithAllocationPriceModelTypeMatrixWithAllocation PriceMatrixWithAllocationPriceModelType = "matrix_with_allocation"
)

func (PriceMatrixWithAllocationPriceModelType) IsKnown added in v0.121.0

type PriceMatrixWithAllocationPricePriceType added in v0.121.0

type PriceMatrixWithAllocationPricePriceType string
const (
	PriceMatrixWithAllocationPricePriceTypeUsagePrice PriceMatrixWithAllocationPricePriceType = "usage_price"
	PriceMatrixWithAllocationPricePriceTypeFixedPrice PriceMatrixWithAllocationPricePriceType = "fixed_price"
)

func (PriceMatrixWithAllocationPricePriceType) IsKnown added in v0.121.0

type PriceMatrixWithDisplayNamePrice added in v0.121.0

type PriceMatrixWithDisplayNamePrice struct {
	ID                        string                                              `json:"id,required"`
	BillableMetric            BillableMetricTiny                                  `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                           `json:"billing_cycle_configuration,required"`
	Cadence                   PriceMatrixWithDisplayNamePriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                             `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceMatrixWithDisplayNamePriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                           `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                          `json:"credit_allocation,required,nullable"`
	Currency                  string                                              `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	MatrixWithDisplayNameConfig map[string]interface{}    `json:"matrix_with_display_name_config,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                   `json:"minimum_amount,required,nullable"`
	ModelType      PriceMatrixWithDisplayNamePriceModelType `json:"model_type,required"`
	Name           string                                   `json:"name,required"`
	PlanPhaseOrder int64                                    `json:"plan_phase_order,required,nullable"`
	PriceType      PriceMatrixWithDisplayNamePricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                              `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration       `json:"dimensional_price_configuration,nullable"`
	JSON                          priceMatrixWithDisplayNamePriceJSON `json:"-"`
}

func (*PriceMatrixWithDisplayNamePrice) UnmarshalJSON added in v0.121.0

func (r *PriceMatrixWithDisplayNamePrice) UnmarshalJSON(data []byte) (err error)

type PriceMatrixWithDisplayNamePriceCadence added in v0.121.0

type PriceMatrixWithDisplayNamePriceCadence string
const (
	PriceMatrixWithDisplayNamePriceCadenceOneTime    PriceMatrixWithDisplayNamePriceCadence = "one_time"
	PriceMatrixWithDisplayNamePriceCadenceMonthly    PriceMatrixWithDisplayNamePriceCadence = "monthly"
	PriceMatrixWithDisplayNamePriceCadenceQuarterly  PriceMatrixWithDisplayNamePriceCadence = "quarterly"
	PriceMatrixWithDisplayNamePriceCadenceSemiAnnual PriceMatrixWithDisplayNamePriceCadence = "semi_annual"
	PriceMatrixWithDisplayNamePriceCadenceAnnual     PriceMatrixWithDisplayNamePriceCadence = "annual"
	PriceMatrixWithDisplayNamePriceCadenceCustom     PriceMatrixWithDisplayNamePriceCadence = "custom"
)

func (PriceMatrixWithDisplayNamePriceCadence) IsKnown added in v0.121.0

type PriceMatrixWithDisplayNamePriceConversionRateConfig added in v0.121.0

type PriceMatrixWithDisplayNamePriceConversionRateConfig struct {
	ConversionRateType PriceMatrixWithDisplayNamePriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                            `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                              `json:"unit_config"`
	JSON               priceMatrixWithDisplayNamePriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceMatrixWithDisplayNamePriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceMatrixWithDisplayNamePriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceMatrixWithDisplayNamePriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceMatrixWithDisplayNamePriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceMatrixWithDisplayNamePriceConversionRateConfigConversionRateType added in v0.121.0

type PriceMatrixWithDisplayNamePriceConversionRateConfigConversionRateType string
const (
	PriceMatrixWithDisplayNamePriceConversionRateConfigConversionRateTypeUnit   PriceMatrixWithDisplayNamePriceConversionRateConfigConversionRateType = "unit"
	PriceMatrixWithDisplayNamePriceConversionRateConfigConversionRateTypeTiered PriceMatrixWithDisplayNamePriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceMatrixWithDisplayNamePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceMatrixWithDisplayNamePriceConversionRateConfigUnion added in v0.121.0

type PriceMatrixWithDisplayNamePriceConversionRateConfigUnion interface {
	ImplementsPriceMatrixWithDisplayNamePriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceMatrixWithDisplayNamePriceModelType added in v0.121.0

type PriceMatrixWithDisplayNamePriceModelType string
const (
	PriceMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName PriceMatrixWithDisplayNamePriceModelType = "matrix_with_display_name"
)

func (PriceMatrixWithDisplayNamePriceModelType) IsKnown added in v0.121.0

type PriceMatrixWithDisplayNamePricePriceType added in v0.121.0

type PriceMatrixWithDisplayNamePricePriceType string
const (
	PriceMatrixWithDisplayNamePricePriceTypeUsagePrice PriceMatrixWithDisplayNamePricePriceType = "usage_price"
	PriceMatrixWithDisplayNamePricePriceTypeFixedPrice PriceMatrixWithDisplayNamePricePriceType = "fixed_price"
)

func (PriceMatrixWithDisplayNamePricePriceType) IsKnown added in v0.121.0

type PriceMaxGroupTieredPackagePrice added in v0.121.0

type PriceMaxGroupTieredPackagePrice struct {
	ID                        string                                              `json:"id,required"`
	BillableMetric            BillableMetricTiny                                  `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                           `json:"billing_cycle_configuration,required"`
	Cadence                   PriceMaxGroupTieredPackagePriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                             `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceMaxGroupTieredPackagePriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                           `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                          `json:"credit_allocation,required,nullable"`
	Currency                  string                                              `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	MaxGroupTieredPackageConfig map[string]interface{}    `json:"max_group_tiered_package_config,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                   `json:"minimum_amount,required,nullable"`
	ModelType      PriceMaxGroupTieredPackagePriceModelType `json:"model_type,required"`
	Name           string                                   `json:"name,required"`
	PlanPhaseOrder int64                                    `json:"plan_phase_order,required,nullable"`
	PriceType      PriceMaxGroupTieredPackagePricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                              `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration       `json:"dimensional_price_configuration,nullable"`
	JSON                          priceMaxGroupTieredPackagePriceJSON `json:"-"`
}

func (*PriceMaxGroupTieredPackagePrice) UnmarshalJSON added in v0.121.0

func (r *PriceMaxGroupTieredPackagePrice) UnmarshalJSON(data []byte) (err error)

type PriceMaxGroupTieredPackagePriceCadence added in v0.121.0

type PriceMaxGroupTieredPackagePriceCadence string
const (
	PriceMaxGroupTieredPackagePriceCadenceOneTime    PriceMaxGroupTieredPackagePriceCadence = "one_time"
	PriceMaxGroupTieredPackagePriceCadenceMonthly    PriceMaxGroupTieredPackagePriceCadence = "monthly"
	PriceMaxGroupTieredPackagePriceCadenceQuarterly  PriceMaxGroupTieredPackagePriceCadence = "quarterly"
	PriceMaxGroupTieredPackagePriceCadenceSemiAnnual PriceMaxGroupTieredPackagePriceCadence = "semi_annual"
	PriceMaxGroupTieredPackagePriceCadenceAnnual     PriceMaxGroupTieredPackagePriceCadence = "annual"
	PriceMaxGroupTieredPackagePriceCadenceCustom     PriceMaxGroupTieredPackagePriceCadence = "custom"
)

func (PriceMaxGroupTieredPackagePriceCadence) IsKnown added in v0.121.0

type PriceMaxGroupTieredPackagePriceConversionRateConfig added in v0.121.0

type PriceMaxGroupTieredPackagePriceConversionRateConfig struct {
	ConversionRateType PriceMaxGroupTieredPackagePriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                            `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                              `json:"unit_config"`
	JSON               priceMaxGroupTieredPackagePriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceMaxGroupTieredPackagePriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceMaxGroupTieredPackagePriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceMaxGroupTieredPackagePriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceMaxGroupTieredPackagePriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceMaxGroupTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type PriceMaxGroupTieredPackagePriceConversionRateConfigConversionRateType string
const (
	PriceMaxGroupTieredPackagePriceConversionRateConfigConversionRateTypeUnit   PriceMaxGroupTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	PriceMaxGroupTieredPackagePriceConversionRateConfigConversionRateTypeTiered PriceMaxGroupTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceMaxGroupTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceMaxGroupTieredPackagePriceConversionRateConfigUnion added in v0.121.0

type PriceMaxGroupTieredPackagePriceConversionRateConfigUnion interface {
	ImplementsPriceMaxGroupTieredPackagePriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceMaxGroupTieredPackagePriceModelType added in v0.121.0

type PriceMaxGroupTieredPackagePriceModelType string
const (
	PriceMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage PriceMaxGroupTieredPackagePriceModelType = "max_group_tiered_package"
)

func (PriceMaxGroupTieredPackagePriceModelType) IsKnown added in v0.121.0

type PriceMaxGroupTieredPackagePricePriceType added in v0.121.0

type PriceMaxGroupTieredPackagePricePriceType string
const (
	PriceMaxGroupTieredPackagePricePriceTypeUsagePrice PriceMaxGroupTieredPackagePricePriceType = "usage_price"
	PriceMaxGroupTieredPackagePricePriceTypeFixedPrice PriceMaxGroupTieredPackagePricePriceType = "fixed_price"
)

func (PriceMaxGroupTieredPackagePricePriceType) IsKnown added in v0.121.0

type PriceModelType added in v0.121.0

type PriceModelType string
const (
	PriceModelTypeUnit                            PriceModelType = "unit"
	PriceModelTypePackage                         PriceModelType = "package"
	PriceModelTypeMatrix                          PriceModelType = "matrix"
	PriceModelTypeTiered                          PriceModelType = "tiered"
	PriceModelTypeTieredBPS                       PriceModelType = "tiered_bps"
	PriceModelTypeBPS                             PriceModelType = "bps"
	PriceModelTypeBulkBPS                         PriceModelType = "bulk_bps"
	PriceModelTypeBulk                            PriceModelType = "bulk"
	PriceModelTypeThresholdTotalAmount            PriceModelType = "threshold_total_amount"
	PriceModelTypeTieredPackage                   PriceModelType = "tiered_package"
	PriceModelTypeGroupedTiered                   PriceModelType = "grouped_tiered"
	PriceModelTypeTieredWithMinimum               PriceModelType = "tiered_with_minimum"
	PriceModelTypeTieredPackageWithMinimum        PriceModelType = "tiered_package_with_minimum"
	PriceModelTypePackageWithAllocation           PriceModelType = "package_with_allocation"
	PriceModelTypeUnitWithPercent                 PriceModelType = "unit_with_percent"
	PriceModelTypeMatrixWithAllocation            PriceModelType = "matrix_with_allocation"
	PriceModelTypeTieredWithProration             PriceModelType = "tiered_with_proration"
	PriceModelTypeUnitWithProration               PriceModelType = "unit_with_proration"
	PriceModelTypeGroupedAllocation               PriceModelType = "grouped_allocation"
	PriceModelTypeGroupedWithProratedMinimum      PriceModelType = "grouped_with_prorated_minimum"
	PriceModelTypeGroupedWithMeteredMinimum       PriceModelType = "grouped_with_metered_minimum"
	PriceModelTypeMatrixWithDisplayName           PriceModelType = "matrix_with_display_name"
	PriceModelTypeBulkWithProration               PriceModelType = "bulk_with_proration"
	PriceModelTypeGroupedTieredPackage            PriceModelType = "grouped_tiered_package"
	PriceModelTypeMaxGroupTieredPackage           PriceModelType = "max_group_tiered_package"
	PriceModelTypeScalableMatrixWithUnitPricing   PriceModelType = "scalable_matrix_with_unit_pricing"
	PriceModelTypeScalableMatrixWithTieredPricing PriceModelType = "scalable_matrix_with_tiered_pricing"
	PriceModelTypeCumulativeGroupedBulk           PriceModelType = "cumulative_grouped_bulk"
)

func (PriceModelType) IsKnown added in v0.121.0

func (r PriceModelType) IsKnown() bool

type PricePackagePrice added in v0.121.0

type PricePackagePrice struct {
	ID                        string                                `json:"id,required"`
	BillableMetric            BillableMetricTiny                    `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration             `json:"billing_cycle_configuration,required"`
	Cadence                   PricePackagePriceCadence              `json:"cadence,required"`
	ConversionRate            float64                               `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PricePackagePriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                             `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                            `json:"credit_allocation,required,nullable"`
	Currency                  string                                `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                     `json:"minimum_amount,required,nullable"`
	ModelType      PricePackagePriceModelType `json:"model_type,required"`
	Name           string                     `json:"name,required"`
	PackageConfig  PackageConfig              `json:"package_config,required"`
	PlanPhaseOrder int64                      `json:"plan_phase_order,required,nullable"`
	PriceType      PricePackagePricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          pricePackagePriceJSON         `json:"-"`
}

func (*PricePackagePrice) UnmarshalJSON added in v0.121.0

func (r *PricePackagePrice) UnmarshalJSON(data []byte) (err error)

type PricePackagePriceCadence added in v0.121.0

type PricePackagePriceCadence string
const (
	PricePackagePriceCadenceOneTime    PricePackagePriceCadence = "one_time"
	PricePackagePriceCadenceMonthly    PricePackagePriceCadence = "monthly"
	PricePackagePriceCadenceQuarterly  PricePackagePriceCadence = "quarterly"
	PricePackagePriceCadenceSemiAnnual PricePackagePriceCadence = "semi_annual"
	PricePackagePriceCadenceAnnual     PricePackagePriceCadence = "annual"
	PricePackagePriceCadenceCustom     PricePackagePriceCadence = "custom"
)

func (PricePackagePriceCadence) IsKnown added in v0.121.0

func (r PricePackagePriceCadence) IsKnown() bool

type PricePackagePriceConversionRateConfig added in v0.121.0

type PricePackagePriceConversionRateConfig struct {
	ConversionRateType PricePackagePriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                              `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                `json:"unit_config"`
	JSON               pricePackagePriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PricePackagePriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PricePackagePriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PricePackagePriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PricePackagePriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PricePackagePriceConversionRateConfigConversionRateType added in v0.121.0

type PricePackagePriceConversionRateConfigConversionRateType string
const (
	PricePackagePriceConversionRateConfigConversionRateTypeUnit   PricePackagePriceConversionRateConfigConversionRateType = "unit"
	PricePackagePriceConversionRateConfigConversionRateTypeTiered PricePackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (PricePackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PricePackagePriceConversionRateConfigUnion added in v0.121.0

type PricePackagePriceConversionRateConfigUnion interface {
	ImplementsPricePackagePriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PricePackagePriceModelType added in v0.121.0

type PricePackagePriceModelType string
const (
	PricePackagePriceModelTypePackage PricePackagePriceModelType = "package"
)

func (PricePackagePriceModelType) IsKnown added in v0.121.0

func (r PricePackagePriceModelType) IsKnown() bool

type PricePackagePricePriceType added in v0.121.0

type PricePackagePricePriceType string
const (
	PricePackagePricePriceTypeUsagePrice PricePackagePricePriceType = "usage_price"
	PricePackagePricePriceTypeFixedPrice PricePackagePricePriceType = "fixed_price"
)

func (PricePackagePricePriceType) IsKnown added in v0.121.0

func (r PricePackagePricePriceType) IsKnown() bool

type PricePackageWithAllocationPrice added in v0.121.0

type PricePackageWithAllocationPrice struct {
	ID                        string                                              `json:"id,required"`
	BillableMetric            BillableMetricTiny                                  `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                           `json:"billing_cycle_configuration,required"`
	Cadence                   PricePackageWithAllocationPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                             `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PricePackageWithAllocationPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                           `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                          `json:"credit_allocation,required,nullable"`
	Currency                  string                                              `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount               string                                   `json:"minimum_amount,required,nullable"`
	ModelType                   PricePackageWithAllocationPriceModelType `json:"model_type,required"`
	Name                        string                                   `json:"name,required"`
	PackageWithAllocationConfig map[string]interface{}                   `json:"package_with_allocation_config,required"`
	PlanPhaseOrder              int64                                    `json:"plan_phase_order,required,nullable"`
	PriceType                   PricePackageWithAllocationPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                              `json:"replaces_price_id,required,nullable"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration       `json:"dimensional_price_configuration,nullable"`
	JSON                          pricePackageWithAllocationPriceJSON `json:"-"`
}

func (*PricePackageWithAllocationPrice) UnmarshalJSON added in v0.121.0

func (r *PricePackageWithAllocationPrice) UnmarshalJSON(data []byte) (err error)

type PricePackageWithAllocationPriceCadence added in v0.121.0

type PricePackageWithAllocationPriceCadence string
const (
	PricePackageWithAllocationPriceCadenceOneTime    PricePackageWithAllocationPriceCadence = "one_time"
	PricePackageWithAllocationPriceCadenceMonthly    PricePackageWithAllocationPriceCadence = "monthly"
	PricePackageWithAllocationPriceCadenceQuarterly  PricePackageWithAllocationPriceCadence = "quarterly"
	PricePackageWithAllocationPriceCadenceSemiAnnual PricePackageWithAllocationPriceCadence = "semi_annual"
	PricePackageWithAllocationPriceCadenceAnnual     PricePackageWithAllocationPriceCadence = "annual"
	PricePackageWithAllocationPriceCadenceCustom     PricePackageWithAllocationPriceCadence = "custom"
)

func (PricePackageWithAllocationPriceCadence) IsKnown added in v0.121.0

type PricePackageWithAllocationPriceConversionRateConfig added in v0.121.0

type PricePackageWithAllocationPriceConversionRateConfig struct {
	ConversionRateType PricePackageWithAllocationPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                            `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                              `json:"unit_config"`
	JSON               pricePackageWithAllocationPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PricePackageWithAllocationPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PricePackageWithAllocationPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PricePackageWithAllocationPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PricePackageWithAllocationPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PricePackageWithAllocationPriceConversionRateConfigConversionRateType added in v0.121.0

type PricePackageWithAllocationPriceConversionRateConfigConversionRateType string
const (
	PricePackageWithAllocationPriceConversionRateConfigConversionRateTypeUnit   PricePackageWithAllocationPriceConversionRateConfigConversionRateType = "unit"
	PricePackageWithAllocationPriceConversionRateConfigConversionRateTypeTiered PricePackageWithAllocationPriceConversionRateConfigConversionRateType = "tiered"
)

func (PricePackageWithAllocationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PricePackageWithAllocationPriceConversionRateConfigUnion added in v0.121.0

type PricePackageWithAllocationPriceConversionRateConfigUnion interface {
	ImplementsPricePackageWithAllocationPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PricePackageWithAllocationPriceModelType added in v0.121.0

type PricePackageWithAllocationPriceModelType string
const (
	PricePackageWithAllocationPriceModelTypePackageWithAllocation PricePackageWithAllocationPriceModelType = "package_with_allocation"
)

func (PricePackageWithAllocationPriceModelType) IsKnown added in v0.121.0

type PricePackageWithAllocationPricePriceType added in v0.121.0

type PricePackageWithAllocationPricePriceType string
const (
	PricePackageWithAllocationPricePriceTypeUsagePrice PricePackageWithAllocationPricePriceType = "usage_price"
	PricePackageWithAllocationPricePriceTypeFixedPrice PricePackageWithAllocationPricePriceType = "fixed_price"
)

func (PricePackageWithAllocationPricePriceType) IsKnown added in v0.121.0

type PricePriceType added in v0.121.0

type PricePriceType string
const (
	PricePriceTypeUsagePrice PricePriceType = "usage_price"
	PricePriceTypeFixedPrice PricePriceType = "fixed_price"
)

func (PricePriceType) IsKnown added in v0.121.0

func (r PricePriceType) IsKnown() bool

type PriceScalableMatrixWithTieredPricingPrice added in v0.121.0

type PriceScalableMatrixWithTieredPricingPrice struct {
	ID                        string                                                        `json:"id,required"`
	BillableMetric            BillableMetricTiny                                            `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                                     `json:"billing_cycle_configuration,required"`
	Cadence                   PriceScalableMatrixWithTieredPricingPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                                       `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceScalableMatrixWithTieredPricingPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                                     `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                                    `json:"credit_allocation,required,nullable"`
	Currency                  string                                                        `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                             `json:"minimum_amount,required,nullable"`
	ModelType      PriceScalableMatrixWithTieredPricingPriceModelType `json:"model_type,required"`
	Name           string                                             `json:"name,required"`
	PlanPhaseOrder int64                                              `json:"plan_phase_order,required,nullable"`
	PriceType      PriceScalableMatrixWithTieredPricingPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID                       string                                        `json:"replaces_price_id,required,nullable"`
	ScalableMatrixWithTieredPricingConfig map[string]interface{}                        `json:"scalable_matrix_with_tiered_pricing_config,required"`
	DimensionalPriceConfiguration         DimensionalPriceConfiguration                 `json:"dimensional_price_configuration,nullable"`
	JSON                                  priceScalableMatrixWithTieredPricingPriceJSON `json:"-"`
}

func (*PriceScalableMatrixWithTieredPricingPrice) UnmarshalJSON added in v0.121.0

func (r *PriceScalableMatrixWithTieredPricingPrice) UnmarshalJSON(data []byte) (err error)

type PriceScalableMatrixWithTieredPricingPriceCadence added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceCadence string
const (
	PriceScalableMatrixWithTieredPricingPriceCadenceOneTime    PriceScalableMatrixWithTieredPricingPriceCadence = "one_time"
	PriceScalableMatrixWithTieredPricingPriceCadenceMonthly    PriceScalableMatrixWithTieredPricingPriceCadence = "monthly"
	PriceScalableMatrixWithTieredPricingPriceCadenceQuarterly  PriceScalableMatrixWithTieredPricingPriceCadence = "quarterly"
	PriceScalableMatrixWithTieredPricingPriceCadenceSemiAnnual PriceScalableMatrixWithTieredPricingPriceCadence = "semi_annual"
	PriceScalableMatrixWithTieredPricingPriceCadenceAnnual     PriceScalableMatrixWithTieredPricingPriceCadence = "annual"
	PriceScalableMatrixWithTieredPricingPriceCadenceCustom     PriceScalableMatrixWithTieredPricingPriceCadence = "custom"
)

func (PriceScalableMatrixWithTieredPricingPriceCadence) IsKnown added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceConversionRateConfig added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceConversionRateConfig struct {
	ConversionRateType PriceScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                                      `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                                        `json:"unit_config"`
	JSON               priceScalableMatrixWithTieredPricingPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceScalableMatrixWithTieredPricingPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceScalableMatrixWithTieredPricingPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceScalableMatrixWithTieredPricingPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType string
const (
	PriceScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateTypeUnit   PriceScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType = "unit"
	PriceScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateTypeTiered PriceScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceScalableMatrixWithTieredPricingPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceConversionRateConfigUnion added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceConversionRateConfigUnion interface {
	ImplementsPriceScalableMatrixWithTieredPricingPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceScalableMatrixWithTieredPricingPriceModelType added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceModelType string
const (
	PriceScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing PriceScalableMatrixWithTieredPricingPriceModelType = "scalable_matrix_with_tiered_pricing"
)

func (PriceScalableMatrixWithTieredPricingPriceModelType) IsKnown added in v0.121.0

type PriceScalableMatrixWithTieredPricingPricePriceType added in v0.121.0

type PriceScalableMatrixWithTieredPricingPricePriceType string
const (
	PriceScalableMatrixWithTieredPricingPricePriceTypeUsagePrice PriceScalableMatrixWithTieredPricingPricePriceType = "usage_price"
	PriceScalableMatrixWithTieredPricingPricePriceTypeFixedPrice PriceScalableMatrixWithTieredPricingPricePriceType = "fixed_price"
)

func (PriceScalableMatrixWithTieredPricingPricePriceType) IsKnown added in v0.121.0

type PriceScalableMatrixWithUnitPricingPrice added in v0.121.0

type PriceScalableMatrixWithUnitPricingPrice struct {
	ID                        string                                                      `json:"id,required"`
	BillableMetric            BillableMetricTiny                                          `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                                   `json:"billing_cycle_configuration,required"`
	Cadence                   PriceScalableMatrixWithUnitPricingPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                                     `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceScalableMatrixWithUnitPricingPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                                   `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                                  `json:"credit_allocation,required,nullable"`
	Currency                  string                                                      `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                           `json:"minimum_amount,required,nullable"`
	ModelType      PriceScalableMatrixWithUnitPricingPriceModelType `json:"model_type,required"`
	Name           string                                           `json:"name,required"`
	PlanPhaseOrder int64                                            `json:"plan_phase_order,required,nullable"`
	PriceType      PriceScalableMatrixWithUnitPricingPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID                     string                                      `json:"replaces_price_id,required,nullable"`
	ScalableMatrixWithUnitPricingConfig map[string]interface{}                      `json:"scalable_matrix_with_unit_pricing_config,required"`
	DimensionalPriceConfiguration       DimensionalPriceConfiguration               `json:"dimensional_price_configuration,nullable"`
	JSON                                priceScalableMatrixWithUnitPricingPriceJSON `json:"-"`
}

func (*PriceScalableMatrixWithUnitPricingPrice) UnmarshalJSON added in v0.121.0

func (r *PriceScalableMatrixWithUnitPricingPrice) UnmarshalJSON(data []byte) (err error)

type PriceScalableMatrixWithUnitPricingPriceCadence added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceCadence string
const (
	PriceScalableMatrixWithUnitPricingPriceCadenceOneTime    PriceScalableMatrixWithUnitPricingPriceCadence = "one_time"
	PriceScalableMatrixWithUnitPricingPriceCadenceMonthly    PriceScalableMatrixWithUnitPricingPriceCadence = "monthly"
	PriceScalableMatrixWithUnitPricingPriceCadenceQuarterly  PriceScalableMatrixWithUnitPricingPriceCadence = "quarterly"
	PriceScalableMatrixWithUnitPricingPriceCadenceSemiAnnual PriceScalableMatrixWithUnitPricingPriceCadence = "semi_annual"
	PriceScalableMatrixWithUnitPricingPriceCadenceAnnual     PriceScalableMatrixWithUnitPricingPriceCadence = "annual"
	PriceScalableMatrixWithUnitPricingPriceCadenceCustom     PriceScalableMatrixWithUnitPricingPriceCadence = "custom"
)

func (PriceScalableMatrixWithUnitPricingPriceCadence) IsKnown added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceConversionRateConfig added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceConversionRateConfig struct {
	ConversionRateType PriceScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                                    `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                                      `json:"unit_config"`
	JSON               priceScalableMatrixWithUnitPricingPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceScalableMatrixWithUnitPricingPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceScalableMatrixWithUnitPricingPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceScalableMatrixWithUnitPricingPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType string
const (
	PriceScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateTypeUnit   PriceScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType = "unit"
	PriceScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateTypeTiered PriceScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceScalableMatrixWithUnitPricingPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceConversionRateConfigUnion added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceConversionRateConfigUnion interface {
	ImplementsPriceScalableMatrixWithUnitPricingPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceScalableMatrixWithUnitPricingPriceModelType added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceModelType string
const (
	PriceScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing PriceScalableMatrixWithUnitPricingPriceModelType = "scalable_matrix_with_unit_pricing"
)

func (PriceScalableMatrixWithUnitPricingPriceModelType) IsKnown added in v0.121.0

type PriceScalableMatrixWithUnitPricingPricePriceType added in v0.121.0

type PriceScalableMatrixWithUnitPricingPricePriceType string
const (
	PriceScalableMatrixWithUnitPricingPricePriceTypeUsagePrice PriceScalableMatrixWithUnitPricingPricePriceType = "usage_price"
	PriceScalableMatrixWithUnitPricingPricePriceTypeFixedPrice PriceScalableMatrixWithUnitPricingPricePriceType = "fixed_price"
)

func (PriceScalableMatrixWithUnitPricingPricePriceType) IsKnown added in v0.121.0

type PriceThresholdTotalAmountPrice added in v0.121.0

type PriceThresholdTotalAmountPrice struct {
	ID                        string                                             `json:"id,required"`
	BillableMetric            BillableMetricTiny                                 `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                          `json:"billing_cycle_configuration,required"`
	Cadence                   PriceThresholdTotalAmountPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                            `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceThresholdTotalAmountPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                          `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                         `json:"credit_allocation,required,nullable"`
	Currency                  string                                             `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                  `json:"minimum_amount,required,nullable"`
	ModelType      PriceThresholdTotalAmountPriceModelType `json:"model_type,required"`
	Name           string                                  `json:"name,required"`
	PlanPhaseOrder int64                                   `json:"plan_phase_order,required,nullable"`
	PriceType      PriceThresholdTotalAmountPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                             `json:"replaces_price_id,required,nullable"`
	ThresholdTotalAmountConfig    map[string]interface{}             `json:"threshold_total_amount_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration      `json:"dimensional_price_configuration,nullable"`
	JSON                          priceThresholdTotalAmountPriceJSON `json:"-"`
}

func (*PriceThresholdTotalAmountPrice) UnmarshalJSON added in v0.121.0

func (r *PriceThresholdTotalAmountPrice) UnmarshalJSON(data []byte) (err error)

type PriceThresholdTotalAmountPriceCadence added in v0.121.0

type PriceThresholdTotalAmountPriceCadence string
const (
	PriceThresholdTotalAmountPriceCadenceOneTime    PriceThresholdTotalAmountPriceCadence = "one_time"
	PriceThresholdTotalAmountPriceCadenceMonthly    PriceThresholdTotalAmountPriceCadence = "monthly"
	PriceThresholdTotalAmountPriceCadenceQuarterly  PriceThresholdTotalAmountPriceCadence = "quarterly"
	PriceThresholdTotalAmountPriceCadenceSemiAnnual PriceThresholdTotalAmountPriceCadence = "semi_annual"
	PriceThresholdTotalAmountPriceCadenceAnnual     PriceThresholdTotalAmountPriceCadence = "annual"
	PriceThresholdTotalAmountPriceCadenceCustom     PriceThresholdTotalAmountPriceCadence = "custom"
)

func (PriceThresholdTotalAmountPriceCadence) IsKnown added in v0.121.0

type PriceThresholdTotalAmountPriceConversionRateConfig added in v0.121.0

type PriceThresholdTotalAmountPriceConversionRateConfig struct {
	ConversionRateType PriceThresholdTotalAmountPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                           `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                             `json:"unit_config"`
	JSON               priceThresholdTotalAmountPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceThresholdTotalAmountPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceThresholdTotalAmountPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceThresholdTotalAmountPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceThresholdTotalAmountPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceThresholdTotalAmountPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceThresholdTotalAmountPriceConversionRateConfigConversionRateType string
const (
	PriceThresholdTotalAmountPriceConversionRateConfigConversionRateTypeUnit   PriceThresholdTotalAmountPriceConversionRateConfigConversionRateType = "unit"
	PriceThresholdTotalAmountPriceConversionRateConfigConversionRateTypeTiered PriceThresholdTotalAmountPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceThresholdTotalAmountPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceThresholdTotalAmountPriceConversionRateConfigUnion added in v0.121.0

type PriceThresholdTotalAmountPriceConversionRateConfigUnion interface {
	ImplementsPriceThresholdTotalAmountPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceThresholdTotalAmountPriceModelType added in v0.121.0

type PriceThresholdTotalAmountPriceModelType string
const (
	PriceThresholdTotalAmountPriceModelTypeThresholdTotalAmount PriceThresholdTotalAmountPriceModelType = "threshold_total_amount"
)

func (PriceThresholdTotalAmountPriceModelType) IsKnown added in v0.121.0

type PriceThresholdTotalAmountPricePriceType added in v0.121.0

type PriceThresholdTotalAmountPricePriceType string
const (
	PriceThresholdTotalAmountPricePriceTypeUsagePrice PriceThresholdTotalAmountPricePriceType = "usage_price"
	PriceThresholdTotalAmountPricePriceTypeFixedPrice PriceThresholdTotalAmountPricePriceType = "fixed_price"
)

func (PriceThresholdTotalAmountPricePriceType) IsKnown added in v0.121.0

type PriceTieredBPSPrice added in v0.121.0

type PriceTieredBPSPrice struct {
	ID                        string                                  `json:"id,required"`
	BillableMetric            BillableMetricTiny                      `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration               `json:"billing_cycle_configuration,required"`
	Cadence                   PriceTieredBPSPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                 `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceTieredBPSPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                               `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                              `json:"credit_allocation,required,nullable"`
	Currency                  string                                  `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                       `json:"minimum_amount,required,nullable"`
	ModelType      PriceTieredBPSPriceModelType `json:"model_type,required"`
	Name           string                       `json:"name,required"`
	PlanPhaseOrder int64                        `json:"plan_phase_order,required,nullable"`
	PriceType      PriceTieredBPSPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	TieredBPSConfig               TieredBPSConfig               `json:"tiered_bps_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceTieredBPSPriceJSON       `json:"-"`
}

func (*PriceTieredBPSPrice) UnmarshalJSON added in v0.121.0

func (r *PriceTieredBPSPrice) UnmarshalJSON(data []byte) (err error)

type PriceTieredBPSPriceCadence added in v0.121.0

type PriceTieredBPSPriceCadence string
const (
	PriceTieredBPSPriceCadenceOneTime    PriceTieredBPSPriceCadence = "one_time"
	PriceTieredBPSPriceCadenceMonthly    PriceTieredBPSPriceCadence = "monthly"
	PriceTieredBPSPriceCadenceQuarterly  PriceTieredBPSPriceCadence = "quarterly"
	PriceTieredBPSPriceCadenceSemiAnnual PriceTieredBPSPriceCadence = "semi_annual"
	PriceTieredBPSPriceCadenceAnnual     PriceTieredBPSPriceCadence = "annual"
	PriceTieredBPSPriceCadenceCustom     PriceTieredBPSPriceCadence = "custom"
)

func (PriceTieredBPSPriceCadence) IsKnown added in v0.121.0

func (r PriceTieredBPSPriceCadence) IsKnown() bool

type PriceTieredBPSPriceConversionRateConfig added in v0.121.0

type PriceTieredBPSPriceConversionRateConfig struct {
	ConversionRateType PriceTieredBPSPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                  `json:"unit_config"`
	JSON               priceTieredBPSPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceTieredBPSPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceTieredBPSPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceTieredBPSPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceTieredBPSPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceTieredBPSPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceTieredBPSPriceConversionRateConfigConversionRateType string
const (
	PriceTieredBPSPriceConversionRateConfigConversionRateTypeUnit   PriceTieredBPSPriceConversionRateConfigConversionRateType = "unit"
	PriceTieredBPSPriceConversionRateConfigConversionRateTypeTiered PriceTieredBPSPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceTieredBPSPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceTieredBPSPriceConversionRateConfigUnion added in v0.121.0

type PriceTieredBPSPriceConversionRateConfigUnion interface {
	ImplementsPriceTieredBPSPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceTieredBPSPriceModelType added in v0.121.0

type PriceTieredBPSPriceModelType string
const (
	PriceTieredBPSPriceModelTypeTieredBPS PriceTieredBPSPriceModelType = "tiered_bps"
)

func (PriceTieredBPSPriceModelType) IsKnown added in v0.121.0

func (r PriceTieredBPSPriceModelType) IsKnown() bool

type PriceTieredBPSPricePriceType added in v0.121.0

type PriceTieredBPSPricePriceType string
const (
	PriceTieredBPSPricePriceTypeUsagePrice PriceTieredBPSPricePriceType = "usage_price"
	PriceTieredBPSPricePriceTypeFixedPrice PriceTieredBPSPricePriceType = "fixed_price"
)

func (PriceTieredBPSPricePriceType) IsKnown added in v0.121.0

func (r PriceTieredBPSPricePriceType) IsKnown() bool

type PriceTieredPackagePrice added in v0.121.0

type PriceTieredPackagePrice struct {
	ID                        string                                      `json:"id,required"`
	BillableMetric            BillableMetricTiny                          `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                   `json:"billing_cycle_configuration,required"`
	Cadence                   PriceTieredPackagePriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                     `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceTieredPackagePriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                   `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                  `json:"credit_allocation,required,nullable"`
	Currency                  string                                      `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                           `json:"minimum_amount,required,nullable"`
	ModelType      PriceTieredPackagePriceModelType `json:"model_type,required"`
	Name           string                           `json:"name,required"`
	PlanPhaseOrder int64                            `json:"plan_phase_order,required,nullable"`
	PriceType      PriceTieredPackagePricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	TieredPackageConfig           map[string]interface{}        `json:"tiered_package_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceTieredPackagePriceJSON   `json:"-"`
}

func (*PriceTieredPackagePrice) UnmarshalJSON added in v0.121.0

func (r *PriceTieredPackagePrice) UnmarshalJSON(data []byte) (err error)

type PriceTieredPackagePriceCadence added in v0.121.0

type PriceTieredPackagePriceCadence string
const (
	PriceTieredPackagePriceCadenceOneTime    PriceTieredPackagePriceCadence = "one_time"
	PriceTieredPackagePriceCadenceMonthly    PriceTieredPackagePriceCadence = "monthly"
	PriceTieredPackagePriceCadenceQuarterly  PriceTieredPackagePriceCadence = "quarterly"
	PriceTieredPackagePriceCadenceSemiAnnual PriceTieredPackagePriceCadence = "semi_annual"
	PriceTieredPackagePriceCadenceAnnual     PriceTieredPackagePriceCadence = "annual"
	PriceTieredPackagePriceCadenceCustom     PriceTieredPackagePriceCadence = "custom"
)

func (PriceTieredPackagePriceCadence) IsKnown added in v0.121.0

type PriceTieredPackagePriceConversionRateConfig added in v0.121.0

type PriceTieredPackagePriceConversionRateConfig struct {
	ConversionRateType PriceTieredPackagePriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                    `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                      `json:"unit_config"`
	JSON               priceTieredPackagePriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceTieredPackagePriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceTieredPackagePriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceTieredPackagePriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceTieredPackagePriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceTieredPackagePriceConversionRateConfigConversionRateType added in v0.121.0

type PriceTieredPackagePriceConversionRateConfigConversionRateType string
const (
	PriceTieredPackagePriceConversionRateConfigConversionRateTypeUnit   PriceTieredPackagePriceConversionRateConfigConversionRateType = "unit"
	PriceTieredPackagePriceConversionRateConfigConversionRateTypeTiered PriceTieredPackagePriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceTieredPackagePriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceTieredPackagePriceConversionRateConfigUnion added in v0.121.0

type PriceTieredPackagePriceConversionRateConfigUnion interface {
	ImplementsPriceTieredPackagePriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceTieredPackagePriceModelType added in v0.121.0

type PriceTieredPackagePriceModelType string
const (
	PriceTieredPackagePriceModelTypeTieredPackage PriceTieredPackagePriceModelType = "tiered_package"
)

func (PriceTieredPackagePriceModelType) IsKnown added in v0.121.0

type PriceTieredPackagePricePriceType added in v0.121.0

type PriceTieredPackagePricePriceType string
const (
	PriceTieredPackagePricePriceTypeUsagePrice PriceTieredPackagePricePriceType = "usage_price"
	PriceTieredPackagePricePriceTypeFixedPrice PriceTieredPackagePricePriceType = "fixed_price"
)

func (PriceTieredPackagePricePriceType) IsKnown added in v0.121.0

type PriceTieredPackageWithMinimumPrice added in v0.121.0

type PriceTieredPackageWithMinimumPrice struct {
	ID                        string                                                 `json:"id,required"`
	BillableMetric            BillableMetricTiny                                     `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                              `json:"billing_cycle_configuration,required"`
	Cadence                   PriceTieredPackageWithMinimumPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                                `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceTieredPackageWithMinimumPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                              `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                             `json:"credit_allocation,required,nullable"`
	Currency                  string                                                 `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                      `json:"minimum_amount,required,nullable"`
	ModelType      PriceTieredPackageWithMinimumPriceModelType `json:"model_type,required"`
	Name           string                                      `json:"name,required"`
	PlanPhaseOrder int64                                       `json:"plan_phase_order,required,nullable"`
	PriceType      PriceTieredPackageWithMinimumPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID                string                                 `json:"replaces_price_id,required,nullable"`
	TieredPackageWithMinimumConfig map[string]interface{}                 `json:"tiered_package_with_minimum_config,required"`
	DimensionalPriceConfiguration  DimensionalPriceConfiguration          `json:"dimensional_price_configuration,nullable"`
	JSON                           priceTieredPackageWithMinimumPriceJSON `json:"-"`
}

func (*PriceTieredPackageWithMinimumPrice) UnmarshalJSON added in v0.121.0

func (r *PriceTieredPackageWithMinimumPrice) UnmarshalJSON(data []byte) (err error)

type PriceTieredPackageWithMinimumPriceCadence added in v0.121.0

type PriceTieredPackageWithMinimumPriceCadence string
const (
	PriceTieredPackageWithMinimumPriceCadenceOneTime    PriceTieredPackageWithMinimumPriceCadence = "one_time"
	PriceTieredPackageWithMinimumPriceCadenceMonthly    PriceTieredPackageWithMinimumPriceCadence = "monthly"
	PriceTieredPackageWithMinimumPriceCadenceQuarterly  PriceTieredPackageWithMinimumPriceCadence = "quarterly"
	PriceTieredPackageWithMinimumPriceCadenceSemiAnnual PriceTieredPackageWithMinimumPriceCadence = "semi_annual"
	PriceTieredPackageWithMinimumPriceCadenceAnnual     PriceTieredPackageWithMinimumPriceCadence = "annual"
	PriceTieredPackageWithMinimumPriceCadenceCustom     PriceTieredPackageWithMinimumPriceCadence = "custom"
)

func (PriceTieredPackageWithMinimumPriceCadence) IsKnown added in v0.121.0

type PriceTieredPackageWithMinimumPriceConversionRateConfig added in v0.121.0

type PriceTieredPackageWithMinimumPriceConversionRateConfig struct {
	ConversionRateType PriceTieredPackageWithMinimumPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                               `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                                 `json:"unit_config"`
	JSON               priceTieredPackageWithMinimumPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceTieredPackageWithMinimumPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceTieredPackageWithMinimumPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceTieredPackageWithMinimumPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceTieredPackageWithMinimumPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceTieredPackageWithMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceTieredPackageWithMinimumPriceConversionRateConfigConversionRateType string
const (
	PriceTieredPackageWithMinimumPriceConversionRateConfigConversionRateTypeUnit   PriceTieredPackageWithMinimumPriceConversionRateConfigConversionRateType = "unit"
	PriceTieredPackageWithMinimumPriceConversionRateConfigConversionRateTypeTiered PriceTieredPackageWithMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceTieredPackageWithMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceTieredPackageWithMinimumPriceConversionRateConfigUnion added in v0.121.0

type PriceTieredPackageWithMinimumPriceConversionRateConfigUnion interface {
	ImplementsPriceTieredPackageWithMinimumPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceTieredPackageWithMinimumPriceModelType added in v0.121.0

type PriceTieredPackageWithMinimumPriceModelType string
const (
	PriceTieredPackageWithMinimumPriceModelTypeTieredPackageWithMinimum PriceTieredPackageWithMinimumPriceModelType = "tiered_package_with_minimum"
)

func (PriceTieredPackageWithMinimumPriceModelType) IsKnown added in v0.121.0

type PriceTieredPackageWithMinimumPricePriceType added in v0.121.0

type PriceTieredPackageWithMinimumPricePriceType string
const (
	PriceTieredPackageWithMinimumPricePriceTypeUsagePrice PriceTieredPackageWithMinimumPricePriceType = "usage_price"
	PriceTieredPackageWithMinimumPricePriceTypeFixedPrice PriceTieredPackageWithMinimumPricePriceType = "fixed_price"
)

func (PriceTieredPackageWithMinimumPricePriceType) IsKnown added in v0.121.0

type PriceTieredPrice added in v0.121.0

type PriceTieredPrice struct {
	ID                        string                               `json:"id,required"`
	BillableMetric            BillableMetricTiny                   `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration            `json:"billing_cycle_configuration,required"`
	Cadence                   PriceTieredPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                              `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceTieredPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                            `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                           `json:"credit_allocation,required,nullable"`
	Currency                  string                               `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                    `json:"minimum_amount,required,nullable"`
	ModelType      PriceTieredPriceModelType `json:"model_type,required"`
	Name           string                    `json:"name,required"`
	PlanPhaseOrder int64                     `json:"plan_phase_order,required,nullable"`
	PriceType      PriceTieredPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	TieredConfig                  TieredConfig                  `json:"tiered_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceTieredPriceJSON          `json:"-"`
}

func (*PriceTieredPrice) UnmarshalJSON added in v0.121.0

func (r *PriceTieredPrice) UnmarshalJSON(data []byte) (err error)

type PriceTieredPriceCadence added in v0.121.0

type PriceTieredPriceCadence string
const (
	PriceTieredPriceCadenceOneTime    PriceTieredPriceCadence = "one_time"
	PriceTieredPriceCadenceMonthly    PriceTieredPriceCadence = "monthly"
	PriceTieredPriceCadenceQuarterly  PriceTieredPriceCadence = "quarterly"
	PriceTieredPriceCadenceSemiAnnual PriceTieredPriceCadence = "semi_annual"
	PriceTieredPriceCadenceAnnual     PriceTieredPriceCadence = "annual"
	PriceTieredPriceCadenceCustom     PriceTieredPriceCadence = "custom"
)

func (PriceTieredPriceCadence) IsKnown added in v0.121.0

func (r PriceTieredPriceCadence) IsKnown() bool

type PriceTieredPriceConversionRateConfig added in v0.121.0

type PriceTieredPriceConversionRateConfig struct {
	ConversionRateType PriceTieredPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                             `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                               `json:"unit_config"`
	JSON               priceTieredPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceTieredPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceTieredPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceTieredPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceTieredPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceTieredPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceTieredPriceConversionRateConfigConversionRateType string
const (
	PriceTieredPriceConversionRateConfigConversionRateTypeUnit   PriceTieredPriceConversionRateConfigConversionRateType = "unit"
	PriceTieredPriceConversionRateConfigConversionRateTypeTiered PriceTieredPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceTieredPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceTieredPriceConversionRateConfigUnion added in v0.121.0

type PriceTieredPriceConversionRateConfigUnion interface {
	ImplementsPriceTieredPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceTieredPriceModelType added in v0.121.0

type PriceTieredPriceModelType string
const (
	PriceTieredPriceModelTypeTiered PriceTieredPriceModelType = "tiered"
)

func (PriceTieredPriceModelType) IsKnown added in v0.121.0

func (r PriceTieredPriceModelType) IsKnown() bool

type PriceTieredPricePriceType added in v0.121.0

type PriceTieredPricePriceType string
const (
	PriceTieredPricePriceTypeUsagePrice PriceTieredPricePriceType = "usage_price"
	PriceTieredPricePriceTypeFixedPrice PriceTieredPricePriceType = "fixed_price"
)

func (PriceTieredPricePriceType) IsKnown added in v0.121.0

func (r PriceTieredPricePriceType) IsKnown() bool

type PriceTieredWithMinimumPrice added in v0.121.0

type PriceTieredWithMinimumPrice struct {
	ID                        string                                          `json:"id,required"`
	BillableMetric            BillableMetricTiny                              `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                       `json:"billing_cycle_configuration,required"`
	Cadence                   PriceTieredWithMinimumPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                         `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceTieredWithMinimumPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                       `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                      `json:"credit_allocation,required,nullable"`
	Currency                  string                                          `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                               `json:"minimum_amount,required,nullable"`
	ModelType      PriceTieredWithMinimumPriceModelType `json:"model_type,required"`
	Name           string                               `json:"name,required"`
	PlanPhaseOrder int64                                `json:"plan_phase_order,required,nullable"`
	PriceType      PriceTieredWithMinimumPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                          `json:"replaces_price_id,required,nullable"`
	TieredWithMinimumConfig       map[string]interface{}          `json:"tiered_with_minimum_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration   `json:"dimensional_price_configuration,nullable"`
	JSON                          priceTieredWithMinimumPriceJSON `json:"-"`
}

func (*PriceTieredWithMinimumPrice) UnmarshalJSON added in v0.121.0

func (r *PriceTieredWithMinimumPrice) UnmarshalJSON(data []byte) (err error)

type PriceTieredWithMinimumPriceCadence added in v0.121.0

type PriceTieredWithMinimumPriceCadence string
const (
	PriceTieredWithMinimumPriceCadenceOneTime    PriceTieredWithMinimumPriceCadence = "one_time"
	PriceTieredWithMinimumPriceCadenceMonthly    PriceTieredWithMinimumPriceCadence = "monthly"
	PriceTieredWithMinimumPriceCadenceQuarterly  PriceTieredWithMinimumPriceCadence = "quarterly"
	PriceTieredWithMinimumPriceCadenceSemiAnnual PriceTieredWithMinimumPriceCadence = "semi_annual"
	PriceTieredWithMinimumPriceCadenceAnnual     PriceTieredWithMinimumPriceCadence = "annual"
	PriceTieredWithMinimumPriceCadenceCustom     PriceTieredWithMinimumPriceCadence = "custom"
)

func (PriceTieredWithMinimumPriceCadence) IsKnown added in v0.121.0

type PriceTieredWithMinimumPriceConversionRateConfig added in v0.121.0

type PriceTieredWithMinimumPriceConversionRateConfig struct {
	ConversionRateType PriceTieredWithMinimumPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                        `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                          `json:"unit_config"`
	JSON               priceTieredWithMinimumPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceTieredWithMinimumPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceTieredWithMinimumPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceTieredWithMinimumPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceTieredWithMinimumPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceTieredWithMinimumPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceTieredWithMinimumPriceConversionRateConfigConversionRateType string
const (
	PriceTieredWithMinimumPriceConversionRateConfigConversionRateTypeUnit   PriceTieredWithMinimumPriceConversionRateConfigConversionRateType = "unit"
	PriceTieredWithMinimumPriceConversionRateConfigConversionRateTypeTiered PriceTieredWithMinimumPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceTieredWithMinimumPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceTieredWithMinimumPriceConversionRateConfigUnion added in v0.121.0

type PriceTieredWithMinimumPriceConversionRateConfigUnion interface {
	ImplementsPriceTieredWithMinimumPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceTieredWithMinimumPriceModelType added in v0.121.0

type PriceTieredWithMinimumPriceModelType string
const (
	PriceTieredWithMinimumPriceModelTypeTieredWithMinimum PriceTieredWithMinimumPriceModelType = "tiered_with_minimum"
)

func (PriceTieredWithMinimumPriceModelType) IsKnown added in v0.121.0

type PriceTieredWithMinimumPricePriceType added in v0.121.0

type PriceTieredWithMinimumPricePriceType string
const (
	PriceTieredWithMinimumPricePriceTypeUsagePrice PriceTieredWithMinimumPricePriceType = "usage_price"
	PriceTieredWithMinimumPricePriceTypeFixedPrice PriceTieredWithMinimumPricePriceType = "fixed_price"
)

func (PriceTieredWithMinimumPricePriceType) IsKnown added in v0.121.0

type PriceTieredWithProrationPrice added in v0.121.0

type PriceTieredWithProrationPrice struct {
	ID                        string                                            `json:"id,required"`
	BillableMetric            BillableMetricTiny                                `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                         `json:"billing_cycle_configuration,required"`
	Cadence                   PriceTieredWithProrationPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                           `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceTieredWithProrationPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                         `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                        `json:"credit_allocation,required,nullable"`
	Currency                  string                                            `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                                 `json:"minimum_amount,required,nullable"`
	ModelType      PriceTieredWithProrationPriceModelType `json:"model_type,required"`
	Name           string                                 `json:"name,required"`
	PlanPhaseOrder int64                                  `json:"plan_phase_order,required,nullable"`
	PriceType      PriceTieredWithProrationPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                            `json:"replaces_price_id,required,nullable"`
	TieredWithProrationConfig     map[string]interface{}            `json:"tiered_with_proration_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration     `json:"dimensional_price_configuration,nullable"`
	JSON                          priceTieredWithProrationPriceJSON `json:"-"`
}

func (*PriceTieredWithProrationPrice) UnmarshalJSON added in v0.121.0

func (r *PriceTieredWithProrationPrice) UnmarshalJSON(data []byte) (err error)

type PriceTieredWithProrationPriceCadence added in v0.121.0

type PriceTieredWithProrationPriceCadence string
const (
	PriceTieredWithProrationPriceCadenceOneTime    PriceTieredWithProrationPriceCadence = "one_time"
	PriceTieredWithProrationPriceCadenceMonthly    PriceTieredWithProrationPriceCadence = "monthly"
	PriceTieredWithProrationPriceCadenceQuarterly  PriceTieredWithProrationPriceCadence = "quarterly"
	PriceTieredWithProrationPriceCadenceSemiAnnual PriceTieredWithProrationPriceCadence = "semi_annual"
	PriceTieredWithProrationPriceCadenceAnnual     PriceTieredWithProrationPriceCadence = "annual"
	PriceTieredWithProrationPriceCadenceCustom     PriceTieredWithProrationPriceCadence = "custom"
)

func (PriceTieredWithProrationPriceCadence) IsKnown added in v0.121.0

type PriceTieredWithProrationPriceConversionRateConfig added in v0.121.0

type PriceTieredWithProrationPriceConversionRateConfig struct {
	ConversionRateType PriceTieredWithProrationPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                          `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                            `json:"unit_config"`
	JSON               priceTieredWithProrationPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceTieredWithProrationPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceTieredWithProrationPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceTieredWithProrationPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceTieredWithProrationPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceTieredWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceTieredWithProrationPriceConversionRateConfigConversionRateType string
const (
	PriceTieredWithProrationPriceConversionRateConfigConversionRateTypeUnit   PriceTieredWithProrationPriceConversionRateConfigConversionRateType = "unit"
	PriceTieredWithProrationPriceConversionRateConfigConversionRateTypeTiered PriceTieredWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceTieredWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceTieredWithProrationPriceConversionRateConfigUnion added in v0.121.0

type PriceTieredWithProrationPriceConversionRateConfigUnion interface {
	ImplementsPriceTieredWithProrationPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceTieredWithProrationPriceModelType added in v0.121.0

type PriceTieredWithProrationPriceModelType string
const (
	PriceTieredWithProrationPriceModelTypeTieredWithProration PriceTieredWithProrationPriceModelType = "tiered_with_proration"
)

func (PriceTieredWithProrationPriceModelType) IsKnown added in v0.121.0

type PriceTieredWithProrationPricePriceType added in v0.121.0

type PriceTieredWithProrationPricePriceType string
const (
	PriceTieredWithProrationPricePriceTypeUsagePrice PriceTieredWithProrationPricePriceType = "usage_price"
	PriceTieredWithProrationPricePriceTypeFixedPrice PriceTieredWithProrationPricePriceType = "fixed_price"
)

func (PriceTieredWithProrationPricePriceType) IsKnown added in v0.121.0

type PriceUnion added in v0.121.0

type PriceUnion interface {
	// contains filtered or unexported methods
}

The Price resource represents a price that can be billed on a subscription, resulting in a charge on an invoice in the form of an invoice line item. Prices take a quantity and determine an amount to bill.

Orb supports a few different pricing models out of the box. Each of these models is serialized differently in a given Price object. The model_type field determines the key for the configuration object that is present.

For more on the types of prices, see [the core concepts documentation](/core-concepts#plan-and-price)

Union satisfied by PriceUnitPrice, PricePackagePrice, PriceMatrixPrice, PriceTieredPrice, PriceTieredBPSPrice, PriceBPSPrice, PriceBulkBPSPrice, PriceBulkPrice, PriceThresholdTotalAmountPrice, PriceTieredPackagePrice, PriceGroupedTieredPrice, PriceTieredWithMinimumPrice, PriceTieredPackageWithMinimumPrice, PricePackageWithAllocationPrice, PriceUnitWithPercentPrice, PriceMatrixWithAllocationPrice, PriceTieredWithProrationPrice, PriceUnitWithProrationPrice, PriceGroupedAllocationPrice, PriceGroupedWithProratedMinimumPrice, PriceGroupedWithMeteredMinimumPrice, PriceMatrixWithDisplayNamePrice, PriceBulkWithProrationPrice, PriceGroupedTieredPackagePrice, PriceMaxGroupTieredPackagePrice, PriceScalableMatrixWithUnitPricingPrice, PriceScalableMatrixWithTieredPricingPrice or PriceCumulativeGroupedBulkPrice.

type PriceUnitPrice added in v0.121.0

type PriceUnitPrice struct {
	ID                        string                             `json:"id,required"`
	BillableMetric            BillableMetricTiny                 `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration          `json:"billing_cycle_configuration,required"`
	Cadence                   PriceUnitPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                            `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceUnitPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                          `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                         `json:"credit_allocation,required,nullable"`
	Currency                  string                             `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                  `json:"minimum_amount,required,nullable"`
	ModelType      PriceUnitPriceModelType `json:"model_type,required"`
	Name           string                  `json:"name,required"`
	PlanPhaseOrder int64                   `json:"plan_phase_order,required,nullable"`
	PriceType      PriceUnitPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	UnitConfig                    UnitConfig                    `json:"unit_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceUnitPriceJSON            `json:"-"`
}

func (*PriceUnitPrice) UnmarshalJSON added in v0.121.0

func (r *PriceUnitPrice) UnmarshalJSON(data []byte) (err error)

type PriceUnitPriceCadence added in v0.121.0

type PriceUnitPriceCadence string
const (
	PriceUnitPriceCadenceOneTime    PriceUnitPriceCadence = "one_time"
	PriceUnitPriceCadenceMonthly    PriceUnitPriceCadence = "monthly"
	PriceUnitPriceCadenceQuarterly  PriceUnitPriceCadence = "quarterly"
	PriceUnitPriceCadenceSemiAnnual PriceUnitPriceCadence = "semi_annual"
	PriceUnitPriceCadenceAnnual     PriceUnitPriceCadence = "annual"
	PriceUnitPriceCadenceCustom     PriceUnitPriceCadence = "custom"
)

func (PriceUnitPriceCadence) IsKnown added in v0.121.0

func (r PriceUnitPriceCadence) IsKnown() bool

type PriceUnitPriceConversionRateConfig added in v0.121.0

type PriceUnitPriceConversionRateConfig struct {
	ConversionRateType PriceUnitPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                           `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                             `json:"unit_config"`
	JSON               priceUnitPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceUnitPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceUnitPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceUnitPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceUnitPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceUnitPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceUnitPriceConversionRateConfigConversionRateType string
const (
	PriceUnitPriceConversionRateConfigConversionRateTypeUnit   PriceUnitPriceConversionRateConfigConversionRateType = "unit"
	PriceUnitPriceConversionRateConfigConversionRateTypeTiered PriceUnitPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceUnitPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceUnitPriceConversionRateConfigUnion added in v0.121.0

type PriceUnitPriceConversionRateConfigUnion interface {
	ImplementsPriceUnitPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceUnitPriceModelType added in v0.121.0

type PriceUnitPriceModelType string
const (
	PriceUnitPriceModelTypeUnit PriceUnitPriceModelType = "unit"
)

func (PriceUnitPriceModelType) IsKnown added in v0.121.0

func (r PriceUnitPriceModelType) IsKnown() bool

type PriceUnitPricePriceType added in v0.121.0

type PriceUnitPricePriceType string
const (
	PriceUnitPricePriceTypeUsagePrice PriceUnitPricePriceType = "usage_price"
	PriceUnitPricePriceTypeFixedPrice PriceUnitPricePriceType = "fixed_price"
)

func (PriceUnitPricePriceType) IsKnown added in v0.121.0

func (r PriceUnitPricePriceType) IsKnown() bool

type PriceUnitWithPercentPrice added in v0.121.0

type PriceUnitWithPercentPrice struct {
	ID                        string                                        `json:"id,required"`
	BillableMetric            BillableMetricTiny                            `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                     `json:"billing_cycle_configuration,required"`
	Cadence                   PriceUnitWithPercentPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                       `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceUnitWithPercentPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                     `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                    `json:"credit_allocation,required,nullable"`
	Currency                  string                                        `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                             `json:"minimum_amount,required,nullable"`
	ModelType      PriceUnitWithPercentPriceModelType `json:"model_type,required"`
	Name           string                             `json:"name,required"`
	PlanPhaseOrder int64                              `json:"plan_phase_order,required,nullable"`
	PriceType      PriceUnitWithPercentPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                        `json:"replaces_price_id,required,nullable"`
	UnitWithPercentConfig         map[string]interface{}        `json:"unit_with_percent_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	JSON                          priceUnitWithPercentPriceJSON `json:"-"`
}

func (*PriceUnitWithPercentPrice) UnmarshalJSON added in v0.121.0

func (r *PriceUnitWithPercentPrice) UnmarshalJSON(data []byte) (err error)

type PriceUnitWithPercentPriceCadence added in v0.121.0

type PriceUnitWithPercentPriceCadence string
const (
	PriceUnitWithPercentPriceCadenceOneTime    PriceUnitWithPercentPriceCadence = "one_time"
	PriceUnitWithPercentPriceCadenceMonthly    PriceUnitWithPercentPriceCadence = "monthly"
	PriceUnitWithPercentPriceCadenceQuarterly  PriceUnitWithPercentPriceCadence = "quarterly"
	PriceUnitWithPercentPriceCadenceSemiAnnual PriceUnitWithPercentPriceCadence = "semi_annual"
	PriceUnitWithPercentPriceCadenceAnnual     PriceUnitWithPercentPriceCadence = "annual"
	PriceUnitWithPercentPriceCadenceCustom     PriceUnitWithPercentPriceCadence = "custom"
)

func (PriceUnitWithPercentPriceCadence) IsKnown added in v0.121.0

type PriceUnitWithPercentPriceConversionRateConfig added in v0.121.0

type PriceUnitWithPercentPriceConversionRateConfig struct {
	ConversionRateType PriceUnitWithPercentPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                      `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                        `json:"unit_config"`
	JSON               priceUnitWithPercentPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceUnitWithPercentPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceUnitWithPercentPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceUnitWithPercentPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceUnitWithPercentPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceUnitWithPercentPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceUnitWithPercentPriceConversionRateConfigConversionRateType string
const (
	PriceUnitWithPercentPriceConversionRateConfigConversionRateTypeUnit   PriceUnitWithPercentPriceConversionRateConfigConversionRateType = "unit"
	PriceUnitWithPercentPriceConversionRateConfigConversionRateTypeTiered PriceUnitWithPercentPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceUnitWithPercentPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceUnitWithPercentPriceConversionRateConfigUnion added in v0.121.0

type PriceUnitWithPercentPriceConversionRateConfigUnion interface {
	ImplementsPriceUnitWithPercentPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceUnitWithPercentPriceModelType added in v0.121.0

type PriceUnitWithPercentPriceModelType string
const (
	PriceUnitWithPercentPriceModelTypeUnitWithPercent PriceUnitWithPercentPriceModelType = "unit_with_percent"
)

func (PriceUnitWithPercentPriceModelType) IsKnown added in v0.121.0

type PriceUnitWithPercentPricePriceType added in v0.121.0

type PriceUnitWithPercentPricePriceType string
const (
	PriceUnitWithPercentPricePriceTypeUsagePrice PriceUnitWithPercentPricePriceType = "usage_price"
	PriceUnitWithPercentPricePriceTypeFixedPrice PriceUnitWithPercentPricePriceType = "fixed_price"
)

func (PriceUnitWithPercentPricePriceType) IsKnown added in v0.121.0

type PriceUnitWithProrationPrice added in v0.121.0

type PriceUnitWithProrationPrice struct {
	ID                        string                                          `json:"id,required"`
	BillableMetric            BillableMetricTiny                              `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                       `json:"billing_cycle_configuration,required"`
	Cadence                   PriceUnitWithProrationPriceCadence              `json:"cadence,required"`
	ConversionRate            float64                                         `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceUnitWithProrationPriceConversionRateConfig `json:"conversion_rate_config,required,nullable"`
	CreatedAt                 time.Time                                       `json:"created_at,required" format:"date-time"`
	CreditAllocation          Allocation                                      `json:"credit_allocation,required,nullable"`
	Currency                  string                                          `json:"currency,required"`
	// Deprecated: deprecated
	Discount                    Discount                  `json:"discount,required,nullable"`
	ExternalPriceID             string                    `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                   `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration `json:"invoicing_cycle_configuration,required,nullable"`
	Item                        ItemSlim                  `json:"item,required"`
	// Deprecated: deprecated
	Maximum Maximum `json:"maximum,required,nullable"`
	// Deprecated: deprecated
	MaximumAmount string `json:"maximum_amount,required,nullable"`
	// User specified key-value pairs for the resource. If not present, this defaults
	// to an empty dictionary. Individual keys can be removed by setting the value to
	// `null`, and the entire metadata mapping can be cleared by setting `metadata` to
	// `null`.
	Metadata map[string]string `json:"metadata,required"`
	// Deprecated: deprecated
	Minimum Minimum `json:"minimum,required,nullable"`
	// Deprecated: deprecated
	MinimumAmount  string                               `json:"minimum_amount,required,nullable"`
	ModelType      PriceUnitWithProrationPriceModelType `json:"model_type,required"`
	Name           string                               `json:"name,required"`
	PlanPhaseOrder int64                                `json:"plan_phase_order,required,nullable"`
	PriceType      PriceUnitWithProrationPricePriceType `json:"price_type,required"`
	// The price id this price replaces. This price will take the place of the replaced
	// price in plan version migrations.
	ReplacesPriceID               string                          `json:"replaces_price_id,required,nullable"`
	UnitWithProrationConfig       map[string]interface{}          `json:"unit_with_proration_config,required"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration   `json:"dimensional_price_configuration,nullable"`
	JSON                          priceUnitWithProrationPriceJSON `json:"-"`
}

func (*PriceUnitWithProrationPrice) UnmarshalJSON added in v0.121.0

func (r *PriceUnitWithProrationPrice) UnmarshalJSON(data []byte) (err error)

type PriceUnitWithProrationPriceCadence added in v0.121.0

type PriceUnitWithProrationPriceCadence string
const (
	PriceUnitWithProrationPriceCadenceOneTime    PriceUnitWithProrationPriceCadence = "one_time"
	PriceUnitWithProrationPriceCadenceMonthly    PriceUnitWithProrationPriceCadence = "monthly"
	PriceUnitWithProrationPriceCadenceQuarterly  PriceUnitWithProrationPriceCadence = "quarterly"
	PriceUnitWithProrationPriceCadenceSemiAnnual PriceUnitWithProrationPriceCadence = "semi_annual"
	PriceUnitWithProrationPriceCadenceAnnual     PriceUnitWithProrationPriceCadence = "annual"
	PriceUnitWithProrationPriceCadenceCustom     PriceUnitWithProrationPriceCadence = "custom"
)

func (PriceUnitWithProrationPriceCadence) IsKnown added in v0.121.0

type PriceUnitWithProrationPriceConversionRateConfig added in v0.121.0

type PriceUnitWithProrationPriceConversionRateConfig struct {
	ConversionRateType PriceUnitWithProrationPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                        `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                          `json:"unit_config"`
	JSON               priceUnitWithProrationPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceUnitWithProrationPriceConversionRateConfig) AsUnion added in v0.121.0

AsUnion returns a PriceUnitWithProrationPriceConversionRateConfigUnion interface which you can cast to the specific types for more type safety.

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceUnitWithProrationPriceConversionRateConfig) UnmarshalJSON added in v0.121.0

func (r *PriceUnitWithProrationPriceConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type PriceUnitWithProrationPriceConversionRateConfigConversionRateType added in v0.121.0

type PriceUnitWithProrationPriceConversionRateConfigConversionRateType string
const (
	PriceUnitWithProrationPriceConversionRateConfigConversionRateTypeUnit   PriceUnitWithProrationPriceConversionRateConfigConversionRateType = "unit"
	PriceUnitWithProrationPriceConversionRateConfigConversionRateTypeTiered PriceUnitWithProrationPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceUnitWithProrationPriceConversionRateConfigConversionRateType) IsKnown added in v0.121.0

type PriceUnitWithProrationPriceConversionRateConfigUnion added in v0.121.0

type PriceUnitWithProrationPriceConversionRateConfigUnion interface {
	ImplementsPriceUnitWithProrationPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceUnitWithProrationPriceModelType added in v0.121.0

type PriceUnitWithProrationPriceModelType string
const (
	PriceUnitWithProrationPriceModelTypeUnitWithProration PriceUnitWithProrationPriceModelType = "unit_with_proration"
)

func (PriceUnitWithProrationPriceModelType) IsKnown added in v0.121.0

type PriceUnitWithProrationPricePriceType added in v0.121.0

type PriceUnitWithProrationPricePriceType string
const (
	PriceUnitWithProrationPricePriceTypeUsagePrice PriceUnitWithProrationPricePriceType = "usage_price"
	PriceUnitWithProrationPricePriceTypeFixedPrice PriceUnitWithProrationPricePriceType = "fixed_price"
)

func (PriceUnitWithProrationPricePriceType) IsKnown added in v0.121.0

type SubLineItemGrouping added in v0.121.0

type SubLineItemGrouping struct {
	Key string `json:"key,required"`
	// No value indicates the default group
	Value string                  `json:"value,required,nullable"`
	JSON  subLineItemGroupingJSON `json:"-"`
}

func (*SubLineItemGrouping) UnmarshalJSON added in v0.121.0

func (r *SubLineItemGrouping) UnmarshalJSON(data []byte) (err error)

type SubLineItemMatrixConfig added in v0.121.0

type SubLineItemMatrixConfig struct {
	// The ordered dimension values for this line item.
	DimensionValues []string                    `json:"dimension_values,required"`
	JSON            subLineItemMatrixConfigJSON `json:"-"`
}

func (*SubLineItemMatrixConfig) UnmarshalJSON added in v0.121.0

func (r *SubLineItemMatrixConfig) UnmarshalJSON(data []byte) (err error)

type SubscriptionChangeMinified added in v0.121.0

type SubscriptionChangeMinified struct {
	ID   string                         `json:"id,required"`
	JSON subscriptionChangeMinifiedJSON `json:"-"`
}

func (*SubscriptionChangeMinified) UnmarshalJSON added in v0.121.0

func (r *SubscriptionChangeMinified) UnmarshalJSON(data []byte) (err error)

type SubscriptionMinified added in v0.121.0

type SubscriptionMinified struct {
	ID   string                   `json:"id,required"`
	JSON subscriptionMinifiedJSON `json:"-"`
}

func (*SubscriptionMinified) UnmarshalJSON added in v0.121.0

func (r *SubscriptionMinified) UnmarshalJSON(data []byte) (err error)

type SubscriptionTrialInfo added in v0.121.0

type SubscriptionTrialInfo struct {
	EndDate time.Time                 `json:"end_date,required,nullable" format:"date-time"`
	JSON    subscriptionTrialInfoJSON `json:"-"`
}

func (*SubscriptionTrialInfo) UnmarshalJSON added in v0.121.0

func (r *SubscriptionTrialInfo) UnmarshalJSON(data []byte) (err error)

type TaxAmount added in v0.121.0

type TaxAmount struct {
	// The amount of additional tax incurred by this tax rate.
	Amount string `json:"amount,required"`
	// The human-readable description of the applied tax rate.
	TaxRateDescription string `json:"tax_rate_description,required"`
	// The tax rate percentage, out of 100.
	TaxRatePercentage string        `json:"tax_rate_percentage,required,nullable"`
	JSON              taxAmountJSON `json:"-"`
}

func (*TaxAmount) UnmarshalJSON added in v0.121.0

func (r *TaxAmount) UnmarshalJSON(data []byte) (err error)

type Tier added in v0.121.0

type Tier struct {
	// Exclusive tier starting value
	FirstUnit float64 `json:"first_unit,required"`
	// Amount per unit
	UnitAmount string `json:"unit_amount,required"`
	// Inclusive tier ending value. If null, this is treated as the last tier
	LastUnit float64  `json:"last_unit,nullable"`
	JSON     tierJSON `json:"-"`
}

func (*Tier) UnmarshalJSON added in v0.121.0

func (r *Tier) UnmarshalJSON(data []byte) (err error)

type TierConfig added in v0.121.0

type TierConfig struct {
	FirstUnit  float64        `json:"first_unit,required"`
	LastUnit   float64        `json:"last_unit,required,nullable"`
	UnitAmount string         `json:"unit_amount,required"`
	JSON       tierConfigJSON `json:"-"`
}

func (*TierConfig) UnmarshalJSON added in v0.121.0

func (r *TierConfig) UnmarshalJSON(data []byte) (err error)

type TierParam added in v0.121.0

type TierParam struct {
	// Exclusive tier starting value
	FirstUnit param.Field[float64] `json:"first_unit,required"`
	// Amount per unit
	UnitAmount param.Field[string] `json:"unit_amount,required"`
	// Inclusive tier ending value. If null, this is treated as the last tier
	LastUnit param.Field[float64] `json:"last_unit"`
}

func (TierParam) MarshalJSON added in v0.121.0

func (r TierParam) MarshalJSON() (data []byte, err error)

type TierSubLineItem added in v0.121.0

type TierSubLineItem struct {
	// The total amount for this sub line item.
	Amount     string              `json:"amount,required"`
	Grouping   SubLineItemGrouping `json:"grouping,required,nullable"`
	Name       string              `json:"name,required"`
	Quantity   float64             `json:"quantity,required"`
	TierConfig TierConfig          `json:"tier_config,required"`
	Type       TierSubLineItemType `json:"type,required"`
	JSON       tierSubLineItemJSON `json:"-"`
}

func (TierSubLineItem) ImplementsInvoiceFetchUpcomingResponseLineItemsSubLineItem added in v0.121.0

func (r TierSubLineItem) ImplementsInvoiceFetchUpcomingResponseLineItemsSubLineItem()

func (TierSubLineItem) ImplementsInvoiceLineItemNewResponseSubLineItem added in v0.121.0

func (r TierSubLineItem) ImplementsInvoiceLineItemNewResponseSubLineItem()

func (TierSubLineItem) ImplementsInvoiceLineItemsSubLineItem added in v0.121.0

func (r TierSubLineItem) ImplementsInvoiceLineItemsSubLineItem()

func (*TierSubLineItem) UnmarshalJSON added in v0.121.0

func (r *TierSubLineItem) UnmarshalJSON(data []byte) (err error)

type TierSubLineItemType added in v0.121.0

type TierSubLineItemType string
const (
	TierSubLineItemTypeTier TierSubLineItemType = "tier"
)

func (TierSubLineItemType) IsKnown added in v0.121.0

func (r TierSubLineItemType) IsKnown() bool

type TieredBPSConfig added in v0.121.0

type TieredBPSConfig struct {
	// Tiers for a Graduated BPS pricing model, where usage is bucketed into specified
	// tiers
	Tiers []BPSTier           `json:"tiers,required"`
	JSON  tieredBPSConfigJSON `json:"-"`
}

func (*TieredBPSConfig) UnmarshalJSON added in v0.121.0

func (r *TieredBPSConfig) UnmarshalJSON(data []byte) (err error)

type TieredBPSConfigParam added in v0.121.0

type TieredBPSConfigParam struct {
	// Tiers for a Graduated BPS pricing model, where usage is bucketed into specified
	// tiers
	Tiers param.Field[[]BPSTierParam] `json:"tiers,required"`
}

func (TieredBPSConfigParam) MarshalJSON added in v0.121.0

func (r TieredBPSConfigParam) MarshalJSON() (data []byte, err error)

type TieredConfig added in v0.121.0

type TieredConfig struct {
	// Tiers for rating based on total usage quantities into the specified tier
	Tiers []Tier           `json:"tiers,required"`
	JSON  tieredConfigJSON `json:"-"`
}

func (*TieredConfig) UnmarshalJSON added in v0.121.0

func (r *TieredConfig) UnmarshalJSON(data []byte) (err error)

type TieredConfigParam added in v0.121.0

type TieredConfigParam struct {
	// Tiers for rating based on total usage quantities into the specified tier
	Tiers param.Field[[]TierParam] `json:"tiers,required"`
}

func (TieredConfigParam) MarshalJSON added in v0.121.0

func (r TieredConfigParam) MarshalJSON() (data []byte, err error)

type TieredConversionRateConfig added in v0.123.0

type TieredConversionRateConfig struct {
	ConversionRateType TieredConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                   `json:"tiered_config,required"`
	JSON               tieredConversionRateConfigJSON               `json:"-"`
}

func (TieredConversionRateConfig) ImplementsPriceBPSPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceBPSPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceBulkBPSPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceBulkBPSPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceBulkPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceBulkPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceBulkWithProrationPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceBulkWithProrationPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceCumulativeGroupedBulkPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceCumulativeGroupedBulkPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceGroupedAllocationPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceGroupedAllocationPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceGroupedTieredPackagePriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceGroupedTieredPackagePriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceGroupedTieredPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceGroupedTieredPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceGroupedWithMeteredMinimumPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceGroupedWithMeteredMinimumPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceGroupedWithProratedMinimumPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceGroupedWithProratedMinimumPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceMatrixPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceMatrixPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceMatrixWithAllocationPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceMatrixWithAllocationPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceMatrixWithDisplayNamePriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceMatrixWithDisplayNamePriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceMaxGroupTieredPackagePriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceMaxGroupTieredPackagePriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPricePackagePriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPricePackagePriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPricePackageWithAllocationPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPricePackageWithAllocationPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceScalableMatrixWithTieredPricingPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceScalableMatrixWithTieredPricingPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceScalableMatrixWithUnitPricingPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceScalableMatrixWithUnitPricingPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceThresholdTotalAmountPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceThresholdTotalAmountPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceTieredBPSPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceTieredBPSPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceTieredPackagePriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceTieredPackagePriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceTieredPackageWithMinimumPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceTieredPackageWithMinimumPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceTieredPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceTieredPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceTieredWithMinimumPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceTieredWithMinimumPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceTieredWithProrationPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceTieredWithProrationPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceUnitPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceUnitPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceUnitWithPercentPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceUnitWithPercentPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceUnitWithProrationPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceUnitWithProrationPriceConversionRateConfig()

func (*TieredConversionRateConfig) UnmarshalJSON added in v0.123.0

func (r *TieredConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type TieredConversionRateConfigConversionRateType added in v0.123.0

type TieredConversionRateConfigConversionRateType string
const (
	TieredConversionRateConfigConversionRateTypeTiered TieredConversionRateConfigConversionRateType = "tiered"
)

func (TieredConversionRateConfigConversionRateType) IsKnown added in v0.123.0

type TieredConversionRateConfigParam added in v0.123.0

type TieredConversionRateConfigParam struct {
	ConversionRateType param.Field[TieredConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	TieredConfig       param.Field[ConversionRateTieredConfigParam]              `json:"tiered_config,required"`
}

func (TieredConversionRateConfigParam) ImplementsNewFloatingBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingBulkBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingBulkBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingBulkPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingBulkWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingBulkWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingGroupedAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingGroupedAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingMatrixPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingMatrixPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingTieredBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingTieredBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingTieredPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingTieredWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingTieredWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingUnitPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingUnitPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingUnitWithPercentPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingUnitWithPercentPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewFloatingUnitWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingUnitWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanBulkBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanBulkBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanBulkPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanBulkWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanBulkWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanGroupedAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanGroupedAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanGroupedTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanGroupedTieredPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanMatrixPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanMatrixPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanPackageWithAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanTierWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanTierWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanTieredBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanTieredBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanTieredPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanTieredWithMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanUnitPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanUnitPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanUnitWithPercentPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanUnitWithPercentPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewPlanUnitWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanUnitWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionBulkBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionBulkBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionBulkPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionBulkWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionBulkWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionCumulativeGroupedBulkPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedTieredPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionMatrixPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionMatrixPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionMatrixWithAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionMatrixWithDisplayNamePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionMaxGroupTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionPackageWithAllocationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionThresholdTotalAmountPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionTierWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionTierWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredBPSPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredPackagePriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredPackageWithMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionTieredWithMinimumPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionUnitPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionUnitPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionUnitWithPercentPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionUnitWithPercentPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsNewSubscriptionUnitWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionUnitWithProrationPriceConversionRateConfigUnionParam()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBPSPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBPSPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkBPSPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkBPSPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkWithProrationPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedAllocationPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedAllocationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedTieredPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedTieredPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPackagePriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPackagePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPackageWithAllocationPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPackageWithAllocationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredBPSPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredBPSPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPackagePriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPackagePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredWithMinimumPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredWithMinimumPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredWithProrationPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitWithPercentPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitWithPercentPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitWithProrationPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) MarshalJSON added in v0.123.0

func (r TieredConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type TransformPriceFilter added in v0.121.0

type TransformPriceFilter struct {
	// The property of the price to filter on.
	Field TransformPriceFilterField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator TransformPriceFilterOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                 `json:"values,required"`
	JSON   transformPriceFilterJSON `json:"-"`
}

func (*TransformPriceFilter) UnmarshalJSON added in v0.121.0

func (r *TransformPriceFilter) UnmarshalJSON(data []byte) (err error)

type TransformPriceFilterField added in v0.121.0

type TransformPriceFilterField string

The property of the price to filter on.

const (
	TransformPriceFilterFieldPriceID       TransformPriceFilterField = "price_id"
	TransformPriceFilterFieldItemID        TransformPriceFilterField = "item_id"
	TransformPriceFilterFieldPriceType     TransformPriceFilterField = "price_type"
	TransformPriceFilterFieldCurrency      TransformPriceFilterField = "currency"
	TransformPriceFilterFieldPricingUnitID TransformPriceFilterField = "pricing_unit_id"
)

func (TransformPriceFilterField) IsKnown added in v0.121.0

func (r TransformPriceFilterField) IsKnown() bool

type TransformPriceFilterOperator added in v0.121.0

type TransformPriceFilterOperator string

Should prices that match the filter be included or excluded.

const (
	TransformPriceFilterOperatorIncludes TransformPriceFilterOperator = "includes"
	TransformPriceFilterOperatorExcludes TransformPriceFilterOperator = "excludes"
)

func (TransformPriceFilterOperator) IsKnown added in v0.121.0

func (r TransformPriceFilterOperator) IsKnown() bool

type TransformPriceFilterParam added in v0.121.0

type TransformPriceFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[TransformPriceFilterField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[TransformPriceFilterOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (TransformPriceFilterParam) MarshalJSON added in v0.121.0

func (r TransformPriceFilterParam) MarshalJSON() (data []byte, err error)

type TrialDiscount added in v0.67.0

type TrialDiscount struct {
	DiscountType TrialDiscountDiscountType `json:"discount_type,required"`
	// List of price_ids that this discount applies to. For plan/plan phase discounts,
	// this can be a subset of prices.
	AppliesToPriceIDs []string `json:"applies_to_price_ids,nullable"`
	// The filters that determine which prices to apply this discount to.
	Filters []TransformPriceFilter `json:"filters,nullable"`
	Reason  string                 `json:"reason,nullable"`
	// Only available if discount_type is `trial`
	TrialAmountDiscount string `json:"trial_amount_discount,nullable"`
	// Only available if discount_type is `trial`
	TrialPercentageDiscount float64           `json:"trial_percentage_discount,nullable"`
	JSON                    trialDiscountJSON `json:"-"`
}

func (TrialDiscount) ImplementsDiscount added in v0.89.1

func (r TrialDiscount) ImplementsDiscount()

func (TrialDiscount) ImplementsInvoiceLevelDiscount added in v0.89.1

func (r TrialDiscount) ImplementsInvoiceLevelDiscount()

func (*TrialDiscount) UnmarshalJSON added in v0.67.0

func (r *TrialDiscount) UnmarshalJSON(data []byte) (err error)

type TrialDiscountDiscountType added in v0.67.0

type TrialDiscountDiscountType string
const (
	TrialDiscountDiscountTypeTrial TrialDiscountDiscountType = "trial"
)

func (TrialDiscountDiscountType) IsKnown added in v0.67.0

func (r TrialDiscountDiscountType) IsKnown() bool

type TrialDiscountParam added in v0.67.0

type TrialDiscountParam struct {
	DiscountType param.Field[TrialDiscountDiscountType] `json:"discount_type,required"`
	// List of price_ids that this discount applies to. For plan/plan phase discounts,
	// this can be a subset of prices.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// The filters that determine which prices to apply this discount to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	Reason  param.Field[string]                      `json:"reason"`
	// Only available if discount_type is `trial`
	TrialAmountDiscount param.Field[string] `json:"trial_amount_discount"`
	// Only available if discount_type is `trial`
	TrialPercentageDiscount param.Field[float64] `json:"trial_percentage_discount"`
}

func (TrialDiscountParam) ImplementsDiscountUnionParam added in v0.89.1

func (r TrialDiscountParam) ImplementsDiscountUnionParam()

func (TrialDiscountParam) MarshalJSON added in v0.67.0

func (r TrialDiscountParam) MarshalJSON() (data []byte, err error)

type UnionBool

type UnionBool bool

func (UnionBool) ImplementsEvaluatePriceGroupGroupingValuesUnion

func (UnionBool) ImplementsEvaluatePriceGroupGroupingValuesUnion()

type UnionFloat

type UnionFloat float64

func (UnionFloat) ImplementsEvaluatePriceGroupGroupingValuesUnion

func (UnionFloat) ImplementsEvaluatePriceGroupGroupingValuesUnion()

type UnionString

type UnionString string

func (UnionString) ImplementsEvaluatePriceGroupGroupingValuesUnion

func (UnionString) ImplementsEvaluatePriceGroupGroupingValuesUnion()

type UnionTime

type UnionTime time.Time

func (UnionTime) ImplementsCustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsInvoiceDateUnion added in v1.6.0

func (UnionTime) ImplementsCustomerCreditLedgerNewEntryByExternalIDParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsInvoiceDateUnion()

func (UnionTime) ImplementsCustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsInvoiceDateUnion added in v1.6.0

func (UnionTime) ImplementsCustomerCreditLedgerNewEntryParamsAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsInvoiceDateUnion()

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsEndDateUnion added in v0.35.0

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsEndDateUnion()

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsStartDateUnion added in v0.35.0

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsAddAdjustmentsStartDateUnion()

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsAddEndDateUnion

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsAddEndDateUnion()

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsAddStartDateUnion

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsAddStartDateUnion()

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsEndDateUnion added in v0.35.0

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsEndDateUnion()

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsStartDateUnion added in v0.35.0

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsEditAdjustmentsStartDateUnion()

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsEditEndDateUnion

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsEditEndDateUnion()

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsEditStartDateUnion

func (UnionTime) ImplementsSubscriptionPriceIntervalsParamsEditStartDateUnion()

func (UnionTime) ImplementsSubscriptionUpdateTrialParamsTrialEndDateUnion added in v0.74.0

func (UnionTime) ImplementsSubscriptionUpdateTrialParamsTrialEndDateUnion()

type UnitConfig added in v0.121.0

type UnitConfig struct {
	// Rate per unit of usage
	UnitAmount string         `json:"unit_amount,required"`
	JSON       unitConfigJSON `json:"-"`
}

func (*UnitConfig) UnmarshalJSON added in v0.121.0

func (r *UnitConfig) UnmarshalJSON(data []byte) (err error)

type UnitConfigParam added in v0.121.0

type UnitConfigParam struct {
	// Rate per unit of usage
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

func (UnitConfigParam) MarshalJSON added in v0.121.0

func (r UnitConfigParam) MarshalJSON() (data []byte, err error)

type UnitConversionRateConfig added in v0.123.0

type UnitConversionRateConfig struct {
	ConversionRateType UnitConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	UnitConfig         ConversionRateUnitConfig                   `json:"unit_config,required"`
	JSON               unitConversionRateConfigJSON               `json:"-"`
}

func (UnitConversionRateConfig) ImplementsPriceBPSPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceBPSPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceBulkBPSPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceBulkBPSPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceBulkPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceBulkPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceBulkWithProrationPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceBulkWithProrationPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceCumulativeGroupedBulkPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceCumulativeGroupedBulkPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceGroupedAllocationPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceGroupedAllocationPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceGroupedTieredPackagePriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceGroupedTieredPackagePriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceGroupedTieredPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceGroupedTieredPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceGroupedWithMeteredMinimumPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceGroupedWithMeteredMinimumPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceGroupedWithProratedMinimumPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceGroupedWithProratedMinimumPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceMatrixPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceMatrixPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceMatrixWithAllocationPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceMatrixWithAllocationPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceMatrixWithDisplayNamePriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceMatrixWithDisplayNamePriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceMaxGroupTieredPackagePriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceMaxGroupTieredPackagePriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPricePackagePriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPricePackagePriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPricePackageWithAllocationPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPricePackageWithAllocationPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceScalableMatrixWithTieredPricingPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceScalableMatrixWithTieredPricingPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceScalableMatrixWithUnitPricingPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceScalableMatrixWithUnitPricingPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceThresholdTotalAmountPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceThresholdTotalAmountPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceTieredBPSPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceTieredBPSPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceTieredPackagePriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceTieredPackagePriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceTieredPackageWithMinimumPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceTieredPackageWithMinimumPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceTieredPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceTieredPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceTieredWithMinimumPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceTieredWithMinimumPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceTieredWithProrationPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceTieredWithProrationPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceUnitPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceUnitPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceUnitWithPercentPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceUnitWithPercentPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceUnitWithProrationPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceUnitWithProrationPriceConversionRateConfig()

func (*UnitConversionRateConfig) UnmarshalJSON added in v0.123.0

func (r *UnitConversionRateConfig) UnmarshalJSON(data []byte) (err error)

type UnitConversionRateConfigConversionRateType added in v0.123.0

type UnitConversionRateConfigConversionRateType string
const (
	UnitConversionRateConfigConversionRateTypeUnit UnitConversionRateConfigConversionRateType = "unit"
)

func (UnitConversionRateConfigConversionRateType) IsKnown added in v0.123.0

type UnitConversionRateConfigParam added in v0.123.0

type UnitConversionRateConfigParam struct {
	ConversionRateType param.Field[UnitConversionRateConfigConversionRateType] `json:"conversion_rate_type,required"`
	UnitConfig         param.Field[ConversionRateUnitConfigParam]              `json:"unit_config,required"`
}

func (UnitConversionRateConfigParam) ImplementsNewFloatingBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingBulkBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingBulkBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingBulkPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingBulkWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingBulkWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingGroupedAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingGroupedAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingGroupedTieredPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingMatrixPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingMatrixPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingPackageWithAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingTieredBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingTieredBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingTieredPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingTieredWithMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingTieredWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingTieredWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingUnitPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingUnitPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingUnitWithPercentPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingUnitWithPercentPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewFloatingUnitWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingUnitWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanBulkBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanBulkBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanBulkPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanBulkWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanBulkWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanCumulativeGroupedBulkPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanGroupedAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanGroupedAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanGroupedTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanGroupedTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanGroupedTieredPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanMatrixPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanMatrixPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanMatrixWithAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanMatrixWithDisplayNamePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanMaxGroupTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanPackageWithAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanThresholdTotalAmountPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanTierWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanTierWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanTieredBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanTieredBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanTieredPackageWithMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanTieredPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanTieredWithMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanUnitPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanUnitPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanUnitWithPercentPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanUnitWithPercentPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewPlanUnitWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanUnitWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionBulkBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionBulkBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionBulkPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionBulkWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionBulkWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionCumulativeGroupedBulkPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionCumulativeGroupedBulkPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedTieredPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedWithMeteredMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedWithProratedMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionGroupedWithProratedMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionMatrixPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionMatrixPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionMatrixWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionMatrixWithAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionMatrixWithDisplayNamePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionMatrixWithDisplayNamePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionMaxGroupTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionMaxGroupTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionPackageWithAllocationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionPackageWithAllocationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionScalableMatrixWithTieredPricingPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionScalableMatrixWithUnitPricingPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionThresholdTotalAmountPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionThresholdTotalAmountPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionTierWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionTierWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredBPSPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredBPSPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredPackagePriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredPackagePriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredPackageWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredPackageWithMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredWithMinimumPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionTieredWithMinimumPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionUnitPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionUnitPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionUnitWithPercentPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionUnitWithPercentPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsNewSubscriptionUnitWithProrationPriceConversionRateConfigUnionParam added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionUnitWithProrationPriceConversionRateConfigUnionParam()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBPSPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBPSPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkBPSPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkBPSPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkWithProrationPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingCumulativeGroupedBulkPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedAllocationPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedAllocationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedTieredPackagePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedTieredPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedTieredPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithMeteredMinimumPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithProratedMinimumPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixWithAllocationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMatrixWithDisplayNamePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMaxGroupTieredPackagePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPackagePriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPackagePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPackageWithAllocationPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPackageWithAllocationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingScalableMatrixWithTieredPricingPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingScalableMatrixWithUnitPricingPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingThresholdTotalAmountPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredBPSPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredBPSPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPackagePriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPackagePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPackageWithMinimumPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredWithMinimumPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredWithMinimumPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredWithProrationPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingTieredWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitWithPercentPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitWithPercentPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitWithProrationPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingUnitWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) MarshalJSON added in v0.123.0

func (r UnitConversionRateConfigParam) MarshalJSON() (data []byte, err error)

type UsageDiscount added in v0.105.0

type UsageDiscount struct {
	DiscountType UsageDiscountDiscountType `json:"discount_type,required"`
	// Only available if discount_type is `usage`. Number of usage units that this
	// discount is for
	UsageDiscount float64 `json:"usage_discount,required"`
	// List of price_ids that this discount applies to. For plan/plan phase discounts,
	// this can be a subset of prices.
	AppliesToPriceIDs []string `json:"applies_to_price_ids,nullable"`
	// The filters that determine which prices to apply this discount to.
	Filters []TransformPriceFilter `json:"filters,nullable"`
	Reason  string                 `json:"reason,nullable"`
	JSON    usageDiscountJSON      `json:"-"`
}

func (UsageDiscount) ImplementsDiscount added in v0.105.0

func (r UsageDiscount) ImplementsDiscount()

func (*UsageDiscount) UnmarshalJSON added in v0.105.0

func (r *UsageDiscount) UnmarshalJSON(data []byte) (err error)

type UsageDiscountDiscountType added in v0.105.0

type UsageDiscountDiscountType string
const (
	UsageDiscountDiscountTypeUsage UsageDiscountDiscountType = "usage"
)

func (UsageDiscountDiscountType) IsKnown added in v0.105.0

func (r UsageDiscountDiscountType) IsKnown() bool

type UsageDiscountInterval added in v0.121.0

type UsageDiscountInterval struct {
	// The price interval ids that this discount interval applies to.
	AppliesToPriceIntervalIDs []string                          `json:"applies_to_price_interval_ids,required"`
	DiscountType              UsageDiscountIntervalDiscountType `json:"discount_type,required"`
	// The end date of the discount interval.
	EndDate time.Time `json:"end_date,required,nullable" format:"date-time"`
	// The filters that determine which prices this discount interval applies to.
	Filters []TransformPriceFilter `json:"filters,required"`
	// The start date of the discount interval.
	StartDate time.Time `json:"start_date,required" format:"date-time"`
	// Only available if discount_type is `usage`. Number of usage units that this
	// discount is for
	UsageDiscount float64                   `json:"usage_discount,required"`
	JSON          usageDiscountIntervalJSON `json:"-"`
}

func (UsageDiscountInterval) ImplementsMutatedSubscriptionDiscountInterval added in v0.121.0

func (r UsageDiscountInterval) ImplementsMutatedSubscriptionDiscountInterval()

func (UsageDiscountInterval) ImplementsSubscriptionDiscountInterval added in v0.121.0

func (r UsageDiscountInterval) ImplementsSubscriptionDiscountInterval()

func (*UsageDiscountInterval) UnmarshalJSON added in v0.121.0

func (r *UsageDiscountInterval) UnmarshalJSON(data []byte) (err error)

type UsageDiscountIntervalDiscountType added in v0.121.0

type UsageDiscountIntervalDiscountType string
const (
	UsageDiscountIntervalDiscountTypeUsage UsageDiscountIntervalDiscountType = "usage"
)

func (UsageDiscountIntervalDiscountType) IsKnown added in v0.121.0

type UsageDiscountParam added in v0.105.0

type UsageDiscountParam struct {
	DiscountType param.Field[UsageDiscountDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `usage`. Number of usage units that this
	// discount is for
	UsageDiscount param.Field[float64] `json:"usage_discount,required"`
	// List of price_ids that this discount applies to. For plan/plan phase discounts,
	// this can be a subset of prices.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids"`
	// The filters that determine which prices to apply this discount to.
	Filters param.Field[[]TransformPriceFilterParam] `json:"filters"`
	Reason  param.Field[string]                      `json:"reason"`
}

func (UsageDiscountParam) ImplementsDiscountUnionParam added in v0.105.0

func (r UsageDiscountParam) ImplementsDiscountUnionParam()

func (UsageDiscountParam) MarshalJSON added in v0.105.0

func (r UsageDiscountParam) MarshalJSON() (data []byte, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL