shared

package
v1.35.0 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 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
	// [[]PlanPhaseUsageDiscountAdjustmentFilter],
	// [[]PlanPhaseAmountDiscountAdjustmentFilter],
	// [[]PlanPhasePercentageDiscountAdjustmentFilter],
	// [[]PlanPhaseMinimumAdjustmentFilter], [[]PlanPhaseMaximumAdjustmentFilter].
	Filters interface{} `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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"`
	Filters          []AllocationFilter `json:"filters"`
	JSON             allocationJSON     `json:"-"`
}

func (*Allocation) UnmarshalJSON added in v0.121.0

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

type AllocationFilter added in v1.32.0

type AllocationFilter struct {
	// The property of the price to filter on.
	Field AllocationFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator AllocationFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string             `json:"values,required"`
	JSON   allocationFilterJSON `json:"-"`
}

func (*AllocationFilter) UnmarshalJSON added in v1.32.0

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

type AllocationFiltersField added in v1.32.0

type AllocationFiltersField string

The property of the price to filter on.

const (
	AllocationFiltersFieldPriceID       AllocationFiltersField = "price_id"
	AllocationFiltersFieldItemID        AllocationFiltersField = "item_id"
	AllocationFiltersFieldPriceType     AllocationFiltersField = "price_type"
	AllocationFiltersFieldCurrency      AllocationFiltersField = "currency"
	AllocationFiltersFieldPricingUnitID AllocationFiltersField = "pricing_unit_id"
)

func (AllocationFiltersField) IsKnown added in v1.32.0

func (r AllocationFiltersField) IsKnown() bool

type AllocationFiltersOperator added in v1.32.0

type AllocationFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	AllocationFiltersOperatorIncludes AllocationFiltersOperator = "includes"
	AllocationFiltersOperatorExcludes AllocationFiltersOperator = "excludes"
)

func (AllocationFiltersOperator) IsKnown added in v1.32.0

func (r AllocationFiltersOperator) IsKnown() bool

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 []AmountDiscountFilter `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 AmountDiscountFilter added in v0.120.0

type AmountDiscountFilter struct {
	// The property of the price to filter on.
	Field AmountDiscountFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator AmountDiscountFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                 `json:"values,required"`
	JSON   amountDiscountFilterJSON `json:"-"`
}

func (*AmountDiscountFilter) UnmarshalJSON added in v0.120.0

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

type AmountDiscountFilterParam added in v0.120.0

type AmountDiscountFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[AmountDiscountFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[AmountDiscountFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (AmountDiscountFilterParam) MarshalJSON added in v0.120.0

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

type AmountDiscountFiltersField added in v0.120.0

type AmountDiscountFiltersField string

The property of the price to filter on.

const (
	AmountDiscountFiltersFieldPriceID       AmountDiscountFiltersField = "price_id"
	AmountDiscountFiltersFieldItemID        AmountDiscountFiltersField = "item_id"
	AmountDiscountFiltersFieldPriceType     AmountDiscountFiltersField = "price_type"
	AmountDiscountFiltersFieldCurrency      AmountDiscountFiltersField = "currency"
	AmountDiscountFiltersFieldPricingUnitID AmountDiscountFiltersField = "pricing_unit_id"
)

func (AmountDiscountFiltersField) IsKnown added in v0.120.0

func (r AmountDiscountFiltersField) IsKnown() bool

type AmountDiscountFiltersOperator added in v0.120.0

type AmountDiscountFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	AmountDiscountFiltersOperatorIncludes AmountDiscountFiltersOperator = "includes"
	AmountDiscountFiltersOperatorExcludes AmountDiscountFiltersOperator = "excludes"
)

func (AmountDiscountFiltersOperator) IsKnown added in v0.120.0

func (r AmountDiscountFiltersOperator) 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 []AmountDiscountIntervalFilter `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 AmountDiscountIntervalFilter added in v1.30.0

type AmountDiscountIntervalFilter struct {
	// The property of the price to filter on.
	Field AmountDiscountIntervalFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator AmountDiscountIntervalFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                         `json:"values,required"`
	JSON   amountDiscountIntervalFilterJSON `json:"-"`
}

func (*AmountDiscountIntervalFilter) UnmarshalJSON added in v1.30.0

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

type AmountDiscountIntervalFiltersField added in v1.30.0

type AmountDiscountIntervalFiltersField string

The property of the price to filter on.

const (
	AmountDiscountIntervalFiltersFieldPriceID       AmountDiscountIntervalFiltersField = "price_id"
	AmountDiscountIntervalFiltersFieldItemID        AmountDiscountIntervalFiltersField = "item_id"
	AmountDiscountIntervalFiltersFieldPriceType     AmountDiscountIntervalFiltersField = "price_type"
	AmountDiscountIntervalFiltersFieldCurrency      AmountDiscountIntervalFiltersField = "currency"
	AmountDiscountIntervalFiltersFieldPricingUnitID AmountDiscountIntervalFiltersField = "pricing_unit_id"
)

func (AmountDiscountIntervalFiltersField) IsKnown added in v1.30.0

type AmountDiscountIntervalFiltersOperator added in v1.30.0

type AmountDiscountIntervalFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	AmountDiscountIntervalFiltersOperatorIncludes AmountDiscountIntervalFiltersOperator = "includes"
	AmountDiscountIntervalFiltersOperatorExcludes AmountDiscountIntervalFiltersOperator = "excludes"
)

func (AmountDiscountIntervalFiltersOperator) IsKnown added in v1.30.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[[]AmountDiscountFilterParam] `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 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 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:"-"`
}

Configuration for bulk pricing

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"`
}

Configuration for bulk pricing

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:"-"`
}

Configuration for a single bulk pricing tier

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"`
}

Configuration for a single bulk pricing tier

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 []ChangedSubscriptionResourcesCreatedInvoice `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 ChangedSubscriptionResourcesCreatedInvoice added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoice 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 ChangedSubscriptionResourcesCreatedInvoicesAutoCollection `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 []ChangedSubscriptionResourcesCreatedInvoicesCreditNote `json:"credit_notes,required"`
	// An ISO 4217 currency string or `credits`
	Currency                    string                                                                  `json:"currency,required"`
	Customer                    CustomerMinified                                                        `json:"customer,required"`
	CustomerBalanceTransactions []ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransaction `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                                                                                             |
	// | ---------------------- | ------------ | ------------------------------------------------------------------------------------------------------- |
	// | Albania                | `al_tin`     | Albania Tax Identification Number                                                                       |
	// | Andorra                | `ad_nrt`     | Andorran NRT Number                                                                                     |
	// | Angola                 | `ao_tin`     | Angola Tax Identification Number                                                                        |
	// | Argentina              | `ar_cuit`    | Argentinian Tax ID Number                                                                               |
	// | Armenia                | `am_tin`     | Armenia Tax Identification Number                                                                       |
	// | Aruba                  | `aw_tin`     | Aruba Tax Identification Number                                                                         |
	// | Australia              | `au_abn`     | Australian Business Number (AU ABN)                                                                     |
	// | Australia              | `au_arn`     | Australian Taxation Office Reference Number                                                             |
	// | Austria                | `eu_vat`     | European VAT Number                                                                                     |
	// | Azerbaijan             | `az_tin`     | Azerbaijan Tax Identification Number                                                                    |
	// | Bahamas                | `bs_tin`     | Bahamas Tax Identification Number                                                                       |
	// | Bahrain                | `bh_vat`     | Bahraini VAT Number                                                                                     |
	// | Bangladesh             | `bd_bin`     | Bangladesh Business Identification Number                                                               |
	// | Barbados               | `bb_tin`     | Barbados Tax Identification Number                                                                      |
	// | Belarus                | `by_tin`     | Belarus TIN Number                                                                                      |
	// | Belgium                | `eu_vat`     | European VAT Number                                                                                     |
	// | Benin                  | `bj_ifu`     | Benin Tax Identification Number (Identifiant Fiscal Unique)                                             |
	// | Bolivia                | `bo_tin`     | Bolivian Tax ID                                                                                         |
	// | Bosnia and Herzegovina | `ba_tin`     | Bosnia and Herzegovina Tax Identification Number                                                        |
	// | 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                                                                                     |
	// | Burkina Faso           | `bf_ifu`     | Burkina Faso Tax Identification Number (Numéro d'Identifiant Fiscal Unique)                             |
	// | Cambodia               | `kh_tin`     | Cambodia Tax Identification Number                                                                      |
	// | Cameroon               | `cm_niu`     | Cameroon Tax Identification Number (Numéro d'Identifiant fiscal Unique)                                 |
	// | 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)                                                                            |
	// | Cape Verde             | `cv_nif`     | Cape Verde Tax Identification Number (Número de Identificação Fiscal)                                   |
	// | Chile                  | `cl_tin`     | Chilean TIN                                                                                             |
	// | China                  | `cn_tin`     | Chinese Tax ID                                                                                          |
	// | Colombia               | `co_nit`     | Colombian NIT Number                                                                                    |
	// | Congo-Kinshasa         | `cd_nif`     | Congo (DR) Tax Identification Number (Número de Identificação Fiscal)                                   |
	// | Costa Rica             | `cr_tin`     | Costa Rican Tax ID                                                                                      |
	// | Croatia                | `eu_vat`     | European VAT Number                                                                                     |
	// | Croatia                | `hr_oib`     | Croatian Personal Identification Number (OIB)                                                           |
	// | 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                                                                                     |
	// | Ethiopia               | `et_tin`     | Ethiopia Tax Identification Number                                                                      |
	// | European Union         | `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                | `de_stn`     | German Tax Number (Steuernummer)                                                                        |
	// | Germany                | `eu_vat`     | European VAT Number                                                                                     |
	// | Greece                 | `eu_vat`     | European VAT Number                                                                                     |
	// | Guinea                 | `gn_nif`     | Guinea Tax Identification Number (Número de Identificação Fiscal)                                       |
	// | 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                                                  |
	// | Kyrgyzstan             | `kg_tin`     | Kyrgyzstan Tax Identification Number                                                                    |
	// | Laos                   | `la_tin`     | Laos Tax Identification Number                                                                          |
	// | Latvia                 | `eu_vat`     | European VAT Number                                                                                     |
	// | Liechtenstein          | `li_uid`     | Liechtensteinian UID Number                                                                             |
	// | Liechtenstein          | `li_vat`     | Liechtenstein VAT 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                                                                                     |
	// | Mauritania             | `mr_nif`     | Mauritania Tax Identification Number (Número de Identificação Fiscal)                                   |
	// | Mexico                 | `mx_rfc`     | Mexican RFC Number                                                                                      |
	// | Moldova                | `md_vat`     | Moldova VAT Number                                                                                      |
	// | Montenegro             | `me_pib`     | Montenegro PIB Number                                                                                   |
	// | Morocco                | `ma_vat`     | Morocco VAT Number                                                                                      |
	// | Nepal                  | `np_pan`     | Nepal PAN Number                                                                                        |
	// | Netherlands            | `eu_vat`     | European VAT Number                                                                                     |
	// | New Zealand            | `nz_gst`     | New Zealand GST Number                                                                                  |
	// | Nigeria                | `ng_tin`     | Nigerian Tax Identification Number                                                                      |
	// | North Macedonia        | `mk_vat`     | North Macedonia VAT Number                                                                              |
	// | Northern Ireland       | `eu_vat`     | Northern Ireland VAT 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                                                                                        |
	// | Senegal                | `sn_ninea`   | Senegal NINEA Number                                                                                    |
	// | 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                                                                                     |
	// | Suriname               | `sr_fin`     | Suriname FIN Number                                                                                     |
	// | Sweden                 | `eu_vat`     | European VAT Number                                                                                     |
	// | Switzerland            | `ch_uid`     | Switzerland UID Number                                                                                  |
	// | Switzerland            | `ch_vat`     | Switzerland VAT Number                                                                                  |
	// | Taiwan                 | `tw_vat`     | Taiwanese VAT                                                                                           |
	// | Tajikistan             | `tj_tin`     | Tajikistan Tax Identification Number                                                                    |
	// | Tanzania               | `tz_vat`     | Tanzania VAT Number                                                                                     |
	// | Thailand               | `th_vat`     | Thai VAT                                                                                                |
	// | Turkey                 | `tr_tin`     | Turkish Tax Identification Number                                                                       |
	// | Uganda                 | `ug_tin`     | Uganda Tax Identification Number                                                                        |
	// | Ukraine                | `ua_vat`     | Ukrainian VAT                                                                                           |
	// | United Arab Emirates   | `ae_trn`     | United Arab Emirates TRN                                                                                |
	// | United Kingdom         | `gb_vat`     | United Kingdom VAT Number                                                                               |
	// | United States          | `us_ein`     | United States EIN                                                                                       |
	// | Uruguay                | `uy_ruc`     | Uruguayan RUC Number                                                                                    |
	// | Uzbekistan             | `uz_tin`     | Uzbekistan TIN Number                                                                                   |
	// | Uzbekistan             | `uz_vat`     | Uzbekistan VAT Number                                                                                   |
	// | Venezuela              | `ve_rif`     | Venezuelan RIF Number                                                                                   |
	// | Vietnam                | `vn_tin`     | Vietnamese Tax ID Number                                                                                |
	// | Zambia                 | `zm_tin`     | Zambia Tax Identification Number                                                                        |
	// | Zimbabwe               | `zw_tin`     | Zimbabwe Tax Identification 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 ChangedSubscriptionResourcesCreatedInvoicesInvoiceSource `json:"invoice_source,required"`
	// True if the invoice has only in-advance fixed fees and is payable now
	IsPayableNow bool `json:"is_payable_now,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     []ChangedSubscriptionResourcesCreatedInvoicesLineItem `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 []ChangedSubscriptionResourcesCreatedInvoicesPaymentAttempt `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           ChangedSubscriptionResourcesCreatedInvoicesStatus `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          changedSubscriptionResourcesCreatedInvoiceJSON `json:"-"`
}

func (*ChangedSubscriptionResourcesCreatedInvoice) UnmarshalJSON added in v1.19.0

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

type ChangedSubscriptionResourcesCreatedInvoicesAutoCollection added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesAutoCollection 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                  changedSubscriptionResourcesCreatedInvoicesAutoCollectionJSON `json:"-"`
}

func (*ChangedSubscriptionResourcesCreatedInvoicesAutoCollection) UnmarshalJSON added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesCreditNote added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesCreditNote 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     changedSubscriptionResourcesCreatedInvoicesCreditNoteJSON `json:"-"`
}

func (*ChangedSubscriptionResourcesCreatedInvoicesCreditNote) UnmarshalJSON added in v1.19.0

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

type ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransaction added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransaction struct {
	// A unique id for this transaction.
	ID     string                                                                       `json:"id,required"`
	Action ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction `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            ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsType `json:"type,required"`
	JSON            changedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionJSON  `json:"-"`
}

func (*ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransaction) UnmarshalJSON added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction string
const (
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionAppliedToInvoice      ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "applied_to_invoice"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionManualAdjustment      ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "manual_adjustment"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionProratedRefund        ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "prorated_refund"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionRevertProratedRefund  ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "revert_prorated_refund"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionReturnFromVoiding     ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "return_from_voiding"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionCreditNoteApplied     ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "credit_note_applied"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionCreditNoteVoided      ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "credit_note_voided"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionOverpaymentRefund     ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "overpayment_refund"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionExternalPayment       ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "external_payment"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsActionSmallInvoiceCarryover ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction = "small_invoice_carryover"
)

func (ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsAction) IsKnown added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsType added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsType string
const (
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsTypeIncrement ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsType = "increment"
	ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsTypeDecrement ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsType = "decrement"
)

func (ChangedSubscriptionResourcesCreatedInvoicesCustomerBalanceTransactionsType) IsKnown added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesInvoiceSource added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesInvoiceSource string
const (
	ChangedSubscriptionResourcesCreatedInvoicesInvoiceSourceSubscription ChangedSubscriptionResourcesCreatedInvoicesInvoiceSource = "subscription"
	ChangedSubscriptionResourcesCreatedInvoicesInvoiceSourcePartial      ChangedSubscriptionResourcesCreatedInvoicesInvoiceSource = "partial"
	ChangedSubscriptionResourcesCreatedInvoicesInvoiceSourceOneOff       ChangedSubscriptionResourcesCreatedInvoicesInvoiceSource = "one_off"
)

func (ChangedSubscriptionResourcesCreatedInvoicesInvoiceSource) IsKnown added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItem added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItem 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 []ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment `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 []ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem `json:"sub_line_items,required"`
	// The line amount 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             changedSubscriptionResourcesCreatedInvoicesLineItemJSON `json:"-"`
}

func (*ChangedSubscriptionResourcesCreatedInvoicesLineItem) UnmarshalJSON added in v1.19.0

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

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment struct {
	ID             string                                                                        `json:"id,required"`
	AdjustmentType ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType `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
	// [[]MonetaryUsageDiscountAdjustmentFilter],
	// [[]MonetaryAmountDiscountAdjustmentFilter],
	// [[]MonetaryPercentageDiscountAdjustmentFilter],
	// [[]MonetaryMinimumAdjustmentFilter], [[]MonetaryMaximumAdjustmentFilter].
	Filters interface{} `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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          changedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentJSON `json:"-"`
	// contains filtered or unexported fields
}

func (ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment) AsUnion added in v1.19.0

AsUnion returns a ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsUnion 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 (*ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment) UnmarshalJSON added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType string
const (
	ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentTypeUsageDiscount      ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType = "usage_discount"
	ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentTypeAmountDiscount     ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType = "amount_discount"
	ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentTypePercentageDiscount ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType = "percentage_discount"
	ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentTypeMinimum            ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType = "minimum"
	ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentTypeMaximum            ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType = "maximum"
)

func (ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsAdjustmentType) IsKnown added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsUnion added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustmentsUnion interface {
	ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment()
}

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

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem 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         ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsType `json:"type,required"`
	MatrixConfig SubLineItemMatrixConfig                                              `json:"matrix_config"`
	// The scaled quantity for this line item for specific pricing structures
	ScaledQuantity float64 `json:"scaled_quantity,nullable"`
	// This field can have the runtime type of [TierSubLineItemTierConfig].
	TierConfig interface{}                                                         `json:"tier_config"`
	JSON       changedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemJSON `json:"-"`
	// contains filtered or unexported fields
}

func (ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem) AsUnion added in v1.19.0

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

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

func (*ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem) UnmarshalJSON added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsType added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsType string
const (
	ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsTypeMatrix ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsType = "matrix"
	ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsTypeTier   ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsType = "tier"
	ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsTypeNull   ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsType = "'null'"
)

func (ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsType) IsKnown added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsUnion added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItemsUnion interface {
	ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem()
}

Union satisfied by MatrixSubLineItem, TierSubLineItem or OtherSubLineItem.

type ChangedSubscriptionResourcesCreatedInvoicesPaymentAttempt added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesPaymentAttempt 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 ChangedSubscriptionResourcesCreatedInvoicesPaymentAttemptsPaymentProvider `json:"payment_provider,required,nullable"`
	// The ID of the payment attempt in the payment provider.
	PaymentProviderID string `json:"payment_provider_id,required,nullable"`
	// URL to the downloadable PDF version of the receipt. This field will be `null`
	// for payment attempts that did not succeed.
	ReceiptPdf string `json:"receipt_pdf,required,nullable"`
	// Whether the payment attempt succeeded.
	Succeeded bool                                                          `json:"succeeded,required"`
	JSON      changedSubscriptionResourcesCreatedInvoicesPaymentAttemptJSON `json:"-"`
}

func (*ChangedSubscriptionResourcesCreatedInvoicesPaymentAttempt) UnmarshalJSON added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesPaymentAttemptsPaymentProvider added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesPaymentAttemptsPaymentProvider string

The payment provider that attempted to collect the payment.

const (
	ChangedSubscriptionResourcesCreatedInvoicesPaymentAttemptsPaymentProviderStripe ChangedSubscriptionResourcesCreatedInvoicesPaymentAttemptsPaymentProvider = "stripe"
)

func (ChangedSubscriptionResourcesCreatedInvoicesPaymentAttemptsPaymentProvider) IsKnown added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesStatus added in v1.19.0

type ChangedSubscriptionResourcesCreatedInvoicesStatus string
const (
	ChangedSubscriptionResourcesCreatedInvoicesStatusIssued ChangedSubscriptionResourcesCreatedInvoicesStatus = "issued"
	ChangedSubscriptionResourcesCreatedInvoicesStatusPaid   ChangedSubscriptionResourcesCreatedInvoicesStatus = "paid"
	ChangedSubscriptionResourcesCreatedInvoicesStatusSynced ChangedSubscriptionResourcesCreatedInvoicesStatus = "synced"
	ChangedSubscriptionResourcesCreatedInvoicesStatusVoid   ChangedSubscriptionResourcesCreatedInvoicesStatus = "void"
	ChangedSubscriptionResourcesCreatedInvoicesStatusDraft  ChangedSubscriptionResourcesCreatedInvoicesStatus = "draft"
)

func (ChangedSubscriptionResourcesCreatedInvoicesStatus) IsKnown added in v1.19.0

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"`
	// The end time of the service period for this credit note line item.
	EndTimeExclusive time.Time `json:"end_time_exclusive,nullable" format:"date-time"`
	// The start time of the service period for this credit note line item.
	StartTimeInclusive time.Time              `json:"start_time_inclusive,nullable" format:"date-time"`
	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 | | ---------------------- | ------------ | ------------------------------------------------------------------------------------------------------- | | Albania | `al_tin` | Albania Tax Identification Number | | Andorra | `ad_nrt` | Andorran NRT Number | | Angola | `ao_tin` | Angola Tax Identification Number | | Argentina | `ar_cuit` | Argentinian Tax ID Number | | Armenia | `am_tin` | Armenia Tax Identification Number | | Aruba | `aw_tin` | Aruba Tax Identification Number | | Australia | `au_abn` | Australian Business Number (AU ABN) | | Australia | `au_arn` | Australian Taxation Office Reference Number | | Austria | `eu_vat` | European VAT Number | | Azerbaijan | `az_tin` | Azerbaijan Tax Identification Number | | Bahamas | `bs_tin` | Bahamas Tax Identification Number | | Bahrain | `bh_vat` | Bahraini VAT Number | | Bangladesh | `bd_bin` | Bangladesh Business Identification Number | | Barbados | `bb_tin` | Barbados Tax Identification Number | | Belarus | `by_tin` | Belarus TIN Number | | Belgium | `eu_vat` | European VAT Number | | Benin | `bj_ifu` | Benin Tax Identification Number (Identifiant Fiscal Unique) | | Bolivia | `bo_tin` | Bolivian Tax ID | | Bosnia and Herzegovina | `ba_tin` | Bosnia and Herzegovina Tax Identification Number | | 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 | | Burkina Faso | `bf_ifu` | Burkina Faso Tax Identification Number (Numéro d'Identifiant Fiscal Unique) | | Cambodia | `kh_tin` | Cambodia Tax Identification Number | | Cameroon | `cm_niu` | Cameroon Tax Identification Number (Numéro d'Identifiant fiscal Unique) | | 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) | | Cape Verde | `cv_nif` | Cape Verde Tax Identification Number (Número de Identificação Fiscal) | | Chile | `cl_tin` | Chilean TIN | | China | `cn_tin` | Chinese Tax ID | | Colombia | `co_nit` | Colombian NIT Number | | Congo-Kinshasa | `cd_nif` | Congo (DR) Tax Identification Number (Número de Identificação Fiscal) | | Costa Rica | `cr_tin` | Costa Rican Tax ID | | Croatia | `eu_vat` | European VAT Number | | Croatia | `hr_oib` | Croatian Personal Identification Number (OIB) | | 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 | | Ethiopia | `et_tin` | Ethiopia Tax Identification Number | | European Union | `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 | `de_stn` | German Tax Number (Steuernummer) | | Germany | `eu_vat` | European VAT Number | | Greece | `eu_vat` | European VAT Number | | Guinea | `gn_nif` | Guinea Tax Identification Number (Número de Identificação Fiscal) | | 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 | | Kyrgyzstan | `kg_tin` | Kyrgyzstan Tax Identification Number | | Laos | `la_tin` | Laos Tax Identification Number | | Latvia | `eu_vat` | European VAT Number | | Liechtenstein | `li_uid` | Liechtensteinian UID Number | | Liechtenstein | `li_vat` | Liechtenstein VAT 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 | | Mauritania | `mr_nif` | Mauritania Tax Identification Number (Número de Identificação Fiscal) | | Mexico | `mx_rfc` | Mexican RFC Number | | Moldova | `md_vat` | Moldova VAT Number | | Montenegro | `me_pib` | Montenegro PIB Number | | Morocco | `ma_vat` | Morocco VAT Number | | Nepal | `np_pan` | Nepal PAN Number | | Netherlands | `eu_vat` | European VAT Number | | New Zealand | `nz_gst` | New Zealand GST Number | | Nigeria | `ng_tin` | Nigerian Tax Identification Number | | North Macedonia | `mk_vat` | North Macedonia VAT Number | | Northern Ireland | `eu_vat` | Northern Ireland VAT 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 | | Senegal | `sn_ninea` | Senegal NINEA Number | | 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 | | Suriname | `sr_fin` | Suriname FIN Number | | Sweden | `eu_vat` | European VAT Number | | Switzerland | `ch_uid` | Switzerland UID Number | | Switzerland | `ch_vat` | Switzerland VAT Number | | Taiwan | `tw_vat` | Taiwanese VAT | | Tajikistan | `tj_tin` | Tajikistan Tax Identification Number | | Tanzania | `tz_vat` | Tanzania VAT Number | | Thailand | `th_vat` | Thai VAT | | Turkey | `tr_tin` | Turkish Tax Identification Number | | Uganda | `ug_tin` | Uganda Tax Identification Number | | Ukraine | `ua_vat` | Ukrainian VAT | | United Arab Emirates | `ae_trn` | United Arab Emirates TRN | | United Kingdom | `gb_vat` | United Kingdom VAT Number | | United States | `us_ein` | United States EIN | | Uruguay | `uy_ruc` | Uruguayan RUC Number | | Uzbekistan | `uz_tin` | Uzbekistan TIN Number | | Uzbekistan | `uz_vat` | Uzbekistan VAT Number | | Venezuela | `ve_rif` | Venezuelan RIF Number | | Vietnam | `vn_tin` | Vietnamese Tax ID Number | | Zambia | `zm_tin` | Zambia Tax Identification Number | | Zimbabwe | `zw_tin` | Zimbabwe Tax Identification 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"
	CustomerTaxIDCountryAl CustomerTaxIDCountry = "AL"
	CustomerTaxIDCountryAm CustomerTaxIDCountry = "AM"
	CustomerTaxIDCountryAo CustomerTaxIDCountry = "AO"
	CustomerTaxIDCountryAr CustomerTaxIDCountry = "AR"
	CustomerTaxIDCountryAt CustomerTaxIDCountry = "AT"
	CustomerTaxIDCountryAu CustomerTaxIDCountry = "AU"
	CustomerTaxIDCountryAw CustomerTaxIDCountry = "AW"
	CustomerTaxIDCountryAz CustomerTaxIDCountry = "AZ"
	CustomerTaxIDCountryBa CustomerTaxIDCountry = "BA"
	CustomerTaxIDCountryBb CustomerTaxIDCountry = "BB"
	CustomerTaxIDCountryBd CustomerTaxIDCountry = "BD"
	CustomerTaxIDCountryBe CustomerTaxIDCountry = "BE"
	CustomerTaxIDCountryBf CustomerTaxIDCountry = "BF"
	CustomerTaxIDCountryBg CustomerTaxIDCountry = "BG"
	CustomerTaxIDCountryBh CustomerTaxIDCountry = "BH"
	CustomerTaxIDCountryBj CustomerTaxIDCountry = "BJ"
	CustomerTaxIDCountryBo CustomerTaxIDCountry = "BO"
	CustomerTaxIDCountryBr CustomerTaxIDCountry = "BR"
	CustomerTaxIDCountryBs CustomerTaxIDCountry = "BS"
	CustomerTaxIDCountryBy CustomerTaxIDCountry = "BY"
	CustomerTaxIDCountryCa CustomerTaxIDCountry = "CA"
	CustomerTaxIDCountryCd CustomerTaxIDCountry = "CD"
	CustomerTaxIDCountryCh CustomerTaxIDCountry = "CH"
	CustomerTaxIDCountryCl CustomerTaxIDCountry = "CL"
	CustomerTaxIDCountryCm CustomerTaxIDCountry = "CM"
	CustomerTaxIDCountryCn CustomerTaxIDCountry = "CN"
	CustomerTaxIDCountryCo CustomerTaxIDCountry = "CO"
	CustomerTaxIDCountryCr CustomerTaxIDCountry = "CR"
	CustomerTaxIDCountryCv CustomerTaxIDCountry = "CV"
	CustomerTaxIDCountryDe CustomerTaxIDCountry = "DE"
	CustomerTaxIDCountryCy CustomerTaxIDCountry = "CY"
	CustomerTaxIDCountryCz CustomerTaxIDCountry = "CZ"
	CustomerTaxIDCountryDk CustomerTaxIDCountry = "DK"
	CustomerTaxIDCountryDo CustomerTaxIDCountry = "DO"
	CustomerTaxIDCountryEc CustomerTaxIDCountry = "EC"
	CustomerTaxIDCountryEe CustomerTaxIDCountry = "EE"
	CustomerTaxIDCountryEg CustomerTaxIDCountry = "EG"
	CustomerTaxIDCountryEs CustomerTaxIDCountry = "ES"
	CustomerTaxIDCountryEt CustomerTaxIDCountry = "ET"
	CustomerTaxIDCountryEu CustomerTaxIDCountry = "EU"
	CustomerTaxIDCountryFi CustomerTaxIDCountry = "FI"
	CustomerTaxIDCountryFr CustomerTaxIDCountry = "FR"
	CustomerTaxIDCountryGB CustomerTaxIDCountry = "GB"
	CustomerTaxIDCountryGe CustomerTaxIDCountry = "GE"
	CustomerTaxIDCountryGn CustomerTaxIDCountry = "GN"
	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"
	CustomerTaxIDCountryKg CustomerTaxIDCountry = "KG"
	CustomerTaxIDCountryKh CustomerTaxIDCountry = "KH"
	CustomerTaxIDCountryKr CustomerTaxIDCountry = "KR"
	CustomerTaxIDCountryKz CustomerTaxIDCountry = "KZ"
	CustomerTaxIDCountryLa CustomerTaxIDCountry = "LA"
	CustomerTaxIDCountryLi CustomerTaxIDCountry = "LI"
	CustomerTaxIDCountryLt CustomerTaxIDCountry = "LT"
	CustomerTaxIDCountryLu CustomerTaxIDCountry = "LU"
	CustomerTaxIDCountryLv CustomerTaxIDCountry = "LV"
	CustomerTaxIDCountryMa CustomerTaxIDCountry = "MA"
	CustomerTaxIDCountryMd CustomerTaxIDCountry = "MD"
	CustomerTaxIDCountryMe CustomerTaxIDCountry = "ME"
	CustomerTaxIDCountryMk CustomerTaxIDCountry = "MK"
	CustomerTaxIDCountryMr CustomerTaxIDCountry = "MR"
	CustomerTaxIDCountryMt CustomerTaxIDCountry = "MT"
	CustomerTaxIDCountryMx CustomerTaxIDCountry = "MX"
	CustomerTaxIDCountryMy CustomerTaxIDCountry = "MY"
	CustomerTaxIDCountryNg CustomerTaxIDCountry = "NG"
	CustomerTaxIDCountryNl CustomerTaxIDCountry = "NL"
	CustomerTaxIDCountryNo CustomerTaxIDCountry = "NO"
	CustomerTaxIDCountryNp CustomerTaxIDCountry = "NP"
	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"
	CustomerTaxIDCountrySn CustomerTaxIDCountry = "SN"
	CustomerTaxIDCountrySr CustomerTaxIDCountry = "SR"
	CustomerTaxIDCountrySv CustomerTaxIDCountry = "SV"
	CustomerTaxIDCountryTh CustomerTaxIDCountry = "TH"
	CustomerTaxIDCountryTj CustomerTaxIDCountry = "TJ"
	CustomerTaxIDCountryTr CustomerTaxIDCountry = "TR"
	CustomerTaxIDCountryTw CustomerTaxIDCountry = "TW"
	CustomerTaxIDCountryTz CustomerTaxIDCountry = "TZ"
	CustomerTaxIDCountryUa CustomerTaxIDCountry = "UA"
	CustomerTaxIDCountryUg CustomerTaxIDCountry = "UG"
	CustomerTaxIDCountryUs CustomerTaxIDCountry = "US"
	CustomerTaxIDCountryUy CustomerTaxIDCountry = "UY"
	CustomerTaxIDCountryUz CustomerTaxIDCountry = "UZ"
	CustomerTaxIDCountryVe CustomerTaxIDCountry = "VE"
	CustomerTaxIDCountryVn CustomerTaxIDCountry = "VN"
	CustomerTaxIDCountryZa CustomerTaxIDCountry = "ZA"
	CustomerTaxIDCountryZm CustomerTaxIDCountry = "ZM"
	CustomerTaxIDCountryZw CustomerTaxIDCountry = "ZW"
)

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 | | ---------------------- | ------------ | ------------------------------------------------------------------------------------------------------- | | Albania | `al_tin` | Albania Tax Identification Number | | Andorra | `ad_nrt` | Andorran NRT Number | | Angola | `ao_tin` | Angola Tax Identification Number | | Argentina | `ar_cuit` | Argentinian Tax ID Number | | Armenia | `am_tin` | Armenia Tax Identification Number | | Aruba | `aw_tin` | Aruba Tax Identification Number | | Australia | `au_abn` | Australian Business Number (AU ABN) | | Australia | `au_arn` | Australian Taxation Office Reference Number | | Austria | `eu_vat` | European VAT Number | | Azerbaijan | `az_tin` | Azerbaijan Tax Identification Number | | Bahamas | `bs_tin` | Bahamas Tax Identification Number | | Bahrain | `bh_vat` | Bahraini VAT Number | | Bangladesh | `bd_bin` | Bangladesh Business Identification Number | | Barbados | `bb_tin` | Barbados Tax Identification Number | | Belarus | `by_tin` | Belarus TIN Number | | Belgium | `eu_vat` | European VAT Number | | Benin | `bj_ifu` | Benin Tax Identification Number (Identifiant Fiscal Unique) | | Bolivia | `bo_tin` | Bolivian Tax ID | | Bosnia and Herzegovina | `ba_tin` | Bosnia and Herzegovina Tax Identification Number | | 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 | | Burkina Faso | `bf_ifu` | Burkina Faso Tax Identification Number (Numéro d'Identifiant Fiscal Unique) | | Cambodia | `kh_tin` | Cambodia Tax Identification Number | | Cameroon | `cm_niu` | Cameroon Tax Identification Number (Numéro d'Identifiant fiscal Unique) | | 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) | | Cape Verde | `cv_nif` | Cape Verde Tax Identification Number (Número de Identificação Fiscal) | | Chile | `cl_tin` | Chilean TIN | | China | `cn_tin` | Chinese Tax ID | | Colombia | `co_nit` | Colombian NIT Number | | Congo-Kinshasa | `cd_nif` | Congo (DR) Tax Identification Number (Número de Identificação Fiscal) | | Costa Rica | `cr_tin` | Costa Rican Tax ID | | Croatia | `eu_vat` | European VAT Number | | Croatia | `hr_oib` | Croatian Personal Identification Number (OIB) | | 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 | | Ethiopia | `et_tin` | Ethiopia Tax Identification Number | | European Union | `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 | `de_stn` | German Tax Number (Steuernummer) | | Germany | `eu_vat` | European VAT Number | | Greece | `eu_vat` | European VAT Number | | Guinea | `gn_nif` | Guinea Tax Identification Number (Número de Identificação Fiscal) | | 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 | | Kyrgyzstan | `kg_tin` | Kyrgyzstan Tax Identification Number | | Laos | `la_tin` | Laos Tax Identification Number | | Latvia | `eu_vat` | European VAT Number | | Liechtenstein | `li_uid` | Liechtensteinian UID Number | | Liechtenstein | `li_vat` | Liechtenstein VAT 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 | | Mauritania | `mr_nif` | Mauritania Tax Identification Number (Número de Identificação Fiscal) | | Mexico | `mx_rfc` | Mexican RFC Number | | Moldova | `md_vat` | Moldova VAT Number | | Montenegro | `me_pib` | Montenegro PIB Number | | Morocco | `ma_vat` | Morocco VAT Number | | Nepal | `np_pan` | Nepal PAN Number | | Netherlands | `eu_vat` | European VAT Number | | New Zealand | `nz_gst` | New Zealand GST Number | | Nigeria | `ng_tin` | Nigerian Tax Identification Number | | North Macedonia | `mk_vat` | North Macedonia VAT Number | | Northern Ireland | `eu_vat` | Northern Ireland VAT 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 | | Senegal | `sn_ninea` | Senegal NINEA Number | | 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 | | Suriname | `sr_fin` | Suriname FIN Number | | Sweden | `eu_vat` | European VAT Number | | Switzerland | `ch_uid` | Switzerland UID Number | | Switzerland | `ch_vat` | Switzerland VAT Number | | Taiwan | `tw_vat` | Taiwanese VAT | | Tajikistan | `tj_tin` | Tajikistan Tax Identification Number | | Tanzania | `tz_vat` | Tanzania VAT Number | | Thailand | `th_vat` | Thai VAT | | Turkey | `tr_tin` | Turkish Tax Identification Number | | Uganda | `ug_tin` | Uganda Tax Identification Number | | Ukraine | `ua_vat` | Ukrainian VAT | | United Arab Emirates | `ae_trn` | United Arab Emirates TRN | | United Kingdom | `gb_vat` | United Kingdom VAT Number | | United States | `us_ein` | United States EIN | | Uruguay | `uy_ruc` | Uruguayan RUC Number | | Uzbekistan | `uz_tin` | Uzbekistan TIN Number | | Uzbekistan | `uz_vat` | Uzbekistan VAT Number | | Venezuela | `ve_rif` | Venezuelan RIF Number | | Vietnam | `vn_tin` | Vietnamese Tax ID Number | | Zambia | `zm_tin` | Zambia Tax Identification Number | | Zimbabwe | `zw_tin` | Zimbabwe Tax Identification 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"
	CustomerTaxIDTypeAlTin    CustomerTaxIDType = "al_tin"
	CustomerTaxIDTypeAmTin    CustomerTaxIDType = "am_tin"
	CustomerTaxIDTypeAoTin    CustomerTaxIDType = "ao_tin"
	CustomerTaxIDTypeArCuit   CustomerTaxIDType = "ar_cuit"
	CustomerTaxIDTypeEuVat    CustomerTaxIDType = "eu_vat"
	CustomerTaxIDTypeAuAbn    CustomerTaxIDType = "au_abn"
	CustomerTaxIDTypeAuArn    CustomerTaxIDType = "au_arn"
	CustomerTaxIDTypeAwTin    CustomerTaxIDType = "aw_tin"
	CustomerTaxIDTypeAzTin    CustomerTaxIDType = "az_tin"
	CustomerTaxIDTypeBaTin    CustomerTaxIDType = "ba_tin"
	CustomerTaxIDTypeBbTin    CustomerTaxIDType = "bb_tin"
	CustomerTaxIDTypeBdBin    CustomerTaxIDType = "bd_bin"
	CustomerTaxIDTypeBfIfu    CustomerTaxIDType = "bf_ifu"
	CustomerTaxIDTypeBgUic    CustomerTaxIDType = "bg_uic"
	CustomerTaxIDTypeBhVat    CustomerTaxIDType = "bh_vat"
	CustomerTaxIDTypeBjIfu    CustomerTaxIDType = "bj_ifu"
	CustomerTaxIDTypeBoTin    CustomerTaxIDType = "bo_tin"
	CustomerTaxIDTypeBrCnpj   CustomerTaxIDType = "br_cnpj"
	CustomerTaxIDTypeBrCpf    CustomerTaxIDType = "br_cpf"
	CustomerTaxIDTypeBsTin    CustomerTaxIDType = "bs_tin"
	CustomerTaxIDTypeByTin    CustomerTaxIDType = "by_tin"
	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"
	CustomerTaxIDTypeCdNif    CustomerTaxIDType = "cd_nif"
	CustomerTaxIDTypeChUid    CustomerTaxIDType = "ch_uid"
	CustomerTaxIDTypeChVat    CustomerTaxIDType = "ch_vat"
	CustomerTaxIDTypeClTin    CustomerTaxIDType = "cl_tin"
	CustomerTaxIDTypeCmNiu    CustomerTaxIDType = "cm_niu"
	CustomerTaxIDTypeCnTin    CustomerTaxIDType = "cn_tin"
	CustomerTaxIDTypeCoNit    CustomerTaxIDType = "co_nit"
	CustomerTaxIDTypeCrTin    CustomerTaxIDType = "cr_tin"
	CustomerTaxIDTypeCvNif    CustomerTaxIDType = "cv_nif"
	CustomerTaxIDTypeDeStn    CustomerTaxIDType = "de_stn"
	CustomerTaxIDTypeDoRcn    CustomerTaxIDType = "do_rcn"
	CustomerTaxIDTypeEcRuc    CustomerTaxIDType = "ec_ruc"
	CustomerTaxIDTypeEgTin    CustomerTaxIDType = "eg_tin"
	CustomerTaxIDTypeEsCif    CustomerTaxIDType = "es_cif"
	CustomerTaxIDTypeEtTin    CustomerTaxIDType = "et_tin"
	CustomerTaxIDTypeEuOssVat CustomerTaxIDType = "eu_oss_vat"
	CustomerTaxIDTypeGBVat    CustomerTaxIDType = "gb_vat"
	CustomerTaxIDTypeGeVat    CustomerTaxIDType = "ge_vat"
	CustomerTaxIDTypeGnNif    CustomerTaxIDType = "gn_nif"
	CustomerTaxIDTypeHkBr     CustomerTaxIDType = "hk_br"
	CustomerTaxIDTypeHrOib    CustomerTaxIDType = "hr_oib"
	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"
	CustomerTaxIDTypeKgTin    CustomerTaxIDType = "kg_tin"
	CustomerTaxIDTypeKhTin    CustomerTaxIDType = "kh_tin"
	CustomerTaxIDTypeKrBrn    CustomerTaxIDType = "kr_brn"
	CustomerTaxIDTypeKzBin    CustomerTaxIDType = "kz_bin"
	CustomerTaxIDTypeLaTin    CustomerTaxIDType = "la_tin"
	CustomerTaxIDTypeLiUid    CustomerTaxIDType = "li_uid"
	CustomerTaxIDTypeLiVat    CustomerTaxIDType = "li_vat"
	CustomerTaxIDTypeMaVat    CustomerTaxIDType = "ma_vat"
	CustomerTaxIDTypeMdVat    CustomerTaxIDType = "md_vat"
	CustomerTaxIDTypeMePib    CustomerTaxIDType = "me_pib"
	CustomerTaxIDTypeMkVat    CustomerTaxIDType = "mk_vat"
	CustomerTaxIDTypeMrNif    CustomerTaxIDType = "mr_nif"
	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"
	CustomerTaxIDTypeNpPan    CustomerTaxIDType = "np_pan"
	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"
	CustomerTaxIDTypeSnNinea  CustomerTaxIDType = "sn_ninea"
	CustomerTaxIDTypeSrFin    CustomerTaxIDType = "sr_fin"
	CustomerTaxIDTypeSvNit    CustomerTaxIDType = "sv_nit"
	CustomerTaxIDTypeThVat    CustomerTaxIDType = "th_vat"
	CustomerTaxIDTypeTjTin    CustomerTaxIDType = "tj_tin"
	CustomerTaxIDTypeTrTin    CustomerTaxIDType = "tr_tin"
	CustomerTaxIDTypeTwVat    CustomerTaxIDType = "tw_vat"
	CustomerTaxIDTypeTzVat    CustomerTaxIDType = "tz_vat"
	CustomerTaxIDTypeUaVat    CustomerTaxIDType = "ua_vat"
	CustomerTaxIDTypeUgTin    CustomerTaxIDType = "ug_tin"
	CustomerTaxIDTypeUsEin    CustomerTaxIDType = "us_ein"
	CustomerTaxIDTypeUyRuc    CustomerTaxIDType = "uy_ruc"
	CustomerTaxIDTypeUzTin    CustomerTaxIDType = "uz_tin"
	CustomerTaxIDTypeUzVat    CustomerTaxIDType = "uz_vat"
	CustomerTaxIDTypeVeRif    CustomerTaxIDType = "ve_rif"
	CustomerTaxIDTypeVnTin    CustomerTaxIDType = "vn_tin"
	CustomerTaxIDTypeZaVat    CustomerTaxIDType = "za_vat"
	CustomerTaxIDTypeZmTin    CustomerTaxIDType = "zm_tin"
	CustomerTaxIDTypeZwTin    CustomerTaxIDType = "zw_tin"
)

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 [[]PercentageDiscountFilter],
	// [[]TrialDiscountFilter], [[]UsageDiscountFilter], [[]AmountDiscountFilter].
	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                                                                                             |
	// | ---------------------- | ------------ | ------------------------------------------------------------------------------------------------------- |
	// | Albania                | `al_tin`     | Albania Tax Identification Number                                                                       |
	// | Andorra                | `ad_nrt`     | Andorran NRT Number                                                                                     |
	// | Angola                 | `ao_tin`     | Angola Tax Identification Number                                                                        |
	// | Argentina              | `ar_cuit`    | Argentinian Tax ID Number                                                                               |
	// | Armenia                | `am_tin`     | Armenia Tax Identification Number                                                                       |
	// | Aruba                  | `aw_tin`     | Aruba Tax Identification Number                                                                         |
	// | Australia              | `au_abn`     | Australian Business Number (AU ABN)                                                                     |
	// | Australia              | `au_arn`     | Australian Taxation Office Reference Number                                                             |
	// | Austria                | `eu_vat`     | European VAT Number                                                                                     |
	// | Azerbaijan             | `az_tin`     | Azerbaijan Tax Identification Number                                                                    |
	// | Bahamas                | `bs_tin`     | Bahamas Tax Identification Number                                                                       |
	// | Bahrain                | `bh_vat`     | Bahraini VAT Number                                                                                     |
	// | Bangladesh             | `bd_bin`     | Bangladesh Business Identification Number                                                               |
	// | Barbados               | `bb_tin`     | Barbados Tax Identification Number                                                                      |
	// | Belarus                | `by_tin`     | Belarus TIN Number                                                                                      |
	// | Belgium                | `eu_vat`     | European VAT Number                                                                                     |
	// | Benin                  | `bj_ifu`     | Benin Tax Identification Number (Identifiant Fiscal Unique)                                             |
	// | Bolivia                | `bo_tin`     | Bolivian Tax ID                                                                                         |
	// | Bosnia and Herzegovina | `ba_tin`     | Bosnia and Herzegovina Tax Identification Number                                                        |
	// | 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                                                                                     |
	// | Burkina Faso           | `bf_ifu`     | Burkina Faso Tax Identification Number (Numéro d'Identifiant Fiscal Unique)                             |
	// | Cambodia               | `kh_tin`     | Cambodia Tax Identification Number                                                                      |
	// | Cameroon               | `cm_niu`     | Cameroon Tax Identification Number (Numéro d'Identifiant fiscal Unique)                                 |
	// | 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)                                                                            |
	// | Cape Verde             | `cv_nif`     | Cape Verde Tax Identification Number (Número de Identificação Fiscal)                                   |
	// | Chile                  | `cl_tin`     | Chilean TIN                                                                                             |
	// | China                  | `cn_tin`     | Chinese Tax ID                                                                                          |
	// | Colombia               | `co_nit`     | Colombian NIT Number                                                                                    |
	// | Congo-Kinshasa         | `cd_nif`     | Congo (DR) Tax Identification Number (Número de Identificação Fiscal)                                   |
	// | Costa Rica             | `cr_tin`     | Costa Rican Tax ID                                                                                      |
	// | Croatia                | `eu_vat`     | European VAT Number                                                                                     |
	// | Croatia                | `hr_oib`     | Croatian Personal Identification Number (OIB)                                                           |
	// | 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                                                                                     |
	// | Ethiopia               | `et_tin`     | Ethiopia Tax Identification Number                                                                      |
	// | European Union         | `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                | `de_stn`     | German Tax Number (Steuernummer)                                                                        |
	// | Germany                | `eu_vat`     | European VAT Number                                                                                     |
	// | Greece                 | `eu_vat`     | European VAT Number                                                                                     |
	// | Guinea                 | `gn_nif`     | Guinea Tax Identification Number (Número de Identificação Fiscal)                                       |
	// | 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                                                  |
	// | Kyrgyzstan             | `kg_tin`     | Kyrgyzstan Tax Identification Number                                                                    |
	// | Laos                   | `la_tin`     | Laos Tax Identification Number                                                                          |
	// | Latvia                 | `eu_vat`     | European VAT Number                                                                                     |
	// | Liechtenstein          | `li_uid`     | Liechtensteinian UID Number                                                                             |
	// | Liechtenstein          | `li_vat`     | Liechtenstein VAT 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                                                                                     |
	// | Mauritania             | `mr_nif`     | Mauritania Tax Identification Number (Número de Identificação Fiscal)                                   |
	// | Mexico                 | `mx_rfc`     | Mexican RFC Number                                                                                      |
	// | Moldova                | `md_vat`     | Moldova VAT Number                                                                                      |
	// | Montenegro             | `me_pib`     | Montenegro PIB Number                                                                                   |
	// | Morocco                | `ma_vat`     | Morocco VAT Number                                                                                      |
	// | Nepal                  | `np_pan`     | Nepal PAN Number                                                                                        |
	// | Netherlands            | `eu_vat`     | European VAT Number                                                                                     |
	// | New Zealand            | `nz_gst`     | New Zealand GST Number                                                                                  |
	// | Nigeria                | `ng_tin`     | Nigerian Tax Identification Number                                                                      |
	// | North Macedonia        | `mk_vat`     | North Macedonia VAT Number                                                                              |
	// | Northern Ireland       | `eu_vat`     | Northern Ireland VAT 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                                                                                        |
	// | Senegal                | `sn_ninea`   | Senegal NINEA Number                                                                                    |
	// | 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                                                                                     |
	// | Suriname               | `sr_fin`     | Suriname FIN Number                                                                                     |
	// | Sweden                 | `eu_vat`     | European VAT Number                                                                                     |
	// | Switzerland            | `ch_uid`     | Switzerland UID Number                                                                                  |
	// | Switzerland            | `ch_vat`     | Switzerland VAT Number                                                                                  |
	// | Taiwan                 | `tw_vat`     | Taiwanese VAT                                                                                           |
	// | Tajikistan             | `tj_tin`     | Tajikistan Tax Identification Number                                                                    |
	// | Tanzania               | `tz_vat`     | Tanzania VAT Number                                                                                     |
	// | Thailand               | `th_vat`     | Thai VAT                                                                                                |
	// | Turkey                 | `tr_tin`     | Turkish Tax Identification Number                                                                       |
	// | Uganda                 | `ug_tin`     | Uganda Tax Identification Number                                                                        |
	// | Ukraine                | `ua_vat`     | Ukrainian VAT                                                                                           |
	// | United Arab Emirates   | `ae_trn`     | United Arab Emirates TRN                                                                                |
	// | United Kingdom         | `gb_vat`     | United Kingdom VAT Number                                                                               |
	// | United States          | `us_ein`     | United States EIN                                                                                       |
	// | Uruguay                | `uy_ruc`     | Uruguayan RUC Number                                                                                    |
	// | Uzbekistan             | `uz_tin`     | Uzbekistan TIN Number                                                                                   |
	// | Uzbekistan             | `uz_vat`     | Uzbekistan VAT Number                                                                                   |
	// | Venezuela              | `ve_rif`     | Venezuelan RIF Number                                                                                   |
	// | Vietnam                | `vn_tin`     | Vietnamese Tax ID Number                                                                                |
	// | Zambia                 | `zm_tin`     | Zambia Tax Identification Number                                                                        |
	// | Zimbabwe               | `zw_tin`     | Zimbabwe Tax Identification 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"
	InvoiceCustomerBalanceTransactionsActionSmallInvoiceCarryover InvoiceCustomerBalanceTransactionsAction = "small_invoice_carryover"
)

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 [[]PercentageDiscountFilter],
	// [[]AmountDiscountFilter], [[]TrialDiscountFilter].
	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 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
	// [[]MonetaryUsageDiscountAdjustmentFilter],
	// [[]MonetaryAmountDiscountAdjustmentFilter],
	// [[]MonetaryPercentageDiscountAdjustmentFilter],
	// [[]MonetaryMinimumAdjustmentFilter], [[]MonetaryMaximumAdjustmentFilter].
	Filters interface{} `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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"`
	// The scaled quantity for this line item for specific pricing structures
	ScaledQuantity float64 `json:"scaled_quantity,nullable"`
	// This field can have the runtime type of [TierSubLineItemTierConfig].
	TierConfig interface{}                     `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"`
	// URL to the downloadable PDF version of the receipt. This field will be `null`
	// for payment attempts that did not succeed.
	ReceiptPdf string `json:"receipt_pdf,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 {
	// The Orb-assigned unique identifier for the item.
	ID string `json:"id,required"`
	// The name of the item.
	Name string       `json:"name,required"`
	JSON itemSlimJSON `json:"-"`
}

A minimal representation of an Item containing only the essential identifying information.

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 configuration
	MatrixValues []MatrixValue    `json:"matrix_values,required"`
	JSON         matrixConfigJSON `json:"-"`
}

Configuration for matrix pricing

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 configuration
	MatrixValues param.Field[[]MatrixValueParam] `json:"matrix_values,required"`
}

Configuration for matrix pricing

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"`
	// The scaled quantity for this line item for specific pricing structures
	ScaledQuantity float64               `json:"scaled_quantity,nullable"`
	JSON           matrixSubLineItemJSON `json:"-"`
}

func (MatrixSubLineItem) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem added in v1.19.0

func (r MatrixSubLineItem) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem()

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
	DimensionValues []string `json:"dimension_values,required"`
	// Unit price for the specified dimension_values
	UnitAmount string          `json:"unit_amount,required"`
	JSON       matrixValueJSON `json:"-"`
}

Configuration for a single matrix value

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
	DimensionValues param.Field[[]string] `json:"dimension_values,required"`
	// Unit price for the specified dimension_values
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single matrix value

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 {
	// Usage allocation
	Allocation string `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 configuration
	MatrixValues []MatrixWithAllocationConfigMatrixValue `json:"matrix_values,required"`
	JSON         matrixWithAllocationConfigJSON          `json:"-"`
}

Configuration for matrix pricing with usage allocation

func (*MatrixWithAllocationConfig) UnmarshalJSON added in v0.121.0

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

type MatrixWithAllocationConfigMatrixValue added in v1.15.0

type MatrixWithAllocationConfigMatrixValue 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       matrixWithAllocationConfigMatrixValueJSON `json:"-"`
}

Configuration for a single matrix value

func (*MatrixWithAllocationConfigMatrixValue) UnmarshalJSON added in v1.15.0

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

type MatrixWithAllocationConfigMatrixValueParam added in v1.15.0

type MatrixWithAllocationConfigMatrixValueParam 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"`
}

Configuration for a single matrix value

func (MatrixWithAllocationConfigMatrixValueParam) MarshalJSON added in v1.15.0

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

type MatrixWithAllocationConfigParam added in v0.121.0

type MatrixWithAllocationConfigParam struct {
	// Usage allocation
	Allocation param.Field[string] `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 configuration
	MatrixValues param.Field[[]MatrixWithAllocationConfigMatrixValueParam] `json:"matrix_values,required"`
}

Configuration for matrix pricing with usage allocation

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 []MaximumFilter `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 MaximumFilter added in v1.30.0

type MaximumFilter struct {
	// The property of the price to filter on.
	Field MaximumFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MaximumFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string          `json:"values,required"`
	JSON   maximumFilterJSON `json:"-"`
}

func (*MaximumFilter) UnmarshalJSON added in v1.30.0

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

type MaximumFiltersField added in v1.30.0

type MaximumFiltersField string

The property of the price to filter on.

const (
	MaximumFiltersFieldPriceID       MaximumFiltersField = "price_id"
	MaximumFiltersFieldItemID        MaximumFiltersField = "item_id"
	MaximumFiltersFieldPriceType     MaximumFiltersField = "price_type"
	MaximumFiltersFieldCurrency      MaximumFiltersField = "currency"
	MaximumFiltersFieldPricingUnitID MaximumFiltersField = "pricing_unit_id"
)

func (MaximumFiltersField) IsKnown added in v1.30.0

func (r MaximumFiltersField) IsKnown() bool

type MaximumFiltersOperator added in v1.30.0

type MaximumFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MaximumFiltersOperatorIncludes MaximumFiltersOperator = "includes"
	MaximumFiltersOperatorExcludes MaximumFiltersOperator = "excludes"
)

func (MaximumFiltersOperator) IsKnown added in v1.30.0

func (r MaximumFiltersOperator) IsKnown() bool

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 []MaximumIntervalFilter `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 MaximumIntervalFilter added in v1.30.0

type MaximumIntervalFilter struct {
	// The property of the price to filter on.
	Field MaximumIntervalFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MaximumIntervalFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                  `json:"values,required"`
	JSON   maximumIntervalFilterJSON `json:"-"`
}

func (*MaximumIntervalFilter) UnmarshalJSON added in v1.30.0

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

type MaximumIntervalFiltersField added in v1.30.0

type MaximumIntervalFiltersField string

The property of the price to filter on.

const (
	MaximumIntervalFiltersFieldPriceID       MaximumIntervalFiltersField = "price_id"
	MaximumIntervalFiltersFieldItemID        MaximumIntervalFiltersField = "item_id"
	MaximumIntervalFiltersFieldPriceType     MaximumIntervalFiltersField = "price_type"
	MaximumIntervalFiltersFieldCurrency      MaximumIntervalFiltersField = "currency"
	MaximumIntervalFiltersFieldPricingUnitID MaximumIntervalFiltersField = "pricing_unit_id"
)

func (MaximumIntervalFiltersField) IsKnown added in v1.30.0

func (r MaximumIntervalFiltersField) IsKnown() bool

type MaximumIntervalFiltersOperator added in v1.30.0

type MaximumIntervalFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MaximumIntervalFiltersOperatorIncludes MaximumIntervalFiltersOperator = "includes"
	MaximumIntervalFiltersOperatorExcludes MaximumIntervalFiltersOperator = "excludes"
)

func (MaximumIntervalFiltersOperator) IsKnown added in v1.30.0

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 []MinimumFilter `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 MinimumFilter added in v1.30.0

type MinimumFilter struct {
	// The property of the price to filter on.
	Field MinimumFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MinimumFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string          `json:"values,required"`
	JSON   minimumFilterJSON `json:"-"`
}

func (*MinimumFilter) UnmarshalJSON added in v1.30.0

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

type MinimumFiltersField added in v1.30.0

type MinimumFiltersField string

The property of the price to filter on.

const (
	MinimumFiltersFieldPriceID       MinimumFiltersField = "price_id"
	MinimumFiltersFieldItemID        MinimumFiltersField = "item_id"
	MinimumFiltersFieldPriceType     MinimumFiltersField = "price_type"
	MinimumFiltersFieldCurrency      MinimumFiltersField = "currency"
	MinimumFiltersFieldPricingUnitID MinimumFiltersField = "pricing_unit_id"
)

func (MinimumFiltersField) IsKnown added in v1.30.0

func (r MinimumFiltersField) IsKnown() bool

type MinimumFiltersOperator added in v1.30.0

type MinimumFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MinimumFiltersOperatorIncludes MinimumFiltersOperator = "includes"
	MinimumFiltersOperatorExcludes MinimumFiltersOperator = "excludes"
)

func (MinimumFiltersOperator) IsKnown added in v1.30.0

func (r MinimumFiltersOperator) IsKnown() bool

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 []MinimumIntervalFilter `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 MinimumIntervalFilter added in v1.30.0

type MinimumIntervalFilter struct {
	// The property of the price to filter on.
	Field MinimumIntervalFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MinimumIntervalFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                  `json:"values,required"`
	JSON   minimumIntervalFilterJSON `json:"-"`
}

func (*MinimumIntervalFilter) UnmarshalJSON added in v1.30.0

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

type MinimumIntervalFiltersField added in v1.30.0

type MinimumIntervalFiltersField string

The property of the price to filter on.

const (
	MinimumIntervalFiltersFieldPriceID       MinimumIntervalFiltersField = "price_id"
	MinimumIntervalFiltersFieldItemID        MinimumIntervalFiltersField = "item_id"
	MinimumIntervalFiltersFieldPriceType     MinimumIntervalFiltersField = "price_type"
	MinimumIntervalFiltersFieldCurrency      MinimumIntervalFiltersField = "currency"
	MinimumIntervalFiltersFieldPricingUnitID MinimumIntervalFiltersField = "pricing_unit_id"
)

func (MinimumIntervalFiltersField) IsKnown added in v1.30.0

func (r MinimumIntervalFiltersField) IsKnown() bool

type MinimumIntervalFiltersOperator added in v1.30.0

type MinimumIntervalFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MinimumIntervalFiltersOperatorIncludes MinimumIntervalFiltersOperator = "includes"
	MinimumIntervalFiltersOperatorExcludes MinimumIntervalFiltersOperator = "excludes"
)

func (MinimumIntervalFiltersOperator) IsKnown added in v1.30.0

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 []MonetaryAmountDiscountAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment added in v1.19.0

func (r MonetaryAmountDiscountAdjustment) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment()

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 MonetaryAmountDiscountAdjustmentFilter added in v1.30.0

type MonetaryAmountDiscountAdjustmentFilter struct {
	// The property of the price to filter on.
	Field MonetaryAmountDiscountAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MonetaryAmountDiscountAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                   `json:"values,required"`
	JSON   monetaryAmountDiscountAdjustmentFilterJSON `json:"-"`
}

func (*MonetaryAmountDiscountAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type MonetaryAmountDiscountAdjustmentFiltersField added in v1.30.0

type MonetaryAmountDiscountAdjustmentFiltersField string

The property of the price to filter on.

const (
	MonetaryAmountDiscountAdjustmentFiltersFieldPriceID       MonetaryAmountDiscountAdjustmentFiltersField = "price_id"
	MonetaryAmountDiscountAdjustmentFiltersFieldItemID        MonetaryAmountDiscountAdjustmentFiltersField = "item_id"
	MonetaryAmountDiscountAdjustmentFiltersFieldPriceType     MonetaryAmountDiscountAdjustmentFiltersField = "price_type"
	MonetaryAmountDiscountAdjustmentFiltersFieldCurrency      MonetaryAmountDiscountAdjustmentFiltersField = "currency"
	MonetaryAmountDiscountAdjustmentFiltersFieldPricingUnitID MonetaryAmountDiscountAdjustmentFiltersField = "pricing_unit_id"
)

func (MonetaryAmountDiscountAdjustmentFiltersField) IsKnown added in v1.30.0

type MonetaryAmountDiscountAdjustmentFiltersOperator added in v1.30.0

type MonetaryAmountDiscountAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MonetaryAmountDiscountAdjustmentFiltersOperatorIncludes MonetaryAmountDiscountAdjustmentFiltersOperator = "includes"
	MonetaryAmountDiscountAdjustmentFiltersOperatorExcludes MonetaryAmountDiscountAdjustmentFiltersOperator = "excludes"
)

func (MonetaryAmountDiscountAdjustmentFiltersOperator) IsKnown added in v1.30.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 []MonetaryMaximumAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment added in v1.19.0

func (r MonetaryMaximumAdjustment) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment()

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 MonetaryMaximumAdjustmentFilter added in v1.30.0

type MonetaryMaximumAdjustmentFilter struct {
	// The property of the price to filter on.
	Field MonetaryMaximumAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MonetaryMaximumAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                            `json:"values,required"`
	JSON   monetaryMaximumAdjustmentFilterJSON `json:"-"`
}

func (*MonetaryMaximumAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type MonetaryMaximumAdjustmentFiltersField added in v1.30.0

type MonetaryMaximumAdjustmentFiltersField string

The property of the price to filter on.

const (
	MonetaryMaximumAdjustmentFiltersFieldPriceID       MonetaryMaximumAdjustmentFiltersField = "price_id"
	MonetaryMaximumAdjustmentFiltersFieldItemID        MonetaryMaximumAdjustmentFiltersField = "item_id"
	MonetaryMaximumAdjustmentFiltersFieldPriceType     MonetaryMaximumAdjustmentFiltersField = "price_type"
	MonetaryMaximumAdjustmentFiltersFieldCurrency      MonetaryMaximumAdjustmentFiltersField = "currency"
	MonetaryMaximumAdjustmentFiltersFieldPricingUnitID MonetaryMaximumAdjustmentFiltersField = "pricing_unit_id"
)

func (MonetaryMaximumAdjustmentFiltersField) IsKnown added in v1.30.0

type MonetaryMaximumAdjustmentFiltersOperator added in v1.30.0

type MonetaryMaximumAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MonetaryMaximumAdjustmentFiltersOperatorIncludes MonetaryMaximumAdjustmentFiltersOperator = "includes"
	MonetaryMaximumAdjustmentFiltersOperatorExcludes MonetaryMaximumAdjustmentFiltersOperator = "excludes"
)

func (MonetaryMaximumAdjustmentFiltersOperator) IsKnown added in v1.30.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 []MonetaryMinimumAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment added in v1.19.0

func (r MonetaryMinimumAdjustment) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment()

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 MonetaryMinimumAdjustmentFilter added in v1.30.0

type MonetaryMinimumAdjustmentFilter struct {
	// The property of the price to filter on.
	Field MonetaryMinimumAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MonetaryMinimumAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                            `json:"values,required"`
	JSON   monetaryMinimumAdjustmentFilterJSON `json:"-"`
}

func (*MonetaryMinimumAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type MonetaryMinimumAdjustmentFiltersField added in v1.30.0

type MonetaryMinimumAdjustmentFiltersField string

The property of the price to filter on.

const (
	MonetaryMinimumAdjustmentFiltersFieldPriceID       MonetaryMinimumAdjustmentFiltersField = "price_id"
	MonetaryMinimumAdjustmentFiltersFieldItemID        MonetaryMinimumAdjustmentFiltersField = "item_id"
	MonetaryMinimumAdjustmentFiltersFieldPriceType     MonetaryMinimumAdjustmentFiltersField = "price_type"
	MonetaryMinimumAdjustmentFiltersFieldCurrency      MonetaryMinimumAdjustmentFiltersField = "currency"
	MonetaryMinimumAdjustmentFiltersFieldPricingUnitID MonetaryMinimumAdjustmentFiltersField = "pricing_unit_id"
)

func (MonetaryMinimumAdjustmentFiltersField) IsKnown added in v1.30.0

type MonetaryMinimumAdjustmentFiltersOperator added in v1.30.0

type MonetaryMinimumAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MonetaryMinimumAdjustmentFiltersOperatorIncludes MonetaryMinimumAdjustmentFiltersOperator = "includes"
	MonetaryMinimumAdjustmentFiltersOperatorExcludes MonetaryMinimumAdjustmentFiltersOperator = "excludes"
)

func (MonetaryMinimumAdjustmentFiltersOperator) IsKnown added in v1.30.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 []MonetaryPercentageDiscountAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment added in v1.19.0

func (r MonetaryPercentageDiscountAdjustment) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment()

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 MonetaryPercentageDiscountAdjustmentFilter added in v1.30.0

type MonetaryPercentageDiscountAdjustmentFilter struct {
	// The property of the price to filter on.
	Field MonetaryPercentageDiscountAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MonetaryPercentageDiscountAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                       `json:"values,required"`
	JSON   monetaryPercentageDiscountAdjustmentFilterJSON `json:"-"`
}

func (*MonetaryPercentageDiscountAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type MonetaryPercentageDiscountAdjustmentFiltersField added in v1.30.0

type MonetaryPercentageDiscountAdjustmentFiltersField string

The property of the price to filter on.

const (
	MonetaryPercentageDiscountAdjustmentFiltersFieldPriceID       MonetaryPercentageDiscountAdjustmentFiltersField = "price_id"
	MonetaryPercentageDiscountAdjustmentFiltersFieldItemID        MonetaryPercentageDiscountAdjustmentFiltersField = "item_id"
	MonetaryPercentageDiscountAdjustmentFiltersFieldPriceType     MonetaryPercentageDiscountAdjustmentFiltersField = "price_type"
	MonetaryPercentageDiscountAdjustmentFiltersFieldCurrency      MonetaryPercentageDiscountAdjustmentFiltersField = "currency"
	MonetaryPercentageDiscountAdjustmentFiltersFieldPricingUnitID MonetaryPercentageDiscountAdjustmentFiltersField = "pricing_unit_id"
)

func (MonetaryPercentageDiscountAdjustmentFiltersField) IsKnown added in v1.30.0

type MonetaryPercentageDiscountAdjustmentFiltersOperator added in v1.30.0

type MonetaryPercentageDiscountAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MonetaryPercentageDiscountAdjustmentFiltersOperatorIncludes MonetaryPercentageDiscountAdjustmentFiltersOperator = "includes"
	MonetaryPercentageDiscountAdjustmentFiltersOperatorExcludes MonetaryPercentageDiscountAdjustmentFiltersOperator = "excludes"
)

func (MonetaryPercentageDiscountAdjustmentFiltersOperator) IsKnown added in v1.30.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 []MonetaryUsageDiscountAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment added in v1.19.0

func (r MonetaryUsageDiscountAdjustment) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsAdjustment()

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 MonetaryUsageDiscountAdjustmentFilter added in v1.30.0

type MonetaryUsageDiscountAdjustmentFilter struct {
	// The property of the price to filter on.
	Field MonetaryUsageDiscountAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator MonetaryUsageDiscountAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                  `json:"values,required"`
	JSON   monetaryUsageDiscountAdjustmentFilterJSON `json:"-"`
}

func (*MonetaryUsageDiscountAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type MonetaryUsageDiscountAdjustmentFiltersField added in v1.30.0

type MonetaryUsageDiscountAdjustmentFiltersField string

The property of the price to filter on.

const (
	MonetaryUsageDiscountAdjustmentFiltersFieldPriceID       MonetaryUsageDiscountAdjustmentFiltersField = "price_id"
	MonetaryUsageDiscountAdjustmentFiltersFieldItemID        MonetaryUsageDiscountAdjustmentFiltersField = "item_id"
	MonetaryUsageDiscountAdjustmentFiltersFieldPriceType     MonetaryUsageDiscountAdjustmentFiltersField = "price_type"
	MonetaryUsageDiscountAdjustmentFiltersFieldCurrency      MonetaryUsageDiscountAdjustmentFiltersField = "currency"
	MonetaryUsageDiscountAdjustmentFiltersFieldPricingUnitID MonetaryUsageDiscountAdjustmentFiltersField = "pricing_unit_id"
)

func (MonetaryUsageDiscountAdjustmentFiltersField) IsKnown added in v1.30.0

type MonetaryUsageDiscountAdjustmentFiltersOperator added in v1.30.0

type MonetaryUsageDiscountAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	MonetaryUsageDiscountAdjustmentFiltersOperatorIncludes MonetaryUsageDiscountAdjustmentFiltersOperator = "includes"
	MonetaryUsageDiscountAdjustmentFiltersOperatorExcludes MonetaryUsageDiscountAdjustmentFiltersOperator = "excludes"
)

func (MonetaryUsageDiscountAdjustmentFiltersOperator) IsKnown added in v1.30.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 NewAllocationPriceFilterParam added in v1.35.0

type NewAllocationPriceFilterParam struct {
	// The property of the price the block applies to. Only item_id is supported.
	Field param.Field[NewAllocationPriceFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[NewAllocationPriceFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

A PriceFilter that only allows item_id field for block filters.

func (NewAllocationPriceFilterParam) MarshalJSON added in v1.35.0

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

type NewAllocationPriceFiltersField added in v1.35.0

type NewAllocationPriceFiltersField string

The property of the price the block applies to. Only item_id is supported.

const (
	NewAllocationPriceFiltersFieldItemID NewAllocationPriceFiltersField = "item_id"
)

func (NewAllocationPriceFiltersField) IsKnown added in v1.35.0

type NewAllocationPriceFiltersOperator added in v1.35.0

type NewAllocationPriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	NewAllocationPriceFiltersOperatorIncludes NewAllocationPriceFiltersOperator = "includes"
	NewAllocationPriceFiltersOperatorExcludes NewAllocationPriceFiltersOperator = "excludes"
)

func (NewAllocationPriceFiltersOperator) IsKnown added in v1.35.0

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"`
	// The filters that determine which items the allocation applies to.
	Filters param.Field[[]NewAllocationPriceFilterParam] `json:"filters"`
}

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 NewAmountDiscountFilterParam added in v1.30.0

type NewAmountDiscountFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[NewAmountDiscountFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[NewAmountDiscountFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (NewAmountDiscountFilterParam) MarshalJSON added in v1.30.0

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

type NewAmountDiscountFiltersField added in v1.30.0

type NewAmountDiscountFiltersField string

The property of the price to filter on.

const (
	NewAmountDiscountFiltersFieldPriceID       NewAmountDiscountFiltersField = "price_id"
	NewAmountDiscountFiltersFieldItemID        NewAmountDiscountFiltersField = "item_id"
	NewAmountDiscountFiltersFieldPriceType     NewAmountDiscountFiltersField = "price_type"
	NewAmountDiscountFiltersFieldCurrency      NewAmountDiscountFiltersField = "currency"
	NewAmountDiscountFiltersFieldPricingUnitID NewAmountDiscountFiltersField = "pricing_unit_id"
)

func (NewAmountDiscountFiltersField) IsKnown added in v1.30.0

func (r NewAmountDiscountFiltersField) IsKnown() bool

type NewAmountDiscountFiltersOperator added in v1.30.0

type NewAmountDiscountFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	NewAmountDiscountFiltersOperatorIncludes NewAmountDiscountFiltersOperator = "includes"
	NewAmountDiscountFiltersOperatorExcludes NewAmountDiscountFiltersOperator = "excludes"
)

func (NewAmountDiscountFiltersOperator) IsKnown added in v1.30.0

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[[]NewAmountDiscountFilterParam] `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 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"`
}

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()
}

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

type NewFloatingBulkPriceModelType added in v0.121.0

type NewFloatingBulkPriceModelType string

The pricing model type

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 {
	// Configuration for bulk pricing
	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"`
	// The pricing model type
	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 NewFloatingBulkWithProrationPriceBulkWithProrationConfigParam added in v1.15.0

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

Configuration for bulk_with_proration pricing

func (NewFloatingBulkWithProrationPriceBulkWithProrationConfigParam) MarshalJSON added in v1.15.0

type NewFloatingBulkWithProrationPriceBulkWithProrationConfigTierParam added in v1.15.0

type NewFloatingBulkWithProrationPriceBulkWithProrationConfigTierParam struct {
	// Cost per unit
	UnitAmount param.Field[string] `json:"unit_amount,required"`
	// The lower bound for this tier
	TierLowerBound param.Field[string] `json:"tier_lower_bound"`
}

Configuration for a single bulk pricing tier with proration

func (NewFloatingBulkWithProrationPriceBulkWithProrationConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingBulkWithProrationPriceModelType added in v0.121.0

type NewFloatingBulkWithProrationPriceModelType string

The pricing model type

const (
	NewFloatingBulkWithProrationPriceModelTypeBulkWithProration NewFloatingBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (NewFloatingBulkWithProrationPriceModelType) IsKnown added in v0.121.0

type NewFloatingBulkWithProrationPriceParam added in v0.121.0

type NewFloatingBulkWithProrationPriceParam struct {
	// Configuration for bulk_with_proration pricing
	BulkWithProrationConfig param.Field[NewFloatingBulkWithProrationPriceBulkWithProrationConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueParam added in v1.15.0

type NewFloatingCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueParam struct {
	// Grouping key value
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Unit amount for this combination
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a dimension value entry

func (NewFloatingCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueParam) MarshalJSON added in v1.15.0

type NewFloatingCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigParam added in v1.15.0

type NewFloatingCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigParam struct {
	// Each tier lower bound must have the same group of values.
	DimensionValues param.Field[[]NewFloatingCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueParam] `json:"dimension_values,required"`
	// Grouping key name
	Group param.Field[string] `json:"group,required"`
}

Configuration for cumulative_grouped_bulk pricing

func (NewFloatingCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigParam) MarshalJSON added in v1.15.0

type NewFloatingCumulativeGroupedBulkPriceModelType added in v0.121.0

type NewFloatingCumulativeGroupedBulkPriceModelType string

The pricing model type

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"`
	// Configuration for cumulative_grouped_bulk pricing
	CumulativeGroupedBulkConfig param.Field[NewFloatingCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingGroupedAllocationPriceGroupedAllocationConfigParam added in v1.15.0

type NewFloatingGroupedAllocationPriceGroupedAllocationConfigParam struct {
	// Usage allocation per group
	Allocation param.Field[string] `json:"allocation,required"`
	// How to determine the groups that should each be allocated some quantity
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Unit rate for post-allocation
	OverageUnitRate param.Field[string] `json:"overage_unit_rate,required"`
}

Configuration for grouped_allocation pricing

func (NewFloatingGroupedAllocationPriceGroupedAllocationConfigParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedAllocationPriceModelType added in v0.121.0

type NewFloatingGroupedAllocationPriceModelType string

The pricing model type

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"`
	// Configuration for grouped_allocation pricing
	GroupedAllocationConfig param.Field[NewFloatingGroupedAllocationPriceGroupedAllocationConfigParam] `json:"grouped_allocation_config,required"`
	// The id of the item the price will be associated with.
	ItemID param.Field[string] `json:"item_id,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingGroupedTieredPackagePriceGroupedTieredPackageConfigParam added in v1.15.0

type NewFloatingGroupedTieredPackagePriceGroupedTieredPackageConfigParam struct {
	// The event property used to group before tiering
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Package size
	PackageSize param.Field[string] `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds.
	Tiers param.Field[[]NewFloatingGroupedTieredPackagePriceGroupedTieredPackageConfigTierParam] `json:"tiers,required"`
}

Configuration for grouped_tiered_package pricing

func (NewFloatingGroupedTieredPackagePriceGroupedTieredPackageConfigParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedTieredPackagePriceGroupedTieredPackageConfigTierParam added in v1.15.0

type NewFloatingGroupedTieredPackagePriceGroupedTieredPackageConfigTierParam struct {
	// Price per package
	PerUnit param.Field[string] `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
}

Configuration for a single tier

func (NewFloatingGroupedTieredPackagePriceGroupedTieredPackageConfigTierParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedTieredPackagePriceModelType added in v0.121.0

type NewFloatingGroupedTieredPackagePriceModelType string

The pricing model type

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"`
	// Configuration for grouped_tiered_package pricing
	GroupedTieredPackageConfig param.Field[NewFloatingGroupedTieredPackagePriceGroupedTieredPackageConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingGroupedTieredPriceGroupedTieredConfigParam added in v1.15.0

type NewFloatingGroupedTieredPriceGroupedTieredConfigParam struct {
	// The billable metric property used to group before tiering
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Apply tiered pricing to each segment generated after grouping with the provided
	// key
	Tiers param.Field[[]NewFloatingGroupedTieredPriceGroupedTieredConfigTierParam] `json:"tiers,required"`
}

Configuration for grouped_tiered pricing

func (NewFloatingGroupedTieredPriceGroupedTieredConfigParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedTieredPriceGroupedTieredConfigTierParam added in v1.15.0

type NewFloatingGroupedTieredPriceGroupedTieredConfigTierParam struct {
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tier

func (NewFloatingGroupedTieredPriceGroupedTieredConfigTierParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedTieredPriceModelType added in v0.121.0

type NewFloatingGroupedTieredPriceModelType string

The pricing model type

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"`
	// Configuration for grouped_tiered pricing
	GroupedTieredConfig param.Field[NewFloatingGroupedTieredPriceGroupedTieredConfigParam] `json:"grouped_tiered_config,required"`
	// The id of the item the price will be associated with.
	ItemID param.Field[string] `json:"item_id,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigParam added in v1.15.0

type NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigParam struct {
	// Used to partition the usage into groups. The minimum amount is applied to each
	// group.
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// The minimum amount to charge per group per unit
	MinimumUnitAmount param.Field[string] `json:"minimum_unit_amount,required"`
	// Used to determine the unit rate
	PricingKey param.Field[string] `json:"pricing_key,required"`
	// Scale the unit rates by the scaling factor.
	ScalingFactors param.Field[[]NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorParam] `json:"scaling_factors,required"`
	// Used to determine the unit rate scaling factor
	ScalingKey param.Field[string] `json:"scaling_key,required"`
	// Apply per unit pricing to each pricing value. The minimum amount is applied any
	// unmatched usage.
	UnitAmounts param.Field[[]NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountParam] `json:"unit_amounts,required"`
}

Configuration for grouped_with_metered_minimum pricing

func (NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorParam added in v1.15.0

type NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorParam struct {
	// Scaling factor
	ScalingFactor param.Field[string] `json:"scaling_factor,required"`
	// Scaling value
	ScalingValue param.Field[string] `json:"scaling_value,required"`
}

Configuration for a scaling factor

func (NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountParam added in v1.15.0

type NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountParam struct {
	// Pricing value
	PricingValue param.Field[string] `json:"pricing_value,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a unit amount

func (NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedWithMeteredMinimumPriceModelType added in v0.121.0

type NewFloatingGroupedWithMeteredMinimumPriceModelType string

The pricing model type

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"`
	// Configuration for grouped_with_metered_minimum pricing
	GroupedWithMeteredMinimumConfig param.Field[NewFloatingGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigParam added in v1.15.0

type NewFloatingGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigParam struct {
	// How to determine the groups that should each have a minimum
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// The minimum amount to charge per group
	Minimum param.Field[string] `json:"minimum,required"`
	// The amount to charge per unit
	UnitRate param.Field[string] `json:"unit_rate,required"`
}

Configuration for grouped_with_prorated_minimum pricing

func (NewFloatingGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigParam) MarshalJSON added in v1.15.0

type NewFloatingGroupedWithProratedMinimumPriceModelType added in v0.121.0

type NewFloatingGroupedWithProratedMinimumPriceModelType string

The pricing model type

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"`
	// Configuration for grouped_with_prorated_minimum pricing
	GroupedWithProratedMinimumConfig param.Field[NewFloatingGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingMatrixPriceModelType added in v0.121.0

type NewFloatingMatrixPriceModelType string

The pricing model type

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"`
	// Configuration for matrix pricing
	MatrixConfig param.Field[MatrixConfigParam] `json:"matrix_config,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingMatrixWithAllocationPriceModelType added in v0.121.0

type NewFloatingMatrixWithAllocationPriceModelType string

The pricing model type

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"`
	// Configuration for matrix_with_allocation pricing
	MatrixWithAllocationConfig param.Field[MatrixWithAllocationConfigParam] `json:"matrix_with_allocation_config,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigParam added in v1.15.0

type NewFloatingMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigParam struct {
	// Used to determine the unit rate
	Dimension param.Field[string] `json:"dimension,required"`
	// Apply per unit pricing to each dimension value
	UnitAmounts param.Field[[]NewFloatingMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountParam] `json:"unit_amounts,required"`
}

Configuration for matrix_with_display_name pricing

func (NewFloatingMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigParam) MarshalJSON added in v1.15.0

type NewFloatingMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountParam added in v1.15.0

type NewFloatingMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountParam struct {
	// The dimension value
	DimensionValue param.Field[string] `json:"dimension_value,required"`
	// Display name for this dimension value
	DisplayName param.Field[string] `json:"display_name,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a unit amount item

func (NewFloatingMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountParam) MarshalJSON added in v1.15.0

type NewFloatingMatrixWithDisplayNamePriceModelType added in v0.121.0

type NewFloatingMatrixWithDisplayNamePriceModelType string

The pricing model type

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"`
	// Configuration for matrix_with_display_name pricing
	MatrixWithDisplayNameConfig param.Field[NewFloatingMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigParam] `json:"matrix_with_display_name_config,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewFloatingMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigParam added in v1.15.0

type NewFloatingMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigParam struct {
	// The event property used to group before tiering the group with the highest value
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Package size
	PackageSize param.Field[string] `json:"package_size,required"`
	// Apply tiered pricing to the largest group after grouping with the provided key.
	Tiers param.Field[[]NewFloatingMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierParam] `json:"tiers,required"`
}

Configuration for max_group_tiered_package pricing

func (NewFloatingMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigParam) MarshalJSON added in v1.15.0

type NewFloatingMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierParam added in v1.15.0

type NewFloatingMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierParam struct {
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tier

func (NewFloatingMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierParam) MarshalJSON added in v1.15.0

type NewFloatingMaxGroupTieredPackagePriceModelType added in v0.121.0

type NewFloatingMaxGroupTieredPackagePriceModelType string

The pricing model type

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"`
	// Configuration for max_group_tiered_package pricing
	MaxGroupTieredPackageConfig param.Field[NewFloatingMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigParam] `json:"max_group_tiered_package_config,required"`
	// The pricing model type
	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 NewFloatingMinimumCompositePriceCadence added in v1.14.0

type NewFloatingMinimumCompositePriceCadence string

The cadence to bill for this price on.

const (
	NewFloatingMinimumCompositePriceCadenceAnnual     NewFloatingMinimumCompositePriceCadence = "annual"
	NewFloatingMinimumCompositePriceCadenceSemiAnnual NewFloatingMinimumCompositePriceCadence = "semi_annual"
	NewFloatingMinimumCompositePriceCadenceMonthly    NewFloatingMinimumCompositePriceCadence = "monthly"
	NewFloatingMinimumCompositePriceCadenceQuarterly  NewFloatingMinimumCompositePriceCadence = "quarterly"
	NewFloatingMinimumCompositePriceCadenceOneTime    NewFloatingMinimumCompositePriceCadence = "one_time"
	NewFloatingMinimumCompositePriceCadenceCustom     NewFloatingMinimumCompositePriceCadence = "custom"
)

func (NewFloatingMinimumCompositePriceCadence) IsKnown added in v1.14.0

type NewFloatingMinimumCompositePriceConversionRateConfigConversionRateType added in v1.14.0

type NewFloatingMinimumCompositePriceConversionRateConfigConversionRateType string
const (
	NewFloatingMinimumCompositePriceConversionRateConfigConversionRateTypeUnit   NewFloatingMinimumCompositePriceConversionRateConfigConversionRateType = "unit"
	NewFloatingMinimumCompositePriceConversionRateConfigConversionRateTypeTiered NewFloatingMinimumCompositePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewFloatingMinimumCompositePriceConversionRateConfigConversionRateType) IsKnown added in v1.14.0

type NewFloatingMinimumCompositePriceConversionRateConfigParam added in v1.14.0

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

func (NewFloatingMinimumCompositePriceConversionRateConfigParam) ImplementsNewFloatingMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

func (r NewFloatingMinimumCompositePriceConversionRateConfigParam) ImplementsNewFloatingMinimumCompositePriceConversionRateConfigUnionParam()

func (NewFloatingMinimumCompositePriceConversionRateConfigParam) MarshalJSON added in v1.14.0

type NewFloatingMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

type NewFloatingMinimumCompositePriceConversionRateConfigUnionParam interface {
	ImplementsNewFloatingMinimumCompositePriceConversionRateConfigUnionParam()
}

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewFloatingMinimumCompositePriceConversionRateConfigParam.

type NewFloatingMinimumCompositePriceMinimumConfigParam added in v1.14.0

type NewFloatingMinimumCompositePriceMinimumConfigParam struct {
	// The minimum amount to apply
	MinimumAmount param.Field[string] `json:"minimum_amount,required"`
	// If true, subtotals from this price are prorated based on the service period
	Prorated param.Field[bool] `json:"prorated"`
}

Configuration for minimum pricing

func (NewFloatingMinimumCompositePriceMinimumConfigParam) MarshalJSON added in v1.14.0

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

type NewFloatingMinimumCompositePriceModelType added in v1.14.0

type NewFloatingMinimumCompositePriceModelType string

The pricing model type

const (
	NewFloatingMinimumCompositePriceModelTypeMinimum NewFloatingMinimumCompositePriceModelType = "minimum"
)

func (NewFloatingMinimumCompositePriceModelType) IsKnown added in v1.14.0

type NewFloatingMinimumCompositePriceParam added in v1.14.0

type NewFloatingMinimumCompositePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewFloatingMinimumCompositePriceCadence] `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"`
	// Configuration for minimum pricing
	MinimumConfig param.Field[NewFloatingMinimumCompositePriceMinimumConfigParam] `json:"minimum_config,required"`
	// The pricing model type
	ModelType param.Field[NewFloatingMinimumCompositePriceModelType] `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[NewFloatingMinimumCompositePriceConversionRateConfigUnionParam] `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 (NewFloatingMinimumCompositePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion added in v1.14.0

func (r NewFloatingMinimumCompositePriceParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceUnion()

func (NewFloatingMinimumCompositePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion added in v1.14.0

func (r NewFloatingMinimumCompositePriceParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceUnion()

func (NewFloatingMinimumCompositePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion added in v1.14.0

func (r NewFloatingMinimumCompositePriceParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceUnion()

func (NewFloatingMinimumCompositePriceParam) MarshalJSON added in v1.14.0

func (r NewFloatingMinimumCompositePriceParam) 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"`
}

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()
}

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

type NewFloatingPackagePriceModelType added in v0.121.0

type NewFloatingPackagePriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for package pricing
	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"`
}

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()
}

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

type NewFloatingPackageWithAllocationPriceModelType added in v0.121.0

type NewFloatingPackageWithAllocationPriceModelType string

The pricing model type

const (
	NewFloatingPackageWithAllocationPriceModelTypePackageWithAllocation NewFloatingPackageWithAllocationPriceModelType = "package_with_allocation"
)

func (NewFloatingPackageWithAllocationPriceModelType) IsKnown added in v0.121.0

type NewFloatingPackageWithAllocationPricePackageWithAllocationConfigParam added in v1.15.0

type NewFloatingPackageWithAllocationPricePackageWithAllocationConfigParam struct {
	// Usage allocation
	Allocation param.Field[string] `json:"allocation,required"`
	// Price per package
	PackageAmount param.Field[string] `json:"package_amount,required"`
	// Package size
	PackageSize param.Field[string] `json:"package_size,required"`
}

Configuration for package_with_allocation pricing

func (NewFloatingPackageWithAllocationPricePackageWithAllocationConfigParam) MarshalJSON added in v1.15.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"`
	// The pricing model type
	ModelType param.Field[NewFloatingPackageWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for package_with_allocation pricing
	PackageWithAllocationConfig param.Field[NewFloatingPackageWithAllocationPricePackageWithAllocationConfigParam] `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"`
}

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()
}

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

type NewFloatingScalableMatrixWithTieredPricingPriceModelType added in v0.121.0

type NewFloatingScalableMatrixWithTieredPricingPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingScalableMatrixWithTieredPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for scalable_matrix_with_tiered_pricing pricing
	ScalableMatrixWithTieredPricingConfig param.Field[NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigParam] `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 NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorParam added in v1.15.0

type NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorParam struct {
	// First dimension value
	FirstDimensionValue param.Field[string] `json:"first_dimension_value,required"`
	// Scaling factor
	ScalingFactor param.Field[string] `json:"scaling_factor,required"`
	// Second dimension value (optional)
	SecondDimensionValue param.Field[string] `json:"second_dimension_value"`
}

Configuration for a single matrix scaling factor

func (NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorParam) MarshalJSON added in v1.15.0

type NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigParam added in v1.15.0

type NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigParam struct {
	// Used for the scalable matrix first dimension
	FirstDimension param.Field[string] `json:"first_dimension,required"`
	// Apply a scaling factor to each dimension
	MatrixScalingFactors param.Field[[]NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorParam] `json:"matrix_scaling_factors,required"`
	// Tier pricing structure
	Tiers param.Field[[]NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierParam] `json:"tiers,required"`
	// Used for the scalable matrix second dimension (optional)
	SecondDimension param.Field[string] `json:"second_dimension"`
}

Configuration for scalable_matrix_with_tiered_pricing pricing

func (NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigParam) MarshalJSON added in v1.15.0

type NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierParam added in v1.15.0

type NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierParam struct {
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tier entry with business logic

func (NewFloatingScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingScalableMatrixWithUnitPricingPriceModelType added in v0.121.0

type NewFloatingScalableMatrixWithUnitPricingPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingScalableMatrixWithUnitPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for scalable_matrix_with_unit_pricing pricing
	ScalableMatrixWithUnitPricingConfig param.Field[NewFloatingScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigParam] `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 NewFloatingScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorParam added in v1.15.0

type NewFloatingScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorParam struct {
	// First dimension value
	FirstDimensionValue param.Field[string] `json:"first_dimension_value,required"`
	// Scaling factor
	ScalingFactor param.Field[string] `json:"scaling_factor,required"`
	// Second dimension value (optional)
	SecondDimensionValue param.Field[string] `json:"second_dimension_value"`
}

Configuration for a single matrix scaling factor

func (NewFloatingScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorParam) MarshalJSON added in v1.15.0

type NewFloatingScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigParam added in v1.15.0

type NewFloatingScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigParam struct {
	// Used to determine the unit rate
	FirstDimension param.Field[string] `json:"first_dimension,required"`
	// Apply a scaling factor to each dimension
	MatrixScalingFactors param.Field[[]NewFloatingScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorParam] `json:"matrix_scaling_factors,required"`
	// The final unit price to rate against the output of the matrix
	UnitPrice param.Field[string] `json:"unit_price,required"`
	// If true, the unit price will be prorated to the billing period
	Prorate param.Field[bool] `json:"prorate"`
	// Used to determine the unit rate (optional)
	SecondDimension param.Field[string] `json:"second_dimension"`
}

Configuration for scalable_matrix_with_unit_pricing pricing

func (NewFloatingScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingThresholdTotalAmountPriceModelType added in v0.121.0

type NewFloatingThresholdTotalAmountPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingThresholdTotalAmountPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for threshold_total_amount pricing
	ThresholdTotalAmountConfig param.Field[NewFloatingThresholdTotalAmountPriceThresholdTotalAmountConfigParam] `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 NewFloatingThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableParam added in v1.15.0

type NewFloatingThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableParam struct {
	// Quantity threshold
	Threshold param.Field[string] `json:"threshold,required"`
	// Total amount for this threshold
	TotalAmount param.Field[string] `json:"total_amount,required"`
}

Configuration for a single threshold

func (NewFloatingThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableParam) MarshalJSON added in v1.15.0

type NewFloatingThresholdTotalAmountPriceThresholdTotalAmountConfigParam added in v1.15.0

type NewFloatingThresholdTotalAmountPriceThresholdTotalAmountConfigParam struct {
	// When the quantity consumed passes a provided threshold, the configured total
	// will be charged
	ConsumptionTable param.Field[[]NewFloatingThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableParam] `json:"consumption_table,required"`
	// If true, the unit price will be prorated to the billing period
	Prorate param.Field[bool] `json:"prorate"`
}

Configuration for threshold_total_amount pricing

func (NewFloatingThresholdTotalAmountPriceThresholdTotalAmountConfigParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingTieredPackagePriceModelType added in v0.121.0

type NewFloatingTieredPackagePriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered_package pricing
	TieredPackageConfig param.Field[NewFloatingTieredPackagePriceTieredPackageConfigParam] `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 NewFloatingTieredPackagePriceTieredPackageConfigParam added in v1.15.0

type NewFloatingTieredPackagePriceTieredPackageConfigParam struct {
	// Package size
	PackageSize param.Field[string] `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds. The tier bounds are defined based on
	// the total quantity rather than the number of packages, so they must be multiples
	// of the package size.
	Tiers param.Field[[]NewFloatingTieredPackagePriceTieredPackageConfigTierParam] `json:"tiers,required"`
}

Configuration for tiered_package pricing

func (NewFloatingTieredPackagePriceTieredPackageConfigParam) MarshalJSON added in v1.15.0

type NewFloatingTieredPackagePriceTieredPackageConfigTierParam added in v1.15.0

type NewFloatingTieredPackagePriceTieredPackageConfigTierParam struct {
	// Price per package
	PerUnit param.Field[string] `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
}

Configuration for a single tier with business logic

func (NewFloatingTieredPackagePriceTieredPackageConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingTieredPackageWithMinimumPriceModelType added in v0.121.0

type NewFloatingTieredPackageWithMinimumPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingTieredPackageWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered_package_with_minimum pricing
	TieredPackageWithMinimumConfig param.Field[NewFloatingTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigParam] `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 NewFloatingTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigParam added in v1.15.0

type NewFloatingTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigParam struct {
	// Package size
	PackageSize param.Field[float64] `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds.
	Tiers param.Field[[]NewFloatingTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierParam] `json:"tiers,required"`
}

Configuration for tiered_package_with_minimum pricing

func (NewFloatingTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigParam) MarshalJSON added in v1.15.0

type NewFloatingTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierParam added in v1.15.0

type NewFloatingTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierParam struct {
	// Minimum amount
	MinimumAmount param.Field[string] `json:"minimum_amount,required"`
	// Price per package
	PerUnit param.Field[string] `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
}

Configuration for a single tier

func (NewFloatingTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingTieredPriceModelType added in v0.121.0

type NewFloatingTieredPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered pricing
	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"`
}

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()
}

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

type NewFloatingTieredWithMinimumPriceModelType added in v0.121.0

type NewFloatingTieredWithMinimumPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingTieredWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered_with_minimum pricing
	TieredWithMinimumConfig param.Field[NewFloatingTieredWithMinimumPriceTieredWithMinimumConfigParam] `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 NewFloatingTieredWithMinimumPriceTieredWithMinimumConfigParam added in v1.15.0

type NewFloatingTieredWithMinimumPriceTieredWithMinimumConfigParam struct {
	// Tiered pricing with a minimum amount dependent on the volume tier. Tiers are
	// defined using exclusive lower bounds.
	Tiers param.Field[[]NewFloatingTieredWithMinimumPriceTieredWithMinimumConfigTierParam] `json:"tiers,required"`
	// If true, tiers with an accrued amount of 0 will not be included in the rating.
	HideZeroAmountTiers param.Field[bool] `json:"hide_zero_amount_tiers"`
	// If true, the unit price will be prorated to the billing period
	Prorate param.Field[bool] `json:"prorate"`
}

Configuration for tiered_with_minimum pricing

func (NewFloatingTieredWithMinimumPriceTieredWithMinimumConfigParam) MarshalJSON added in v1.15.0

type NewFloatingTieredWithMinimumPriceTieredWithMinimumConfigTierParam added in v1.15.0

type NewFloatingTieredWithMinimumPriceTieredWithMinimumConfigTierParam struct {
	// Minimum amount
	MinimumAmount param.Field[string] `json:"minimum_amount,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tier

func (NewFloatingTieredWithMinimumPriceTieredWithMinimumConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingTieredWithProrationPriceModelType added in v0.121.0

type NewFloatingTieredWithProrationPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingTieredWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered_with_proration pricing
	TieredWithProrationConfig param.Field[NewFloatingTieredWithProrationPriceTieredWithProrationConfigParam] `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 NewFloatingTieredWithProrationPriceTieredWithProrationConfigParam added in v1.15.0

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

Configuration for tiered_with_proration pricing

func (NewFloatingTieredWithProrationPriceTieredWithProrationConfigParam) MarshalJSON added in v1.15.0

type NewFloatingTieredWithProrationPriceTieredWithProrationConfigTierParam added in v1.15.0

type NewFloatingTieredWithProrationPriceTieredWithProrationConfigTierParam struct {
	// Inclusive tier starting value
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Amount per unit
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tiered with proration tier

func (NewFloatingTieredWithProrationPriceTieredWithProrationConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingUnitPriceModelType added in v0.121.0

type NewFloatingUnitPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingUnitPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for unit pricing
	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"`
}

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()
}

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

type NewFloatingUnitWithPercentPriceModelType added in v0.121.0

type NewFloatingUnitWithPercentPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingUnitWithPercentPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for unit_with_percent pricing
	UnitWithPercentConfig param.Field[NewFloatingUnitWithPercentPriceUnitWithPercentConfigParam] `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 NewFloatingUnitWithPercentPriceUnitWithPercentConfigParam added in v1.15.0

type NewFloatingUnitWithPercentPriceUnitWithPercentConfigParam struct {
	// What percent, out of 100, of the calculated total to charge
	Percent param.Field[string] `json:"percent,required"`
	// Rate per unit of usage
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for unit_with_percent pricing

func (NewFloatingUnitWithPercentPriceUnitWithPercentConfigParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewFloatingUnitWithProrationPriceModelType added in v0.121.0

type NewFloatingUnitWithProrationPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewFloatingUnitWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for unit_with_proration pricing
	UnitWithProrationConfig param.Field[NewFloatingUnitWithProrationPriceUnitWithProrationConfigParam] `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 NewFloatingUnitWithProrationPriceUnitWithProrationConfigParam added in v1.15.0

type NewFloatingUnitWithProrationPriceUnitWithProrationConfigParam struct {
	// Rate per unit of usage
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for unit_with_proration pricing

func (NewFloatingUnitWithProrationPriceUnitWithProrationConfigParam) MarshalJSON added in v1.15.0

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 NewMaximumFilterParam added in v1.30.0

type NewMaximumFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[NewMaximumFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[NewMaximumFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (NewMaximumFilterParam) MarshalJSON added in v1.30.0

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

type NewMaximumFiltersField added in v1.30.0

type NewMaximumFiltersField string

The property of the price to filter on.

const (
	NewMaximumFiltersFieldPriceID       NewMaximumFiltersField = "price_id"
	NewMaximumFiltersFieldItemID        NewMaximumFiltersField = "item_id"
	NewMaximumFiltersFieldPriceType     NewMaximumFiltersField = "price_type"
	NewMaximumFiltersFieldCurrency      NewMaximumFiltersField = "currency"
	NewMaximumFiltersFieldPricingUnitID NewMaximumFiltersField = "pricing_unit_id"
)

func (NewMaximumFiltersField) IsKnown added in v1.30.0

func (r NewMaximumFiltersField) IsKnown() bool

type NewMaximumFiltersOperator added in v1.30.0

type NewMaximumFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	NewMaximumFiltersOperatorIncludes NewMaximumFiltersOperator = "includes"
	NewMaximumFiltersOperatorExcludes NewMaximumFiltersOperator = "excludes"
)

func (NewMaximumFiltersOperator) IsKnown added in v1.30.0

func (r NewMaximumFiltersOperator) 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[[]NewMaximumFilterParam] `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 NewMinimumFilterParam added in v1.30.0

type NewMinimumFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[NewMinimumFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[NewMinimumFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (NewMinimumFilterParam) MarshalJSON added in v1.30.0

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

type NewMinimumFiltersField added in v1.30.0

type NewMinimumFiltersField string

The property of the price to filter on.

const (
	NewMinimumFiltersFieldPriceID       NewMinimumFiltersField = "price_id"
	NewMinimumFiltersFieldItemID        NewMinimumFiltersField = "item_id"
	NewMinimumFiltersFieldPriceType     NewMinimumFiltersField = "price_type"
	NewMinimumFiltersFieldCurrency      NewMinimumFiltersField = "currency"
	NewMinimumFiltersFieldPricingUnitID NewMinimumFiltersField = "pricing_unit_id"
)

func (NewMinimumFiltersField) IsKnown added in v1.30.0

func (r NewMinimumFiltersField) IsKnown() bool

type NewMinimumFiltersOperator added in v1.30.0

type NewMinimumFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	NewMinimumFiltersOperatorIncludes NewMinimumFiltersOperator = "includes"
	NewMinimumFiltersOperatorExcludes NewMinimumFiltersOperator = "excludes"
)

func (NewMinimumFiltersOperator) IsKnown added in v1.30.0

func (r NewMinimumFiltersOperator) 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[[]NewMinimumFilterParam] `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 NewPercentageDiscountFilterParam added in v1.30.0

type NewPercentageDiscountFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[NewPercentageDiscountFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[NewPercentageDiscountFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (NewPercentageDiscountFilterParam) MarshalJSON added in v1.30.0

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

type NewPercentageDiscountFiltersField added in v1.30.0

type NewPercentageDiscountFiltersField string

The property of the price to filter on.

const (
	NewPercentageDiscountFiltersFieldPriceID       NewPercentageDiscountFiltersField = "price_id"
	NewPercentageDiscountFiltersFieldItemID        NewPercentageDiscountFiltersField = "item_id"
	NewPercentageDiscountFiltersFieldPriceType     NewPercentageDiscountFiltersField = "price_type"
	NewPercentageDiscountFiltersFieldCurrency      NewPercentageDiscountFiltersField = "currency"
	NewPercentageDiscountFiltersFieldPricingUnitID NewPercentageDiscountFiltersField = "pricing_unit_id"
)

func (NewPercentageDiscountFiltersField) IsKnown added in v1.30.0

type NewPercentageDiscountFiltersOperator added in v1.30.0

type NewPercentageDiscountFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	NewPercentageDiscountFiltersOperatorIncludes NewPercentageDiscountFiltersOperator = "includes"
	NewPercentageDiscountFiltersOperatorExcludes NewPercentageDiscountFiltersOperator = "excludes"
)

func (NewPercentageDiscountFiltersOperator) IsKnown added in v1.30.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[[]NewPercentageDiscountFilterParam] `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 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"`
}

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()
}

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

type NewPlanBulkPriceModelType added in v0.121.0

type NewPlanBulkPriceModelType string

The pricing model type

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 {
	// Configuration for bulk pricing
	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"`
	// The pricing model type
	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 NewPlanBulkWithProrationPriceBulkWithProrationConfigParam added in v1.15.0

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

Configuration for bulk_with_proration pricing

func (NewPlanBulkWithProrationPriceBulkWithProrationConfigParam) MarshalJSON added in v1.15.0

type NewPlanBulkWithProrationPriceBulkWithProrationConfigTierParam added in v1.15.0

type NewPlanBulkWithProrationPriceBulkWithProrationConfigTierParam struct {
	// Cost per unit
	UnitAmount param.Field[string] `json:"unit_amount,required"`
	// The lower bound for this tier
	TierLowerBound param.Field[string] `json:"tier_lower_bound"`
}

Configuration for a single bulk pricing tier with proration

func (NewPlanBulkWithProrationPriceBulkWithProrationConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewPlanBulkWithProrationPriceModelType added in v0.121.0

type NewPlanBulkWithProrationPriceModelType string

The pricing model type

const (
	NewPlanBulkWithProrationPriceModelTypeBulkWithProration NewPlanBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (NewPlanBulkWithProrationPriceModelType) IsKnown added in v0.121.0

type NewPlanBulkWithProrationPriceParam added in v0.121.0

type NewPlanBulkWithProrationPriceParam struct {
	// Configuration for bulk_with_proration pricing
	BulkWithProrationConfig param.Field[NewPlanBulkWithProrationPriceBulkWithProrationConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueParam added in v1.15.0

type NewPlanCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueParam struct {
	// Grouping key value
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Unit amount for this combination
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a dimension value entry

func (NewPlanCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueParam) MarshalJSON added in v1.15.0

type NewPlanCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigParam added in v1.15.0

type NewPlanCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigParam struct {
	// Each tier lower bound must have the same group of values.
	DimensionValues param.Field[[]NewPlanCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueParam] `json:"dimension_values,required"`
	// Grouping key name
	Group param.Field[string] `json:"group,required"`
}

Configuration for cumulative_grouped_bulk pricing

func (NewPlanCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigParam) MarshalJSON added in v1.15.0

type NewPlanCumulativeGroupedBulkPriceModelType added in v0.121.0

type NewPlanCumulativeGroupedBulkPriceModelType string

The pricing model type

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"`
	// Configuration for cumulative_grouped_bulk pricing
	CumulativeGroupedBulkConfig param.Field[NewPlanCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanGroupedAllocationPriceGroupedAllocationConfigParam added in v1.15.0

type NewPlanGroupedAllocationPriceGroupedAllocationConfigParam struct {
	// Usage allocation per group
	Allocation param.Field[string] `json:"allocation,required"`
	// How to determine the groups that should each be allocated some quantity
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Unit rate for post-allocation
	OverageUnitRate param.Field[string] `json:"overage_unit_rate,required"`
}

Configuration for grouped_allocation pricing

func (NewPlanGroupedAllocationPriceGroupedAllocationConfigParam) MarshalJSON added in v1.15.0

type NewPlanGroupedAllocationPriceModelType added in v0.121.0

type NewPlanGroupedAllocationPriceModelType string

The pricing model type

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"`
	// Configuration for grouped_allocation pricing
	GroupedAllocationConfig param.Field[NewPlanGroupedAllocationPriceGroupedAllocationConfigParam] `json:"grouped_allocation_config,required"`
	// The id of the item the price will be associated with.
	ItemID param.Field[string] `json:"item_id,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanGroupedTieredPackagePriceGroupedTieredPackageConfigParam added in v1.15.0

type NewPlanGroupedTieredPackagePriceGroupedTieredPackageConfigParam struct {
	// The event property used to group before tiering
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Package size
	PackageSize param.Field[string] `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds.
	Tiers param.Field[[]NewPlanGroupedTieredPackagePriceGroupedTieredPackageConfigTierParam] `json:"tiers,required"`
}

Configuration for grouped_tiered_package pricing

func (NewPlanGroupedTieredPackagePriceGroupedTieredPackageConfigParam) MarshalJSON added in v1.15.0

type NewPlanGroupedTieredPackagePriceGroupedTieredPackageConfigTierParam added in v1.15.0

type NewPlanGroupedTieredPackagePriceGroupedTieredPackageConfigTierParam struct {
	// Price per package
	PerUnit param.Field[string] `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
}

Configuration for a single tier

func (NewPlanGroupedTieredPackagePriceGroupedTieredPackageConfigTierParam) MarshalJSON added in v1.15.0

type NewPlanGroupedTieredPackagePriceModelType added in v0.121.0

type NewPlanGroupedTieredPackagePriceModelType string

The pricing model type

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"`
	// Configuration for grouped_tiered_package pricing
	GroupedTieredPackageConfig param.Field[NewPlanGroupedTieredPackagePriceGroupedTieredPackageConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanGroupedTieredPriceGroupedTieredConfigParam added in v1.15.0

type NewPlanGroupedTieredPriceGroupedTieredConfigParam struct {
	// The billable metric property used to group before tiering
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Apply tiered pricing to each segment generated after grouping with the provided
	// key
	Tiers param.Field[[]NewPlanGroupedTieredPriceGroupedTieredConfigTierParam] `json:"tiers,required"`
}

Configuration for grouped_tiered pricing

func (NewPlanGroupedTieredPriceGroupedTieredConfigParam) MarshalJSON added in v1.15.0

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

type NewPlanGroupedTieredPriceGroupedTieredConfigTierParam added in v1.15.0

type NewPlanGroupedTieredPriceGroupedTieredConfigTierParam struct {
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tier

func (NewPlanGroupedTieredPriceGroupedTieredConfigTierParam) MarshalJSON added in v1.15.0

type NewPlanGroupedTieredPriceModelType added in v0.121.0

type NewPlanGroupedTieredPriceModelType string

The pricing model type

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"`
	// Configuration for grouped_tiered pricing
	GroupedTieredConfig param.Field[NewPlanGroupedTieredPriceGroupedTieredConfigParam] `json:"grouped_tiered_config,required"`
	// The id of the item the price will be associated with.
	ItemID param.Field[string] `json:"item_id,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigParam added in v1.15.0

type NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigParam struct {
	// Used to partition the usage into groups. The minimum amount is applied to each
	// group.
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// The minimum amount to charge per group per unit
	MinimumUnitAmount param.Field[string] `json:"minimum_unit_amount,required"`
	// Used to determine the unit rate
	PricingKey param.Field[string] `json:"pricing_key,required"`
	// Scale the unit rates by the scaling factor.
	ScalingFactors param.Field[[]NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorParam] `json:"scaling_factors,required"`
	// Used to determine the unit rate scaling factor
	ScalingKey param.Field[string] `json:"scaling_key,required"`
	// Apply per unit pricing to each pricing value. The minimum amount is applied any
	// unmatched usage.
	UnitAmounts param.Field[[]NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountParam] `json:"unit_amounts,required"`
}

Configuration for grouped_with_metered_minimum pricing

func (NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigParam) MarshalJSON added in v1.15.0

type NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorParam added in v1.15.0

type NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorParam struct {
	// Scaling factor
	ScalingFactor param.Field[string] `json:"scaling_factor,required"`
	// Scaling value
	ScalingValue param.Field[string] `json:"scaling_value,required"`
}

Configuration for a scaling factor

func (NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorParam) MarshalJSON added in v1.15.0

type NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountParam added in v1.15.0

type NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountParam struct {
	// Pricing value
	PricingValue param.Field[string] `json:"pricing_value,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a unit amount

func (NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountParam) MarshalJSON added in v1.15.0

type NewPlanGroupedWithMeteredMinimumPriceModelType added in v0.121.0

type NewPlanGroupedWithMeteredMinimumPriceModelType string

The pricing model type

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"`
	// Configuration for grouped_with_metered_minimum pricing
	GroupedWithMeteredMinimumConfig param.Field[NewPlanGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigParam added in v1.15.0

type NewPlanGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigParam struct {
	// How to determine the groups that should each have a minimum
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// The minimum amount to charge per group
	Minimum param.Field[string] `json:"minimum,required"`
	// The amount to charge per unit
	UnitRate param.Field[string] `json:"unit_rate,required"`
}

Configuration for grouped_with_prorated_minimum pricing

func (NewPlanGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigParam) MarshalJSON added in v1.15.0

type NewPlanGroupedWithProratedMinimumPriceModelType added in v0.121.0

type NewPlanGroupedWithProratedMinimumPriceModelType string

The pricing model type

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"`
	// Configuration for grouped_with_prorated_minimum pricing
	GroupedWithProratedMinimumConfig param.Field[NewPlanGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigParam] `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"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanMatrixPriceModelType added in v0.121.0

type NewPlanMatrixPriceModelType string

The pricing model type

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"`
	// Configuration for matrix pricing
	MatrixConfig param.Field[MatrixConfigParam] `json:"matrix_config,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanMatrixWithAllocationPriceModelType added in v0.121.0

type NewPlanMatrixWithAllocationPriceModelType string

The pricing model type

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"`
	// Configuration for matrix_with_allocation pricing
	MatrixWithAllocationConfig param.Field[MatrixWithAllocationConfigParam] `json:"matrix_with_allocation_config,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigParam added in v1.15.0

type NewPlanMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigParam struct {
	// Used to determine the unit rate
	Dimension param.Field[string] `json:"dimension,required"`
	// Apply per unit pricing to each dimension value
	UnitAmounts param.Field[[]NewPlanMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountParam] `json:"unit_amounts,required"`
}

Configuration for matrix_with_display_name pricing

func (NewPlanMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigParam) MarshalJSON added in v1.15.0

type NewPlanMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountParam added in v1.15.0

type NewPlanMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountParam struct {
	// The dimension value
	DimensionValue param.Field[string] `json:"dimension_value,required"`
	// Display name for this dimension value
	DisplayName param.Field[string] `json:"display_name,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a unit amount item

func (NewPlanMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountParam) MarshalJSON added in v1.15.0

type NewPlanMatrixWithDisplayNamePriceModelType added in v0.121.0

type NewPlanMatrixWithDisplayNamePriceModelType string

The pricing model type

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"`
	// Configuration for matrix_with_display_name pricing
	MatrixWithDisplayNameConfig param.Field[NewPlanMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigParam] `json:"matrix_with_display_name_config,required"`
	// The pricing model type
	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"`
}

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()
}

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

type NewPlanMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigParam added in v1.15.0

type NewPlanMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigParam struct {
	// The event property used to group before tiering the group with the highest value
	GroupingKey param.Field[string] `json:"grouping_key,required"`
	// Package size
	PackageSize param.Field[string] `json:"package_size,required"`
	// Apply tiered pricing to the largest group after grouping with the provided key.
	Tiers param.Field[[]NewPlanMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierParam] `json:"tiers,required"`
}

Configuration for max_group_tiered_package pricing

func (NewPlanMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigParam) MarshalJSON added in v1.15.0

type NewPlanMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierParam added in v1.15.0

type NewPlanMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierParam struct {
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tier

func (NewPlanMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierParam) MarshalJSON added in v1.15.0

type NewPlanMaxGroupTieredPackagePriceModelType added in v0.121.0

type NewPlanMaxGroupTieredPackagePriceModelType string

The pricing model type

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"`
	// Configuration for max_group_tiered_package pricing
	MaxGroupTieredPackageConfig param.Field[NewPlanMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigParam] `json:"max_group_tiered_package_config,required"`
	// The pricing model type
	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 NewPlanMinimumCompositePriceCadence added in v1.14.0

type NewPlanMinimumCompositePriceCadence string

The cadence to bill for this price on.

const (
	NewPlanMinimumCompositePriceCadenceAnnual     NewPlanMinimumCompositePriceCadence = "annual"
	NewPlanMinimumCompositePriceCadenceSemiAnnual NewPlanMinimumCompositePriceCadence = "semi_annual"
	NewPlanMinimumCompositePriceCadenceMonthly    NewPlanMinimumCompositePriceCadence = "monthly"
	NewPlanMinimumCompositePriceCadenceQuarterly  NewPlanMinimumCompositePriceCadence = "quarterly"
	NewPlanMinimumCompositePriceCadenceOneTime    NewPlanMinimumCompositePriceCadence = "one_time"
	NewPlanMinimumCompositePriceCadenceCustom     NewPlanMinimumCompositePriceCadence = "custom"
)

func (NewPlanMinimumCompositePriceCadence) IsKnown added in v1.14.0

type NewPlanMinimumCompositePriceConversionRateConfigConversionRateType added in v1.14.0

type NewPlanMinimumCompositePriceConversionRateConfigConversionRateType string
const (
	NewPlanMinimumCompositePriceConversionRateConfigConversionRateTypeUnit   NewPlanMinimumCompositePriceConversionRateConfigConversionRateType = "unit"
	NewPlanMinimumCompositePriceConversionRateConfigConversionRateTypeTiered NewPlanMinimumCompositePriceConversionRateConfigConversionRateType = "tiered"
)

func (NewPlanMinimumCompositePriceConversionRateConfigConversionRateType) IsKnown added in v1.14.0

type NewPlanMinimumCompositePriceConversionRateConfigParam added in v1.14.0

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

func (NewPlanMinimumCompositePriceConversionRateConfigParam) ImplementsNewPlanMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

func (r NewPlanMinimumCompositePriceConversionRateConfigParam) ImplementsNewPlanMinimumCompositePriceConversionRateConfigUnionParam()

func (NewPlanMinimumCompositePriceConversionRateConfigParam) MarshalJSON added in v1.14.0

type NewPlanMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

type NewPlanMinimumCompositePriceConversionRateConfigUnionParam interface {
	ImplementsNewPlanMinimumCompositePriceConversionRateConfigUnionParam()
}

Satisfied by shared.UnitConversionRateConfigParam, shared.TieredConversionRateConfigParam, NewPlanMinimumCompositePriceConversionRateConfigParam.

type NewPlanMinimumCompositePriceMinimumConfigParam added in v1.14.0

type NewPlanMinimumCompositePriceMinimumConfigParam struct {
	// The minimum amount to apply
	MinimumAmount param.Field[string] `json:"minimum_amount,required"`
	// If true, subtotals from this price are prorated based on the service period
	Prorated param.Field[bool] `json:"prorated"`
}

Configuration for minimum pricing

func (NewPlanMinimumCompositePriceMinimumConfigParam) MarshalJSON added in v1.14.0

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

type NewPlanMinimumCompositePriceModelType added in v1.14.0

type NewPlanMinimumCompositePriceModelType string

The pricing model type

const (
	NewPlanMinimumCompositePriceModelTypeMinimum NewPlanMinimumCompositePriceModelType = "minimum"
)

func (NewPlanMinimumCompositePriceModelType) IsKnown added in v1.14.0

type NewPlanMinimumCompositePriceParam added in v1.14.0

type NewPlanMinimumCompositePriceParam struct {
	// The cadence to bill for this price on.
	Cadence param.Field[NewPlanMinimumCompositePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID param.Field[string] `json:"item_id,required"`
	// Configuration for minimum pricing
	MinimumConfig param.Field[NewPlanMinimumCompositePriceMinimumConfigParam] `json:"minimum_config,required"`
	// The pricing model type
	ModelType param.Field[NewPlanMinimumCompositePriceModelType] `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[NewPlanMinimumCompositePriceConversionRateConfigUnionParam] `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 (NewPlanMinimumCompositePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion added in v1.14.0

func (r NewPlanMinimumCompositePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMinimumCompositePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion added in v1.14.0

func (r NewPlanMinimumCompositePriceParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMinimumCompositePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion added in v1.14.0

func (r NewPlanMinimumCompositePriceParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceUnion()

func (NewPlanMinimumCompositePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion added in v1.14.0

func (r NewPlanMinimumCompositePriceParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceUnion()

func (NewPlanMinimumCompositePriceParam) ImplementsPlanNewParamsPricesPriceUnion added in v1.14.0

func (r NewPlanMinimumCompositePriceParam) ImplementsPlanNewParamsPricesPriceUnion()

func (NewPlanMinimumCompositePriceParam) MarshalJSON added in v1.14.0

func (r NewPlanMinimumCompositePriceParam) 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"`
}

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()
}

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

type NewPlanPackagePriceModelType added in v0.121.0

type NewPlanPackagePriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for package pricing
	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"`
}

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()
}

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

type NewPlanPackageWithAllocationPriceModelType added in v0.121.0

type NewPlanPackageWithAllocationPriceModelType string

The pricing model type

const (
	NewPlanPackageWithAllocationPriceModelTypePackageWithAllocation NewPlanPackageWithAllocationPriceModelType = "package_with_allocation"
)

func (NewPlanPackageWithAllocationPriceModelType) IsKnown added in v0.121.0

type NewPlanPackageWithAllocationPricePackageWithAllocationConfigParam added in v1.15.0

type NewPlanPackageWithAllocationPricePackageWithAllocationConfigParam struct {
	// Usage allocation
	Allocation param.Field[string] `json:"allocation,required"`
	// Price per package
	PackageAmount param.Field[string] `json:"package_amount,required"`
	// Package size
	PackageSize param.Field[string] `json:"package_size,required"`
}

Configuration for package_with_allocation pricing

func (NewPlanPackageWithAllocationPricePackageWithAllocationConfigParam) MarshalJSON added in v1.15.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"`
	// The pricing model type
	ModelType param.Field[NewPlanPackageWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for package_with_allocation pricing
	PackageWithAllocationConfig param.Field[NewPlanPackageWithAllocationPricePackageWithAllocationConfigParam] `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"`
}

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()
}

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

type NewPlanScalableMatrixWithTieredPricingPriceModelType added in v0.121.0

type NewPlanScalableMatrixWithTieredPricingPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanScalableMatrixWithTieredPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for scalable_matrix_with_tiered_pricing pricing
	ScalableMatrixWithTieredPricingConfig param.Field[NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigParam] `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 NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorParam added in v1.15.0

type NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorParam struct {
	// First dimension value
	FirstDimensionValue param.Field[string] `json:"first_dimension_value,required"`
	// Scaling factor
	ScalingFactor param.Field[string] `json:"scaling_factor,required"`
	// Second dimension value (optional)
	SecondDimensionValue param.Field[string] `json:"second_dimension_value"`
}

Configuration for a single matrix scaling factor

func (NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorParam) MarshalJSON added in v1.15.0

type NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigParam added in v1.15.0

type NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigParam struct {
	// Used for the scalable matrix first dimension
	FirstDimension param.Field[string] `json:"first_dimension,required"`
	// Apply a scaling factor to each dimension
	MatrixScalingFactors param.Field[[]NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorParam] `json:"matrix_scaling_factors,required"`
	// Tier pricing structure
	Tiers param.Field[[]NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierParam] `json:"tiers,required"`
	// Used for the scalable matrix second dimension (optional)
	SecondDimension param.Field[string] `json:"second_dimension"`
}

Configuration for scalable_matrix_with_tiered_pricing pricing

func (NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigParam) MarshalJSON added in v1.15.0

type NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierParam added in v1.15.0

type NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierParam struct {
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tier entry with business logic

func (NewPlanScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewPlanScalableMatrixWithUnitPricingPriceModelType added in v0.121.0

type NewPlanScalableMatrixWithUnitPricingPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanScalableMatrixWithUnitPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for scalable_matrix_with_unit_pricing pricing
	ScalableMatrixWithUnitPricingConfig param.Field[NewPlanScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigParam] `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 NewPlanScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorParam added in v1.15.0

type NewPlanScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorParam struct {
	// First dimension value
	FirstDimensionValue param.Field[string] `json:"first_dimension_value,required"`
	// Scaling factor
	ScalingFactor param.Field[string] `json:"scaling_factor,required"`
	// Second dimension value (optional)
	SecondDimensionValue param.Field[string] `json:"second_dimension_value"`
}

Configuration for a single matrix scaling factor

func (NewPlanScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorParam) MarshalJSON added in v1.15.0

type NewPlanScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigParam added in v1.15.0

type NewPlanScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigParam struct {
	// Used to determine the unit rate
	FirstDimension param.Field[string] `json:"first_dimension,required"`
	// Apply a scaling factor to each dimension
	MatrixScalingFactors param.Field[[]NewPlanScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorParam] `json:"matrix_scaling_factors,required"`
	// The final unit price to rate against the output of the matrix
	UnitPrice param.Field[string] `json:"unit_price,required"`
	// If true, the unit price will be prorated to the billing period
	Prorate param.Field[bool] `json:"prorate"`
	// Used to determine the unit rate (optional)
	SecondDimension param.Field[string] `json:"second_dimension"`
}

Configuration for scalable_matrix_with_unit_pricing pricing

func (NewPlanScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewPlanThresholdTotalAmountPriceModelType added in v0.121.0

type NewPlanThresholdTotalAmountPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanThresholdTotalAmountPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for threshold_total_amount pricing
	ThresholdTotalAmountConfig param.Field[NewPlanThresholdTotalAmountPriceThresholdTotalAmountConfigParam] `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 NewPlanThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableParam added in v1.15.0

type NewPlanThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableParam struct {
	// Quantity threshold
	Threshold param.Field[string] `json:"threshold,required"`
	// Total amount for this threshold
	TotalAmount param.Field[string] `json:"total_amount,required"`
}

Configuration for a single threshold

func (NewPlanThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableParam) MarshalJSON added in v1.15.0

type NewPlanThresholdTotalAmountPriceThresholdTotalAmountConfigParam added in v1.15.0

type NewPlanThresholdTotalAmountPriceThresholdTotalAmountConfigParam struct {
	// When the quantity consumed passes a provided threshold, the configured total
	// will be charged
	ConsumptionTable param.Field[[]NewPlanThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableParam] `json:"consumption_table,required"`
	// If true, the unit price will be prorated to the billing period
	Prorate param.Field[bool] `json:"prorate"`
}

Configuration for threshold_total_amount pricing

func (NewPlanThresholdTotalAmountPriceThresholdTotalAmountConfigParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewPlanTieredPackagePriceModelType added in v0.121.0

type NewPlanTieredPackagePriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered_package pricing
	TieredPackageConfig param.Field[NewPlanTieredPackagePriceTieredPackageConfigParam] `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 NewPlanTieredPackagePriceTieredPackageConfigParam added in v1.15.0

type NewPlanTieredPackagePriceTieredPackageConfigParam struct {
	// Package size
	PackageSize param.Field[string] `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds. The tier bounds are defined based on
	// the total quantity rather than the number of packages, so they must be multiples
	// of the package size.
	Tiers param.Field[[]NewPlanTieredPackagePriceTieredPackageConfigTierParam] `json:"tiers,required"`
}

Configuration for tiered_package pricing

func (NewPlanTieredPackagePriceTieredPackageConfigParam) MarshalJSON added in v1.15.0

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

type NewPlanTieredPackagePriceTieredPackageConfigTierParam added in v1.15.0

type NewPlanTieredPackagePriceTieredPackageConfigTierParam struct {
	// Price per package
	PerUnit param.Field[string] `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
}

Configuration for a single tier with business logic

func (NewPlanTieredPackagePriceTieredPackageConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewPlanTieredPackageWithMinimumPriceModelType added in v0.121.0

type NewPlanTieredPackageWithMinimumPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanTieredPackageWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered_package_with_minimum pricing
	TieredPackageWithMinimumConfig param.Field[NewPlanTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigParam] `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 NewPlanTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigParam added in v1.15.0

type NewPlanTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigParam struct {
	// Package size
	PackageSize param.Field[float64] `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds.
	Tiers param.Field[[]NewPlanTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierParam] `json:"tiers,required"`
}

Configuration for tiered_package_with_minimum pricing

func (NewPlanTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigParam) MarshalJSON added in v1.15.0

type NewPlanTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierParam added in v1.15.0

type NewPlanTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierParam struct {
	// Minimum amount
	MinimumAmount param.Field[string] `json:"minimum_amount,required"`
	// Price per package
	PerUnit param.Field[string] `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
}

Configuration for a single tier

func (NewPlanTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewPlanTieredPriceModelType added in v0.121.0

type NewPlanTieredPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered pricing
	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"`
}

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()
}

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

type NewPlanTieredWithMinimumPriceModelType added in v0.121.0

type NewPlanTieredWithMinimumPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanTieredWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for tiered_with_minimum pricing
	TieredWithMinimumConfig param.Field[NewPlanTieredWithMinimumPriceTieredWithMinimumConfigParam] `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 NewPlanTieredWithMinimumPriceTieredWithMinimumConfigParam added in v1.15.0

type NewPlanTieredWithMinimumPriceTieredWithMinimumConfigParam struct {
	// Tiered pricing with a minimum amount dependent on the volume tier. Tiers are
	// defined using exclusive lower bounds.
	Tiers param.Field[[]NewPlanTieredWithMinimumPriceTieredWithMinimumConfigTierParam] `json:"tiers,required"`
	// If true, tiers with an accrued amount of 0 will not be included in the rating.
	HideZeroAmountTiers param.Field[bool] `json:"hide_zero_amount_tiers"`
	// If true, the unit price will be prorated to the billing period
	Prorate param.Field[bool] `json:"prorate"`
}

Configuration for tiered_with_minimum pricing

func (NewPlanTieredWithMinimumPriceTieredWithMinimumConfigParam) MarshalJSON added in v1.15.0

type NewPlanTieredWithMinimumPriceTieredWithMinimumConfigTierParam added in v1.15.0

type NewPlanTieredWithMinimumPriceTieredWithMinimumConfigTierParam struct {
	// Minimum amount
	MinimumAmount param.Field[string] `json:"minimum_amount,required"`
	// Tier lower bound
	TierLowerBound param.Field[string] `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for a single tier

func (NewPlanTieredWithMinimumPriceTieredWithMinimumConfigTierParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewPlanUnitPriceModelType added in v0.121.0

type NewPlanUnitPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanUnitPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for unit pricing
	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"`
}

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()
}

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

type NewPlanUnitWithPercentPriceModelType added in v0.121.0

type NewPlanUnitWithPercentPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanUnitWithPercentPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for unit_with_percent pricing
	UnitWithPercentConfig param.Field[NewPlanUnitWithPercentPriceUnitWithPercentConfigParam] `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 NewPlanUnitWithPercentPriceUnitWithPercentConfigParam added in v1.15.0

type NewPlanUnitWithPercentPriceUnitWithPercentConfigParam struct {
	// What percent, out of 100, of the calculated total to charge
	Percent param.Field[string] `json:"percent,required"`
	// Rate per unit of usage
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for unit_with_percent pricing

func (NewPlanUnitWithPercentPriceUnitWithPercentConfigParam) MarshalJSON added in v1.15.0

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"`
}

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()
}

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

type NewPlanUnitWithProrationPriceModelType added in v0.121.0

type NewPlanUnitWithProrationPriceModelType string

The pricing model type

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"`
	// The pricing model type
	ModelType param.Field[NewPlanUnitWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name param.Field[string] `json:"name,required"`
	// Configuration for unit_with_proration pricing
	UnitWithProrationConfig param.Field[NewPlanUnitWithProrationPriceUnitWithProrationConfigParam] `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 NewPlanUnitWithProrationPriceUnitWithProrationConfigParam added in v1.15.0

type NewPlanUnitWithProrationPriceUnitWithProrationConfigParam struct {
	// Rate per unit of usage
	UnitAmount param.Field[string] `json:"unit_amount,required"`
}

Configuration for unit_with_proration pricing

func (NewPlanUnitWithProrationPriceUnitWithProrationConfigParam) MarshalJSON added in v1.15.0

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 NewUsageDiscountFilterParam added in v1.30.0

type NewUsageDiscountFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[NewUsageDiscountFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[NewUsageDiscountFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (NewUsageDiscountFilterParam) MarshalJSON added in v1.30.0

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

type NewUsageDiscountFiltersField added in v1.30.0

type NewUsageDiscountFiltersField string

The property of the price to filter on.

const (
	NewUsageDiscountFiltersFieldPriceID       NewUsageDiscountFiltersField = "price_id"
	NewUsageDiscountFiltersFieldItemID        NewUsageDiscountFiltersField = "item_id"
	NewUsageDiscountFiltersFieldPriceType     NewUsageDiscountFiltersField = "price_type"
	NewUsageDiscountFiltersFieldCurrency      NewUsageDiscountFiltersField = "currency"
	NewUsageDiscountFiltersFieldPricingUnitID NewUsageDiscountFiltersField = "pricing_unit_id"
)

func (NewUsageDiscountFiltersField) IsKnown added in v1.30.0

func (r NewUsageDiscountFiltersField) IsKnown() bool

type NewUsageDiscountFiltersOperator added in v1.30.0

type NewUsageDiscountFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	NewUsageDiscountFiltersOperatorIncludes NewUsageDiscountFiltersOperator = "includes"
	NewUsageDiscountFiltersOperatorExcludes NewUsageDiscountFiltersOperator = "excludes"
)

func (NewUsageDiscountFiltersOperator) IsKnown added in v1.30.0

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[[]NewUsageDiscountFilterParam] `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) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem added in v1.19.0

func (r OtherSubLineItem) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem()

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:"-"`
}

Configuration for package pricing

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"`
}

Configuration for package pricing

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 []PercentageDiscountFilter `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 PercentageDiscountFilter added in v0.120.0

type PercentageDiscountFilter struct {
	// The property of the price to filter on.
	Field PercentageDiscountFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PercentageDiscountFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                     `json:"values,required"`
	JSON   percentageDiscountFilterJSON `json:"-"`
}

func (*PercentageDiscountFilter) UnmarshalJSON added in v0.120.0

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

type PercentageDiscountFilterParam added in v0.120.0

type PercentageDiscountFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[PercentageDiscountFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[PercentageDiscountFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (PercentageDiscountFilterParam) MarshalJSON added in v0.120.0

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

type PercentageDiscountFiltersField added in v0.120.0

type PercentageDiscountFiltersField string

The property of the price to filter on.

const (
	PercentageDiscountFiltersFieldPriceID       PercentageDiscountFiltersField = "price_id"
	PercentageDiscountFiltersFieldItemID        PercentageDiscountFiltersField = "item_id"
	PercentageDiscountFiltersFieldPriceType     PercentageDiscountFiltersField = "price_type"
	PercentageDiscountFiltersFieldCurrency      PercentageDiscountFiltersField = "currency"
	PercentageDiscountFiltersFieldPricingUnitID PercentageDiscountFiltersField = "pricing_unit_id"
)

func (PercentageDiscountFiltersField) IsKnown added in v0.120.0

type PercentageDiscountFiltersOperator added in v0.120.0

type PercentageDiscountFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PercentageDiscountFiltersOperatorIncludes PercentageDiscountFiltersOperator = "includes"
	PercentageDiscountFiltersOperatorExcludes PercentageDiscountFiltersOperator = "excludes"
)

func (PercentageDiscountFiltersOperator) IsKnown added in v0.120.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 []PercentageDiscountIntervalFilter `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 PercentageDiscountIntervalFilter added in v1.30.0

type PercentageDiscountIntervalFilter struct {
	// The property of the price to filter on.
	Field PercentageDiscountIntervalFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PercentageDiscountIntervalFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                             `json:"values,required"`
	JSON   percentageDiscountIntervalFilterJSON `json:"-"`
}

func (*PercentageDiscountIntervalFilter) UnmarshalJSON added in v1.30.0

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

type PercentageDiscountIntervalFiltersField added in v1.30.0

type PercentageDiscountIntervalFiltersField string

The property of the price to filter on.

const (
	PercentageDiscountIntervalFiltersFieldPriceID       PercentageDiscountIntervalFiltersField = "price_id"
	PercentageDiscountIntervalFiltersFieldItemID        PercentageDiscountIntervalFiltersField = "item_id"
	PercentageDiscountIntervalFiltersFieldPriceType     PercentageDiscountIntervalFiltersField = "price_type"
	PercentageDiscountIntervalFiltersFieldCurrency      PercentageDiscountIntervalFiltersField = "currency"
	PercentageDiscountIntervalFiltersFieldPricingUnitID PercentageDiscountIntervalFiltersField = "pricing_unit_id"
)

func (PercentageDiscountIntervalFiltersField) IsKnown added in v1.30.0

type PercentageDiscountIntervalFiltersOperator added in v1.30.0

type PercentageDiscountIntervalFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PercentageDiscountIntervalFiltersOperatorIncludes PercentageDiscountIntervalFiltersOperator = "includes"
	PercentageDiscountIntervalFiltersOperatorExcludes PercentageDiscountIntervalFiltersOperator = "excludes"
)

func (PercentageDiscountIntervalFiltersOperator) IsKnown added in v1.30.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[[]PercentageDiscountFilterParam] `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 []PlanPhaseAmountDiscountAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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 PlanPhaseAmountDiscountAdjustmentFilter added in v1.30.0

type PlanPhaseAmountDiscountAdjustmentFilter struct {
	// The property of the price to filter on.
	Field PlanPhaseAmountDiscountAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PlanPhaseAmountDiscountAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                    `json:"values,required"`
	JSON   planPhaseAmountDiscountAdjustmentFilterJSON `json:"-"`
}

func (*PlanPhaseAmountDiscountAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type PlanPhaseAmountDiscountAdjustmentFiltersField added in v1.30.0

type PlanPhaseAmountDiscountAdjustmentFiltersField string

The property of the price to filter on.

const (
	PlanPhaseAmountDiscountAdjustmentFiltersFieldPriceID       PlanPhaseAmountDiscountAdjustmentFiltersField = "price_id"
	PlanPhaseAmountDiscountAdjustmentFiltersFieldItemID        PlanPhaseAmountDiscountAdjustmentFiltersField = "item_id"
	PlanPhaseAmountDiscountAdjustmentFiltersFieldPriceType     PlanPhaseAmountDiscountAdjustmentFiltersField = "price_type"
	PlanPhaseAmountDiscountAdjustmentFiltersFieldCurrency      PlanPhaseAmountDiscountAdjustmentFiltersField = "currency"
	PlanPhaseAmountDiscountAdjustmentFiltersFieldPricingUnitID PlanPhaseAmountDiscountAdjustmentFiltersField = "pricing_unit_id"
)

func (PlanPhaseAmountDiscountAdjustmentFiltersField) IsKnown added in v1.30.0

type PlanPhaseAmountDiscountAdjustmentFiltersOperator added in v1.30.0

type PlanPhaseAmountDiscountAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PlanPhaseAmountDiscountAdjustmentFiltersOperatorIncludes PlanPhaseAmountDiscountAdjustmentFiltersOperator = "includes"
	PlanPhaseAmountDiscountAdjustmentFiltersOperatorExcludes PlanPhaseAmountDiscountAdjustmentFiltersOperator = "excludes"
)

func (PlanPhaseAmountDiscountAdjustmentFiltersOperator) IsKnown added in v1.30.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 []PlanPhaseMaximumAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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 PlanPhaseMaximumAdjustmentFilter added in v1.30.0

type PlanPhaseMaximumAdjustmentFilter struct {
	// The property of the price to filter on.
	Field PlanPhaseMaximumAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PlanPhaseMaximumAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                             `json:"values,required"`
	JSON   planPhaseMaximumAdjustmentFilterJSON `json:"-"`
}

func (*PlanPhaseMaximumAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type PlanPhaseMaximumAdjustmentFiltersField added in v1.30.0

type PlanPhaseMaximumAdjustmentFiltersField string

The property of the price to filter on.

const (
	PlanPhaseMaximumAdjustmentFiltersFieldPriceID       PlanPhaseMaximumAdjustmentFiltersField = "price_id"
	PlanPhaseMaximumAdjustmentFiltersFieldItemID        PlanPhaseMaximumAdjustmentFiltersField = "item_id"
	PlanPhaseMaximumAdjustmentFiltersFieldPriceType     PlanPhaseMaximumAdjustmentFiltersField = "price_type"
	PlanPhaseMaximumAdjustmentFiltersFieldCurrency      PlanPhaseMaximumAdjustmentFiltersField = "currency"
	PlanPhaseMaximumAdjustmentFiltersFieldPricingUnitID PlanPhaseMaximumAdjustmentFiltersField = "pricing_unit_id"
)

func (PlanPhaseMaximumAdjustmentFiltersField) IsKnown added in v1.30.0

type PlanPhaseMaximumAdjustmentFiltersOperator added in v1.30.0

type PlanPhaseMaximumAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PlanPhaseMaximumAdjustmentFiltersOperatorIncludes PlanPhaseMaximumAdjustmentFiltersOperator = "includes"
	PlanPhaseMaximumAdjustmentFiltersOperatorExcludes PlanPhaseMaximumAdjustmentFiltersOperator = "excludes"
)

func (PlanPhaseMaximumAdjustmentFiltersOperator) IsKnown added in v1.30.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 []PlanPhaseMinimumAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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 PlanPhaseMinimumAdjustmentFilter added in v1.30.0

type PlanPhaseMinimumAdjustmentFilter struct {
	// The property of the price to filter on.
	Field PlanPhaseMinimumAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PlanPhaseMinimumAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                             `json:"values,required"`
	JSON   planPhaseMinimumAdjustmentFilterJSON `json:"-"`
}

func (*PlanPhaseMinimumAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type PlanPhaseMinimumAdjustmentFiltersField added in v1.30.0

type PlanPhaseMinimumAdjustmentFiltersField string

The property of the price to filter on.

const (
	PlanPhaseMinimumAdjustmentFiltersFieldPriceID       PlanPhaseMinimumAdjustmentFiltersField = "price_id"
	PlanPhaseMinimumAdjustmentFiltersFieldItemID        PlanPhaseMinimumAdjustmentFiltersField = "item_id"
	PlanPhaseMinimumAdjustmentFiltersFieldPriceType     PlanPhaseMinimumAdjustmentFiltersField = "price_type"
	PlanPhaseMinimumAdjustmentFiltersFieldCurrency      PlanPhaseMinimumAdjustmentFiltersField = "currency"
	PlanPhaseMinimumAdjustmentFiltersFieldPricingUnitID PlanPhaseMinimumAdjustmentFiltersField = "pricing_unit_id"
)

func (PlanPhaseMinimumAdjustmentFiltersField) IsKnown added in v1.30.0

type PlanPhaseMinimumAdjustmentFiltersOperator added in v1.30.0

type PlanPhaseMinimumAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PlanPhaseMinimumAdjustmentFiltersOperatorIncludes PlanPhaseMinimumAdjustmentFiltersOperator = "includes"
	PlanPhaseMinimumAdjustmentFiltersOperatorExcludes PlanPhaseMinimumAdjustmentFiltersOperator = "excludes"
)

func (PlanPhaseMinimumAdjustmentFiltersOperator) IsKnown added in v1.30.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 []PlanPhasePercentageDiscountAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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 PlanPhasePercentageDiscountAdjustmentFilter added in v1.30.0

type PlanPhasePercentageDiscountAdjustmentFilter struct {
	// The property of the price to filter on.
	Field PlanPhasePercentageDiscountAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PlanPhasePercentageDiscountAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                        `json:"values,required"`
	JSON   planPhasePercentageDiscountAdjustmentFilterJSON `json:"-"`
}

func (*PlanPhasePercentageDiscountAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type PlanPhasePercentageDiscountAdjustmentFiltersField added in v1.30.0

type PlanPhasePercentageDiscountAdjustmentFiltersField string

The property of the price to filter on.

const (
	PlanPhasePercentageDiscountAdjustmentFiltersFieldPriceID       PlanPhasePercentageDiscountAdjustmentFiltersField = "price_id"
	PlanPhasePercentageDiscountAdjustmentFiltersFieldItemID        PlanPhasePercentageDiscountAdjustmentFiltersField = "item_id"
	PlanPhasePercentageDiscountAdjustmentFiltersFieldPriceType     PlanPhasePercentageDiscountAdjustmentFiltersField = "price_type"
	PlanPhasePercentageDiscountAdjustmentFiltersFieldCurrency      PlanPhasePercentageDiscountAdjustmentFiltersField = "currency"
	PlanPhasePercentageDiscountAdjustmentFiltersFieldPricingUnitID PlanPhasePercentageDiscountAdjustmentFiltersField = "pricing_unit_id"
)

func (PlanPhasePercentageDiscountAdjustmentFiltersField) IsKnown added in v1.30.0

type PlanPhasePercentageDiscountAdjustmentFiltersOperator added in v1.30.0

type PlanPhasePercentageDiscountAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PlanPhasePercentageDiscountAdjustmentFiltersOperatorIncludes PlanPhasePercentageDiscountAdjustmentFiltersOperator = "includes"
	PlanPhasePercentageDiscountAdjustmentFiltersOperatorExcludes PlanPhasePercentageDiscountAdjustmentFiltersOperator = "excludes"
)

func (PlanPhasePercentageDiscountAdjustmentFiltersOperator) IsKnown added in v1.30.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 []PlanPhaseUsageDiscountAdjustmentFilter `json:"filters,required"`
	// True for adjustments that apply to an entire invoice, 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 PlanPhaseUsageDiscountAdjustmentFilter added in v1.30.0

type PlanPhaseUsageDiscountAdjustmentFilter struct {
	// The property of the price to filter on.
	Field PlanPhaseUsageDiscountAdjustmentFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PlanPhaseUsageDiscountAdjustmentFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                   `json:"values,required"`
	JSON   planPhaseUsageDiscountAdjustmentFilterJSON `json:"-"`
}

func (*PlanPhaseUsageDiscountAdjustmentFilter) UnmarshalJSON added in v1.30.0

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

type PlanPhaseUsageDiscountAdjustmentFiltersField added in v1.30.0

type PlanPhaseUsageDiscountAdjustmentFiltersField string

The property of the price to filter on.

const (
	PlanPhaseUsageDiscountAdjustmentFiltersFieldPriceID       PlanPhaseUsageDiscountAdjustmentFiltersField = "price_id"
	PlanPhaseUsageDiscountAdjustmentFiltersFieldItemID        PlanPhaseUsageDiscountAdjustmentFiltersField = "item_id"
	PlanPhaseUsageDiscountAdjustmentFiltersFieldPriceType     PlanPhaseUsageDiscountAdjustmentFiltersField = "price_type"
	PlanPhaseUsageDiscountAdjustmentFiltersFieldCurrency      PlanPhaseUsageDiscountAdjustmentFiltersField = "currency"
	PlanPhaseUsageDiscountAdjustmentFiltersFieldPricingUnitID PlanPhaseUsageDiscountAdjustmentFiltersField = "pricing_unit_id"
)

func (PlanPhaseUsageDiscountAdjustmentFiltersField) IsKnown added in v1.30.0

type PlanPhaseUsageDiscountAdjustmentFiltersOperator added in v1.30.0

type PlanPhaseUsageDiscountAdjustmentFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PlanPhaseUsageDiscountAdjustmentFiltersOperatorIncludes PlanPhaseUsageDiscountAdjustmentFiltersOperator = "includes"
	PlanPhaseUsageDiscountAdjustmentFiltersOperatorExcludes PlanPhaseUsageDiscountAdjustmentFiltersOperator = "excludes"
)

func (PlanPhaseUsageDiscountAdjustmentFiltersOperator) IsKnown added in v1.30.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"`
	BillingMode               PriceBillingMode          `json:"billing_mode,required"`
	Cadence                   PriceCadence              `json:"cadence,required"`
	// This field can have the runtime type of [[]PriceUnitPriceCompositePriceFilter],
	// [[]PriceTieredPriceCompositePriceFilter],
	// [[]PriceBulkPriceCompositePriceFilter],
	// [[]PriceBulkWithFiltersPriceCompositePriceFilter],
	// [[]PricePackagePriceCompositePriceFilter],
	// [[]PriceMatrixPriceCompositePriceFilter],
	// [[]PriceThresholdTotalAmountPriceCompositePriceFilter],
	// [[]PriceTieredPackagePriceCompositePriceFilter],
	// [[]PriceTieredWithMinimumPriceCompositePriceFilter],
	// [[]PriceGroupedTieredPriceCompositePriceFilter],
	// [[]PriceTieredPackageWithMinimumPriceCompositePriceFilter],
	// [[]PricePackageWithAllocationPriceCompositePriceFilter],
	// [[]PriceUnitWithPercentPriceCompositePriceFilter],
	// [[]PriceMatrixWithAllocationPriceCompositePriceFilter],
	// [[]PriceTieredWithProrationPriceCompositePriceFilter],
	// [[]PriceUnitWithProrationPriceCompositePriceFilter],
	// [[]PriceGroupedAllocationPriceCompositePriceFilter],
	// [[]PriceBulkWithProrationPriceCompositePriceFilter],
	// [[]PriceGroupedWithProratedMinimumPriceCompositePriceFilter],
	// [[]PriceGroupedWithMeteredMinimumPriceCompositePriceFilter],
	// [[]PriceGroupedWithMinMaxThresholdsPriceCompositePriceFilter],
	// [[]PriceMatrixWithDisplayNamePriceCompositePriceFilter],
	// [[]PriceGroupedTieredPackagePriceCompositePriceFilter],
	// [[]PriceMaxGroupTieredPackagePriceCompositePriceFilter],
	// [[]PriceScalableMatrixWithUnitPricingPriceCompositePriceFilter],
	// [[]PriceScalableMatrixWithTieredPricingPriceCompositePriceFilter],
	// [[]PriceCumulativeGroupedBulkPriceCompositePriceFilter],
	// [[]PriceMinimumCompositePriceCompositePriceFilter],
	// [[]PricePercentCompositePriceCompositePriceFilter],
	// [[]PriceEventOutputPriceCompositePriceFilter].
	CompositePriceFilters interface{} `json:"composite_price_filters,required"`
	ConversionRate        float64     `json:"conversion_rate,required,nullable"`
	// This field can have the runtime type of [PriceUnitPriceConversionRateConfig],
	// [PriceTieredPriceConversionRateConfig], [PriceBulkPriceConversionRateConfig],
	// [PriceBulkWithFiltersPriceConversionRateConfig],
	// [PricePackagePriceConversionRateConfig], [PriceMatrixPriceConversionRateConfig],
	// [PriceThresholdTotalAmountPriceConversionRateConfig],
	// [PriceTieredPackagePriceConversionRateConfig],
	// [PriceTieredWithMinimumPriceConversionRateConfig],
	// [PriceGroupedTieredPriceConversionRateConfig],
	// [PriceTieredPackageWithMinimumPriceConversionRateConfig],
	// [PricePackageWithAllocationPriceConversionRateConfig],
	// [PriceUnitWithPercentPriceConversionRateConfig],
	// [PriceMatrixWithAllocationPriceConversionRateConfig],
	// [PriceTieredWithProrationPriceConversionRateConfig],
	// [PriceUnitWithProrationPriceConversionRateConfig],
	// [PriceGroupedAllocationPriceConversionRateConfig],
	// [PriceBulkWithProrationPriceConversionRateConfig],
	// [PriceGroupedWithProratedMinimumPriceConversionRateConfig],
	// [PriceGroupedWithMeteredMinimumPriceConversionRateConfig],
	// [PriceGroupedWithMinMaxThresholdsPriceConversionRateConfig],
	// [PriceMatrixWithDisplayNamePriceConversionRateConfig],
	// [PriceGroupedTieredPackagePriceConversionRateConfig],
	// [PriceMaxGroupTieredPackagePriceConversionRateConfig],
	// [PriceScalableMatrixWithUnitPricingPriceConversionRateConfig],
	// [PriceScalableMatrixWithTieredPricingPriceConversionRateConfig],
	// [PriceCumulativeGroupedBulkPriceConversionRateConfig],
	// [PriceMinimumCompositePriceConversionRateConfig],
	// [PricePercentCompositePriceConversionRateConfig],
	// [PriceEventOutputPriceConversionRateConfig].
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for bulk pricing
	BulkConfig BulkConfig `json:"bulk_config"`
	// This field can have the runtime type of
	// [PriceBulkWithFiltersPriceBulkWithFiltersConfig].
	BulkWithFiltersConfig interface{} `json:"bulk_with_filters_config"`
	// This field can have the runtime type of
	// [PriceBulkWithProrationPriceBulkWithProrationConfig].
	BulkWithProrationConfig interface{} `json:"bulk_with_proration_config"`
	// This field can have the runtime type of
	// [PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfig].
	CumulativeGroupedBulkConfig   interface{}                   `json:"cumulative_grouped_bulk_config"`
	DimensionalPriceConfiguration DimensionalPriceConfiguration `json:"dimensional_price_configuration,nullable"`
	// This field can have the runtime type of
	// [PriceEventOutputPriceEventOutputConfig].
	EventOutputConfig interface{} `json:"event_output_config"`
	// This field can have the runtime type of
	// [PriceGroupedAllocationPriceGroupedAllocationConfig].
	GroupedAllocationConfig interface{} `json:"grouped_allocation_config"`
	// This field can have the runtime type of
	// [PriceGroupedTieredPriceGroupedTieredConfig].
	GroupedTieredConfig interface{} `json:"grouped_tiered_config"`
	// This field can have the runtime type of
	// [PriceGroupedTieredPackagePriceGroupedTieredPackageConfig].
	GroupedTieredPackageConfig interface{} `json:"grouped_tiered_package_config"`
	// This field can have the runtime type of
	// [PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfig].
	GroupedWithMeteredMinimumConfig interface{} `json:"grouped_with_metered_minimum_config"`
	// This field can have the runtime type of
	// [PriceGroupedWithMinMaxThresholdsPriceGroupedWithMinMaxThresholdsConfig].
	GroupedWithMinMaxThresholdsConfig interface{} `json:"grouped_with_min_max_thresholds_config"`
	// This field can have the runtime type of
	// [PriceGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfig].
	GroupedWithProratedMinimumConfig interface{} `json:"grouped_with_prorated_minimum_config"`
	// Configuration for matrix pricing
	MatrixConfig MatrixConfig `json:"matrix_config"`
	// Configuration for matrix_with_allocation pricing
	MatrixWithAllocationConfig MatrixWithAllocationConfig `json:"matrix_with_allocation_config"`
	// This field can have the runtime type of
	// [PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfig].
	MatrixWithDisplayNameConfig interface{} `json:"matrix_with_display_name_config"`
	// This field can have the runtime type of
	// [PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfig].
	MaxGroupTieredPackageConfig interface{} `json:"max_group_tiered_package_config"`
	// This field can have the runtime type of
	// [PriceMinimumCompositePriceMinimumConfig].
	MinimumConfig interface{} `json:"minimum_config"`
	// Configuration for package pricing
	PackageConfig PackageConfig `json:"package_config"`
	// This field can have the runtime type of
	// [PricePackageWithAllocationPricePackageWithAllocationConfig].
	PackageWithAllocationConfig interface{} `json:"package_with_allocation_config"`
	// This field can have the runtime type of
	// [PricePercentCompositePricePercentConfig].
	PercentConfig interface{} `json:"percent_config"`
	// This field can have the runtime type of
	// [PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfig].
	ScalableMatrixWithTieredPricingConfig interface{} `json:"scalable_matrix_with_tiered_pricing_config"`
	// This field can have the runtime type of
	// [PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfig].
	ScalableMatrixWithUnitPricingConfig interface{} `json:"scalable_matrix_with_unit_pricing_config"`
	// This field can have the runtime type of
	// [PriceThresholdTotalAmountPriceThresholdTotalAmountConfig].
	ThresholdTotalAmountConfig interface{} `json:"threshold_total_amount_config"`
	// Configuration for tiered pricing
	TieredConfig TieredConfig `json:"tiered_config"`
	// This field can have the runtime type of
	// [PriceTieredPackagePriceTieredPackageConfig].
	TieredPackageConfig interface{} `json:"tiered_package_config"`
	// This field can have the runtime type of
	// [PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfig].
	TieredPackageWithMinimumConfig interface{} `json:"tiered_package_with_minimum_config"`
	// This field can have the runtime type of
	// [PriceTieredWithMinimumPriceTieredWithMinimumConfig].
	TieredWithMinimumConfig interface{} `json:"tiered_with_minimum_config"`
	// This field can have the runtime type of
	// [PriceTieredWithProrationPriceTieredWithProrationConfig].
	TieredWithProrationConfig interface{} `json:"tiered_with_proration_config"`
	// Configuration for unit pricing
	UnitConfig UnitConfig `json:"unit_config"`
	// This field can have the runtime type of
	// [PriceUnitWithPercentPriceUnitWithPercentConfig].
	UnitWithPercentConfig interface{} `json:"unit_with_percent_config"`
	// This field can have the runtime type of
	// [PriceUnitWithProrationPriceUnitWithProrationConfig].
	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 PriceBillingMode added in v1.19.0

type PriceBillingMode string
const (
	PriceBillingModeInAdvance PriceBillingMode = "in_advance"
	PriceBillingModeInArrear  PriceBillingMode = "in_arrear"
)

func (PriceBillingMode) IsKnown added in v1.19.0

func (r PriceBillingMode) 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"`
	BillingMode               PriceBulkPriceBillingMode `json:"billing_mode,required"`
	// Configuration for bulk pricing
	BulkConfig            BulkConfig                           `json:"bulk_config,required"`
	Cadence               PriceBulkPriceCadence                `json:"cadence,required"`
	CompositePriceFilters []PriceBulkPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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 PriceBulkPriceBillingMode added in v1.19.0

type PriceBulkPriceBillingMode string
const (
	PriceBulkPriceBillingModeInAdvance PriceBulkPriceBillingMode = "in_advance"
	PriceBulkPriceBillingModeInArrear  PriceBulkPriceBillingMode = "in_arrear"
)

func (PriceBulkPriceBillingMode) IsKnown added in v1.19.0

func (r PriceBulkPriceBillingMode) IsKnown() bool

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 PriceBulkPriceCompositePriceFilter added in v1.30.0

type PriceBulkPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceBulkPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceBulkPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                               `json:"values,required"`
	JSON   priceBulkPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceBulkPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceBulkPriceCompositePriceFiltersField added in v1.30.0

type PriceBulkPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceBulkPriceCompositePriceFiltersFieldPriceID       PriceBulkPriceCompositePriceFiltersField = "price_id"
	PriceBulkPriceCompositePriceFiltersFieldItemID        PriceBulkPriceCompositePriceFiltersField = "item_id"
	PriceBulkPriceCompositePriceFiltersFieldPriceType     PriceBulkPriceCompositePriceFiltersField = "price_type"
	PriceBulkPriceCompositePriceFiltersFieldCurrency      PriceBulkPriceCompositePriceFiltersField = "currency"
	PriceBulkPriceCompositePriceFiltersFieldPricingUnitID PriceBulkPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceBulkPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceBulkPriceCompositePriceFiltersOperator added in v1.30.0

type PriceBulkPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceBulkPriceCompositePriceFiltersOperatorIncludes PriceBulkPriceCompositePriceFiltersOperator = "includes"
	PriceBulkPriceCompositePriceFiltersOperatorExcludes PriceBulkPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceBulkPriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

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

The pricing model type

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"
	PriceBulkPricePriceTypeCompositePrice PriceBulkPricePriceType = "composite_price"
)

func (PriceBulkPricePriceType) IsKnown added in v0.121.0

func (r PriceBulkPricePriceType) IsKnown() bool

type PriceBulkWithFiltersPrice added in v1.28.0

type PriceBulkWithFiltersPrice struct {
	ID                        string                               `json:"id,required"`
	BillableMetric            BillableMetricTiny                   `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration            `json:"billing_cycle_configuration,required"`
	BillingMode               PriceBulkWithFiltersPriceBillingMode `json:"billing_mode,required"`
	// Configuration for bulk_with_filters pricing
	BulkWithFiltersConfig PriceBulkWithFiltersPriceBulkWithFiltersConfig  `json:"bulk_with_filters_config,required"`
	Cadence               PriceBulkWithFiltersPriceCadence                `json:"cadence,required"`
	CompositePriceFilters []PriceBulkWithFiltersPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	ConversionRate        float64                                         `json:"conversion_rate,required,nullable"`
	ConversionRateConfig  PriceBulkWithFiltersPriceConversionRateConfig   `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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	ModelType      PriceBulkWithFiltersPriceModelType `json:"model_type,required"`
	Name           string                             `json:"name,required"`
	PlanPhaseOrder int64                              `json:"plan_phase_order,required,nullable"`
	PriceType      PriceBulkWithFiltersPricePriceType `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                          priceBulkWithFiltersPriceJSON `json:"-"`
}

func (*PriceBulkWithFiltersPrice) UnmarshalJSON added in v1.28.0

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

type PriceBulkWithFiltersPriceBillingMode added in v1.28.0

type PriceBulkWithFiltersPriceBillingMode string
const (
	PriceBulkWithFiltersPriceBillingModeInAdvance PriceBulkWithFiltersPriceBillingMode = "in_advance"
	PriceBulkWithFiltersPriceBillingModeInArrear  PriceBulkWithFiltersPriceBillingMode = "in_arrear"
)

func (PriceBulkWithFiltersPriceBillingMode) IsKnown added in v1.28.0

type PriceBulkWithFiltersPriceBulkWithFiltersConfig added in v1.28.0

type PriceBulkWithFiltersPriceBulkWithFiltersConfig struct {
	// Property filters to apply (all must match)
	Filters []PriceBulkWithFiltersPriceBulkWithFiltersConfigFilter `json:"filters,required"`
	// Bulk tiers for rating based on total usage volume
	Tiers []PriceBulkWithFiltersPriceBulkWithFiltersConfigTier `json:"tiers,required"`
	JSON  priceBulkWithFiltersPriceBulkWithFiltersConfigJSON   `json:"-"`
}

Configuration for bulk_with_filters pricing

func (*PriceBulkWithFiltersPriceBulkWithFiltersConfig) UnmarshalJSON added in v1.28.0

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

type PriceBulkWithFiltersPriceBulkWithFiltersConfigFilter added in v1.28.0

type PriceBulkWithFiltersPriceBulkWithFiltersConfigFilter struct {
	// Event property key to filter on
	PropertyKey string `json:"property_key,required"`
	// Event property value to match
	PropertyValue string                                                   `json:"property_value,required"`
	JSON          priceBulkWithFiltersPriceBulkWithFiltersConfigFilterJSON `json:"-"`
}

Configuration for a single property filter

func (*PriceBulkWithFiltersPriceBulkWithFiltersConfigFilter) UnmarshalJSON added in v1.28.0

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

type PriceBulkWithFiltersPriceBulkWithFiltersConfigTier added in v1.28.0

type PriceBulkWithFiltersPriceBulkWithFiltersConfigTier struct {
	// Amount per unit
	UnitAmount string `json:"unit_amount,required"`
	// The lower bound for this tier
	TierLowerBound string                                                 `json:"tier_lower_bound,nullable"`
	JSON           priceBulkWithFiltersPriceBulkWithFiltersConfigTierJSON `json:"-"`
}

Configuration for a single bulk pricing tier

func (*PriceBulkWithFiltersPriceBulkWithFiltersConfigTier) UnmarshalJSON added in v1.28.0

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

type PriceBulkWithFiltersPriceCadence added in v1.28.0

type PriceBulkWithFiltersPriceCadence string
const (
	PriceBulkWithFiltersPriceCadenceOneTime    PriceBulkWithFiltersPriceCadence = "one_time"
	PriceBulkWithFiltersPriceCadenceMonthly    PriceBulkWithFiltersPriceCadence = "monthly"
	PriceBulkWithFiltersPriceCadenceQuarterly  PriceBulkWithFiltersPriceCadence = "quarterly"
	PriceBulkWithFiltersPriceCadenceSemiAnnual PriceBulkWithFiltersPriceCadence = "semi_annual"
	PriceBulkWithFiltersPriceCadenceAnnual     PriceBulkWithFiltersPriceCadence = "annual"
	PriceBulkWithFiltersPriceCadenceCustom     PriceBulkWithFiltersPriceCadence = "custom"
)

func (PriceBulkWithFiltersPriceCadence) IsKnown added in v1.28.0

type PriceBulkWithFiltersPriceCompositePriceFilter added in v1.30.0

type PriceBulkWithFiltersPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceBulkWithFiltersPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceBulkWithFiltersPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                          `json:"values,required"`
	JSON   priceBulkWithFiltersPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceBulkWithFiltersPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceBulkWithFiltersPriceCompositePriceFiltersField added in v1.30.0

type PriceBulkWithFiltersPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceBulkWithFiltersPriceCompositePriceFiltersFieldPriceID       PriceBulkWithFiltersPriceCompositePriceFiltersField = "price_id"
	PriceBulkWithFiltersPriceCompositePriceFiltersFieldItemID        PriceBulkWithFiltersPriceCompositePriceFiltersField = "item_id"
	PriceBulkWithFiltersPriceCompositePriceFiltersFieldPriceType     PriceBulkWithFiltersPriceCompositePriceFiltersField = "price_type"
	PriceBulkWithFiltersPriceCompositePriceFiltersFieldCurrency      PriceBulkWithFiltersPriceCompositePriceFiltersField = "currency"
	PriceBulkWithFiltersPriceCompositePriceFiltersFieldPricingUnitID PriceBulkWithFiltersPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceBulkWithFiltersPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceBulkWithFiltersPriceCompositePriceFiltersOperator added in v1.30.0

type PriceBulkWithFiltersPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceBulkWithFiltersPriceCompositePriceFiltersOperatorIncludes PriceBulkWithFiltersPriceCompositePriceFiltersOperator = "includes"
	PriceBulkWithFiltersPriceCompositePriceFiltersOperatorExcludes PriceBulkWithFiltersPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceBulkWithFiltersPriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

type PriceBulkWithFiltersPriceConversionRateConfig added in v1.28.0

type PriceBulkWithFiltersPriceConversionRateConfig struct {
	ConversionRateType PriceBulkWithFiltersPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                      `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                        `json:"unit_config"`
	JSON               priceBulkWithFiltersPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceBulkWithFiltersPriceConversionRateConfig) AsUnion added in v1.28.0

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

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceBulkWithFiltersPriceConversionRateConfig) UnmarshalJSON added in v1.28.0

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

type PriceBulkWithFiltersPriceConversionRateConfigConversionRateType added in v1.28.0

type PriceBulkWithFiltersPriceConversionRateConfigConversionRateType string
const (
	PriceBulkWithFiltersPriceConversionRateConfigConversionRateTypeUnit   PriceBulkWithFiltersPriceConversionRateConfigConversionRateType = "unit"
	PriceBulkWithFiltersPriceConversionRateConfigConversionRateTypeTiered PriceBulkWithFiltersPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceBulkWithFiltersPriceConversionRateConfigConversionRateType) IsKnown added in v1.28.0

type PriceBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

type PriceBulkWithFiltersPriceConversionRateConfigUnion interface {
	ImplementsPriceBulkWithFiltersPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceBulkWithFiltersPriceModelType added in v1.28.0

type PriceBulkWithFiltersPriceModelType string

The pricing model type

const (
	PriceBulkWithFiltersPriceModelTypeBulkWithFilters PriceBulkWithFiltersPriceModelType = "bulk_with_filters"
)

func (PriceBulkWithFiltersPriceModelType) IsKnown added in v1.28.0

type PriceBulkWithFiltersPricePriceType added in v1.28.0

type PriceBulkWithFiltersPricePriceType string
const (
	PriceBulkWithFiltersPricePriceTypeUsagePrice     PriceBulkWithFiltersPricePriceType = "usage_price"
	PriceBulkWithFiltersPricePriceTypeFixedPrice     PriceBulkWithFiltersPricePriceType = "fixed_price"
	PriceBulkWithFiltersPricePriceTypeCompositePrice PriceBulkWithFiltersPricePriceType = "composite_price"
)

func (PriceBulkWithFiltersPricePriceType) IsKnown added in v1.28.0

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"`
	BillingMode               PriceBulkWithProrationPriceBillingMode `json:"billing_mode,required"`
	// Configuration for bulk_with_proration pricing
	BulkWithProrationConfig PriceBulkWithProrationPriceBulkWithProrationConfig `json:"bulk_with_proration_config,required"`
	Cadence                 PriceBulkWithProrationPriceCadence                 `json:"cadence,required"`
	CompositePriceFilters   []PriceBulkWithProrationPriceCompositePriceFilter  `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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 PriceBulkWithProrationPriceBillingMode added in v1.19.0

type PriceBulkWithProrationPriceBillingMode string
const (
	PriceBulkWithProrationPriceBillingModeInAdvance PriceBulkWithProrationPriceBillingMode = "in_advance"
	PriceBulkWithProrationPriceBillingModeInArrear  PriceBulkWithProrationPriceBillingMode = "in_arrear"
)

func (PriceBulkWithProrationPriceBillingMode) IsKnown added in v1.19.0

type PriceBulkWithProrationPriceBulkWithProrationConfig added in v1.15.0

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

Configuration for bulk_with_proration pricing

func (*PriceBulkWithProrationPriceBulkWithProrationConfig) UnmarshalJSON added in v1.15.0

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

type PriceBulkWithProrationPriceBulkWithProrationConfigTier added in v1.15.0

type PriceBulkWithProrationPriceBulkWithProrationConfigTier struct {
	// Cost per unit
	UnitAmount string `json:"unit_amount,required"`
	// The lower bound for this tier
	TierLowerBound string                                                     `json:"tier_lower_bound,nullable"`
	JSON           priceBulkWithProrationPriceBulkWithProrationConfigTierJSON `json:"-"`
}

Configuration for a single bulk pricing tier with proration

func (*PriceBulkWithProrationPriceBulkWithProrationConfigTier) UnmarshalJSON added in v1.15.0

func (r *PriceBulkWithProrationPriceBulkWithProrationConfigTier) 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 PriceBulkWithProrationPriceCompositePriceFilter added in v1.30.0

type PriceBulkWithProrationPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceBulkWithProrationPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceBulkWithProrationPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                            `json:"values,required"`
	JSON   priceBulkWithProrationPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceBulkWithProrationPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceBulkWithProrationPriceCompositePriceFiltersField added in v1.30.0

type PriceBulkWithProrationPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceBulkWithProrationPriceCompositePriceFiltersFieldPriceID       PriceBulkWithProrationPriceCompositePriceFiltersField = "price_id"
	PriceBulkWithProrationPriceCompositePriceFiltersFieldItemID        PriceBulkWithProrationPriceCompositePriceFiltersField = "item_id"
	PriceBulkWithProrationPriceCompositePriceFiltersFieldPriceType     PriceBulkWithProrationPriceCompositePriceFiltersField = "price_type"
	PriceBulkWithProrationPriceCompositePriceFiltersFieldCurrency      PriceBulkWithProrationPriceCompositePriceFiltersField = "currency"
	PriceBulkWithProrationPriceCompositePriceFiltersFieldPricingUnitID PriceBulkWithProrationPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceBulkWithProrationPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceBulkWithProrationPriceCompositePriceFiltersOperator added in v1.30.0

type PriceBulkWithProrationPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceBulkWithProrationPriceCompositePriceFiltersOperatorIncludes PriceBulkWithProrationPriceCompositePriceFiltersOperator = "includes"
	PriceBulkWithProrationPriceCompositePriceFiltersOperatorExcludes PriceBulkWithProrationPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceBulkWithProrationPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceBulkWithProrationPricePriceTypeCompositePrice PriceBulkWithProrationPricePriceType = "composite_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"`
	BillingMode               PriceCumulativeGroupedBulkPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceCumulativeGroupedBulkPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceCumulativeGroupedBulkPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// Configuration for cumulative_grouped_bulk pricing
	CumulativeGroupedBulkConfig PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfig `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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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 PriceCumulativeGroupedBulkPriceBillingMode added in v1.19.0

type PriceCumulativeGroupedBulkPriceBillingMode string
const (
	PriceCumulativeGroupedBulkPriceBillingModeInAdvance PriceCumulativeGroupedBulkPriceBillingMode = "in_advance"
	PriceCumulativeGroupedBulkPriceBillingModeInArrear  PriceCumulativeGroupedBulkPriceBillingMode = "in_arrear"
)

func (PriceCumulativeGroupedBulkPriceBillingMode) IsKnown added in v1.19.0

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 PriceCumulativeGroupedBulkPriceCompositePriceFilter added in v1.30.0

type PriceCumulativeGroupedBulkPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceCumulativeGroupedBulkPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceCumulativeGroupedBulkPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                `json:"values,required"`
	JSON   priceCumulativeGroupedBulkPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceCumulativeGroupedBulkPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceCumulativeGroupedBulkPriceCompositePriceFiltersField added in v1.30.0

type PriceCumulativeGroupedBulkPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceCumulativeGroupedBulkPriceCompositePriceFiltersFieldPriceID       PriceCumulativeGroupedBulkPriceCompositePriceFiltersField = "price_id"
	PriceCumulativeGroupedBulkPriceCompositePriceFiltersFieldItemID        PriceCumulativeGroupedBulkPriceCompositePriceFiltersField = "item_id"
	PriceCumulativeGroupedBulkPriceCompositePriceFiltersFieldPriceType     PriceCumulativeGroupedBulkPriceCompositePriceFiltersField = "price_type"
	PriceCumulativeGroupedBulkPriceCompositePriceFiltersFieldCurrency      PriceCumulativeGroupedBulkPriceCompositePriceFiltersField = "currency"
	PriceCumulativeGroupedBulkPriceCompositePriceFiltersFieldPricingUnitID PriceCumulativeGroupedBulkPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceCumulativeGroupedBulkPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceCumulativeGroupedBulkPriceCompositePriceFiltersOperator added in v1.30.0

type PriceCumulativeGroupedBulkPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceCumulativeGroupedBulkPriceCompositePriceFiltersOperatorIncludes PriceCumulativeGroupedBulkPriceCompositePriceFiltersOperator = "includes"
	PriceCumulativeGroupedBulkPriceCompositePriceFiltersOperatorExcludes PriceCumulativeGroupedBulkPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceCumulativeGroupedBulkPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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 PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfig added in v1.15.0

type PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfig struct {
	// Each tier lower bound must have the same group of values.
	DimensionValues []PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValue `json:"dimension_values,required"`
	// Grouping key name
	Group string                                                         `json:"group,required"`
	JSON  priceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigJSON `json:"-"`
}

Configuration for cumulative_grouped_bulk pricing

func (*PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfig) UnmarshalJSON added in v1.15.0

type PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValue added in v1.15.0

type PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValue struct {
	// Grouping key value
	GroupingKey string `json:"grouping_key,required"`
	// Tier lower bound
	TierLowerBound string `json:"tier_lower_bound,required"`
	// Unit amount for this combination
	UnitAmount string                                                                       `json:"unit_amount,required"`
	JSON       priceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValueJSON `json:"-"`
}

Configuration for a dimension value entry

func (*PriceCumulativeGroupedBulkPriceCumulativeGroupedBulkConfigDimensionValue) UnmarshalJSON added in v1.15.0

type PriceCumulativeGroupedBulkPriceModelType added in v0.121.0

type PriceCumulativeGroupedBulkPriceModelType string

The pricing model type

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"
	PriceCumulativeGroupedBulkPricePriceTypeCompositePrice PriceCumulativeGroupedBulkPricePriceType = "composite_price"
)

func (PriceCumulativeGroupedBulkPricePriceType) IsKnown added in v0.121.0

type PriceEventOutputPrice added in v1.25.0

type PriceEventOutputPrice struct {
	ID                        string                                      `json:"id,required"`
	BillableMetric            BillableMetricTiny                          `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                   `json:"billing_cycle_configuration,required"`
	BillingMode               PriceEventOutputPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceEventOutputPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceEventOutputPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	ConversionRate            float64                                     `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceEventOutputPriceConversionRateConfig   `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"`
	// Configuration for event_output pricing
	EventOutputConfig           PriceEventOutputPriceEventOutputConfig `json:"event_output_config,required"`
	ExternalPriceID             string                                 `json:"external_price_id,required,nullable"`
	FixedPriceQuantity          float64                                `json:"fixed_price_quantity,required,nullable"`
	InvoicingCycleConfiguration BillingCycleConfiguration              `json:"invoicing_cycle_configuration,required,nullable"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	ModelType      PriceEventOutputPriceModelType `json:"model_type,required"`
	Name           string                         `json:"name,required"`
	PlanPhaseOrder int64                          `json:"plan_phase_order,required,nullable"`
	PriceType      PriceEventOutputPricePriceType `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                          priceEventOutputPriceJSON     `json:"-"`
}

func (*PriceEventOutputPrice) UnmarshalJSON added in v1.25.0

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

type PriceEventOutputPriceBillingMode added in v1.25.0

type PriceEventOutputPriceBillingMode string
const (
	PriceEventOutputPriceBillingModeInAdvance PriceEventOutputPriceBillingMode = "in_advance"
	PriceEventOutputPriceBillingModeInArrear  PriceEventOutputPriceBillingMode = "in_arrear"
)

func (PriceEventOutputPriceBillingMode) IsKnown added in v1.25.0

type PriceEventOutputPriceCadence added in v1.25.0

type PriceEventOutputPriceCadence string
const (
	PriceEventOutputPriceCadenceOneTime    PriceEventOutputPriceCadence = "one_time"
	PriceEventOutputPriceCadenceMonthly    PriceEventOutputPriceCadence = "monthly"
	PriceEventOutputPriceCadenceQuarterly  PriceEventOutputPriceCadence = "quarterly"
	PriceEventOutputPriceCadenceSemiAnnual PriceEventOutputPriceCadence = "semi_annual"
	PriceEventOutputPriceCadenceAnnual     PriceEventOutputPriceCadence = "annual"
	PriceEventOutputPriceCadenceCustom     PriceEventOutputPriceCadence = "custom"
)

func (PriceEventOutputPriceCadence) IsKnown added in v1.25.0

func (r PriceEventOutputPriceCadence) IsKnown() bool

type PriceEventOutputPriceCompositePriceFilter added in v1.30.0

type PriceEventOutputPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceEventOutputPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceEventOutputPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                      `json:"values,required"`
	JSON   priceEventOutputPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceEventOutputPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceEventOutputPriceCompositePriceFiltersField added in v1.30.0

type PriceEventOutputPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceEventOutputPriceCompositePriceFiltersFieldPriceID       PriceEventOutputPriceCompositePriceFiltersField = "price_id"
	PriceEventOutputPriceCompositePriceFiltersFieldItemID        PriceEventOutputPriceCompositePriceFiltersField = "item_id"
	PriceEventOutputPriceCompositePriceFiltersFieldPriceType     PriceEventOutputPriceCompositePriceFiltersField = "price_type"
	PriceEventOutputPriceCompositePriceFiltersFieldCurrency      PriceEventOutputPriceCompositePriceFiltersField = "currency"
	PriceEventOutputPriceCompositePriceFiltersFieldPricingUnitID PriceEventOutputPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceEventOutputPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceEventOutputPriceCompositePriceFiltersOperator added in v1.30.0

type PriceEventOutputPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceEventOutputPriceCompositePriceFiltersOperatorIncludes PriceEventOutputPriceCompositePriceFiltersOperator = "includes"
	PriceEventOutputPriceCompositePriceFiltersOperatorExcludes PriceEventOutputPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceEventOutputPriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

type PriceEventOutputPriceConversionRateConfig added in v1.25.0

type PriceEventOutputPriceConversionRateConfig struct {
	ConversionRateType PriceEventOutputPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                  `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                    `json:"unit_config"`
	JSON               priceEventOutputPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceEventOutputPriceConversionRateConfig) AsUnion added in v1.25.0

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

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceEventOutputPriceConversionRateConfig) UnmarshalJSON added in v1.25.0

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

type PriceEventOutputPriceConversionRateConfigConversionRateType added in v1.25.0

type PriceEventOutputPriceConversionRateConfigConversionRateType string
const (
	PriceEventOutputPriceConversionRateConfigConversionRateTypeUnit   PriceEventOutputPriceConversionRateConfigConversionRateType = "unit"
	PriceEventOutputPriceConversionRateConfigConversionRateTypeTiered PriceEventOutputPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceEventOutputPriceConversionRateConfigConversionRateType) IsKnown added in v1.25.0

type PriceEventOutputPriceConversionRateConfigUnion added in v1.25.0

type PriceEventOutputPriceConversionRateConfigUnion interface {
	ImplementsPriceEventOutputPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceEventOutputPriceEventOutputConfig added in v1.25.0

type PriceEventOutputPriceEventOutputConfig struct {
	// The key in the event data to extract the unit rate from.
	UnitRatingKey string `json:"unit_rating_key,required"`
	// If provided, this amount will be used as the unit rate when an event does not
	// have a value for the `unit_rating_key`. If not provided, events missing a unit
	// rate will be ignored.
	DefaultUnitRate string `json:"default_unit_rate,nullable"`
	// An optional key in the event data to group by (e.g., event ID). All events will
	// also be grouped by their unit rate.
	GroupingKey string                                     `json:"grouping_key,nullable"`
	JSON        priceEventOutputPriceEventOutputConfigJSON `json:"-"`
}

Configuration for event_output pricing

func (*PriceEventOutputPriceEventOutputConfig) UnmarshalJSON added in v1.25.0

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

type PriceEventOutputPriceModelType added in v1.25.0

type PriceEventOutputPriceModelType string

The pricing model type

const (
	PriceEventOutputPriceModelTypeEventOutput PriceEventOutputPriceModelType = "event_output"
)

func (PriceEventOutputPriceModelType) IsKnown added in v1.25.0

type PriceEventOutputPricePriceType added in v1.25.0

type PriceEventOutputPricePriceType string
const (
	PriceEventOutputPricePriceTypeUsagePrice     PriceEventOutputPricePriceType = "usage_price"
	PriceEventOutputPricePriceTypeFixedPrice     PriceEventOutputPricePriceType = "fixed_price"
	PriceEventOutputPricePriceTypeCompositePrice PriceEventOutputPricePriceType = "composite_price"
)

func (PriceEventOutputPricePriceType) IsKnown added in v1.25.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"`
	BillingMode               PriceGroupedAllocationPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceGroupedAllocationPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceGroupedAllocationPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// Configuration for grouped_allocation pricing
	GroupedAllocationConfig     PriceGroupedAllocationPriceGroupedAllocationConfig `json:"grouped_allocation_config,required"`
	InvoicingCycleConfiguration BillingCycleConfiguration                          `json:"invoicing_cycle_configuration,required,nullable"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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 PriceGroupedAllocationPriceBillingMode added in v1.19.0

type PriceGroupedAllocationPriceBillingMode string
const (
	PriceGroupedAllocationPriceBillingModeInAdvance PriceGroupedAllocationPriceBillingMode = "in_advance"
	PriceGroupedAllocationPriceBillingModeInArrear  PriceGroupedAllocationPriceBillingMode = "in_arrear"
)

func (PriceGroupedAllocationPriceBillingMode) IsKnown added in v1.19.0

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 PriceGroupedAllocationPriceCompositePriceFilter added in v1.30.0

type PriceGroupedAllocationPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceGroupedAllocationPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceGroupedAllocationPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                            `json:"values,required"`
	JSON   priceGroupedAllocationPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceGroupedAllocationPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceGroupedAllocationPriceCompositePriceFiltersField added in v1.30.0

type PriceGroupedAllocationPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceGroupedAllocationPriceCompositePriceFiltersFieldPriceID       PriceGroupedAllocationPriceCompositePriceFiltersField = "price_id"
	PriceGroupedAllocationPriceCompositePriceFiltersFieldItemID        PriceGroupedAllocationPriceCompositePriceFiltersField = "item_id"
	PriceGroupedAllocationPriceCompositePriceFiltersFieldPriceType     PriceGroupedAllocationPriceCompositePriceFiltersField = "price_type"
	PriceGroupedAllocationPriceCompositePriceFiltersFieldCurrency      PriceGroupedAllocationPriceCompositePriceFiltersField = "currency"
	PriceGroupedAllocationPriceCompositePriceFiltersFieldPricingUnitID PriceGroupedAllocationPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceGroupedAllocationPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceGroupedAllocationPriceCompositePriceFiltersOperator added in v1.30.0

type PriceGroupedAllocationPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceGroupedAllocationPriceCompositePriceFiltersOperatorIncludes PriceGroupedAllocationPriceCompositePriceFiltersOperator = "includes"
	PriceGroupedAllocationPriceCompositePriceFiltersOperatorExcludes PriceGroupedAllocationPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceGroupedAllocationPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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 PriceGroupedAllocationPriceGroupedAllocationConfig added in v1.15.0

type PriceGroupedAllocationPriceGroupedAllocationConfig struct {
	// Usage allocation per group
	Allocation string `json:"allocation,required"`
	// How to determine the groups that should each be allocated some quantity
	GroupingKey string `json:"grouping_key,required"`
	// Unit rate for post-allocation
	OverageUnitRate string                                                 `json:"overage_unit_rate,required"`
	JSON            priceGroupedAllocationPriceGroupedAllocationConfigJSON `json:"-"`
}

Configuration for grouped_allocation pricing

func (*PriceGroupedAllocationPriceGroupedAllocationConfig) UnmarshalJSON added in v1.15.0

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

type PriceGroupedAllocationPriceModelType added in v0.121.0

type PriceGroupedAllocationPriceModelType string

The pricing model type

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"
	PriceGroupedAllocationPricePriceTypeCompositePrice PriceGroupedAllocationPricePriceType = "composite_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"`
	BillingMode               PriceGroupedTieredPackagePriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceGroupedTieredPackagePriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceGroupedTieredPackagePriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// Configuration for grouped_tiered_package pricing
	GroupedTieredPackageConfig  PriceGroupedTieredPackagePriceGroupedTieredPackageConfig `json:"grouped_tiered_package_config,required"`
	InvoicingCycleConfiguration BillingCycleConfiguration                                `json:"invoicing_cycle_configuration,required,nullable"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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 PriceGroupedTieredPackagePriceBillingMode added in v1.19.0

type PriceGroupedTieredPackagePriceBillingMode string
const (
	PriceGroupedTieredPackagePriceBillingModeInAdvance PriceGroupedTieredPackagePriceBillingMode = "in_advance"
	PriceGroupedTieredPackagePriceBillingModeInArrear  PriceGroupedTieredPackagePriceBillingMode = "in_arrear"
)

func (PriceGroupedTieredPackagePriceBillingMode) IsKnown added in v1.19.0

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 PriceGroupedTieredPackagePriceCompositePriceFilter added in v1.30.0

type PriceGroupedTieredPackagePriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceGroupedTieredPackagePriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceGroupedTieredPackagePriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                               `json:"values,required"`
	JSON   priceGroupedTieredPackagePriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceGroupedTieredPackagePriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceGroupedTieredPackagePriceCompositePriceFiltersField added in v1.30.0

type PriceGroupedTieredPackagePriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceGroupedTieredPackagePriceCompositePriceFiltersFieldPriceID       PriceGroupedTieredPackagePriceCompositePriceFiltersField = "price_id"
	PriceGroupedTieredPackagePriceCompositePriceFiltersFieldItemID        PriceGroupedTieredPackagePriceCompositePriceFiltersField = "item_id"
	PriceGroupedTieredPackagePriceCompositePriceFiltersFieldPriceType     PriceGroupedTieredPackagePriceCompositePriceFiltersField = "price_type"
	PriceGroupedTieredPackagePriceCompositePriceFiltersFieldCurrency      PriceGroupedTieredPackagePriceCompositePriceFiltersField = "currency"
	PriceGroupedTieredPackagePriceCompositePriceFiltersFieldPricingUnitID PriceGroupedTieredPackagePriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceGroupedTieredPackagePriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceGroupedTieredPackagePriceCompositePriceFiltersOperator added in v1.30.0

type PriceGroupedTieredPackagePriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceGroupedTieredPackagePriceCompositePriceFiltersOperatorIncludes PriceGroupedTieredPackagePriceCompositePriceFiltersOperator = "includes"
	PriceGroupedTieredPackagePriceCompositePriceFiltersOperatorExcludes PriceGroupedTieredPackagePriceCompositePriceFiltersOperator = "excludes"
)

func (PriceGroupedTieredPackagePriceCompositePriceFiltersOperator) IsKnown added in v1.30.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 PriceGroupedTieredPackagePriceGroupedTieredPackageConfig added in v1.15.0

type PriceGroupedTieredPackagePriceGroupedTieredPackageConfig struct {
	// The event property used to group before tiering
	GroupingKey string `json:"grouping_key,required"`
	// Package size
	PackageSize string `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds.
	Tiers []PriceGroupedTieredPackagePriceGroupedTieredPackageConfigTier `json:"tiers,required"`
	JSON  priceGroupedTieredPackagePriceGroupedTieredPackageConfigJSON   `json:"-"`
}

Configuration for grouped_tiered_package pricing

func (*PriceGroupedTieredPackagePriceGroupedTieredPackageConfig) UnmarshalJSON added in v1.15.0

type PriceGroupedTieredPackagePriceGroupedTieredPackageConfigTier added in v1.15.0

type PriceGroupedTieredPackagePriceGroupedTieredPackageConfigTier struct {
	// Price per package
	PerUnit string `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound string                                                           `json:"tier_lower_bound,required"`
	JSON           priceGroupedTieredPackagePriceGroupedTieredPackageConfigTierJSON `json:"-"`
}

Configuration for a single tier

func (*PriceGroupedTieredPackagePriceGroupedTieredPackageConfigTier) UnmarshalJSON added in v1.15.0

type PriceGroupedTieredPackagePriceModelType added in v0.121.0

type PriceGroupedTieredPackagePriceModelType string

The pricing model type

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"
	PriceGroupedTieredPackagePricePriceTypeCompositePrice PriceGroupedTieredPackagePricePriceType = "composite_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"`
	BillingMode               PriceGroupedTieredPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceGroupedTieredPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceGroupedTieredPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// Configuration for grouped_tiered pricing
	GroupedTieredConfig         PriceGroupedTieredPriceGroupedTieredConfig `json:"grouped_tiered_config,required"`
	InvoicingCycleConfiguration BillingCycleConfiguration                  `json:"invoicing_cycle_configuration,required,nullable"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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 PriceGroupedTieredPriceBillingMode added in v1.19.0

type PriceGroupedTieredPriceBillingMode string
const (
	PriceGroupedTieredPriceBillingModeInAdvance PriceGroupedTieredPriceBillingMode = "in_advance"
	PriceGroupedTieredPriceBillingModeInArrear  PriceGroupedTieredPriceBillingMode = "in_arrear"
)

func (PriceGroupedTieredPriceBillingMode) IsKnown added in v1.19.0

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 PriceGroupedTieredPriceCompositePriceFilter added in v1.30.0

type PriceGroupedTieredPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceGroupedTieredPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceGroupedTieredPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                        `json:"values,required"`
	JSON   priceGroupedTieredPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceGroupedTieredPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceGroupedTieredPriceCompositePriceFiltersField added in v1.30.0

type PriceGroupedTieredPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceGroupedTieredPriceCompositePriceFiltersFieldPriceID       PriceGroupedTieredPriceCompositePriceFiltersField = "price_id"
	PriceGroupedTieredPriceCompositePriceFiltersFieldItemID        PriceGroupedTieredPriceCompositePriceFiltersField = "item_id"
	PriceGroupedTieredPriceCompositePriceFiltersFieldPriceType     PriceGroupedTieredPriceCompositePriceFiltersField = "price_type"
	PriceGroupedTieredPriceCompositePriceFiltersFieldCurrency      PriceGroupedTieredPriceCompositePriceFiltersField = "currency"
	PriceGroupedTieredPriceCompositePriceFiltersFieldPricingUnitID PriceGroupedTieredPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceGroupedTieredPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceGroupedTieredPriceCompositePriceFiltersOperator added in v1.30.0

type PriceGroupedTieredPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceGroupedTieredPriceCompositePriceFiltersOperatorIncludes PriceGroupedTieredPriceCompositePriceFiltersOperator = "includes"
	PriceGroupedTieredPriceCompositePriceFiltersOperatorExcludes PriceGroupedTieredPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceGroupedTieredPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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 PriceGroupedTieredPriceGroupedTieredConfig added in v1.15.0

type PriceGroupedTieredPriceGroupedTieredConfig struct {
	// The billable metric property used to group before tiering
	GroupingKey string `json:"grouping_key,required"`
	// Apply tiered pricing to each segment generated after grouping with the provided
	// key
	Tiers []PriceGroupedTieredPriceGroupedTieredConfigTier `json:"tiers,required"`
	JSON  priceGroupedTieredPriceGroupedTieredConfigJSON   `json:"-"`
}

Configuration for grouped_tiered pricing

func (*PriceGroupedTieredPriceGroupedTieredConfig) UnmarshalJSON added in v1.15.0

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

type PriceGroupedTieredPriceGroupedTieredConfigTier added in v1.15.0

type PriceGroupedTieredPriceGroupedTieredConfigTier struct {
	// Tier lower bound
	TierLowerBound string `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount string                                             `json:"unit_amount,required"`
	JSON       priceGroupedTieredPriceGroupedTieredConfigTierJSON `json:"-"`
}

Configuration for a single tier

func (*PriceGroupedTieredPriceGroupedTieredConfigTier) UnmarshalJSON added in v1.15.0

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

type PriceGroupedTieredPriceModelType added in v0.121.0

type PriceGroupedTieredPriceModelType string

The pricing model type

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"
	PriceGroupedTieredPricePriceTypeCompositePrice PriceGroupedTieredPricePriceType = "composite_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"`
	BillingMode               PriceGroupedWithMeteredMinimumPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceGroupedWithMeteredMinimumPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceGroupedWithMeteredMinimumPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// Configuration for grouped_with_metered_minimum pricing
	GroupedWithMeteredMinimumConfig PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfig `json:"grouped_with_metered_minimum_config,required"`
	InvoicingCycleConfiguration     BillingCycleConfiguration                                          `json:"invoicing_cycle_configuration,required,nullable"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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 PriceGroupedWithMeteredMinimumPriceBillingMode added in v1.19.0

type PriceGroupedWithMeteredMinimumPriceBillingMode string
const (
	PriceGroupedWithMeteredMinimumPriceBillingModeInAdvance PriceGroupedWithMeteredMinimumPriceBillingMode = "in_advance"
	PriceGroupedWithMeteredMinimumPriceBillingModeInArrear  PriceGroupedWithMeteredMinimumPriceBillingMode = "in_arrear"
)

func (PriceGroupedWithMeteredMinimumPriceBillingMode) IsKnown added in v1.19.0

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 PriceGroupedWithMeteredMinimumPriceCompositePriceFilter added in v1.30.0

type PriceGroupedWithMeteredMinimumPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                    `json:"values,required"`
	JSON   priceGroupedWithMeteredMinimumPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceGroupedWithMeteredMinimumPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

type PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField added in v1.30.0

type PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersFieldPriceID       PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField = "price_id"
	PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersFieldItemID        PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField = "item_id"
	PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersFieldPriceType     PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField = "price_type"
	PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersFieldCurrency      PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField = "currency"
	PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersFieldPricingUnitID PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersOperator added in v1.30.0

type PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersOperatorIncludes PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersOperator = "includes"
	PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersOperatorExcludes PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceGroupedWithMeteredMinimumPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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 PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfig added in v1.15.0

type PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfig struct {
	// Used to partition the usage into groups. The minimum amount is applied to each
	// group.
	GroupingKey string `json:"grouping_key,required"`
	// The minimum amount to charge per group per unit
	MinimumUnitAmount string `json:"minimum_unit_amount,required"`
	// Used to determine the unit rate
	PricingKey string `json:"pricing_key,required"`
	// Scale the unit rates by the scaling factor.
	ScalingFactors []PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactor `json:"scaling_factors,required"`
	// Used to determine the unit rate scaling factor
	ScalingKey string `json:"scaling_key,required"`
	// Apply per unit pricing to each pricing value. The minimum amount is applied any
	// unmatched usage.
	UnitAmounts []PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmount `json:"unit_amounts,required"`
	JSON        priceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigJSON         `json:"-"`
}

Configuration for grouped_with_metered_minimum pricing

func (*PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfig) UnmarshalJSON added in v1.15.0

type PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactor added in v1.15.0

type PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactor struct {
	// Scaling factor
	ScalingFactor string `json:"scaling_factor,required"`
	// Scaling value
	ScalingValue string                                                                              `json:"scaling_value,required"`
	JSON         priceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactorJSON `json:"-"`
}

Configuration for a scaling factor

func (*PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigScalingFactor) UnmarshalJSON added in v1.15.0

type PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmount added in v1.15.0

type PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmount struct {
	// Pricing value
	PricingValue string `json:"pricing_value,required"`
	// Per unit amount
	UnitAmount string                                                                           `json:"unit_amount,required"`
	JSON       priceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmountJSON `json:"-"`
}

Configuration for a unit amount

func (*PriceGroupedWithMeteredMinimumPriceGroupedWithMeteredMinimumConfigUnitAmount) UnmarshalJSON added in v1.15.0

type PriceGroupedWithMeteredMinimumPriceModelType added in v0.121.0

type PriceGroupedWithMeteredMinimumPriceModelType string

The pricing model type

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"
	PriceGroupedWithMeteredMinimumPricePriceTypeCompositePrice PriceGroupedWithMeteredMinimumPricePriceType = "composite_price"
)

func (PriceGroupedWithMeteredMinimumPricePriceType) IsKnown added in v0.121.0

type PriceGroupedWithMinMaxThresholdsPrice added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPrice struct {
	ID                        string                                                      `json:"id,required"`
	BillableMetric            BillableMetricTiny                                          `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                                   `json:"billing_cycle_configuration,required"`
	BillingMode               PriceGroupedWithMinMaxThresholdsPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceGroupedWithMinMaxThresholdsPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceGroupedWithMinMaxThresholdsPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	ConversionRate            float64                                                     `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceGroupedWithMinMaxThresholdsPriceConversionRateConfig   `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"`
	// Configuration for grouped_with_min_max_thresholds pricing
	GroupedWithMinMaxThresholdsConfig PriceGroupedWithMinMaxThresholdsPriceGroupedWithMinMaxThresholdsConfig `json:"grouped_with_min_max_thresholds_config,required"`
	InvoicingCycleConfiguration       BillingCycleConfiguration                                              `json:"invoicing_cycle_configuration,required,nullable"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	ModelType      PriceGroupedWithMinMaxThresholdsPriceModelType `json:"model_type,required"`
	Name           string                                         `json:"name,required"`
	PlanPhaseOrder int64                                          `json:"plan_phase_order,required,nullable"`
	PriceType      PriceGroupedWithMinMaxThresholdsPricePriceType `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                          priceGroupedWithMinMaxThresholdsPriceJSON `json:"-"`
}

func (*PriceGroupedWithMinMaxThresholdsPrice) UnmarshalJSON added in v1.13.0

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

type PriceGroupedWithMinMaxThresholdsPriceBillingMode added in v1.19.0

type PriceGroupedWithMinMaxThresholdsPriceBillingMode string
const (
	PriceGroupedWithMinMaxThresholdsPriceBillingModeInAdvance PriceGroupedWithMinMaxThresholdsPriceBillingMode = "in_advance"
	PriceGroupedWithMinMaxThresholdsPriceBillingModeInArrear  PriceGroupedWithMinMaxThresholdsPriceBillingMode = "in_arrear"
)

func (PriceGroupedWithMinMaxThresholdsPriceBillingMode) IsKnown added in v1.19.0

type PriceGroupedWithMinMaxThresholdsPriceCadence added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPriceCadence string
const (
	PriceGroupedWithMinMaxThresholdsPriceCadenceOneTime    PriceGroupedWithMinMaxThresholdsPriceCadence = "one_time"
	PriceGroupedWithMinMaxThresholdsPriceCadenceMonthly    PriceGroupedWithMinMaxThresholdsPriceCadence = "monthly"
	PriceGroupedWithMinMaxThresholdsPriceCadenceQuarterly  PriceGroupedWithMinMaxThresholdsPriceCadence = "quarterly"
	PriceGroupedWithMinMaxThresholdsPriceCadenceSemiAnnual PriceGroupedWithMinMaxThresholdsPriceCadence = "semi_annual"
	PriceGroupedWithMinMaxThresholdsPriceCadenceAnnual     PriceGroupedWithMinMaxThresholdsPriceCadence = "annual"
	PriceGroupedWithMinMaxThresholdsPriceCadenceCustom     PriceGroupedWithMinMaxThresholdsPriceCadence = "custom"
)

func (PriceGroupedWithMinMaxThresholdsPriceCadence) IsKnown added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPriceCompositePriceFilter added in v1.30.0

type PriceGroupedWithMinMaxThresholdsPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                      `json:"values,required"`
	JSON   priceGroupedWithMinMaxThresholdsPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceGroupedWithMinMaxThresholdsPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

type PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField added in v1.30.0

type PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersFieldPriceID       PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField = "price_id"
	PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersFieldItemID        PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField = "item_id"
	PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersFieldPriceType     PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField = "price_type"
	PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersFieldCurrency      PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField = "currency"
	PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersFieldPricingUnitID PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersOperator added in v1.30.0

type PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersOperatorIncludes PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersOperator = "includes"
	PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersOperatorExcludes PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceGroupedWithMinMaxThresholdsPriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

type PriceGroupedWithMinMaxThresholdsPriceConversionRateConfig added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPriceConversionRateConfig struct {
	ConversionRateType PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                                  `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                                    `json:"unit_config"`
	JSON               priceGroupedWithMinMaxThresholdsPriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceGroupedWithMinMaxThresholdsPriceConversionRateConfig) AsUnion added in v1.13.0

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

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceGroupedWithMinMaxThresholdsPriceConversionRateConfig) UnmarshalJSON added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigConversionRateType added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigConversionRateType string
const (
	PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigConversionRateTypeUnit   PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigConversionRateType = "unit"
	PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigConversionRateTypeTiered PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigConversionRateType) IsKnown added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion interface {
	ImplementsPriceGroupedWithMinMaxThresholdsPriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceGroupedWithMinMaxThresholdsPriceGroupedWithMinMaxThresholdsConfig added in v1.15.0

type PriceGroupedWithMinMaxThresholdsPriceGroupedWithMinMaxThresholdsConfig struct {
	// The event property used to group before applying thresholds
	GroupingKey string `json:"grouping_key,required"`
	// The maximum amount to charge each group
	MaximumCharge string `json:"maximum_charge,required"`
	// The minimum amount to charge each group, regardless of usage
	MinimumCharge string `json:"minimum_charge,required"`
	// The base price charged per group
	PerUnitRate string                                                                     `json:"per_unit_rate,required"`
	JSON        priceGroupedWithMinMaxThresholdsPriceGroupedWithMinMaxThresholdsConfigJSON `json:"-"`
}

Configuration for grouped_with_min_max_thresholds pricing

func (*PriceGroupedWithMinMaxThresholdsPriceGroupedWithMinMaxThresholdsConfig) UnmarshalJSON added in v1.15.0

type PriceGroupedWithMinMaxThresholdsPriceModelType added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPriceModelType string

The pricing model type

const (
	PriceGroupedWithMinMaxThresholdsPriceModelTypeGroupedWithMinMaxThresholds PriceGroupedWithMinMaxThresholdsPriceModelType = "grouped_with_min_max_thresholds"
)

func (PriceGroupedWithMinMaxThresholdsPriceModelType) IsKnown added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPricePriceType added in v1.13.0

type PriceGroupedWithMinMaxThresholdsPricePriceType string
const (
	PriceGroupedWithMinMaxThresholdsPricePriceTypeUsagePrice     PriceGroupedWithMinMaxThresholdsPricePriceType = "usage_price"
	PriceGroupedWithMinMaxThresholdsPricePriceTypeFixedPrice     PriceGroupedWithMinMaxThresholdsPricePriceType = "fixed_price"
	PriceGroupedWithMinMaxThresholdsPricePriceTypeCompositePrice PriceGroupedWithMinMaxThresholdsPricePriceType = "composite_price"
)

func (PriceGroupedWithMinMaxThresholdsPricePriceType) IsKnown added in v1.13.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"`
	BillingMode               PriceGroupedWithProratedMinimumPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceGroupedWithProratedMinimumPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceGroupedWithProratedMinimumPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// Configuration for grouped_with_prorated_minimum pricing
	GroupedWithProratedMinimumConfig PriceGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfig `json:"grouped_with_prorated_minimum_config,required"`
	InvoicingCycleConfiguration      BillingCycleConfiguration                                            `json:"invoicing_cycle_configuration,required,nullable"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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 PriceGroupedWithProratedMinimumPriceBillingMode added in v1.19.0

type PriceGroupedWithProratedMinimumPriceBillingMode string
const (
	PriceGroupedWithProratedMinimumPriceBillingModeInAdvance PriceGroupedWithProratedMinimumPriceBillingMode = "in_advance"
	PriceGroupedWithProratedMinimumPriceBillingModeInArrear  PriceGroupedWithProratedMinimumPriceBillingMode = "in_arrear"
)

func (PriceGroupedWithProratedMinimumPriceBillingMode) IsKnown added in v1.19.0

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 PriceGroupedWithProratedMinimumPriceCompositePriceFilter added in v1.30.0

type PriceGroupedWithProratedMinimumPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceGroupedWithProratedMinimumPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                     `json:"values,required"`
	JSON   priceGroupedWithProratedMinimumPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceGroupedWithProratedMinimumPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

type PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField added in v1.30.0

type PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceGroupedWithProratedMinimumPriceCompositePriceFiltersFieldPriceID       PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField = "price_id"
	PriceGroupedWithProratedMinimumPriceCompositePriceFiltersFieldItemID        PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField = "item_id"
	PriceGroupedWithProratedMinimumPriceCompositePriceFiltersFieldPriceType     PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField = "price_type"
	PriceGroupedWithProratedMinimumPriceCompositePriceFiltersFieldCurrency      PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField = "currency"
	PriceGroupedWithProratedMinimumPriceCompositePriceFiltersFieldPricingUnitID PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceGroupedWithProratedMinimumPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceGroupedWithProratedMinimumPriceCompositePriceFiltersOperator added in v1.30.0

type PriceGroupedWithProratedMinimumPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceGroupedWithProratedMinimumPriceCompositePriceFiltersOperatorIncludes PriceGroupedWithProratedMinimumPriceCompositePriceFiltersOperator = "includes"
	PriceGroupedWithProratedMinimumPriceCompositePriceFiltersOperatorExcludes PriceGroupedWithProratedMinimumPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceGroupedWithProratedMinimumPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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 PriceGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfig added in v1.15.0

type PriceGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfig struct {
	// How to determine the groups that should each have a minimum
	GroupingKey string `json:"grouping_key,required"`
	// The minimum amount to charge per group
	Minimum string `json:"minimum,required"`
	// The amount to charge per unit
	UnitRate string                                                                   `json:"unit_rate,required"`
	JSON     priceGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfigJSON `json:"-"`
}

Configuration for grouped_with_prorated_minimum pricing

func (*PriceGroupedWithProratedMinimumPriceGroupedWithProratedMinimumConfig) UnmarshalJSON added in v1.15.0

type PriceGroupedWithProratedMinimumPriceModelType added in v0.121.0

type PriceGroupedWithProratedMinimumPriceModelType string

The pricing model type

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"
	PriceGroupedWithProratedMinimumPricePriceTypeCompositePrice PriceGroupedWithProratedMinimumPricePriceType = "composite_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"`
	BillingMode               PriceMatrixPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceMatrixPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceMatrixPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	Item ItemSlim `json:"item,required"`
	// Configuration for matrix pricing
	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"`
	// The pricing model type
	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 PriceMatrixPriceBillingMode added in v1.19.0

type PriceMatrixPriceBillingMode string
const (
	PriceMatrixPriceBillingModeInAdvance PriceMatrixPriceBillingMode = "in_advance"
	PriceMatrixPriceBillingModeInArrear  PriceMatrixPriceBillingMode = "in_arrear"
)

func (PriceMatrixPriceBillingMode) IsKnown added in v1.19.0

func (r PriceMatrixPriceBillingMode) IsKnown() bool

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 PriceMatrixPriceCompositePriceFilter added in v1.30.0

type PriceMatrixPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceMatrixPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceMatrixPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                 `json:"values,required"`
	JSON   priceMatrixPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceMatrixPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceMatrixPriceCompositePriceFiltersField added in v1.30.0

type PriceMatrixPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceMatrixPriceCompositePriceFiltersFieldPriceID       PriceMatrixPriceCompositePriceFiltersField = "price_id"
	PriceMatrixPriceCompositePriceFiltersFieldItemID        PriceMatrixPriceCompositePriceFiltersField = "item_id"
	PriceMatrixPriceCompositePriceFiltersFieldPriceType     PriceMatrixPriceCompositePriceFiltersField = "price_type"
	PriceMatrixPriceCompositePriceFiltersFieldCurrency      PriceMatrixPriceCompositePriceFiltersField = "currency"
	PriceMatrixPriceCompositePriceFiltersFieldPricingUnitID PriceMatrixPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceMatrixPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceMatrixPriceCompositePriceFiltersOperator added in v1.30.0

type PriceMatrixPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceMatrixPriceCompositePriceFiltersOperatorIncludes PriceMatrixPriceCompositePriceFiltersOperator = "includes"
	PriceMatrixPriceCompositePriceFiltersOperatorExcludes PriceMatrixPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceMatrixPriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

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

The pricing model type

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"
	PriceMatrixPricePriceTypeCompositePrice PriceMatrixPricePriceType = "composite_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"`
	BillingMode               PriceMatrixWithAllocationPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceMatrixWithAllocationPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceMatrixWithAllocationPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	Item ItemSlim `json:"item,required"`
	// Configuration for matrix_with_allocation pricing
	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"`
	// The pricing model type
	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 PriceMatrixWithAllocationPriceBillingMode added in v1.19.0

type PriceMatrixWithAllocationPriceBillingMode string
const (
	PriceMatrixWithAllocationPriceBillingModeInAdvance PriceMatrixWithAllocationPriceBillingMode = "in_advance"
	PriceMatrixWithAllocationPriceBillingModeInArrear  PriceMatrixWithAllocationPriceBillingMode = "in_arrear"
)

func (PriceMatrixWithAllocationPriceBillingMode) IsKnown added in v1.19.0

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 PriceMatrixWithAllocationPriceCompositePriceFilter added in v1.30.0

type PriceMatrixWithAllocationPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceMatrixWithAllocationPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceMatrixWithAllocationPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                               `json:"values,required"`
	JSON   priceMatrixWithAllocationPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceMatrixWithAllocationPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceMatrixWithAllocationPriceCompositePriceFiltersField added in v1.30.0

type PriceMatrixWithAllocationPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceMatrixWithAllocationPriceCompositePriceFiltersFieldPriceID       PriceMatrixWithAllocationPriceCompositePriceFiltersField = "price_id"
	PriceMatrixWithAllocationPriceCompositePriceFiltersFieldItemID        PriceMatrixWithAllocationPriceCompositePriceFiltersField = "item_id"
	PriceMatrixWithAllocationPriceCompositePriceFiltersFieldPriceType     PriceMatrixWithAllocationPriceCompositePriceFiltersField = "price_type"
	PriceMatrixWithAllocationPriceCompositePriceFiltersFieldCurrency      PriceMatrixWithAllocationPriceCompositePriceFiltersField = "currency"
	PriceMatrixWithAllocationPriceCompositePriceFiltersFieldPricingUnitID PriceMatrixWithAllocationPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceMatrixWithAllocationPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceMatrixWithAllocationPriceCompositePriceFiltersOperator added in v1.30.0

type PriceMatrixWithAllocationPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceMatrixWithAllocationPriceCompositePriceFiltersOperatorIncludes PriceMatrixWithAllocationPriceCompositePriceFiltersOperator = "includes"
	PriceMatrixWithAllocationPriceCompositePriceFiltersOperatorExcludes PriceMatrixWithAllocationPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceMatrixWithAllocationPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceMatrixWithAllocationPricePriceTypeCompositePrice PriceMatrixWithAllocationPricePriceType = "composite_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"`
	BillingMode               PriceMatrixWithDisplayNamePriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceMatrixWithDisplayNamePriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceMatrixWithDisplayNamePriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	Item ItemSlim `json:"item,required"`
	// Configuration for matrix_with_display_name pricing
	MatrixWithDisplayNameConfig PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfig `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"`
	// The pricing model type
	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 PriceMatrixWithDisplayNamePriceBillingMode added in v1.19.0

type PriceMatrixWithDisplayNamePriceBillingMode string
const (
	PriceMatrixWithDisplayNamePriceBillingModeInAdvance PriceMatrixWithDisplayNamePriceBillingMode = "in_advance"
	PriceMatrixWithDisplayNamePriceBillingModeInArrear  PriceMatrixWithDisplayNamePriceBillingMode = "in_arrear"
)

func (PriceMatrixWithDisplayNamePriceBillingMode) IsKnown added in v1.19.0

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 PriceMatrixWithDisplayNamePriceCompositePriceFilter added in v1.30.0

type PriceMatrixWithDisplayNamePriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceMatrixWithDisplayNamePriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceMatrixWithDisplayNamePriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                `json:"values,required"`
	JSON   priceMatrixWithDisplayNamePriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceMatrixWithDisplayNamePriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceMatrixWithDisplayNamePriceCompositePriceFiltersField added in v1.30.0

type PriceMatrixWithDisplayNamePriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceMatrixWithDisplayNamePriceCompositePriceFiltersFieldPriceID       PriceMatrixWithDisplayNamePriceCompositePriceFiltersField = "price_id"
	PriceMatrixWithDisplayNamePriceCompositePriceFiltersFieldItemID        PriceMatrixWithDisplayNamePriceCompositePriceFiltersField = "item_id"
	PriceMatrixWithDisplayNamePriceCompositePriceFiltersFieldPriceType     PriceMatrixWithDisplayNamePriceCompositePriceFiltersField = "price_type"
	PriceMatrixWithDisplayNamePriceCompositePriceFiltersFieldCurrency      PriceMatrixWithDisplayNamePriceCompositePriceFiltersField = "currency"
	PriceMatrixWithDisplayNamePriceCompositePriceFiltersFieldPricingUnitID PriceMatrixWithDisplayNamePriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceMatrixWithDisplayNamePriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceMatrixWithDisplayNamePriceCompositePriceFiltersOperator added in v1.30.0

type PriceMatrixWithDisplayNamePriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceMatrixWithDisplayNamePriceCompositePriceFiltersOperatorIncludes PriceMatrixWithDisplayNamePriceCompositePriceFiltersOperator = "includes"
	PriceMatrixWithDisplayNamePriceCompositePriceFiltersOperatorExcludes PriceMatrixWithDisplayNamePriceCompositePriceFiltersOperator = "excludes"
)

func (PriceMatrixWithDisplayNamePriceCompositePriceFiltersOperator) IsKnown added in v1.30.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 PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfig added in v1.15.0

type PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfig struct {
	// Used to determine the unit rate
	Dimension string `json:"dimension,required"`
	// Apply per unit pricing to each dimension value
	UnitAmounts []PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmount `json:"unit_amounts,required"`
	JSON        priceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigJSON         `json:"-"`
}

Configuration for matrix_with_display_name pricing

func (*PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfig) UnmarshalJSON added in v1.15.0

type PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmount added in v1.15.0

type PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmount struct {
	// The dimension value
	DimensionValue string `json:"dimension_value,required"`
	// Display name for this dimension value
	DisplayName string `json:"display_name,required"`
	// Per unit amount
	UnitAmount string                                                                   `json:"unit_amount,required"`
	JSON       priceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmountJSON `json:"-"`
}

Configuration for a unit amount item

func (*PriceMatrixWithDisplayNamePriceMatrixWithDisplayNameConfigUnitAmount) UnmarshalJSON added in v1.15.0

type PriceMatrixWithDisplayNamePriceModelType added in v0.121.0

type PriceMatrixWithDisplayNamePriceModelType string

The pricing model type

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"
	PriceMatrixWithDisplayNamePricePriceTypeCompositePrice PriceMatrixWithDisplayNamePricePriceType = "composite_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"`
	BillingMode               PriceMaxGroupTieredPackagePriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceMaxGroupTieredPackagePriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceMaxGroupTieredPackagePriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	Item ItemSlim `json:"item,required"`
	// Configuration for max_group_tiered_package pricing
	MaxGroupTieredPackageConfig PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfig `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"`
	// The pricing model type
	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 PriceMaxGroupTieredPackagePriceBillingMode added in v1.19.0

type PriceMaxGroupTieredPackagePriceBillingMode string
const (
	PriceMaxGroupTieredPackagePriceBillingModeInAdvance PriceMaxGroupTieredPackagePriceBillingMode = "in_advance"
	PriceMaxGroupTieredPackagePriceBillingModeInArrear  PriceMaxGroupTieredPackagePriceBillingMode = "in_arrear"
)

func (PriceMaxGroupTieredPackagePriceBillingMode) IsKnown added in v1.19.0

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 PriceMaxGroupTieredPackagePriceCompositePriceFilter added in v1.30.0

type PriceMaxGroupTieredPackagePriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceMaxGroupTieredPackagePriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceMaxGroupTieredPackagePriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                `json:"values,required"`
	JSON   priceMaxGroupTieredPackagePriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceMaxGroupTieredPackagePriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceMaxGroupTieredPackagePriceCompositePriceFiltersField added in v1.30.0

type PriceMaxGroupTieredPackagePriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceMaxGroupTieredPackagePriceCompositePriceFiltersFieldPriceID       PriceMaxGroupTieredPackagePriceCompositePriceFiltersField = "price_id"
	PriceMaxGroupTieredPackagePriceCompositePriceFiltersFieldItemID        PriceMaxGroupTieredPackagePriceCompositePriceFiltersField = "item_id"
	PriceMaxGroupTieredPackagePriceCompositePriceFiltersFieldPriceType     PriceMaxGroupTieredPackagePriceCompositePriceFiltersField = "price_type"
	PriceMaxGroupTieredPackagePriceCompositePriceFiltersFieldCurrency      PriceMaxGroupTieredPackagePriceCompositePriceFiltersField = "currency"
	PriceMaxGroupTieredPackagePriceCompositePriceFiltersFieldPricingUnitID PriceMaxGroupTieredPackagePriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceMaxGroupTieredPackagePriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceMaxGroupTieredPackagePriceCompositePriceFiltersOperator added in v1.30.0

type PriceMaxGroupTieredPackagePriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceMaxGroupTieredPackagePriceCompositePriceFiltersOperatorIncludes PriceMaxGroupTieredPackagePriceCompositePriceFiltersOperator = "includes"
	PriceMaxGroupTieredPackagePriceCompositePriceFiltersOperatorExcludes PriceMaxGroupTieredPackagePriceCompositePriceFiltersOperator = "excludes"
)

func (PriceMaxGroupTieredPackagePriceCompositePriceFiltersOperator) IsKnown added in v1.30.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 PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfig added in v1.15.0

type PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfig struct {
	// The event property used to group before tiering the group with the highest value
	GroupingKey string `json:"grouping_key,required"`
	// Package size
	PackageSize string `json:"package_size,required"`
	// Apply tiered pricing to the largest group after grouping with the provided key.
	Tiers []PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTier `json:"tiers,required"`
	JSON  priceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigJSON   `json:"-"`
}

Configuration for max_group_tiered_package pricing

func (*PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfig) UnmarshalJSON added in v1.15.0

type PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTier added in v1.15.0

type PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTier struct {
	// Tier lower bound
	TierLowerBound string `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount string                                                             `json:"unit_amount,required"`
	JSON       priceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTierJSON `json:"-"`
}

Configuration for a single tier

func (*PriceMaxGroupTieredPackagePriceMaxGroupTieredPackageConfigTier) UnmarshalJSON added in v1.15.0

type PriceMaxGroupTieredPackagePriceModelType added in v0.121.0

type PriceMaxGroupTieredPackagePriceModelType string

The pricing model type

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"
	PriceMaxGroupTieredPackagePricePriceTypeCompositePrice PriceMaxGroupTieredPackagePricePriceType = "composite_price"
)

func (PriceMaxGroupTieredPackagePricePriceType) IsKnown added in v0.121.0

type PriceMinimumCompositePrice added in v1.14.0

type PriceMinimumCompositePrice struct {
	ID                        string                                           `json:"id,required"`
	BillableMetric            BillableMetricTiny                               `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                        `json:"billing_cycle_configuration,required"`
	BillingMode               PriceMinimumCompositePriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceMinimumCompositePriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceMinimumCompositePriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	ConversionRate            float64                                          `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PriceMinimumCompositePriceConversionRateConfig   `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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// Configuration for minimum pricing
	MinimumConfig PriceMinimumCompositePriceMinimumConfig `json:"minimum_config,required"`
	// The pricing model type
	ModelType      PriceMinimumCompositePriceModelType `json:"model_type,required"`
	Name           string                              `json:"name,required"`
	PlanPhaseOrder int64                               `json:"plan_phase_order,required,nullable"`
	PriceType      PriceMinimumCompositePricePriceType `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                          priceMinimumCompositePriceJSON `json:"-"`
}

func (*PriceMinimumCompositePrice) UnmarshalJSON added in v1.14.0

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

type PriceMinimumCompositePriceBillingMode added in v1.19.0

type PriceMinimumCompositePriceBillingMode string
const (
	PriceMinimumCompositePriceBillingModeInAdvance PriceMinimumCompositePriceBillingMode = "in_advance"
	PriceMinimumCompositePriceBillingModeInArrear  PriceMinimumCompositePriceBillingMode = "in_arrear"
)

func (PriceMinimumCompositePriceBillingMode) IsKnown added in v1.19.0

type PriceMinimumCompositePriceCadence added in v1.14.0

type PriceMinimumCompositePriceCadence string
const (
	PriceMinimumCompositePriceCadenceOneTime    PriceMinimumCompositePriceCadence = "one_time"
	PriceMinimumCompositePriceCadenceMonthly    PriceMinimumCompositePriceCadence = "monthly"
	PriceMinimumCompositePriceCadenceQuarterly  PriceMinimumCompositePriceCadence = "quarterly"
	PriceMinimumCompositePriceCadenceSemiAnnual PriceMinimumCompositePriceCadence = "semi_annual"
	PriceMinimumCompositePriceCadenceAnnual     PriceMinimumCompositePriceCadence = "annual"
	PriceMinimumCompositePriceCadenceCustom     PriceMinimumCompositePriceCadence = "custom"
)

func (PriceMinimumCompositePriceCadence) IsKnown added in v1.14.0

type PriceMinimumCompositePriceCompositePriceFilter added in v1.30.0

type PriceMinimumCompositePriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceMinimumCompositePriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceMinimumCompositePriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                           `json:"values,required"`
	JSON   priceMinimumCompositePriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceMinimumCompositePriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceMinimumCompositePriceCompositePriceFiltersField added in v1.30.0

type PriceMinimumCompositePriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceMinimumCompositePriceCompositePriceFiltersFieldPriceID       PriceMinimumCompositePriceCompositePriceFiltersField = "price_id"
	PriceMinimumCompositePriceCompositePriceFiltersFieldItemID        PriceMinimumCompositePriceCompositePriceFiltersField = "item_id"
	PriceMinimumCompositePriceCompositePriceFiltersFieldPriceType     PriceMinimumCompositePriceCompositePriceFiltersField = "price_type"
	PriceMinimumCompositePriceCompositePriceFiltersFieldCurrency      PriceMinimumCompositePriceCompositePriceFiltersField = "currency"
	PriceMinimumCompositePriceCompositePriceFiltersFieldPricingUnitID PriceMinimumCompositePriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceMinimumCompositePriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceMinimumCompositePriceCompositePriceFiltersOperator added in v1.30.0

type PriceMinimumCompositePriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceMinimumCompositePriceCompositePriceFiltersOperatorIncludes PriceMinimumCompositePriceCompositePriceFiltersOperator = "includes"
	PriceMinimumCompositePriceCompositePriceFiltersOperatorExcludes PriceMinimumCompositePriceCompositePriceFiltersOperator = "excludes"
)

func (PriceMinimumCompositePriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

type PriceMinimumCompositePriceConversionRateConfig added in v1.14.0

type PriceMinimumCompositePriceConversionRateConfig struct {
	ConversionRateType PriceMinimumCompositePriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                       `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                         `json:"unit_config"`
	JSON               priceMinimumCompositePriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PriceMinimumCompositePriceConversionRateConfig) AsUnion added in v1.14.0

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

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PriceMinimumCompositePriceConversionRateConfig) UnmarshalJSON added in v1.14.0

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

type PriceMinimumCompositePriceConversionRateConfigConversionRateType added in v1.14.0

type PriceMinimumCompositePriceConversionRateConfigConversionRateType string
const (
	PriceMinimumCompositePriceConversionRateConfigConversionRateTypeUnit   PriceMinimumCompositePriceConversionRateConfigConversionRateType = "unit"
	PriceMinimumCompositePriceConversionRateConfigConversionRateTypeTiered PriceMinimumCompositePriceConversionRateConfigConversionRateType = "tiered"
)

func (PriceMinimumCompositePriceConversionRateConfigConversionRateType) IsKnown added in v1.14.0

type PriceMinimumCompositePriceConversionRateConfigUnion added in v1.14.0

type PriceMinimumCompositePriceConversionRateConfigUnion interface {
	ImplementsPriceMinimumCompositePriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PriceMinimumCompositePriceMinimumConfig added in v1.14.0

type PriceMinimumCompositePriceMinimumConfig struct {
	// The minimum amount to apply
	MinimumAmount string `json:"minimum_amount,required"`
	// If true, subtotals from this price are prorated based on the service period
	Prorated bool                                        `json:"prorated"`
	JSON     priceMinimumCompositePriceMinimumConfigJSON `json:"-"`
}

Configuration for minimum pricing

func (*PriceMinimumCompositePriceMinimumConfig) UnmarshalJSON added in v1.14.0

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

type PriceMinimumCompositePriceModelType added in v1.14.0

type PriceMinimumCompositePriceModelType string

The pricing model type

const (
	PriceMinimumCompositePriceModelTypeMinimum PriceMinimumCompositePriceModelType = "minimum"
)

func (PriceMinimumCompositePriceModelType) IsKnown added in v1.14.0

type PriceMinimumCompositePricePriceType added in v1.14.0

type PriceMinimumCompositePricePriceType string
const (
	PriceMinimumCompositePricePriceTypeUsagePrice     PriceMinimumCompositePricePriceType = "usage_price"
	PriceMinimumCompositePricePriceTypeFixedPrice     PriceMinimumCompositePricePriceType = "fixed_price"
	PriceMinimumCompositePricePriceTypeCompositePrice PriceMinimumCompositePricePriceType = "composite_price"
)

func (PriceMinimumCompositePricePriceType) IsKnown added in v1.14.0

type PriceModelType added in v0.121.0

type PriceModelType string

The pricing model type

const (
	PriceModelTypeUnit                            PriceModelType = "unit"
	PriceModelTypeTiered                          PriceModelType = "tiered"
	PriceModelTypeBulk                            PriceModelType = "bulk"
	PriceModelTypeBulkWithFilters                 PriceModelType = "bulk_with_filters"
	PriceModelTypePackage                         PriceModelType = "package"
	PriceModelTypeMatrix                          PriceModelType = "matrix"
	PriceModelTypeThresholdTotalAmount            PriceModelType = "threshold_total_amount"
	PriceModelTypeTieredPackage                   PriceModelType = "tiered_package"
	PriceModelTypeTieredWithMinimum               PriceModelType = "tiered_with_minimum"
	PriceModelTypeGroupedTiered                   PriceModelType = "grouped_tiered"
	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"
	PriceModelTypeBulkWithProration               PriceModelType = "bulk_with_proration"
	PriceModelTypeGroupedWithProratedMinimum      PriceModelType = "grouped_with_prorated_minimum"
	PriceModelTypeGroupedWithMeteredMinimum       PriceModelType = "grouped_with_metered_minimum"
	PriceModelTypeGroupedWithMinMaxThresholds     PriceModelType = "grouped_with_min_max_thresholds"
	PriceModelTypeMatrixWithDisplayName           PriceModelType = "matrix_with_display_name"
	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"
	PriceModelTypeMinimum                         PriceModelType = "minimum"
	PriceModelTypePercent                         PriceModelType = "percent"
	PriceModelTypeEventOutput                     PriceModelType = "event_output"
)

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"`
	BillingMode               PricePackagePriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PricePackagePriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PricePackagePriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	ModelType PricePackagePriceModelType `json:"model_type,required"`
	Name      string                     `json:"name,required"`
	// Configuration for package pricing
	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 PricePackagePriceBillingMode added in v1.19.0

type PricePackagePriceBillingMode string
const (
	PricePackagePriceBillingModeInAdvance PricePackagePriceBillingMode = "in_advance"
	PricePackagePriceBillingModeInArrear  PricePackagePriceBillingMode = "in_arrear"
)

func (PricePackagePriceBillingMode) IsKnown added in v1.19.0

func (r PricePackagePriceBillingMode) IsKnown() bool

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 PricePackagePriceCompositePriceFilter added in v1.30.0

type PricePackagePriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PricePackagePriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PricePackagePriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                  `json:"values,required"`
	JSON   pricePackagePriceCompositePriceFilterJSON `json:"-"`
}

func (*PricePackagePriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PricePackagePriceCompositePriceFiltersField added in v1.30.0

type PricePackagePriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PricePackagePriceCompositePriceFiltersFieldPriceID       PricePackagePriceCompositePriceFiltersField = "price_id"
	PricePackagePriceCompositePriceFiltersFieldItemID        PricePackagePriceCompositePriceFiltersField = "item_id"
	PricePackagePriceCompositePriceFiltersFieldPriceType     PricePackagePriceCompositePriceFiltersField = "price_type"
	PricePackagePriceCompositePriceFiltersFieldCurrency      PricePackagePriceCompositePriceFiltersField = "currency"
	PricePackagePriceCompositePriceFiltersFieldPricingUnitID PricePackagePriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PricePackagePriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PricePackagePriceCompositePriceFiltersOperator added in v1.30.0

type PricePackagePriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PricePackagePriceCompositePriceFiltersOperatorIncludes PricePackagePriceCompositePriceFiltersOperator = "includes"
	PricePackagePriceCompositePriceFiltersOperatorExcludes PricePackagePriceCompositePriceFiltersOperator = "excludes"
)

func (PricePackagePriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

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

The pricing model type

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"
	PricePackagePricePriceTypeCompositePrice PricePackagePricePriceType = "composite_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"`
	BillingMode               PricePackageWithAllocationPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PricePackageWithAllocationPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PricePackageWithAllocationPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	ModelType PricePackageWithAllocationPriceModelType `json:"model_type,required"`
	Name      string                                   `json:"name,required"`
	// Configuration for package_with_allocation pricing
	PackageWithAllocationConfig PricePackageWithAllocationPricePackageWithAllocationConfig `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 PricePackageWithAllocationPriceBillingMode added in v1.19.0

type PricePackageWithAllocationPriceBillingMode string
const (
	PricePackageWithAllocationPriceBillingModeInAdvance PricePackageWithAllocationPriceBillingMode = "in_advance"
	PricePackageWithAllocationPriceBillingModeInArrear  PricePackageWithAllocationPriceBillingMode = "in_arrear"
)

func (PricePackageWithAllocationPriceBillingMode) IsKnown added in v1.19.0

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 PricePackageWithAllocationPriceCompositePriceFilter added in v1.30.0

type PricePackageWithAllocationPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PricePackageWithAllocationPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PricePackageWithAllocationPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                `json:"values,required"`
	JSON   pricePackageWithAllocationPriceCompositePriceFilterJSON `json:"-"`
}

func (*PricePackageWithAllocationPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PricePackageWithAllocationPriceCompositePriceFiltersField added in v1.30.0

type PricePackageWithAllocationPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PricePackageWithAllocationPriceCompositePriceFiltersFieldPriceID       PricePackageWithAllocationPriceCompositePriceFiltersField = "price_id"
	PricePackageWithAllocationPriceCompositePriceFiltersFieldItemID        PricePackageWithAllocationPriceCompositePriceFiltersField = "item_id"
	PricePackageWithAllocationPriceCompositePriceFiltersFieldPriceType     PricePackageWithAllocationPriceCompositePriceFiltersField = "price_type"
	PricePackageWithAllocationPriceCompositePriceFiltersFieldCurrency      PricePackageWithAllocationPriceCompositePriceFiltersField = "currency"
	PricePackageWithAllocationPriceCompositePriceFiltersFieldPricingUnitID PricePackageWithAllocationPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PricePackageWithAllocationPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PricePackageWithAllocationPriceCompositePriceFiltersOperator added in v1.30.0

type PricePackageWithAllocationPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PricePackageWithAllocationPriceCompositePriceFiltersOperatorIncludes PricePackageWithAllocationPriceCompositePriceFiltersOperator = "includes"
	PricePackageWithAllocationPriceCompositePriceFiltersOperatorExcludes PricePackageWithAllocationPriceCompositePriceFiltersOperator = "excludes"
)

func (PricePackageWithAllocationPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

const (
	PricePackageWithAllocationPriceModelTypePackageWithAllocation PricePackageWithAllocationPriceModelType = "package_with_allocation"
)

func (PricePackageWithAllocationPriceModelType) IsKnown added in v0.121.0

type PricePackageWithAllocationPricePackageWithAllocationConfig added in v1.15.0

type PricePackageWithAllocationPricePackageWithAllocationConfig struct {
	// Usage allocation
	Allocation string `json:"allocation,required"`
	// Price per package
	PackageAmount string `json:"package_amount,required"`
	// Package size
	PackageSize string                                                         `json:"package_size,required"`
	JSON        pricePackageWithAllocationPricePackageWithAllocationConfigJSON `json:"-"`
}

Configuration for package_with_allocation pricing

func (*PricePackageWithAllocationPricePackageWithAllocationConfig) UnmarshalJSON added in v1.15.0

type PricePackageWithAllocationPricePriceType added in v0.121.0

type PricePackageWithAllocationPricePriceType string
const (
	PricePackageWithAllocationPricePriceTypeUsagePrice     PricePackageWithAllocationPricePriceType = "usage_price"
	PricePackageWithAllocationPricePriceTypeFixedPrice     PricePackageWithAllocationPricePriceType = "fixed_price"
	PricePackageWithAllocationPricePriceTypeCompositePrice PricePackageWithAllocationPricePriceType = "composite_price"
)

func (PricePackageWithAllocationPricePriceType) IsKnown added in v0.121.0

type PricePercentCompositePrice added in v1.26.0

type PricePercentCompositePrice struct {
	ID                        string                                           `json:"id,required"`
	BillableMetric            BillableMetricTiny                               `json:"billable_metric,required,nullable"`
	BillingCycleConfiguration BillingCycleConfiguration                        `json:"billing_cycle_configuration,required"`
	BillingMode               PricePercentCompositePriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PricePercentCompositePriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PricePercentCompositePriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	ConversionRate            float64                                          `json:"conversion_rate,required,nullable"`
	ConversionRateConfig      PricePercentCompositePriceConversionRateConfig   `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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	ModelType PricePercentCompositePriceModelType `json:"model_type,required"`
	Name      string                              `json:"name,required"`
	// Configuration for percent pricing
	PercentConfig  PricePercentCompositePricePercentConfig `json:"percent_config,required"`
	PlanPhaseOrder int64                                   `json:"plan_phase_order,required,nullable"`
	PriceType      PricePercentCompositePricePriceType     `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                          pricePercentCompositePriceJSON `json:"-"`
}

func (*PricePercentCompositePrice) UnmarshalJSON added in v1.26.0

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

type PricePercentCompositePriceBillingMode added in v1.26.0

type PricePercentCompositePriceBillingMode string
const (
	PricePercentCompositePriceBillingModeInAdvance PricePercentCompositePriceBillingMode = "in_advance"
	PricePercentCompositePriceBillingModeInArrear  PricePercentCompositePriceBillingMode = "in_arrear"
)

func (PricePercentCompositePriceBillingMode) IsKnown added in v1.26.0

type PricePercentCompositePriceCadence added in v1.26.0

type PricePercentCompositePriceCadence string
const (
	PricePercentCompositePriceCadenceOneTime    PricePercentCompositePriceCadence = "one_time"
	PricePercentCompositePriceCadenceMonthly    PricePercentCompositePriceCadence = "monthly"
	PricePercentCompositePriceCadenceQuarterly  PricePercentCompositePriceCadence = "quarterly"
	PricePercentCompositePriceCadenceSemiAnnual PricePercentCompositePriceCadence = "semi_annual"
	PricePercentCompositePriceCadenceAnnual     PricePercentCompositePriceCadence = "annual"
	PricePercentCompositePriceCadenceCustom     PricePercentCompositePriceCadence = "custom"
)

func (PricePercentCompositePriceCadence) IsKnown added in v1.26.0

type PricePercentCompositePriceCompositePriceFilter added in v1.30.0

type PricePercentCompositePriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PricePercentCompositePriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PricePercentCompositePriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                           `json:"values,required"`
	JSON   pricePercentCompositePriceCompositePriceFilterJSON `json:"-"`
}

func (*PricePercentCompositePriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PricePercentCompositePriceCompositePriceFiltersField added in v1.30.0

type PricePercentCompositePriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PricePercentCompositePriceCompositePriceFiltersFieldPriceID       PricePercentCompositePriceCompositePriceFiltersField = "price_id"
	PricePercentCompositePriceCompositePriceFiltersFieldItemID        PricePercentCompositePriceCompositePriceFiltersField = "item_id"
	PricePercentCompositePriceCompositePriceFiltersFieldPriceType     PricePercentCompositePriceCompositePriceFiltersField = "price_type"
	PricePercentCompositePriceCompositePriceFiltersFieldCurrency      PricePercentCompositePriceCompositePriceFiltersField = "currency"
	PricePercentCompositePriceCompositePriceFiltersFieldPricingUnitID PricePercentCompositePriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PricePercentCompositePriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PricePercentCompositePriceCompositePriceFiltersOperator added in v1.30.0

type PricePercentCompositePriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PricePercentCompositePriceCompositePriceFiltersOperatorIncludes PricePercentCompositePriceCompositePriceFiltersOperator = "includes"
	PricePercentCompositePriceCompositePriceFiltersOperatorExcludes PricePercentCompositePriceCompositePriceFiltersOperator = "excludes"
)

func (PricePercentCompositePriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

type PricePercentCompositePriceConversionRateConfig added in v1.26.0

type PricePercentCompositePriceConversionRateConfig struct {
	ConversionRateType PricePercentCompositePriceConversionRateConfigConversionRateType `json:"conversion_rate_type,required"`
	TieredConfig       ConversionRateTieredConfig                                       `json:"tiered_config"`
	UnitConfig         ConversionRateUnitConfig                                         `json:"unit_config"`
	JSON               pricePercentCompositePriceConversionRateConfigJSON               `json:"-"`
	// contains filtered or unexported fields
}

func (PricePercentCompositePriceConversionRateConfig) AsUnion added in v1.26.0

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

Possible runtime types of the union are UnitConversionRateConfig, TieredConversionRateConfig.

func (*PricePercentCompositePriceConversionRateConfig) UnmarshalJSON added in v1.26.0

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

type PricePercentCompositePriceConversionRateConfigConversionRateType added in v1.26.0

type PricePercentCompositePriceConversionRateConfigConversionRateType string
const (
	PricePercentCompositePriceConversionRateConfigConversionRateTypeUnit   PricePercentCompositePriceConversionRateConfigConversionRateType = "unit"
	PricePercentCompositePriceConversionRateConfigConversionRateTypeTiered PricePercentCompositePriceConversionRateConfigConversionRateType = "tiered"
)

func (PricePercentCompositePriceConversionRateConfigConversionRateType) IsKnown added in v1.26.0

type PricePercentCompositePriceConversionRateConfigUnion added in v1.26.0

type PricePercentCompositePriceConversionRateConfigUnion interface {
	ImplementsPricePercentCompositePriceConversionRateConfig()
}

Union satisfied by UnitConversionRateConfig or TieredConversionRateConfig.

type PricePercentCompositePriceModelType added in v1.26.0

type PricePercentCompositePriceModelType string

The pricing model type

const (
	PricePercentCompositePriceModelTypePercent PricePercentCompositePriceModelType = "percent"
)

func (PricePercentCompositePriceModelType) IsKnown added in v1.26.0

type PricePercentCompositePricePercentConfig added in v1.26.0

type PricePercentCompositePricePercentConfig struct {
	// What percent of the component subtotals to charge
	Percent float64                                     `json:"percent,required"`
	JSON    pricePercentCompositePricePercentConfigJSON `json:"-"`
}

Configuration for percent pricing

func (*PricePercentCompositePricePercentConfig) UnmarshalJSON added in v1.26.0

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

type PricePercentCompositePricePriceType added in v1.26.0

type PricePercentCompositePricePriceType string
const (
	PricePercentCompositePricePriceTypeUsagePrice     PricePercentCompositePricePriceType = "usage_price"
	PricePercentCompositePricePriceTypeFixedPrice     PricePercentCompositePricePriceType = "fixed_price"
	PricePercentCompositePricePriceTypeCompositePrice PricePercentCompositePricePriceType = "composite_price"
)

func (PricePercentCompositePricePriceType) IsKnown added in v1.26.0

type PricePriceType added in v0.121.0

type PricePriceType string
const (
	PricePriceTypeUsagePrice     PricePriceType = "usage_price"
	PricePriceTypeFixedPrice     PricePriceType = "fixed_price"
	PricePriceTypeCompositePrice PricePriceType = "composite_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"`
	BillingMode               PriceScalableMatrixWithTieredPricingPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceScalableMatrixWithTieredPricingPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceScalableMatrixWithTieredPricingPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for scalable_matrix_with_tiered_pricing pricing
	ScalableMatrixWithTieredPricingConfig PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfig `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 PriceScalableMatrixWithTieredPricingPriceBillingMode added in v1.19.0

type PriceScalableMatrixWithTieredPricingPriceBillingMode string
const (
	PriceScalableMatrixWithTieredPricingPriceBillingModeInAdvance PriceScalableMatrixWithTieredPricingPriceBillingMode = "in_advance"
	PriceScalableMatrixWithTieredPricingPriceBillingModeInArrear  PriceScalableMatrixWithTieredPricingPriceBillingMode = "in_arrear"
)

func (PriceScalableMatrixWithTieredPricingPriceBillingMode) IsKnown added in v1.19.0

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 PriceScalableMatrixWithTieredPricingPriceCompositePriceFilter added in v1.30.0

type PriceScalableMatrixWithTieredPricingPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                          `json:"values,required"`
	JSON   priceScalableMatrixWithTieredPricingPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceScalableMatrixWithTieredPricingPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

type PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField added in v1.30.0

type PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersFieldPriceID       PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField = "price_id"
	PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersFieldItemID        PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField = "item_id"
	PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersFieldPriceType     PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField = "price_type"
	PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersFieldCurrency      PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField = "currency"
	PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersFieldPricingUnitID PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersOperator added in v1.30.0

type PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersOperatorIncludes PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersOperator = "includes"
	PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersOperatorExcludes PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceScalableMatrixWithTieredPricingPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceScalableMatrixWithTieredPricingPricePriceTypeCompositePrice PriceScalableMatrixWithTieredPricingPricePriceType = "composite_price"
)

func (PriceScalableMatrixWithTieredPricingPricePriceType) IsKnown added in v0.121.0

type PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfig added in v1.15.0

type PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfig struct {
	// Used for the scalable matrix first dimension
	FirstDimension string `json:"first_dimension,required"`
	// Apply a scaling factor to each dimension
	MatrixScalingFactors []PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactor `json:"matrix_scaling_factors,required"`
	// Tier pricing structure
	Tiers []PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTier `json:"tiers,required"`
	// Used for the scalable matrix second dimension (optional)
	SecondDimension string                                                                             `json:"second_dimension,nullable"`
	JSON            priceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigJSON `json:"-"`
}

Configuration for scalable_matrix_with_tiered_pricing pricing

func (*PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfig) UnmarshalJSON added in v1.15.0

type PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactor added in v1.15.0

type PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactor struct {
	// First dimension value
	FirstDimensionValue string `json:"first_dimension_value,required"`
	// Scaling factor
	ScalingFactor string `json:"scaling_factor,required"`
	// Second dimension value (optional)
	SecondDimensionValue string                                                                                                `json:"second_dimension_value,nullable"`
	JSON                 priceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactorJSON `json:"-"`
}

Configuration for a single matrix scaling factor

func (*PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigMatrixScalingFactor) UnmarshalJSON added in v1.15.0

type PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTier added in v1.15.0

type PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTier struct {
	// Tier lower bound
	TierLowerBound string `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount string                                                                                 `json:"unit_amount,required"`
	JSON       priceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTierJSON `json:"-"`
}

Configuration for a single tier entry with business logic

func (*PriceScalableMatrixWithTieredPricingPriceScalableMatrixWithTieredPricingConfigTier) UnmarshalJSON added in v1.15.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"`
	BillingMode               PriceScalableMatrixWithUnitPricingPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceScalableMatrixWithUnitPricingPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceScalableMatrixWithUnitPricingPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for scalable_matrix_with_unit_pricing pricing
	ScalableMatrixWithUnitPricingConfig PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfig `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 PriceScalableMatrixWithUnitPricingPriceBillingMode added in v1.19.0

type PriceScalableMatrixWithUnitPricingPriceBillingMode string
const (
	PriceScalableMatrixWithUnitPricingPriceBillingModeInAdvance PriceScalableMatrixWithUnitPricingPriceBillingMode = "in_advance"
	PriceScalableMatrixWithUnitPricingPriceBillingModeInArrear  PriceScalableMatrixWithUnitPricingPriceBillingMode = "in_arrear"
)

func (PriceScalableMatrixWithUnitPricingPriceBillingMode) IsKnown added in v1.19.0

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 PriceScalableMatrixWithUnitPricingPriceCompositePriceFilter added in v1.30.0

type PriceScalableMatrixWithUnitPricingPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                        `json:"values,required"`
	JSON   priceScalableMatrixWithUnitPricingPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceScalableMatrixWithUnitPricingPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

type PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField added in v1.30.0

type PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersFieldPriceID       PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField = "price_id"
	PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersFieldItemID        PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField = "item_id"
	PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersFieldPriceType     PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField = "price_type"
	PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersFieldCurrency      PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField = "currency"
	PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersFieldPricingUnitID PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersOperator added in v1.30.0

type PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersOperatorIncludes PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersOperator = "includes"
	PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersOperatorExcludes PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceScalableMatrixWithUnitPricingPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceScalableMatrixWithUnitPricingPricePriceTypeCompositePrice PriceScalableMatrixWithUnitPricingPricePriceType = "composite_price"
)

func (PriceScalableMatrixWithUnitPricingPricePriceType) IsKnown added in v0.121.0

type PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfig added in v1.15.0

type PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfig struct {
	// Used to determine the unit rate
	FirstDimension string `json:"first_dimension,required"`
	// Apply a scaling factor to each dimension
	MatrixScalingFactors []PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactor `json:"matrix_scaling_factors,required"`
	// The final unit price to rate against the output of the matrix
	UnitPrice string `json:"unit_price,required"`
	// If true, the unit price will be prorated to the billing period
	Prorate bool `json:"prorate,nullable"`
	// Used to determine the unit rate (optional)
	SecondDimension string                                                                         `json:"second_dimension,nullable"`
	JSON            priceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigJSON `json:"-"`
}

Configuration for scalable_matrix_with_unit_pricing pricing

func (*PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfig) UnmarshalJSON added in v1.15.0

type PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactor added in v1.15.0

type PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactor struct {
	// First dimension value
	FirstDimensionValue string `json:"first_dimension_value,required"`
	// Scaling factor
	ScalingFactor string `json:"scaling_factor,required"`
	// Second dimension value (optional)
	SecondDimensionValue string                                                                                            `json:"second_dimension_value,nullable"`
	JSON                 priceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactorJSON `json:"-"`
}

Configuration for a single matrix scaling factor

func (*PriceScalableMatrixWithUnitPricingPriceScalableMatrixWithUnitPricingConfigMatrixScalingFactor) UnmarshalJSON added in v1.15.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"`
	BillingMode               PriceThresholdTotalAmountPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceThresholdTotalAmountPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceThresholdTotalAmountPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for threshold_total_amount pricing
	ThresholdTotalAmountConfig    PriceThresholdTotalAmountPriceThresholdTotalAmountConfig `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 PriceThresholdTotalAmountPriceBillingMode added in v1.19.0

type PriceThresholdTotalAmountPriceBillingMode string
const (
	PriceThresholdTotalAmountPriceBillingModeInAdvance PriceThresholdTotalAmountPriceBillingMode = "in_advance"
	PriceThresholdTotalAmountPriceBillingModeInArrear  PriceThresholdTotalAmountPriceBillingMode = "in_arrear"
)

func (PriceThresholdTotalAmountPriceBillingMode) IsKnown added in v1.19.0

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 PriceThresholdTotalAmountPriceCompositePriceFilter added in v1.30.0

type PriceThresholdTotalAmountPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceThresholdTotalAmountPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceThresholdTotalAmountPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                               `json:"values,required"`
	JSON   priceThresholdTotalAmountPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceThresholdTotalAmountPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceThresholdTotalAmountPriceCompositePriceFiltersField added in v1.30.0

type PriceThresholdTotalAmountPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceThresholdTotalAmountPriceCompositePriceFiltersFieldPriceID       PriceThresholdTotalAmountPriceCompositePriceFiltersField = "price_id"
	PriceThresholdTotalAmountPriceCompositePriceFiltersFieldItemID        PriceThresholdTotalAmountPriceCompositePriceFiltersField = "item_id"
	PriceThresholdTotalAmountPriceCompositePriceFiltersFieldPriceType     PriceThresholdTotalAmountPriceCompositePriceFiltersField = "price_type"
	PriceThresholdTotalAmountPriceCompositePriceFiltersFieldCurrency      PriceThresholdTotalAmountPriceCompositePriceFiltersField = "currency"
	PriceThresholdTotalAmountPriceCompositePriceFiltersFieldPricingUnitID PriceThresholdTotalAmountPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceThresholdTotalAmountPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceThresholdTotalAmountPriceCompositePriceFiltersOperator added in v1.30.0

type PriceThresholdTotalAmountPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceThresholdTotalAmountPriceCompositePriceFiltersOperatorIncludes PriceThresholdTotalAmountPriceCompositePriceFiltersOperator = "includes"
	PriceThresholdTotalAmountPriceCompositePriceFiltersOperatorExcludes PriceThresholdTotalAmountPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceThresholdTotalAmountPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceThresholdTotalAmountPricePriceTypeCompositePrice PriceThresholdTotalAmountPricePriceType = "composite_price"
)

func (PriceThresholdTotalAmountPricePriceType) IsKnown added in v0.121.0

type PriceThresholdTotalAmountPriceThresholdTotalAmountConfig added in v1.15.0

type PriceThresholdTotalAmountPriceThresholdTotalAmountConfig struct {
	// When the quantity consumed passes a provided threshold, the configured total
	// will be charged
	ConsumptionTable []PriceThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTable `json:"consumption_table,required"`
	// If true, the unit price will be prorated to the billing period
	Prorate bool                                                         `json:"prorate,nullable"`
	JSON    priceThresholdTotalAmountPriceThresholdTotalAmountConfigJSON `json:"-"`
}

Configuration for threshold_total_amount pricing

func (*PriceThresholdTotalAmountPriceThresholdTotalAmountConfig) UnmarshalJSON added in v1.15.0

type PriceThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTable added in v1.15.0

type PriceThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTable struct {
	// Quantity threshold
	Threshold string `json:"threshold,required"`
	// Total amount for this threshold
	TotalAmount string                                                                       `json:"total_amount,required"`
	JSON        priceThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTableJSON `json:"-"`
}

Configuration for a single threshold

func (*PriceThresholdTotalAmountPriceThresholdTotalAmountConfigConsumptionTable) UnmarshalJSON added in v1.15.0

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"`
	BillingMode               PriceTieredPackagePriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceTieredPackagePriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceTieredPackagePriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for tiered_package pricing
	TieredPackageConfig           PriceTieredPackagePriceTieredPackageConfig `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 PriceTieredPackagePriceBillingMode added in v1.19.0

type PriceTieredPackagePriceBillingMode string
const (
	PriceTieredPackagePriceBillingModeInAdvance PriceTieredPackagePriceBillingMode = "in_advance"
	PriceTieredPackagePriceBillingModeInArrear  PriceTieredPackagePriceBillingMode = "in_arrear"
)

func (PriceTieredPackagePriceBillingMode) IsKnown added in v1.19.0

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 PriceTieredPackagePriceCompositePriceFilter added in v1.30.0

type PriceTieredPackagePriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceTieredPackagePriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceTieredPackagePriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                        `json:"values,required"`
	JSON   priceTieredPackagePriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceTieredPackagePriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceTieredPackagePriceCompositePriceFiltersField added in v1.30.0

type PriceTieredPackagePriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceTieredPackagePriceCompositePriceFiltersFieldPriceID       PriceTieredPackagePriceCompositePriceFiltersField = "price_id"
	PriceTieredPackagePriceCompositePriceFiltersFieldItemID        PriceTieredPackagePriceCompositePriceFiltersField = "item_id"
	PriceTieredPackagePriceCompositePriceFiltersFieldPriceType     PriceTieredPackagePriceCompositePriceFiltersField = "price_type"
	PriceTieredPackagePriceCompositePriceFiltersFieldCurrency      PriceTieredPackagePriceCompositePriceFiltersField = "currency"
	PriceTieredPackagePriceCompositePriceFiltersFieldPricingUnitID PriceTieredPackagePriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceTieredPackagePriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceTieredPackagePriceCompositePriceFiltersOperator added in v1.30.0

type PriceTieredPackagePriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceTieredPackagePriceCompositePriceFiltersOperatorIncludes PriceTieredPackagePriceCompositePriceFiltersOperator = "includes"
	PriceTieredPackagePriceCompositePriceFiltersOperatorExcludes PriceTieredPackagePriceCompositePriceFiltersOperator = "excludes"
)

func (PriceTieredPackagePriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceTieredPackagePricePriceTypeCompositePrice PriceTieredPackagePricePriceType = "composite_price"
)

func (PriceTieredPackagePricePriceType) IsKnown added in v0.121.0

type PriceTieredPackagePriceTieredPackageConfig added in v1.15.0

type PriceTieredPackagePriceTieredPackageConfig struct {
	// Package size
	PackageSize string `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds. The tier bounds are defined based on
	// the total quantity rather than the number of packages, so they must be multiples
	// of the package size.
	Tiers []PriceTieredPackagePriceTieredPackageConfigTier `json:"tiers,required"`
	JSON  priceTieredPackagePriceTieredPackageConfigJSON   `json:"-"`
}

Configuration for tiered_package pricing

func (*PriceTieredPackagePriceTieredPackageConfig) UnmarshalJSON added in v1.15.0

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

type PriceTieredPackagePriceTieredPackageConfigTier added in v1.15.0

type PriceTieredPackagePriceTieredPackageConfigTier struct {
	// Price per package
	PerUnit string `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound string                                             `json:"tier_lower_bound,required"`
	JSON           priceTieredPackagePriceTieredPackageConfigTierJSON `json:"-"`
}

Configuration for a single tier with business logic

func (*PriceTieredPackagePriceTieredPackageConfigTier) UnmarshalJSON added in v1.15.0

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

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"`
	BillingMode               PriceTieredPackageWithMinimumPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceTieredPackageWithMinimumPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceTieredPackageWithMinimumPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for tiered_package_with_minimum pricing
	TieredPackageWithMinimumConfig PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfig `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 PriceTieredPackageWithMinimumPriceBillingMode added in v1.19.0

type PriceTieredPackageWithMinimumPriceBillingMode string
const (
	PriceTieredPackageWithMinimumPriceBillingModeInAdvance PriceTieredPackageWithMinimumPriceBillingMode = "in_advance"
	PriceTieredPackageWithMinimumPriceBillingModeInArrear  PriceTieredPackageWithMinimumPriceBillingMode = "in_arrear"
)

func (PriceTieredPackageWithMinimumPriceBillingMode) IsKnown added in v1.19.0

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 PriceTieredPackageWithMinimumPriceCompositePriceFilter added in v1.30.0

type PriceTieredPackageWithMinimumPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceTieredPackageWithMinimumPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceTieredPackageWithMinimumPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                                   `json:"values,required"`
	JSON   priceTieredPackageWithMinimumPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceTieredPackageWithMinimumPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceTieredPackageWithMinimumPriceCompositePriceFiltersField added in v1.30.0

type PriceTieredPackageWithMinimumPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceTieredPackageWithMinimumPriceCompositePriceFiltersFieldPriceID       PriceTieredPackageWithMinimumPriceCompositePriceFiltersField = "price_id"
	PriceTieredPackageWithMinimumPriceCompositePriceFiltersFieldItemID        PriceTieredPackageWithMinimumPriceCompositePriceFiltersField = "item_id"
	PriceTieredPackageWithMinimumPriceCompositePriceFiltersFieldPriceType     PriceTieredPackageWithMinimumPriceCompositePriceFiltersField = "price_type"
	PriceTieredPackageWithMinimumPriceCompositePriceFiltersFieldCurrency      PriceTieredPackageWithMinimumPriceCompositePriceFiltersField = "currency"
	PriceTieredPackageWithMinimumPriceCompositePriceFiltersFieldPricingUnitID PriceTieredPackageWithMinimumPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceTieredPackageWithMinimumPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceTieredPackageWithMinimumPriceCompositePriceFiltersOperator added in v1.30.0

type PriceTieredPackageWithMinimumPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceTieredPackageWithMinimumPriceCompositePriceFiltersOperatorIncludes PriceTieredPackageWithMinimumPriceCompositePriceFiltersOperator = "includes"
	PriceTieredPackageWithMinimumPriceCompositePriceFiltersOperatorExcludes PriceTieredPackageWithMinimumPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceTieredPackageWithMinimumPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceTieredPackageWithMinimumPricePriceTypeCompositePrice PriceTieredPackageWithMinimumPricePriceType = "composite_price"
)

func (PriceTieredPackageWithMinimumPricePriceType) IsKnown added in v0.121.0

type PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfig added in v1.15.0

type PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfig struct {
	// Package size
	PackageSize float64 `json:"package_size,required"`
	// Apply tiered pricing after rounding up the quantity to the package size. Tiers
	// are defined using exclusive lower bounds.
	Tiers []PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTier `json:"tiers,required"`
	JSON  priceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigJSON   `json:"-"`
}

Configuration for tiered_package_with_minimum pricing

func (*PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfig) UnmarshalJSON added in v1.15.0

type PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTier added in v1.15.0

type PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTier struct {
	// Minimum amount
	MinimumAmount string `json:"minimum_amount,required"`
	// Price per package
	PerUnit string `json:"per_unit,required"`
	// Tier lower bound
	TierLowerBound string                                                                   `json:"tier_lower_bound,required"`
	JSON           priceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTierJSON `json:"-"`
}

Configuration for a single tier

func (*PriceTieredPackageWithMinimumPriceTieredPackageWithMinimumConfigTier) UnmarshalJSON added in v1.15.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"`
	BillingMode               PriceTieredPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceTieredPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceTieredPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for tiered pricing
	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 PriceTieredPriceBillingMode added in v1.19.0

type PriceTieredPriceBillingMode string
const (
	PriceTieredPriceBillingModeInAdvance PriceTieredPriceBillingMode = "in_advance"
	PriceTieredPriceBillingModeInArrear  PriceTieredPriceBillingMode = "in_arrear"
)

func (PriceTieredPriceBillingMode) IsKnown added in v1.19.0

func (r PriceTieredPriceBillingMode) IsKnown() bool

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 PriceTieredPriceCompositePriceFilter added in v1.30.0

type PriceTieredPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceTieredPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceTieredPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                 `json:"values,required"`
	JSON   priceTieredPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceTieredPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceTieredPriceCompositePriceFiltersField added in v1.30.0

type PriceTieredPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceTieredPriceCompositePriceFiltersFieldPriceID       PriceTieredPriceCompositePriceFiltersField = "price_id"
	PriceTieredPriceCompositePriceFiltersFieldItemID        PriceTieredPriceCompositePriceFiltersField = "item_id"
	PriceTieredPriceCompositePriceFiltersFieldPriceType     PriceTieredPriceCompositePriceFiltersField = "price_type"
	PriceTieredPriceCompositePriceFiltersFieldCurrency      PriceTieredPriceCompositePriceFiltersField = "currency"
	PriceTieredPriceCompositePriceFiltersFieldPricingUnitID PriceTieredPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceTieredPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceTieredPriceCompositePriceFiltersOperator added in v1.30.0

type PriceTieredPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceTieredPriceCompositePriceFiltersOperatorIncludes PriceTieredPriceCompositePriceFiltersOperator = "includes"
	PriceTieredPriceCompositePriceFiltersOperatorExcludes PriceTieredPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceTieredPriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

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

The pricing model type

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"
	PriceTieredPricePriceTypeCompositePrice PriceTieredPricePriceType = "composite_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"`
	BillingMode               PriceTieredWithMinimumPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceTieredWithMinimumPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceTieredWithMinimumPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for tiered_with_minimum pricing
	TieredWithMinimumConfig       PriceTieredWithMinimumPriceTieredWithMinimumConfig `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 PriceTieredWithMinimumPriceBillingMode added in v1.19.0

type PriceTieredWithMinimumPriceBillingMode string
const (
	PriceTieredWithMinimumPriceBillingModeInAdvance PriceTieredWithMinimumPriceBillingMode = "in_advance"
	PriceTieredWithMinimumPriceBillingModeInArrear  PriceTieredWithMinimumPriceBillingMode = "in_arrear"
)

func (PriceTieredWithMinimumPriceBillingMode) IsKnown added in v1.19.0

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 PriceTieredWithMinimumPriceCompositePriceFilter added in v1.30.0

type PriceTieredWithMinimumPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceTieredWithMinimumPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceTieredWithMinimumPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                            `json:"values,required"`
	JSON   priceTieredWithMinimumPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceTieredWithMinimumPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceTieredWithMinimumPriceCompositePriceFiltersField added in v1.30.0

type PriceTieredWithMinimumPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceTieredWithMinimumPriceCompositePriceFiltersFieldPriceID       PriceTieredWithMinimumPriceCompositePriceFiltersField = "price_id"
	PriceTieredWithMinimumPriceCompositePriceFiltersFieldItemID        PriceTieredWithMinimumPriceCompositePriceFiltersField = "item_id"
	PriceTieredWithMinimumPriceCompositePriceFiltersFieldPriceType     PriceTieredWithMinimumPriceCompositePriceFiltersField = "price_type"
	PriceTieredWithMinimumPriceCompositePriceFiltersFieldCurrency      PriceTieredWithMinimumPriceCompositePriceFiltersField = "currency"
	PriceTieredWithMinimumPriceCompositePriceFiltersFieldPricingUnitID PriceTieredWithMinimumPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceTieredWithMinimumPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceTieredWithMinimumPriceCompositePriceFiltersOperator added in v1.30.0

type PriceTieredWithMinimumPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceTieredWithMinimumPriceCompositePriceFiltersOperatorIncludes PriceTieredWithMinimumPriceCompositePriceFiltersOperator = "includes"
	PriceTieredWithMinimumPriceCompositePriceFiltersOperatorExcludes PriceTieredWithMinimumPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceTieredWithMinimumPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceTieredWithMinimumPricePriceTypeCompositePrice PriceTieredWithMinimumPricePriceType = "composite_price"
)

func (PriceTieredWithMinimumPricePriceType) IsKnown added in v0.121.0

type PriceTieredWithMinimumPriceTieredWithMinimumConfig added in v1.15.0

type PriceTieredWithMinimumPriceTieredWithMinimumConfig struct {
	// Tiered pricing with a minimum amount dependent on the volume tier. Tiers are
	// defined using exclusive lower bounds.
	Tiers []PriceTieredWithMinimumPriceTieredWithMinimumConfigTier `json:"tiers,required"`
	// If true, tiers with an accrued amount of 0 will not be included in the rating.
	HideZeroAmountTiers bool `json:"hide_zero_amount_tiers"`
	// If true, the unit price will be prorated to the billing period
	Prorate bool                                                   `json:"prorate"`
	JSON    priceTieredWithMinimumPriceTieredWithMinimumConfigJSON `json:"-"`
}

Configuration for tiered_with_minimum pricing

func (*PriceTieredWithMinimumPriceTieredWithMinimumConfig) UnmarshalJSON added in v1.15.0

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

type PriceTieredWithMinimumPriceTieredWithMinimumConfigTier added in v1.15.0

type PriceTieredWithMinimumPriceTieredWithMinimumConfigTier struct {
	// Minimum amount
	MinimumAmount string `json:"minimum_amount,required"`
	// Tier lower bound
	TierLowerBound string `json:"tier_lower_bound,required"`
	// Per unit amount
	UnitAmount string                                                     `json:"unit_amount,required"`
	JSON       priceTieredWithMinimumPriceTieredWithMinimumConfigTierJSON `json:"-"`
}

Configuration for a single tier

func (*PriceTieredWithMinimumPriceTieredWithMinimumConfigTier) UnmarshalJSON added in v1.15.0

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

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"`
	BillingMode               PriceTieredWithProrationPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceTieredWithProrationPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceTieredWithProrationPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for tiered_with_proration pricing
	TieredWithProrationConfig     PriceTieredWithProrationPriceTieredWithProrationConfig `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 PriceTieredWithProrationPriceBillingMode added in v1.19.0

type PriceTieredWithProrationPriceBillingMode string
const (
	PriceTieredWithProrationPriceBillingModeInAdvance PriceTieredWithProrationPriceBillingMode = "in_advance"
	PriceTieredWithProrationPriceBillingModeInArrear  PriceTieredWithProrationPriceBillingMode = "in_arrear"
)

func (PriceTieredWithProrationPriceBillingMode) IsKnown added in v1.19.0

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 PriceTieredWithProrationPriceCompositePriceFilter added in v1.30.0

type PriceTieredWithProrationPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceTieredWithProrationPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceTieredWithProrationPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                              `json:"values,required"`
	JSON   priceTieredWithProrationPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceTieredWithProrationPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceTieredWithProrationPriceCompositePriceFiltersField added in v1.30.0

type PriceTieredWithProrationPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceTieredWithProrationPriceCompositePriceFiltersFieldPriceID       PriceTieredWithProrationPriceCompositePriceFiltersField = "price_id"
	PriceTieredWithProrationPriceCompositePriceFiltersFieldItemID        PriceTieredWithProrationPriceCompositePriceFiltersField = "item_id"
	PriceTieredWithProrationPriceCompositePriceFiltersFieldPriceType     PriceTieredWithProrationPriceCompositePriceFiltersField = "price_type"
	PriceTieredWithProrationPriceCompositePriceFiltersFieldCurrency      PriceTieredWithProrationPriceCompositePriceFiltersField = "currency"
	PriceTieredWithProrationPriceCompositePriceFiltersFieldPricingUnitID PriceTieredWithProrationPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceTieredWithProrationPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceTieredWithProrationPriceCompositePriceFiltersOperator added in v1.30.0

type PriceTieredWithProrationPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceTieredWithProrationPriceCompositePriceFiltersOperatorIncludes PriceTieredWithProrationPriceCompositePriceFiltersOperator = "includes"
	PriceTieredWithProrationPriceCompositePriceFiltersOperatorExcludes PriceTieredWithProrationPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceTieredWithProrationPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceTieredWithProrationPricePriceTypeCompositePrice PriceTieredWithProrationPricePriceType = "composite_price"
)

func (PriceTieredWithProrationPricePriceType) IsKnown added in v0.121.0

type PriceTieredWithProrationPriceTieredWithProrationConfig added in v1.15.0

type PriceTieredWithProrationPriceTieredWithProrationConfig struct {
	// Tiers for rating based on total usage quantities into the specified tier with
	// proration
	Tiers []PriceTieredWithProrationPriceTieredWithProrationConfigTier `json:"tiers,required"`
	JSON  priceTieredWithProrationPriceTieredWithProrationConfigJSON   `json:"-"`
}

Configuration for tiered_with_proration pricing

func (*PriceTieredWithProrationPriceTieredWithProrationConfig) UnmarshalJSON added in v1.15.0

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

type PriceTieredWithProrationPriceTieredWithProrationConfigTier added in v1.15.0

type PriceTieredWithProrationPriceTieredWithProrationConfigTier struct {
	// Inclusive tier starting value
	TierLowerBound string `json:"tier_lower_bound,required"`
	// Amount per unit
	UnitAmount string                                                         `json:"unit_amount,required"`
	JSON       priceTieredWithProrationPriceTieredWithProrationConfigTierJSON `json:"-"`
}

Configuration for a single tiered with proration tier

func (*PriceTieredWithProrationPriceTieredWithProrationConfigTier) UnmarshalJSON added in v1.15.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, PriceTieredPrice, PriceBulkPrice, PriceBulkWithFiltersPrice, PricePackagePrice, PriceMatrixPrice, PriceThresholdTotalAmountPrice, PriceTieredPackagePrice, PriceTieredWithMinimumPrice, PriceGroupedTieredPrice, PriceTieredPackageWithMinimumPrice, PricePackageWithAllocationPrice, PriceUnitWithPercentPrice, PriceMatrixWithAllocationPrice, PriceTieredWithProrationPrice, PriceUnitWithProrationPrice, PriceGroupedAllocationPrice, PriceBulkWithProrationPrice, PriceGroupedWithProratedMinimumPrice, PriceGroupedWithMeteredMinimumPrice, PriceGroupedWithMinMaxThresholdsPrice, PriceMatrixWithDisplayNamePrice, PriceGroupedTieredPackagePrice, PriceMaxGroupTieredPackagePrice, PriceScalableMatrixWithUnitPricingPrice, PriceScalableMatrixWithTieredPricingPrice, PriceCumulativeGroupedBulkPrice, PriceMinimumCompositePrice, PricePercentCompositePrice or PriceEventOutputPrice.

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"`
	BillingMode               PriceUnitPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceUnitPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceUnitPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for unit pricing
	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 PriceUnitPriceBillingMode added in v1.19.0

type PriceUnitPriceBillingMode string
const (
	PriceUnitPriceBillingModeInAdvance PriceUnitPriceBillingMode = "in_advance"
	PriceUnitPriceBillingModeInArrear  PriceUnitPriceBillingMode = "in_arrear"
)

func (PriceUnitPriceBillingMode) IsKnown added in v1.19.0

func (r PriceUnitPriceBillingMode) IsKnown() bool

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 PriceUnitPriceCompositePriceFilter added in v1.30.0

type PriceUnitPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceUnitPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceUnitPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                               `json:"values,required"`
	JSON   priceUnitPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceUnitPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceUnitPriceCompositePriceFiltersField added in v1.30.0

type PriceUnitPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceUnitPriceCompositePriceFiltersFieldPriceID       PriceUnitPriceCompositePriceFiltersField = "price_id"
	PriceUnitPriceCompositePriceFiltersFieldItemID        PriceUnitPriceCompositePriceFiltersField = "item_id"
	PriceUnitPriceCompositePriceFiltersFieldPriceType     PriceUnitPriceCompositePriceFiltersField = "price_type"
	PriceUnitPriceCompositePriceFiltersFieldCurrency      PriceUnitPriceCompositePriceFiltersField = "currency"
	PriceUnitPriceCompositePriceFiltersFieldPricingUnitID PriceUnitPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceUnitPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceUnitPriceCompositePriceFiltersOperator added in v1.30.0

type PriceUnitPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceUnitPriceCompositePriceFiltersOperatorIncludes PriceUnitPriceCompositePriceFiltersOperator = "includes"
	PriceUnitPriceCompositePriceFiltersOperatorExcludes PriceUnitPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceUnitPriceCompositePriceFiltersOperator) IsKnown added in v1.30.0

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

The pricing model type

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"
	PriceUnitPricePriceTypeCompositePrice PriceUnitPricePriceType = "composite_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"`
	BillingMode               PriceUnitWithPercentPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceUnitWithPercentPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceUnitWithPercentPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for unit_with_percent pricing
	UnitWithPercentConfig         PriceUnitWithPercentPriceUnitWithPercentConfig `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 PriceUnitWithPercentPriceBillingMode added in v1.19.0

type PriceUnitWithPercentPriceBillingMode string
const (
	PriceUnitWithPercentPriceBillingModeInAdvance PriceUnitWithPercentPriceBillingMode = "in_advance"
	PriceUnitWithPercentPriceBillingModeInArrear  PriceUnitWithPercentPriceBillingMode = "in_arrear"
)

func (PriceUnitWithPercentPriceBillingMode) IsKnown added in v1.19.0

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 PriceUnitWithPercentPriceCompositePriceFilter added in v1.30.0

type PriceUnitWithPercentPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceUnitWithPercentPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceUnitWithPercentPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                          `json:"values,required"`
	JSON   priceUnitWithPercentPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceUnitWithPercentPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceUnitWithPercentPriceCompositePriceFiltersField added in v1.30.0

type PriceUnitWithPercentPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceUnitWithPercentPriceCompositePriceFiltersFieldPriceID       PriceUnitWithPercentPriceCompositePriceFiltersField = "price_id"
	PriceUnitWithPercentPriceCompositePriceFiltersFieldItemID        PriceUnitWithPercentPriceCompositePriceFiltersField = "item_id"
	PriceUnitWithPercentPriceCompositePriceFiltersFieldPriceType     PriceUnitWithPercentPriceCompositePriceFiltersField = "price_type"
	PriceUnitWithPercentPriceCompositePriceFiltersFieldCurrency      PriceUnitWithPercentPriceCompositePriceFiltersField = "currency"
	PriceUnitWithPercentPriceCompositePriceFiltersFieldPricingUnitID PriceUnitWithPercentPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceUnitWithPercentPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceUnitWithPercentPriceCompositePriceFiltersOperator added in v1.30.0

type PriceUnitWithPercentPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceUnitWithPercentPriceCompositePriceFiltersOperatorIncludes PriceUnitWithPercentPriceCompositePriceFiltersOperator = "includes"
	PriceUnitWithPercentPriceCompositePriceFiltersOperatorExcludes PriceUnitWithPercentPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceUnitWithPercentPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceUnitWithPercentPricePriceTypeCompositePrice PriceUnitWithPercentPricePriceType = "composite_price"
)

func (PriceUnitWithPercentPricePriceType) IsKnown added in v0.121.0

type PriceUnitWithPercentPriceUnitWithPercentConfig added in v1.15.0

type PriceUnitWithPercentPriceUnitWithPercentConfig struct {
	// What percent, out of 100, of the calculated total to charge
	Percent string `json:"percent,required"`
	// Rate per unit of usage
	UnitAmount string                                             `json:"unit_amount,required"`
	JSON       priceUnitWithPercentPriceUnitWithPercentConfigJSON `json:"-"`
}

Configuration for unit_with_percent pricing

func (*PriceUnitWithPercentPriceUnitWithPercentConfig) UnmarshalJSON added in v1.15.0

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

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"`
	BillingMode               PriceUnitWithProrationPriceBillingMode            `json:"billing_mode,required"`
	Cadence                   PriceUnitWithProrationPriceCadence                `json:"cadence,required"`
	CompositePriceFilters     []PriceUnitWithProrationPriceCompositePriceFilter `json:"composite_price_filters,required,nullable"`
	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"`
	// A minimal representation of an Item containing only the essential identifying
	// information.
	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"`
	// The pricing model type
	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"`
	// Configuration for unit_with_proration pricing
	UnitWithProrationConfig       PriceUnitWithProrationPriceUnitWithProrationConfig `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 PriceUnitWithProrationPriceBillingMode added in v1.19.0

type PriceUnitWithProrationPriceBillingMode string
const (
	PriceUnitWithProrationPriceBillingModeInAdvance PriceUnitWithProrationPriceBillingMode = "in_advance"
	PriceUnitWithProrationPriceBillingModeInArrear  PriceUnitWithProrationPriceBillingMode = "in_arrear"
)

func (PriceUnitWithProrationPriceBillingMode) IsKnown added in v1.19.0

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 PriceUnitWithProrationPriceCompositePriceFilter added in v1.30.0

type PriceUnitWithProrationPriceCompositePriceFilter struct {
	// The property of the price to filter on.
	Field PriceUnitWithProrationPriceCompositePriceFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator PriceUnitWithProrationPriceCompositePriceFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                                            `json:"values,required"`
	JSON   priceUnitWithProrationPriceCompositePriceFilterJSON `json:"-"`
}

func (*PriceUnitWithProrationPriceCompositePriceFilter) UnmarshalJSON added in v1.30.0

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

type PriceUnitWithProrationPriceCompositePriceFiltersField added in v1.30.0

type PriceUnitWithProrationPriceCompositePriceFiltersField string

The property of the price to filter on.

const (
	PriceUnitWithProrationPriceCompositePriceFiltersFieldPriceID       PriceUnitWithProrationPriceCompositePriceFiltersField = "price_id"
	PriceUnitWithProrationPriceCompositePriceFiltersFieldItemID        PriceUnitWithProrationPriceCompositePriceFiltersField = "item_id"
	PriceUnitWithProrationPriceCompositePriceFiltersFieldPriceType     PriceUnitWithProrationPriceCompositePriceFiltersField = "price_type"
	PriceUnitWithProrationPriceCompositePriceFiltersFieldCurrency      PriceUnitWithProrationPriceCompositePriceFiltersField = "currency"
	PriceUnitWithProrationPriceCompositePriceFiltersFieldPricingUnitID PriceUnitWithProrationPriceCompositePriceFiltersField = "pricing_unit_id"
)

func (PriceUnitWithProrationPriceCompositePriceFiltersField) IsKnown added in v1.30.0

type PriceUnitWithProrationPriceCompositePriceFiltersOperator added in v1.30.0

type PriceUnitWithProrationPriceCompositePriceFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	PriceUnitWithProrationPriceCompositePriceFiltersOperatorIncludes PriceUnitWithProrationPriceCompositePriceFiltersOperator = "includes"
	PriceUnitWithProrationPriceCompositePriceFiltersOperatorExcludes PriceUnitWithProrationPriceCompositePriceFiltersOperator = "excludes"
)

func (PriceUnitWithProrationPriceCompositePriceFiltersOperator) IsKnown added in v1.30.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

The pricing model type

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"
	PriceUnitWithProrationPricePriceTypeCompositePrice PriceUnitWithProrationPricePriceType = "composite_price"
)

func (PriceUnitWithProrationPricePriceType) IsKnown added in v0.121.0

type PriceUnitWithProrationPriceUnitWithProrationConfig added in v1.15.0

type PriceUnitWithProrationPriceUnitWithProrationConfig struct {
	// Rate per unit of usage
	UnitAmount string                                                 `json:"unit_amount,required"`
	JSON       priceUnitWithProrationPriceUnitWithProrationConfigJSON `json:"-"`
}

Configuration for unit_with_proration pricing

func (*PriceUnitWithProrationPriceUnitWithProrationConfig) UnmarshalJSON added in v1.15.0

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

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. This value is null if and only if this is the last
	// tier.
	LastUnit float64  `json:"last_unit,nullable"`
	JSON     tierJSON `json:"-"`
}

Configuration for a single tier

func (*Tier) UnmarshalJSON added in v0.121.0

func (r *Tier) 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. This value is null if and only if this is the last
	// tier.
	LastUnit param.Field[float64] `json:"last_unit"`
}

Configuration for a single tier

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 TierSubLineItemTierConfig `json:"tier_config,required"`
	Type       TierSubLineItemType       `json:"type,required"`
	JSON       tierSubLineItemJSON       `json:"-"`
}

func (TierSubLineItem) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem added in v1.19.0

func (r TierSubLineItem) ImplementsChangedSubscriptionResourcesCreatedInvoicesLineItemsSubLineItem()

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 TierSubLineItemTierConfig added in v1.15.0

type TierSubLineItemTierConfig struct {
	FirstUnit  float64                       `json:"first_unit,required"`
	LastUnit   float64                       `json:"last_unit,required,nullable"`
	UnitAmount string                        `json:"unit_amount,required"`
	JSON       tierSubLineItemTierConfigJSON `json:"-"`
}

func (*TierSubLineItemTierConfig) UnmarshalJSON added in v1.15.0

func (r *TierSubLineItemTierConfig) 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 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:"-"`
}

Configuration for tiered pricing

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"`
}

Configuration for tiered pricing

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) ImplementsPriceBulkPriceConversionRateConfig added in v0.123.0

func (r TieredConversionRateConfig) ImplementsPriceBulkPriceConversionRateConfig()

func (TieredConversionRateConfig) ImplementsPriceBulkWithFiltersPriceConversionRateConfig added in v1.28.0

func (r TieredConversionRateConfig) ImplementsPriceBulkWithFiltersPriceConversionRateConfig()

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) ImplementsPriceEventOutputPriceConversionRateConfig added in v1.25.0

func (r TieredConversionRateConfig) ImplementsPriceEventOutputPriceConversionRateConfig()

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) ImplementsPriceGroupedWithMinMaxThresholdsPriceConversionRateConfig added in v1.13.0

func (r TieredConversionRateConfig) ImplementsPriceGroupedWithMinMaxThresholdsPriceConversionRateConfig()

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) ImplementsPriceMinimumCompositePriceConversionRateConfig added in v1.14.0

func (r TieredConversionRateConfig) ImplementsPriceMinimumCompositePriceConversionRateConfig()

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) ImplementsPricePercentCompositePriceConversionRateConfig added in v1.26.0

func (r TieredConversionRateConfig) ImplementsPricePercentCompositePriceConversionRateConfig()

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) 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) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

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) ImplementsNewFloatingMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsNewFloatingMinimumCompositePriceConversionRateConfigUnionParam()

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) 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) 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) ImplementsNewPlanMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsNewPlanMinimumCompositePriceConversionRateConfigUnionParam()

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) 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) 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) ImplementsNewSubscriptionMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsNewSubscriptionMinimumCompositePriceConversionRateConfigUnionParam()

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) 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) ImplementsPlanNewParamsPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkPriceConversionRateConfigUnion added in v0.123.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkWithFiltersPriceConversionRateConfigUnion()

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) ImplementsPriceNewParamsNewFloatingEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingEventOutputPriceConversionRateConfigUnion()

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) ImplementsPriceNewParamsNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

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) ImplementsPriceNewParamsNewFloatingMinimumCompositePriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMinimumCompositePriceConversionRateConfigUnion()

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) ImplementsPriceNewParamsNewFloatingPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPercentCompositePriceConversionRateConfigUnion()

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) 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) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r TieredConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion()

func (TieredConversionRateConfigParam) MarshalJSON added in v0.123.0

func (r TieredConversionRateConfigParam) 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 []TrialDiscountFilter `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 TrialDiscountFilter added in v0.120.0

type TrialDiscountFilter struct {
	// The property of the price to filter on.
	Field TrialDiscountFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator TrialDiscountFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                `json:"values,required"`
	JSON   trialDiscountFilterJSON `json:"-"`
}

func (*TrialDiscountFilter) UnmarshalJSON added in v0.120.0

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

type TrialDiscountFilterParam added in v0.120.0

type TrialDiscountFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[TrialDiscountFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[TrialDiscountFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (TrialDiscountFilterParam) MarshalJSON added in v0.120.0

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

type TrialDiscountFiltersField added in v0.120.0

type TrialDiscountFiltersField string

The property of the price to filter on.

const (
	TrialDiscountFiltersFieldPriceID       TrialDiscountFiltersField = "price_id"
	TrialDiscountFiltersFieldItemID        TrialDiscountFiltersField = "item_id"
	TrialDiscountFiltersFieldPriceType     TrialDiscountFiltersField = "price_type"
	TrialDiscountFiltersFieldCurrency      TrialDiscountFiltersField = "currency"
	TrialDiscountFiltersFieldPricingUnitID TrialDiscountFiltersField = "pricing_unit_id"
)

func (TrialDiscountFiltersField) IsKnown added in v0.120.0

func (r TrialDiscountFiltersField) IsKnown() bool

type TrialDiscountFiltersOperator added in v0.120.0

type TrialDiscountFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	TrialDiscountFiltersOperatorIncludes TrialDiscountFiltersOperator = "includes"
	TrialDiscountFiltersOperatorExcludes TrialDiscountFiltersOperator = "excludes"
)

func (TrialDiscountFiltersOperator) IsKnown added in v0.120.0

func (r TrialDiscountFiltersOperator) 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[[]TrialDiscountFilterParam] `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) 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:"-"`
}

Configuration for unit pricing

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"`
}

Configuration for unit pricing

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) ImplementsPriceBulkPriceConversionRateConfig added in v0.123.0

func (r UnitConversionRateConfig) ImplementsPriceBulkPriceConversionRateConfig()

func (UnitConversionRateConfig) ImplementsPriceBulkWithFiltersPriceConversionRateConfig added in v1.28.0

func (r UnitConversionRateConfig) ImplementsPriceBulkWithFiltersPriceConversionRateConfig()

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) ImplementsPriceEventOutputPriceConversionRateConfig added in v1.25.0

func (r UnitConversionRateConfig) ImplementsPriceEventOutputPriceConversionRateConfig()

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) ImplementsPriceGroupedWithMinMaxThresholdsPriceConversionRateConfig added in v1.13.0

func (r UnitConversionRateConfig) ImplementsPriceGroupedWithMinMaxThresholdsPriceConversionRateConfig()

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) ImplementsPriceMinimumCompositePriceConversionRateConfig added in v1.14.0

func (r UnitConversionRateConfig) ImplementsPriceMinimumCompositePriceConversionRateConfig()

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) ImplementsPricePercentCompositePriceConversionRateConfig added in v1.26.0

func (r UnitConversionRateConfig) ImplementsPricePercentCompositePriceConversionRateConfig()

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) 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) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsAddPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsBetaExternalPlanIDNewPlanVersionParamsReplacePricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsAddPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsBetaNewPlanVersionParamsReplacePricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

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) ImplementsNewFloatingMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsNewFloatingMinimumCompositePriceConversionRateConfigUnionParam()

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) 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) 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) ImplementsNewPlanMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsNewPlanMinimumCompositePriceConversionRateConfigUnionParam()

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) 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) 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) ImplementsNewSubscriptionMinimumCompositePriceConversionRateConfigUnionParam added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsNewSubscriptionMinimumCompositePriceConversionRateConfigUnionParam()

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) 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) ImplementsPlanNewParamsPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsPlanNewParamsPricesPriceNewPlanTieredWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsPriceEvaluateMultipleParamsPriceEvaluationsPriceNewFloatingPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsPriceEvaluatePreviewEventsParamsPriceEvaluationsPriceNewFloatingPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkPriceConversionRateConfigUnion added in v0.123.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingBulkWithFiltersPriceConversionRateConfigUnion()

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) ImplementsPriceNewParamsNewFloatingEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingEventOutputPriceConversionRateConfigUnion()

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) ImplementsPriceNewParamsNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

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) ImplementsPriceNewParamsNewFloatingMinimumCompositePriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingMinimumCompositePriceConversionRateConfigUnion()

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) ImplementsPriceNewParamsNewFloatingPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsPriceNewParamsNewFloatingPercentCompositePriceConversionRateConfigUnion()

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) 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) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsAddPricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionNewParamsReplacePricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionPriceIntervalsParamsAddPriceNewFloatingPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsAddPricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion added in v1.28.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionBulkWithFiltersPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion added in v1.25.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionEventOutputPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion added in v1.14.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionGroupedWithMinMaxThresholdsPriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion added in v1.26.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionPercentCompositePriceConversionRateConfigUnion()

func (UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion added in v1.15.0

func (r UnitConversionRateConfigParam) ImplementsSubscriptionSchedulePlanChangeParamsReplacePricesPriceNewSubscriptionTieredWithProrationPriceConversionRateConfigUnion()

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 []UsageDiscountFilter `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 UsageDiscountFilter added in v0.120.0

type UsageDiscountFilter struct {
	// The property of the price to filter on.
	Field UsageDiscountFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator UsageDiscountFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                `json:"values,required"`
	JSON   usageDiscountFilterJSON `json:"-"`
}

func (*UsageDiscountFilter) UnmarshalJSON added in v0.120.0

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

type UsageDiscountFilterParam added in v0.120.0

type UsageDiscountFilterParam struct {
	// The property of the price to filter on.
	Field param.Field[UsageDiscountFiltersField] `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator param.Field[UsageDiscountFiltersOperator] `json:"operator,required"`
	// The IDs or values that match this filter.
	Values param.Field[[]string] `json:"values,required"`
}

func (UsageDiscountFilterParam) MarshalJSON added in v0.120.0

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

type UsageDiscountFiltersField added in v0.120.0

type UsageDiscountFiltersField string

The property of the price to filter on.

const (
	UsageDiscountFiltersFieldPriceID       UsageDiscountFiltersField = "price_id"
	UsageDiscountFiltersFieldItemID        UsageDiscountFiltersField = "item_id"
	UsageDiscountFiltersFieldPriceType     UsageDiscountFiltersField = "price_type"
	UsageDiscountFiltersFieldCurrency      UsageDiscountFiltersField = "currency"
	UsageDiscountFiltersFieldPricingUnitID UsageDiscountFiltersField = "pricing_unit_id"
)

func (UsageDiscountFiltersField) IsKnown added in v0.120.0

func (r UsageDiscountFiltersField) IsKnown() bool

type UsageDiscountFiltersOperator added in v0.120.0

type UsageDiscountFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	UsageDiscountFiltersOperatorIncludes UsageDiscountFiltersOperator = "includes"
	UsageDiscountFiltersOperatorExcludes UsageDiscountFiltersOperator = "excludes"
)

func (UsageDiscountFiltersOperator) IsKnown added in v0.120.0

func (r UsageDiscountFiltersOperator) 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 []UsageDiscountIntervalFilter `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 UsageDiscountIntervalFilter added in v1.30.0

type UsageDiscountIntervalFilter struct {
	// The property of the price to filter on.
	Field UsageDiscountIntervalFiltersField `json:"field,required"`
	// Should prices that match the filter be included or excluded.
	Operator UsageDiscountIntervalFiltersOperator `json:"operator,required"`
	// The IDs or values that match this filter.
	Values []string                        `json:"values,required"`
	JSON   usageDiscountIntervalFilterJSON `json:"-"`
}

func (*UsageDiscountIntervalFilter) UnmarshalJSON added in v1.30.0

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

type UsageDiscountIntervalFiltersField added in v1.30.0

type UsageDiscountIntervalFiltersField string

The property of the price to filter on.

const (
	UsageDiscountIntervalFiltersFieldPriceID       UsageDiscountIntervalFiltersField = "price_id"
	UsageDiscountIntervalFiltersFieldItemID        UsageDiscountIntervalFiltersField = "item_id"
	UsageDiscountIntervalFiltersFieldPriceType     UsageDiscountIntervalFiltersField = "price_type"
	UsageDiscountIntervalFiltersFieldCurrency      UsageDiscountIntervalFiltersField = "currency"
	UsageDiscountIntervalFiltersFieldPricingUnitID UsageDiscountIntervalFiltersField = "pricing_unit_id"
)

func (UsageDiscountIntervalFiltersField) IsKnown added in v1.30.0

type UsageDiscountIntervalFiltersOperator added in v1.30.0

type UsageDiscountIntervalFiltersOperator string

Should prices that match the filter be included or excluded.

const (
	UsageDiscountIntervalFiltersOperatorIncludes UsageDiscountIntervalFiltersOperator = "includes"
	UsageDiscountIntervalFiltersOperatorExcludes UsageDiscountIntervalFiltersOperator = "excludes"
)

func (UsageDiscountIntervalFiltersOperator) IsKnown added in v1.30.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[[]UsageDiscountFilterParam] `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