shared

package
v0.104.0 Latest Latest
Warning

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

Go to latest
Published: Mar 5, 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 AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryType string
const (
	AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryTypeAmendment AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryType = "amendment"
)

func (AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.103.0

type AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsParam struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement or void operations.
	Amount param.Field[float64] `json:"amount,required"`
	// The ID of the block to reverse a decrement from.
	BlockID   param.Field[string]                                                                         `json:"block_id,required"`
	EntryType param.Field[AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// 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 (AddCreditLedgerEntryRequestAddAmendmentCreditLedgerEntryRequestParamsParam) MarshalJSON added in v0.103.0

type AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryType string
const (
	AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryTypeDecrement AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryType = "decrement"
)

func (AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.103.0

type AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsParam struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount    param.Field[float64]                                                                        `json:"amount,required"`
	EntryType param.Field[AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// 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 (AddCreditLedgerEntryRequestAddDecrementCreditLedgerEntryRequestParamsParam) MarshalJSON added in v0.103.0

type AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryType string
const (
	AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryTypeExpirationChange AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryType = "expiration_change"
)

func (AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.103.0

type AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsParam struct {
	EntryType param.Field[AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// An ISO 8601 format date that identifies the origination credit block to expire
	ExpiryDate param.Field[time.Time] `json:"expiry_date,required" format:"date-time"`
	// A future date (specified in YYYY-MM-DD format) used for expiration change,
	// denoting when credits transferred (as part of a partial block expiration) should
	// expire.
	TargetExpiryDate param.Field[time.Time] `json:"target_expiry_date,required" format:"date"`
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount param.Field[float64] `json:"amount"`
	// The ID of the block affected by an expiration_change, used to differentiate
	// between multiple blocks with the same `expiry_date`.
	BlockID param.Field[string] `json:"block_id"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// 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 (AddCreditLedgerEntryRequestAddExpirationChangeCreditLedgerEntryRequestParamsParam) MarshalJSON added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryType string
const (
	AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryTypeIncrement AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryType = "increment"
)

func (AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsParam struct {
	// Whether the credits purchase invoice should auto collect with the customer's
	// saved payment method.
	AutoCollection param.Field[bool] `json:"auto_collection,required"`
	// The net terms determines the difference between the invoice date and the issue
	// date for the invoice. If you intend the invoice to be due on issue, set this
	// to 0.
	NetTerms param.Field[int64] `json:"net_terms,required"`
	// An optional memo to display on the invoice.
	Memo param.Field[string] `json:"memo"`
	// If true, the new credit block will require that the corresponding invoice is
	// paid before it can be drawn down from.
	RequireSuccessfulPayment param.Field[bool] `json:"require_successful_payment"`
}

Passing `invoice_settings` automatically generates an invoice for the newly added credits. If `invoice_settings` is passed, you must specify per_unit_cost_basis, as the calculation of the invoice total is done on that basis.

func (AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsParam) MarshalJSON added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsParam struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount    param.Field[float64]                                                                        `json:"amount,required"`
	EntryType param.Field[AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// An ISO 8601 format date that denotes when this credit balance should become
	// available for use.
	EffectiveDate param.Field[time.Time] `json:"effective_date" format:"date-time"`
	// An ISO 8601 format date that denotes when this credit balance should expire.
	ExpiryDate param.Field[time.Time] `json:"expiry_date" format:"date-time"`
	// Passing `invoice_settings` automatically generates an invoice for the newly
	// added credits. If `invoice_settings` is passed, you must specify
	// per_unit_cost_basis, as the calculation of the invoice total is done on that
	// basis.
	InvoiceSettings param.Field[AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsInvoiceSettingsParam] `json:"invoice_settings"`
	// 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"`
	// Can only be specified when entry_type=increment. How much, in the customer's
	// currency, a customer paid for a single credit in this block
	PerUnitCostBasis param.Field[string] `json:"per_unit_cost_basis"`
}

func (AddCreditLedgerEntryRequestAddIncrementCreditLedgerEntryRequestParamsParam) MarshalJSON added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryType added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryType string
const (
	AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryTypeVoid AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryType = "void"
)

func (AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryType) IsKnown added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsParam added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsParam struct {
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount param.Field[float64] `json:"amount,required"`
	// The ID of the block to void.
	BlockID   param.Field[string]                                                                    `json:"block_id,required"`
	EntryType param.Field[AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsEntryType] `json:"entry_type,required"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// 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"`
	// Can only be specified when `entry_type=void`. The reason for the void.
	VoidReason param.Field[AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReason] `json:"void_reason"`
}

func (AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsParam) MarshalJSON added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReason added in v0.103.0

type AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReason string

Can only be specified when `entry_type=void`. The reason for the void.

const (
	AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReasonRefund AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReason = "refund"
)

func (AddCreditLedgerEntryRequestAddVoidCreditLedgerEntryRequestParamsVoidReason) IsKnown added in v0.103.0

type AddCreditLedgerEntryRequestEntryType added in v0.103.0

type AddCreditLedgerEntryRequestEntryType string
const (
	AddCreditLedgerEntryRequestEntryTypeIncrement        AddCreditLedgerEntryRequestEntryType = "increment"
	AddCreditLedgerEntryRequestEntryTypeDecrement        AddCreditLedgerEntryRequestEntryType = "decrement"
	AddCreditLedgerEntryRequestEntryTypeExpirationChange AddCreditLedgerEntryRequestEntryType = "expiration_change"
	AddCreditLedgerEntryRequestEntryTypeVoid             AddCreditLedgerEntryRequestEntryType = "void"
	AddCreditLedgerEntryRequestEntryTypeAmendment        AddCreditLedgerEntryRequestEntryType = "amendment"
)

func (AddCreditLedgerEntryRequestEntryType) IsKnown added in v0.103.0

type AddCreditLedgerEntryRequestParam added in v0.103.0

type AddCreditLedgerEntryRequestParam struct {
	EntryType param.Field[AddCreditLedgerEntryRequestEntryType] `json:"entry_type,required"`
	// The number of credits to effect. Note that this is required for increment,
	// decrement, void, or undo operations.
	Amount param.Field[float64] `json:"amount"`
	// The ID of the block affected by an expiration_change, used to differentiate
	// between multiple blocks with the same `expiry_date`.
	BlockID param.Field[string] `json:"block_id"`
	// The currency or custom pricing unit to use for this ledger entry. If this is a
	// real-world currency, it must match the customer's invoicing currency.
	Currency param.Field[string] `json:"currency"`
	// Optional metadata that can be specified when adding ledger results via the API.
	// For example, this can be used to note an increment refers to trial credits, or
	// for noting corrections as a result of an incident, etc.
	Description param.Field[string] `json:"description"`
	// An ISO 8601 format date that denotes when this credit balance should become
	// available for use.
	EffectiveDate param.Field[time.Time] `json:"effective_date" format:"date-time"`
	// An ISO 8601 format date that denotes when this credit balance should expire.
	ExpiryDate      param.Field[time.Time]   `json:"expiry_date" format:"date-time"`
	InvoiceSettings param.Field[interface{}] `json:"invoice_settings"`
	Metadata        param.Field[interface{}] `json:"metadata"`
	// Can only be specified when entry_type=increment. How much, in the customer's
	// currency, a customer paid for a single credit in this block
	PerUnitCostBasis param.Field[string] `json:"per_unit_cost_basis"`
	// A future date (specified in YYYY-MM-DD format) used for expiration change,
	// denoting when credits transferred (as part of a partial block expiration) should
	// expire.
	TargetExpiryDate param.Field[time.Time] `json:"target_expiry_date" format:"date"`
	// Can only be specified when `entry_type=void`. The reason for the void.
	VoidReason param.Field[AddCreditLedgerEntryRequestVoidReason] `json:"void_reason"`
}

func (AddCreditLedgerEntryRequestParam) MarshalJSON added in v0.103.0

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

type AddCreditLedgerEntryRequestVoidReason added in v0.103.0

type AddCreditLedgerEntryRequestVoidReason string

Can only be specified when `entry_type=void`. The reason for the void.

const (
	AddCreditLedgerEntryRequestVoidReasonRefund AddCreditLedgerEntryRequestVoidReason = "refund"
)

func (AddCreditLedgerEntryRequestVoidReason) IsKnown added in v0.103.0

type AddSubscriptionAdjustmentParams added in v0.103.0

type AddSubscriptionAdjustmentParams struct {
	// The definition of a new adjustment to create and add to the subscription.
	Adjustment param.Field[AddSubscriptionAdjustmentParamsAdjustmentUnion] `json:"adjustment,required"`
	// The end date of the adjustment interval. This is the date that the adjustment
	// will stop affecting prices on the subscription.
	EndDate param.Field[time.Time] `json:"end_date" format:"date-time"`
	// The phase to add this adjustment to.
	PlanPhaseOrder param.Field[int64] `json:"plan_phase_order"`
	// The start date of the adjustment interval. This is the date that the adjustment
	// will start affecting prices on the subscription. If null, the adjustment will
	// start when the phase or subscription starts.
	StartDate param.Field[time.Time] `json:"start_date" format:"date-time"`
}

func (AddSubscriptionAdjustmentParams) MarshalJSON added in v0.103.0

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

type AddSubscriptionAdjustmentParamsAdjustment added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustment struct {
	AdjustmentType    param.Field[AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType] `json:"adjustment_type,required"`
	AppliesToPriceIDs param.Field[interface{}]                                             `json:"applies_to_price_ids,required"`
	AmountDiscount    param.Field[string]                                                  `json:"amount_discount"`
	// 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"`
	// The item ID that revenue from this minimum will be attributed to.
	ItemID             param.Field[string]  `json:"item_id"`
	MaximumAmount      param.Field[string]  `json:"maximum_amount"`
	MinimumAmount      param.Field[string]  `json:"minimum_amount"`
	PercentageDiscount param.Field[float64] `json:"percentage_discount"`
	UsageDiscount      param.Field[float64] `json:"usage_discount"`
}

The definition of a new adjustment to create and add to the subscription.

func (AddSubscriptionAdjustmentParamsAdjustment) MarshalJSON added in v0.104.0

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

type AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType string
const (
	AddSubscriptionAdjustmentParamsAdjustmentAdjustmentTypePercentageDiscount AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "percentage_discount"
	AddSubscriptionAdjustmentParamsAdjustmentAdjustmentTypeUsageDiscount      AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "usage_discount"
	AddSubscriptionAdjustmentParamsAdjustmentAdjustmentTypeAmountDiscount     AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "amount_discount"
	AddSubscriptionAdjustmentParamsAdjustmentAdjustmentTypeMinimum            AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "minimum"
	AddSubscriptionAdjustmentParamsAdjustmentAdjustmentTypeMaximum            AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "maximum"
)

func (AddSubscriptionAdjustmentParamsAdjustmentAdjustmentType) IsKnown added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscount added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscount struct {
	AdjustmentType param.Field[AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType] `json:"adjustment_type,required"`
	AmountDiscount param.Field[string]                                                                   `json:"amount_discount,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids,required"`
	// 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"`
}

func (AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscount) MarshalJSON added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType string
const (
	AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentTypeAmountDiscount AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType = "amount_discount"
)

func (AddSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType) IsKnown added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewMaximum added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewMaximum struct {
	AdjustmentType param.Field[AddSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType] `json:"adjustment_type,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids,required"`
	MaximumAmount     param.Field[string]   `json:"maximum_amount,required"`
	// 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"`
}

func (AddSubscriptionAdjustmentParamsAdjustmentNewMaximum) MarshalJSON added in v0.104.0

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

type AddSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType string
const (
	AddSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentTypeMaximum AddSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType = "maximum"
)

func (AddSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType) IsKnown added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewMinimum added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewMinimum struct {
	AdjustmentType param.Field[AddSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType] `json:"adjustment_type,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids,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"`
	// 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"`
}

func (AddSubscriptionAdjustmentParamsAdjustmentNewMinimum) MarshalJSON added in v0.104.0

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

type AddSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType string
const (
	AddSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentTypeMinimum AddSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType = "minimum"
)

func (AddSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType) IsKnown added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscount added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscount struct {
	AdjustmentType param.Field[AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType] `json:"adjustment_type,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs  param.Field[[]string] `json:"applies_to_price_ids,required"`
	PercentageDiscount param.Field[float64]  `json:"percentage_discount,required"`
	// 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"`
}

func (AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscount) MarshalJSON added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType string
const (
	AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentTypePercentageDiscount AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType = "percentage_discount"
)

func (AddSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType) IsKnown added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscount added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscount struct {
	AdjustmentType param.Field[AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType] `json:"adjustment_type,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids,required"`
	UsageDiscount     param.Field[float64]  `json:"usage_discount,required"`
	// 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"`
}

func (AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscount) MarshalJSON added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType added in v0.104.0

type AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType string
const (
	AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentTypeUsageDiscount AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType = "usage_discount"
)

func (AddSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType) IsKnown added in v0.104.0

type AddSubscriptionPriceParams added in v0.103.0

type AddSubscriptionPriceParams struct {
	// The definition of a new allocation price to create and add to the subscription.
	AllocationPrice param.Field[AddSubscriptionPriceParamsAllocationPrice] `json:"allocation_price"`
	// [DEPRECATED] Use add_adjustments instead. The subscription's discounts for this
	// price.
	//
	// Deprecated: deprecated
	Discounts param.Field[[]AddSubscriptionPriceParamsDiscount] `json:"discounts"`
	// The end date of the price interval. This is the date that the price will stop
	// billing on the subscription. If null, billing will end when the phase or
	// subscription ends.
	EndDate param.Field[time.Time] `json:"end_date" format:"date-time"`
	// The external price id of the price to add to the subscription.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// [DEPRECATED] Use add_adjustments instead. The subscription's maximum amount for
	// this price.
	//
	// Deprecated: deprecated
	MaximumAmount param.Field[string] `json:"maximum_amount"`
	// [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
	// this price.
	//
	// Deprecated: deprecated
	MinimumAmount param.Field[string] `json:"minimum_amount"`
	// The phase to add this price to.
	PlanPhaseOrder param.Field[int64] `json:"plan_phase_order"`
	// The definition of a new price to create and add to the subscription.
	Price param.Field[AddSubscriptionPriceParamsPriceUnion] `json:"price"`
	// The id of the price to add to the subscription.
	PriceID param.Field[string] `json:"price_id"`
	// The start date of the price interval. This is the date that the price will start
	// billing on the subscription. If null, billing will start when the phase or
	// subscription starts.
	StartDate param.Field[time.Time] `json:"start_date" format:"date-time"`
}

func (AddSubscriptionPriceParams) MarshalJSON added in v0.103.0

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

type AddSubscriptionPriceParamsAllocationPrice added in v0.104.0

type AddSubscriptionPriceParamsAllocationPrice 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[AddSubscriptionPriceParamsAllocationPriceCadence] `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"`
	// Whether the allocated amount should expire at the end of the cadence or roll
	// over to the next period.
	ExpiresAtEndOfCadence param.Field[bool] `json:"expires_at_end_of_cadence,required"`
}

The definition of a new allocation price to create and add to the subscription.

func (AddSubscriptionPriceParamsAllocationPrice) MarshalJSON added in v0.104.0

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

type AddSubscriptionPriceParamsAllocationPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsAllocationPriceCadence string

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

const (
	AddSubscriptionPriceParamsAllocationPriceCadenceOneTime    AddSubscriptionPriceParamsAllocationPriceCadence = "one_time"
	AddSubscriptionPriceParamsAllocationPriceCadenceMonthly    AddSubscriptionPriceParamsAllocationPriceCadence = "monthly"
	AddSubscriptionPriceParamsAllocationPriceCadenceQuarterly  AddSubscriptionPriceParamsAllocationPriceCadence = "quarterly"
	AddSubscriptionPriceParamsAllocationPriceCadenceSemiAnnual AddSubscriptionPriceParamsAllocationPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsAllocationPriceCadenceAnnual     AddSubscriptionPriceParamsAllocationPriceCadence = "annual"
	AddSubscriptionPriceParamsAllocationPriceCadenceCustom     AddSubscriptionPriceParamsAllocationPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsAllocationPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsDiscount added in v0.104.0

type AddSubscriptionPriceParamsDiscount struct {
	DiscountType param.Field[AddSubscriptionPriceParamsDiscountsDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount param.Field[string] `json:"amount_discount"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount param.Field[float64] `json:"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 (AddSubscriptionPriceParamsDiscount) MarshalJSON added in v0.104.0

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

type AddSubscriptionPriceParamsDiscountsDiscountType added in v0.104.0

type AddSubscriptionPriceParamsDiscountsDiscountType string
const (
	AddSubscriptionPriceParamsDiscountsDiscountTypePercentage AddSubscriptionPriceParamsDiscountsDiscountType = "percentage"
	AddSubscriptionPriceParamsDiscountsDiscountTypeUsage      AddSubscriptionPriceParamsDiscountsDiscountType = "usage"
	AddSubscriptionPriceParamsDiscountsDiscountTypeAmount     AddSubscriptionPriceParamsDiscountsDiscountType = "amount"
)

func (AddSubscriptionPriceParamsDiscountsDiscountType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPrice added in v0.104.0

type AddSubscriptionPriceParamsPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                   `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceModelType] `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"`
	BillingCycleConfiguration param.Field[interface{}] `json:"billing_cycle_configuration"`
	BpsConfig                 param.Field[interface{}] `json:"bps_config"`
	BulkBpsConfig             param.Field[interface{}] `json:"bulk_bps_config"`
	BulkConfig                param.Field[interface{}] `json:"bulk_config"`
	BulkWithProrationConfig   param.Field[interface{}] `json:"bulk_with_proration_config"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate              param.Field[float64]     `json:"conversion_rate"`
	CumulativeGroupedBulkConfig param.Field[interface{}] `json:"cumulative_grouped_bulk_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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"`
	GroupedAllocationConfig          param.Field[interface{}] `json:"grouped_allocation_config"`
	GroupedTieredPackageConfig       param.Field[interface{}] `json:"grouped_tiered_package_config"`
	GroupedWithMeteredMinimumConfig  param.Field[interface{}] `json:"grouped_with_metered_minimum_config"`
	GroupedWithProratedMinimumConfig param.Field[interface{}] `json:"grouped_with_prorated_minimum_config"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey          param.Field[string]      `json:"invoice_grouping_key"`
	InvoicingCycleConfiguration param.Field[interface{}] `json:"invoicing_cycle_configuration"`
	MatrixConfig                param.Field[interface{}] `json:"matrix_config"`
	MatrixWithDisplayNameConfig param.Field[interface{}] `json:"matrix_with_display_name_config"`
	MaxGroupTieredPackageConfig param.Field[interface{}] `json:"max_group_tiered_package_config"`
	Metadata                    param.Field[interface{}] `json:"metadata"`
	PackageConfig               param.Field[interface{}] `json:"package_config"`
	PackageWithAllocationConfig param.Field[interface{}] `json:"package_with_allocation_config"`
	// 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"`
	ScalableMatrixWithTieredPricingConfig param.Field[interface{}] `json:"scalable_matrix_with_tiered_pricing_config"`
	ScalableMatrixWithUnitPricingConfig   param.Field[interface{}] `json:"scalable_matrix_with_unit_pricing_config"`
	ThresholdTotalAmountConfig            param.Field[interface{}] `json:"threshold_total_amount_config"`
	TieredBpsConfig                       param.Field[interface{}] `json:"tiered_bps_config"`
	TieredConfig                          param.Field[interface{}] `json:"tiered_config"`
	TieredPackageConfig                   param.Field[interface{}] `json:"tiered_package_config"`
	TieredWithMinimumConfig               param.Field[interface{}] `json:"tiered_with_minimum_config"`
	TieredWithProrationConfig             param.Field[interface{}] `json:"tiered_with_proration_config"`
	UnitConfig                            param.Field[interface{}] `json:"unit_config"`
	UnitWithPercentConfig                 param.Field[interface{}] `json:"unit_with_percent_config"`
	UnitWithProrationConfig               param.Field[interface{}] `json:"unit_with_proration_config"`
}

The definition of a new price to create and add to the subscription.

func (AddSubscriptionPriceParamsPrice) MarshalJSON added in v0.104.0

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

type AddSubscriptionPriceParamsPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceCadenceAnnual     AddSubscriptionPriceParamsPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceCadenceMonthly    AddSubscriptionPriceParamsPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceCadenceOneTime    AddSubscriptionPriceParamsPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceCadenceCustom     AddSubscriptionPriceParamsPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceModelType string
const (
	AddSubscriptionPriceParamsPriceModelTypeUnit                            AddSubscriptionPriceParamsPriceModelType = "unit"
	AddSubscriptionPriceParamsPriceModelTypePackage                         AddSubscriptionPriceParamsPriceModelType = "package"
	AddSubscriptionPriceParamsPriceModelTypeMatrix                          AddSubscriptionPriceParamsPriceModelType = "matrix"
	AddSubscriptionPriceParamsPriceModelTypeTiered                          AddSubscriptionPriceParamsPriceModelType = "tiered"
	AddSubscriptionPriceParamsPriceModelTypeTieredBps                       AddSubscriptionPriceParamsPriceModelType = "tiered_bps"
	AddSubscriptionPriceParamsPriceModelTypeBps                             AddSubscriptionPriceParamsPriceModelType = "bps"
	AddSubscriptionPriceParamsPriceModelTypeBulkBps                         AddSubscriptionPriceParamsPriceModelType = "bulk_bps"
	AddSubscriptionPriceParamsPriceModelTypeBulk                            AddSubscriptionPriceParamsPriceModelType = "bulk"
	AddSubscriptionPriceParamsPriceModelTypeThresholdTotalAmount            AddSubscriptionPriceParamsPriceModelType = "threshold_total_amount"
	AddSubscriptionPriceParamsPriceModelTypeTieredPackage                   AddSubscriptionPriceParamsPriceModelType = "tiered_package"
	AddSubscriptionPriceParamsPriceModelTypeTieredWithMinimum               AddSubscriptionPriceParamsPriceModelType = "tiered_with_minimum"
	AddSubscriptionPriceParamsPriceModelTypeUnitWithPercent                 AddSubscriptionPriceParamsPriceModelType = "unit_with_percent"
	AddSubscriptionPriceParamsPriceModelTypePackageWithAllocation           AddSubscriptionPriceParamsPriceModelType = "package_with_allocation"
	AddSubscriptionPriceParamsPriceModelTypeTieredWithProration             AddSubscriptionPriceParamsPriceModelType = "tiered_with_proration"
	AddSubscriptionPriceParamsPriceModelTypeUnitWithProration               AddSubscriptionPriceParamsPriceModelType = "unit_with_proration"
	AddSubscriptionPriceParamsPriceModelTypeGroupedAllocation               AddSubscriptionPriceParamsPriceModelType = "grouped_allocation"
	AddSubscriptionPriceParamsPriceModelTypeGroupedWithProratedMinimum      AddSubscriptionPriceParamsPriceModelType = "grouped_with_prorated_minimum"
	AddSubscriptionPriceParamsPriceModelTypeBulkWithProration               AddSubscriptionPriceParamsPriceModelType = "bulk_with_proration"
	AddSubscriptionPriceParamsPriceModelTypeScalableMatrixWithUnitPricing   AddSubscriptionPriceParamsPriceModelType = "scalable_matrix_with_unit_pricing"
	AddSubscriptionPriceParamsPriceModelTypeScalableMatrixWithTieredPricing AddSubscriptionPriceParamsPriceModelType = "scalable_matrix_with_tiered_pricing"
	AddSubscriptionPriceParamsPriceModelTypeCumulativeGroupedBulk           AddSubscriptionPriceParamsPriceModelType = "cumulative_grouped_bulk"
	AddSubscriptionPriceParamsPriceModelTypeMaxGroupTieredPackage           AddSubscriptionPriceParamsPriceModelType = "max_group_tiered_package"
	AddSubscriptionPriceParamsPriceModelTypeGroupedWithMeteredMinimum       AddSubscriptionPriceParamsPriceModelType = "grouped_with_metered_minimum"
	AddSubscriptionPriceParamsPriceModelTypeMatrixWithDisplayName           AddSubscriptionPriceParamsPriceModelType = "matrix_with_display_name"
	AddSubscriptionPriceParamsPriceModelTypeGroupedTieredPackage            AddSubscriptionPriceParamsPriceModelType = "grouped_tiered_package"
)

func (AddSubscriptionPriceParamsPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPrice struct {
	BpsConfig param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBpsConfig] `json:"bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                          `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionBpsPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBpsConfig added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBpsConfig) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelTypeBps AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType = "bps"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPrice struct {
	BulkBpsConfig param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfig] `json:"bulk_bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                              `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfig added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfig) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfigTier added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfigTier) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelTypeBulkBps AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType = "bulk_bps"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPrice struct {
	BulkConfig param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfig] `json:"bulk_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                           `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfig added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfig) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfigTier added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfigTier) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelTypeBulk AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType = "bulk"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPrice struct {
	BulkWithProrationConfig param.Field[map[string]interface{}] `json:"bulk_with_proration_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                        `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelTypeBulkWithProration AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPrice struct {
	// The cadence to bill for this price on.
	Cadence                     param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence] `json:"cadence,required"`
	CumulativeGroupedBulkConfig param.Field[map[string]interface{}]                                                          `json:"cumulative_grouped_bulk_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                            `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType = "cumulative_grouped_bulk"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence                 param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence] `json:"cadence,required"`
	GroupedAllocationConfig param.Field[map[string]interface{}]                                                      `json:"grouped_allocation_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                        `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelTypeGroupedAllocation AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType = "grouped_allocation"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence                    param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence] `json:"cadence,required"`
	GroupedTieredPackageConfig param.Field[map[string]interface{}]                                                         `json:"grouped_tiered_package_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                           `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelTypeGroupedTieredPackage AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType = "grouped_tiered_package"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence                         param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence] `json:"cadence,required"`
	GroupedWithMeteredMinimumConfig param.Field[map[string]interface{}]                                                              `json:"grouped_with_metered_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType = "grouped_with_metered_minimum"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence                          param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence] `json:"cadence,required"`
	GroupedWithProratedMinimumConfig param.Field[map[string]interface{}]                                                               `json:"grouped_with_prorated_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                 `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType = "grouped_with_prorated_minimum"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID       param.Field[string]                                                                `json:"item_id,required"`
	MatrixConfig param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfig] `json:"matrix_config,required"`
	ModelType    param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType]    `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[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfig added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfig) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfigMatrixValue added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfigMatrixValue) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelTypeMatrix AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType = "matrix"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                                                            `json:"item_id,required"`
	MatrixWithDisplayNameConfig param.Field[map[string]interface{}]                                                            `json:"matrix_with_display_name_config,required"`
	ModelType                   param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType = "matrix_with_display_name"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                                                            `json:"item_id,required"`
	MaxGroupTieredPackageConfig param.Field[map[string]interface{}]                                                            `json:"max_group_tiered_package_config,required"`
	ModelType                   param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType] `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[AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType = "max_group_tiered_package"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                              `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name          param.Field[string]                                                                  `json:"name,required"`
	PackageConfig param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionPackagePricePackageConfig] `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[AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionPackagePrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelTypePackage AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType = "package"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackagePricePackageConfig added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackagePricePackageConfig) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                            `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                        param.Field[string]                 `json:"name,required"`
	PackageWithAllocationConfig param.Field[map[string]interface{}] `json:"package_with_allocation_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelTypePackageWithAllocation AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType = "package_with_allocation"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                      `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                  param.Field[string]                 `json:"name,required"`
	ScalableMatrixWithTieredPricingConfig param.Field[map[string]interface{}] `json:"scalable_matrix_with_tiered_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType = "scalable_matrix_with_tiered_pricing"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                    `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                param.Field[string]                 `json:"name,required"`
	ScalableMatrixWithUnitPricingConfig param.Field[map[string]interface{}] `json:"scalable_matrix_with_unit_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType = "scalable_matrix_with_unit_pricing"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                           `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                       param.Field[string]                 `json:"name,required"`
	ThresholdTotalAmountConfig param.Field[map[string]interface{}] `json:"threshold_total_amount_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelTypeThresholdTotalAmount AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType = "threshold_total_amount"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                        `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                      param.Field[string]                 `json:"name,required"`
	TieredWithProrationConfig param.Field[map[string]interface{}] `json:"tiered_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelTypeTieredWithProration AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType = "tiered_with_proration"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name            param.Field[string]                                                                      `json:"name,required"`
	TieredBpsConfig param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfig] `json:"tiered_bps_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelTypeTieredBps AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType = "tiered_bps"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfig added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfig struct {
	// Tiers for a Graduated BPS pricing model, where usage is bucketed into specified
	// tiers
	Tiers param.Field[[]AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfigTier] `json:"tiers,required"`
}

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfig) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfigTier added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfigTier) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                    `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                param.Field[string]                 `json:"name,required"`
	TieredPackageConfig param.Field[map[string]interface{}] `json:"tiered_package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelTypeTieredPackage AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType = "tiered_package"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                             `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name         param.Field[string]                                                                `json:"name,required"`
	TieredConfig param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfig] `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[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelTypeTiered AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType = "tiered"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfig added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfig) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfigTier added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfigTier) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                        `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                 `json:"name,required"`
	TieredWithMinimumConfig param.Field[map[string]interface{}] `json:"tiered_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelTypeTieredWithMinimum AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType = "tiered_with_minimum"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                           `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name       param.Field[string]                                                            `json:"name,required"`
	UnitConfig param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceUnitConfig] `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[AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionUnitPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelTypeUnit AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType = "unit"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceUnitConfig added in v0.104.0

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

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitPriceUnitConfig) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                      `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                  param.Field[string]                 `json:"name,required"`
	UnitWithPercentConfig param.Field[map[string]interface{}] `json:"unit_with_percent_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelTypeUnitWithPercent AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType = "unit_with_percent"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPrice added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                        `json:"item_id,required"`
	ModelType param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                 `json:"name,required"`
	UnitWithProrationConfig param.Field[map[string]interface{}] `json:"unit_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfiguration] `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 (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPrice) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceAnnual     AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceSemiAnnual AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "semi_annual"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceMonthly    AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "monthly"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceQuarterly  AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "quarterly"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceOneTime    AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "one_time"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceCustom     AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "custom"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnitDay   AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit = "day"
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnitMonth AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType added in v0.104.0

type AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType string
const (
	AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelTypeUnitWithProration AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType = "unit_with_proration"
)

func (AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType) IsKnown added in v0.104.0

type AddSubscriptionPriceParamsPriceUnion added in v0.104.0

type AddSubscriptionPriceParamsPriceUnion interface {
	// contains filtered or unexported methods
}

The definition of a new price to create and add to the subscription.

Satisfied by shared.AddSubscriptionPriceParamsPriceNewSubscriptionUnitPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionPackagePrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionMatrixPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionTieredPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionBpsPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionBulkPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePrice, shared.AddSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePrice, AddSubscriptionPriceParamsPrice.

type AmountDiscount added in v0.67.0

type AmountDiscount struct {
	// Only available if discount_type is `amount`.
	AmountDiscount string `json:"amount_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,required"`
	DiscountType      AmountDiscountDiscountType `json:"discount_type,required"`
	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 AmountDiscountParam added in v0.67.0

type AmountDiscountParam struct {
	// Only available if discount_type is `amount`.
	AmountDiscount param.Field[string] `json:"amount_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,required"`
	DiscountType      param.Field[AmountDiscountDiscountType] `json:"discount_type,required"`
	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 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 Discount

type Discount struct {
	// This field can have the runtime type of [[]string].
	AppliesToPriceIDs interface{}          `json:"applies_to_price_ids,required"`
	DiscountType      DiscountDiscountType `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount string `json:"amount_discount"`
	// 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 shared.PercentageDiscount, shared.TrialDiscount, shared.DiscountUsageDiscount, shared.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 {
	AppliesToPriceIDs param.Field[interface{}]          `json:"applies_to_price_ids,required"`
	DiscountType      param.Field[DiscountDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount param.Field[string] `json:"amount_discount"`
	// 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 shared.PercentageDiscount, shared.TrialDiscount, shared.DiscountUsageDiscount or shared.AmountDiscount.

type DiscountUnionParam added in v0.35.0

type DiscountUnionParam interface {
	ImplementsDiscountUnionParam()
}

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

type DiscountUsageDiscount

type DiscountUsageDiscount struct {
	// 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,required"`
	DiscountType      DiscountUsageDiscountDiscountType `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"`
	Reason        string                    `json:"reason,nullable"`
	JSON          discountUsageDiscountJSON `json:"-"`
}

func (DiscountUsageDiscount) ImplementsDiscount added in v0.89.1

func (r DiscountUsageDiscount) ImplementsDiscount()

func (*DiscountUsageDiscount) UnmarshalJSON

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

type DiscountUsageDiscountDiscountType

type DiscountUsageDiscountDiscountType string
const (
	DiscountUsageDiscountDiscountTypeUsage DiscountUsageDiscountDiscountType = "usage"
)

func (DiscountUsageDiscountDiscountType) IsKnown

type DiscountUsageDiscountParam added in v0.35.0

type DiscountUsageDiscountParam struct {
	// 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,required"`
	DiscountType      param.Field[DiscountUsageDiscountDiscountType] `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"`
	Reason        param.Field[string]  `json:"reason"`
}

func (DiscountUsageDiscountParam) ImplementsDiscountUnionParam added in v0.89.1

func (r DiscountUsageDiscountParam) ImplementsDiscountUnionParam()

func (DiscountUsageDiscountParam) MarshalJSON added in v0.35.0

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

type InvoiceLevelDiscount added in v0.67.0

type InvoiceLevelDiscount struct {
	// This field can have the runtime type of [[]string].
	AppliesToPriceIDs interface{}                      `json:"applies_to_price_ids,required"`
	DiscountType      InvoiceLevelDiscountDiscountType `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount string `json:"amount_discount"`
	// 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 shared.PercentageDiscount, shared.AmountDiscount, shared.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 shared.PercentageDiscount, shared.AmountDiscount or shared.TrialDiscount.

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 PercentageDiscount added in v0.67.0

type PercentageDiscount struct {
	// 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,required"`
	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"`
	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 PercentageDiscountParam added in v0.67.0

type PercentageDiscountParam struct {
	// 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,required"`
	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"`
	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 RemoveSubscriptionAdjustmentParams added in v0.103.0

type RemoveSubscriptionAdjustmentParams struct {
	// The id of the adjustment to remove on the subscription.
	AdjustmentID param.Field[string] `json:"adjustment_id,required"`
}

func (RemoveSubscriptionAdjustmentParams) MarshalJSON added in v0.103.0

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

type RemoveSubscriptionPriceParams added in v0.103.0

type RemoveSubscriptionPriceParams struct {
	// The external price id of the price to remove on the subscription.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// The id of the price to remove on the subscription.
	PriceID param.Field[string] `json:"price_id"`
}

func (RemoveSubscriptionPriceParams) MarshalJSON added in v0.103.0

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

type ReplaceSubscriptionAdjustmentParams added in v0.103.0

type ReplaceSubscriptionAdjustmentParams struct {
	// The definition of a new adjustment to create and add to the subscription.
	Adjustment param.Field[ReplaceSubscriptionAdjustmentParamsAdjustmentUnion] `json:"adjustment,required"`
	// The id of the adjustment on the plan to replace in the subscription.
	ReplacesAdjustmentID param.Field[string] `json:"replaces_adjustment_id,required"`
}

func (ReplaceSubscriptionAdjustmentParams) MarshalJSON added in v0.103.0

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

type ReplaceSubscriptionAdjustmentParamsAdjustment added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustment struct {
	AdjustmentType    param.Field[ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType] `json:"adjustment_type,required"`
	AppliesToPriceIDs param.Field[interface{}]                                                 `json:"applies_to_price_ids,required"`
	AmountDiscount    param.Field[string]                                                      `json:"amount_discount"`
	// 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"`
	// The item ID that revenue from this minimum will be attributed to.
	ItemID             param.Field[string]  `json:"item_id"`
	MaximumAmount      param.Field[string]  `json:"maximum_amount"`
	MinimumAmount      param.Field[string]  `json:"minimum_amount"`
	PercentageDiscount param.Field[float64] `json:"percentage_discount"`
	UsageDiscount      param.Field[float64] `json:"usage_discount"`
}

The definition of a new adjustment to create and add to the subscription.

func (ReplaceSubscriptionAdjustmentParamsAdjustment) MarshalJSON added in v0.104.0

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

type ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType string
const (
	ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentTypePercentageDiscount ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "percentage_discount"
	ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentTypeUsageDiscount      ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "usage_discount"
	ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentTypeAmountDiscount     ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "amount_discount"
	ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentTypeMinimum            ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "minimum"
	ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentTypeMaximum            ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType = "maximum"
)

func (ReplaceSubscriptionAdjustmentParamsAdjustmentAdjustmentType) IsKnown added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscount added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscount struct {
	AdjustmentType param.Field[ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType] `json:"adjustment_type,required"`
	AmountDiscount param.Field[string]                                                                       `json:"amount_discount,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids,required"`
	// 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"`
}

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscount) MarshalJSON added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType string
const (
	ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentTypeAmountDiscount ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType = "amount_discount"
)

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewAmountDiscountAdjustmentType) IsKnown added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximum added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximum struct {
	AdjustmentType param.Field[ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType] `json:"adjustment_type,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids,required"`
	MaximumAmount     param.Field[string]   `json:"maximum_amount,required"`
	// 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"`
}

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximum) MarshalJSON added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType string
const (
	ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentTypeMaximum ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType = "maximum"
)

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewMaximumAdjustmentType) IsKnown added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimum added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimum struct {
	AdjustmentType param.Field[ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType] `json:"adjustment_type,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids,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"`
	// 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"`
}

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimum) MarshalJSON added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType string
const (
	ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentTypeMinimum ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType = "minimum"
)

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewMinimumAdjustmentType) IsKnown added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscount added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscount struct {
	AdjustmentType param.Field[ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType] `json:"adjustment_type,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs  param.Field[[]string] `json:"applies_to_price_ids,required"`
	PercentageDiscount param.Field[float64]  `json:"percentage_discount,required"`
	// 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"`
}

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscount) MarshalJSON added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType string
const (
	ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentTypePercentageDiscount ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType = "percentage_discount"
)

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewPercentageDiscountAdjustmentType) IsKnown added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscount added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscount struct {
	AdjustmentType param.Field[ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType] `json:"adjustment_type,required"`
	// The set of price IDs to which this adjustment applies.
	AppliesToPriceIDs param.Field[[]string] `json:"applies_to_price_ids,required"`
	UsageDiscount     param.Field[float64]  `json:"usage_discount,required"`
	// 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"`
}

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscount) MarshalJSON added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType added in v0.104.0

type ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType string
const (
	ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentTypeUsageDiscount ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType = "usage_discount"
)

func (ReplaceSubscriptionAdjustmentParamsAdjustmentNewUsageDiscountAdjustmentType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParams added in v0.103.0

type ReplaceSubscriptionPriceParams struct {
	// The id of the price on the plan to replace in the subscription.
	ReplacesPriceID param.Field[string] `json:"replaces_price_id,required"`
	// The definition of a new allocation price to create and add to the subscription.
	AllocationPrice param.Field[ReplaceSubscriptionPriceParamsAllocationPrice] `json:"allocation_price"`
	// [DEPRECATED] Use add_adjustments instead. The subscription's discounts for the
	// replacement price.
	//
	// Deprecated: deprecated
	Discounts param.Field[[]ReplaceSubscriptionPriceParamsDiscount] `json:"discounts"`
	// The external price id of the price to add to the subscription.
	ExternalPriceID param.Field[string] `json:"external_price_id"`
	// The new quantity of the price, if the price is a fixed price.
	FixedPriceQuantity param.Field[float64] `json:"fixed_price_quantity"`
	// [DEPRECATED] Use add_adjustments instead. The subscription's maximum amount for
	// the replacement price.
	//
	// Deprecated: deprecated
	MaximumAmount param.Field[string] `json:"maximum_amount"`
	// [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
	// the replacement price.
	//
	// Deprecated: deprecated
	MinimumAmount param.Field[string] `json:"minimum_amount"`
	// The definition of a new price to create and add to the subscription.
	Price param.Field[ReplaceSubscriptionPriceParamsPriceUnion] `json:"price"`
	// The id of the price to add to the subscription.
	PriceID param.Field[string] `json:"price_id"`
}

func (ReplaceSubscriptionPriceParams) MarshalJSON added in v0.103.0

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

type ReplaceSubscriptionPriceParamsAllocationPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsAllocationPrice 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[ReplaceSubscriptionPriceParamsAllocationPriceCadence] `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"`
	// Whether the allocated amount should expire at the end of the cadence or roll
	// over to the next period.
	ExpiresAtEndOfCadence param.Field[bool] `json:"expires_at_end_of_cadence,required"`
}

The definition of a new allocation price to create and add to the subscription.

func (ReplaceSubscriptionPriceParamsAllocationPrice) MarshalJSON added in v0.104.0

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

type ReplaceSubscriptionPriceParamsAllocationPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsAllocationPriceCadence string

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

const (
	ReplaceSubscriptionPriceParamsAllocationPriceCadenceOneTime    ReplaceSubscriptionPriceParamsAllocationPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsAllocationPriceCadenceMonthly    ReplaceSubscriptionPriceParamsAllocationPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsAllocationPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsAllocationPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsAllocationPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsAllocationPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsAllocationPriceCadenceAnnual     ReplaceSubscriptionPriceParamsAllocationPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsAllocationPriceCadenceCustom     ReplaceSubscriptionPriceParamsAllocationPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsAllocationPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsDiscount added in v0.104.0

type ReplaceSubscriptionPriceParamsDiscount struct {
	DiscountType param.Field[ReplaceSubscriptionPriceParamsDiscountsDiscountType] `json:"discount_type,required"`
	// Only available if discount_type is `amount`.
	AmountDiscount param.Field[string] `json:"amount_discount"`
	// Only available if discount_type is `percentage`. This is a number between 0
	// and 1.
	PercentageDiscount param.Field[float64] `json:"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 (ReplaceSubscriptionPriceParamsDiscount) MarshalJSON added in v0.104.0

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

type ReplaceSubscriptionPriceParamsDiscountsDiscountType added in v0.104.0

type ReplaceSubscriptionPriceParamsDiscountsDiscountType string
const (
	ReplaceSubscriptionPriceParamsDiscountsDiscountTypePercentage ReplaceSubscriptionPriceParamsDiscountsDiscountType = "percentage"
	ReplaceSubscriptionPriceParamsDiscountsDiscountTypeUsage      ReplaceSubscriptionPriceParamsDiscountsDiscountType = "usage"
	ReplaceSubscriptionPriceParamsDiscountsDiscountTypeAmount     ReplaceSubscriptionPriceParamsDiscountsDiscountType = "amount"
)

func (ReplaceSubscriptionPriceParamsDiscountsDiscountType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                       `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceModelType] `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"`
	BillingCycleConfiguration param.Field[interface{}] `json:"billing_cycle_configuration"`
	BpsConfig                 param.Field[interface{}] `json:"bps_config"`
	BulkBpsConfig             param.Field[interface{}] `json:"bulk_bps_config"`
	BulkConfig                param.Field[interface{}] `json:"bulk_config"`
	BulkWithProrationConfig   param.Field[interface{}] `json:"bulk_with_proration_config"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate              param.Field[float64]     `json:"conversion_rate"`
	CumulativeGroupedBulkConfig param.Field[interface{}] `json:"cumulative_grouped_bulk_config"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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"`
	GroupedAllocationConfig          param.Field[interface{}] `json:"grouped_allocation_config"`
	GroupedTieredPackageConfig       param.Field[interface{}] `json:"grouped_tiered_package_config"`
	GroupedWithMeteredMinimumConfig  param.Field[interface{}] `json:"grouped_with_metered_minimum_config"`
	GroupedWithProratedMinimumConfig param.Field[interface{}] `json:"grouped_with_prorated_minimum_config"`
	// The property used to group this price on an invoice
	InvoiceGroupingKey          param.Field[string]      `json:"invoice_grouping_key"`
	InvoicingCycleConfiguration param.Field[interface{}] `json:"invoicing_cycle_configuration"`
	MatrixConfig                param.Field[interface{}] `json:"matrix_config"`
	MatrixWithDisplayNameConfig param.Field[interface{}] `json:"matrix_with_display_name_config"`
	MaxGroupTieredPackageConfig param.Field[interface{}] `json:"max_group_tiered_package_config"`
	Metadata                    param.Field[interface{}] `json:"metadata"`
	PackageConfig               param.Field[interface{}] `json:"package_config"`
	PackageWithAllocationConfig param.Field[interface{}] `json:"package_with_allocation_config"`
	// 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"`
	ScalableMatrixWithTieredPricingConfig param.Field[interface{}] `json:"scalable_matrix_with_tiered_pricing_config"`
	ScalableMatrixWithUnitPricingConfig   param.Field[interface{}] `json:"scalable_matrix_with_unit_pricing_config"`
	ThresholdTotalAmountConfig            param.Field[interface{}] `json:"threshold_total_amount_config"`
	TieredBpsConfig                       param.Field[interface{}] `json:"tiered_bps_config"`
	TieredConfig                          param.Field[interface{}] `json:"tiered_config"`
	TieredPackageConfig                   param.Field[interface{}] `json:"tiered_package_config"`
	TieredWithMinimumConfig               param.Field[interface{}] `json:"tiered_with_minimum_config"`
	TieredWithProrationConfig             param.Field[interface{}] `json:"tiered_with_proration_config"`
	UnitConfig                            param.Field[interface{}] `json:"unit_config"`
	UnitWithPercentConfig                 param.Field[interface{}] `json:"unit_with_percent_config"`
	UnitWithProrationConfig               param.Field[interface{}] `json:"unit_with_proration_config"`
}

The definition of a new price to create and add to the subscription.

func (ReplaceSubscriptionPriceParamsPrice) MarshalJSON added in v0.104.0

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

type ReplaceSubscriptionPriceParamsPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceModelTypeUnit                            ReplaceSubscriptionPriceParamsPriceModelType = "unit"
	ReplaceSubscriptionPriceParamsPriceModelTypePackage                         ReplaceSubscriptionPriceParamsPriceModelType = "package"
	ReplaceSubscriptionPriceParamsPriceModelTypeMatrix                          ReplaceSubscriptionPriceParamsPriceModelType = "matrix"
	ReplaceSubscriptionPriceParamsPriceModelTypeTiered                          ReplaceSubscriptionPriceParamsPriceModelType = "tiered"
	ReplaceSubscriptionPriceParamsPriceModelTypeTieredBps                       ReplaceSubscriptionPriceParamsPriceModelType = "tiered_bps"
	ReplaceSubscriptionPriceParamsPriceModelTypeBps                             ReplaceSubscriptionPriceParamsPriceModelType = "bps"
	ReplaceSubscriptionPriceParamsPriceModelTypeBulkBps                         ReplaceSubscriptionPriceParamsPriceModelType = "bulk_bps"
	ReplaceSubscriptionPriceParamsPriceModelTypeBulk                            ReplaceSubscriptionPriceParamsPriceModelType = "bulk"
	ReplaceSubscriptionPriceParamsPriceModelTypeThresholdTotalAmount            ReplaceSubscriptionPriceParamsPriceModelType = "threshold_total_amount"
	ReplaceSubscriptionPriceParamsPriceModelTypeTieredPackage                   ReplaceSubscriptionPriceParamsPriceModelType = "tiered_package"
	ReplaceSubscriptionPriceParamsPriceModelTypeTieredWithMinimum               ReplaceSubscriptionPriceParamsPriceModelType = "tiered_with_minimum"
	ReplaceSubscriptionPriceParamsPriceModelTypeUnitWithPercent                 ReplaceSubscriptionPriceParamsPriceModelType = "unit_with_percent"
	ReplaceSubscriptionPriceParamsPriceModelTypePackageWithAllocation           ReplaceSubscriptionPriceParamsPriceModelType = "package_with_allocation"
	ReplaceSubscriptionPriceParamsPriceModelTypeTieredWithProration             ReplaceSubscriptionPriceParamsPriceModelType = "tiered_with_proration"
	ReplaceSubscriptionPriceParamsPriceModelTypeUnitWithProration               ReplaceSubscriptionPriceParamsPriceModelType = "unit_with_proration"
	ReplaceSubscriptionPriceParamsPriceModelTypeGroupedAllocation               ReplaceSubscriptionPriceParamsPriceModelType = "grouped_allocation"
	ReplaceSubscriptionPriceParamsPriceModelTypeGroupedWithProratedMinimum      ReplaceSubscriptionPriceParamsPriceModelType = "grouped_with_prorated_minimum"
	ReplaceSubscriptionPriceParamsPriceModelTypeBulkWithProration               ReplaceSubscriptionPriceParamsPriceModelType = "bulk_with_proration"
	ReplaceSubscriptionPriceParamsPriceModelTypeScalableMatrixWithUnitPricing   ReplaceSubscriptionPriceParamsPriceModelType = "scalable_matrix_with_unit_pricing"
	ReplaceSubscriptionPriceParamsPriceModelTypeScalableMatrixWithTieredPricing ReplaceSubscriptionPriceParamsPriceModelType = "scalable_matrix_with_tiered_pricing"
	ReplaceSubscriptionPriceParamsPriceModelTypeCumulativeGroupedBulk           ReplaceSubscriptionPriceParamsPriceModelType = "cumulative_grouped_bulk"
	ReplaceSubscriptionPriceParamsPriceModelTypeMaxGroupTieredPackage           ReplaceSubscriptionPriceParamsPriceModelType = "max_group_tiered_package"
	ReplaceSubscriptionPriceParamsPriceModelTypeGroupedWithMeteredMinimum       ReplaceSubscriptionPriceParamsPriceModelType = "grouped_with_metered_minimum"
	ReplaceSubscriptionPriceParamsPriceModelTypeMatrixWithDisplayName           ReplaceSubscriptionPriceParamsPriceModelType = "matrix_with_display_name"
	ReplaceSubscriptionPriceParamsPriceModelTypeGroupedTieredPackage            ReplaceSubscriptionPriceParamsPriceModelType = "grouped_tiered_package"
)

func (ReplaceSubscriptionPriceParamsPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPrice struct {
	BpsConfig param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBpsConfig] `json:"bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                              `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBpsConfig added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceBpsConfig) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelTypeBps ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType = "bps"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPrice struct {
	BulkBpsConfig param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfig] `json:"bulk_bps_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                  `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfig added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfig) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfigTier added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceBulkBpsConfigTier) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelTypeBulkBps ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType = "bulk_bps"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPrice struct {
	BulkConfig param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfig] `json:"bulk_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                               `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfig added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfig) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfigTier added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceBulkConfigTier) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelTypeBulk ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType = "bulk"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPrice struct {
	BulkWithProrationConfig param.Field[map[string]interface{}] `json:"bulk_with_proration_config,required"`
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                            `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelTypeBulkWithProration ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType = "bulk_with_proration"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPrice struct {
	// The cadence to bill for this price on.
	Cadence                     param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence] `json:"cadence,required"`
	CumulativeGroupedBulkConfig param.Field[map[string]interface{}]                                                              `json:"cumulative_grouped_bulk_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelTypeCumulativeGroupedBulk ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType = "cumulative_grouped_bulk"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence                 param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence] `json:"cadence,required"`
	GroupedAllocationConfig param.Field[map[string]interface{}]                                                          `json:"grouped_allocation_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                            `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelTypeGroupedAllocation ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType = "grouped_allocation"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence                    param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence] `json:"cadence,required"`
	GroupedTieredPackageConfig param.Field[map[string]interface{}]                                                             `json:"grouped_tiered_package_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                               `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelTypeGroupedTieredPackage ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType = "grouped_tiered_package"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence                         param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence] `json:"cadence,required"`
	GroupedWithMeteredMinimumConfig param.Field[map[string]interface{}]                                                                  `json:"grouped_with_metered_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                    `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelTypeGroupedWithMeteredMinimum ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType = "grouped_with_metered_minimum"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence                          param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence] `json:"cadence,required"`
	GroupedWithProratedMinimumConfig param.Field[map[string]interface{}]                                                                   `json:"grouped_with_prorated_minimum_config,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                     `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelTypeGroupedWithProratedMinimum ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType = "grouped_with_prorated_minimum"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID       param.Field[string]                                                                    `json:"item_id,required"`
	MatrixConfig param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfig] `json:"matrix_config,required"`
	ModelType    param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType]    `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfig added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfig) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfigMatrixValue added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceMatrixConfigMatrixValue) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelTypeMatrix ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType = "matrix"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                                                                `json:"item_id,required"`
	MatrixWithDisplayNameConfig param.Field[map[string]interface{}]                                                                `json:"matrix_with_display_name_config,required"`
	ModelType                   param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelTypeMatrixWithDisplayName ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType = "matrix_with_display_name"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID                      param.Field[string]                                                                                `json:"item_id,required"`
	MaxGroupTieredPackageConfig param.Field[map[string]interface{}]                                                                `json:"max_group_tiered_package_config,required"`
	ModelType                   param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelTypeMaxGroupTieredPackage ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType = "max_group_tiered_package"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                  `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name          param.Field[string]                                                                      `json:"name,required"`
	PackageConfig param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePricePackageConfig] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelTypePackage ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType = "package"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePricePackageConfig added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePricePackageConfig) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                        param.Field[string]                 `json:"name,required"`
	PackageWithAllocationConfig param.Field[map[string]interface{}] `json:"package_with_allocation_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelTypePackageWithAllocation ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType = "package_with_allocation"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                          `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                  param.Field[string]                 `json:"name,required"`
	ScalableMatrixWithTieredPricingConfig param.Field[map[string]interface{}] `json:"scalable_matrix_with_tiered_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelTypeScalableMatrixWithTieredPricing ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType = "scalable_matrix_with_tiered_pricing"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                                        `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                                param.Field[string]                 `json:"name,required"`
	ScalableMatrixWithUnitPricingConfig param.Field[map[string]interface{}] `json:"scalable_matrix_with_unit_pricing_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelTypeScalableMatrixWithUnitPricing ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType = "scalable_matrix_with_unit_pricing"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                               `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                       param.Field[string]                 `json:"name,required"`
	ThresholdTotalAmountConfig param.Field[map[string]interface{}] `json:"threshold_total_amount_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelTypeThresholdTotalAmount ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType = "threshold_total_amount"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                            `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                      param.Field[string]                 `json:"name,required"`
	TieredWithProrationConfig param.Field[map[string]interface{}] `json:"tiered_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelTypeTieredWithProration ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType = "tiered_with_proration"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                    `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name            param.Field[string]                                                                          `json:"name,required"`
	TieredBpsConfig param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfig] `json:"tiered_bps_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelTypeTieredBps ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType = "tiered_bps"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfig added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfig struct {
	// Tiers for a Graduated BPS pricing model, where usage is bucketed into specified
	// tiers
	Tiers param.Field[[]ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfigTier] `json:"tiers,required"`
}

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfig) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfigTier added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPriceTieredBpsConfigTier) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                        `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                param.Field[string]                 `json:"name,required"`
	TieredPackageConfig param.Field[map[string]interface{}] `json:"tiered_package_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelTypeTieredPackage ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType = "tiered_package"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                 `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name         param.Field[string]                                                                    `json:"name,required"`
	TieredConfig param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfig] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelTypeTiered ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType = "tiered"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfig added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfig) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfigTier added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPriceTieredConfigTier) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                            `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                 `json:"name,required"`
	TieredWithMinimumConfig param.Field[map[string]interface{}] `json:"tiered_with_minimum_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelTypeTieredWithMinimum ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType = "tiered_with_minimum"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                               `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name       param.Field[string]                                                                `json:"name,required"`
	UnitConfig param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceUnitConfig] `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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelTypeUnit ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType = "unit"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceUnitConfig added in v0.104.0

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

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPriceUnitConfig) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                          `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                  param.Field[string]                 `json:"name,required"`
	UnitWithPercentConfig param.Field[map[string]interface{}] `json:"unit_with_percent_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelTypeUnitWithPercent ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType = "unit_with_percent"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPrice added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPrice struct {
	// The cadence to bill for this price on.
	Cadence param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence] `json:"cadence,required"`
	// The id of the item the price will be associated with.
	ItemID    param.Field[string]                                                                            `json:"item_id,required"`
	ModelType param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType] `json:"model_type,required"`
	// The name of the price.
	Name                    param.Field[string]                 `json:"name,required"`
	UnitWithProrationConfig param.Field[map[string]interface{}] `json:"unit_with_proration_config,required"`
	// The id of the billable metric for the price. Only needed if the price is
	// usage-based.
	BillableMetricID param.Field[string] `json:"billable_metric_id"`
	// If the Price represents a fixed cost, the price will be billed in-advance if
	// this is true, and in-arrears if this is false.
	BilledInAdvance param.Field[bool] `json:"billed_in_advance"`
	// For custom cadence: specifies the duration of the billing period in days or
	// months.
	BillingCycleConfiguration param.Field[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfiguration] `json:"billing_cycle_configuration"`
	// The per unit conversion rate of the price currency to the invoicing currency.
	ConversionRate param.Field[float64] `json:"conversion_rate"`
	// An ISO 4217 currency string, or custom pricing unit identifier, in which this
	// price is billed.
	Currency param.Field[string] `json:"currency"`
	// 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[ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfiguration] `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 (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPrice) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfiguration added in v0.104.0

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

For custom cadence: specifies the duration of the billing period in days or months.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceBillingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence string

The cadence to bill for this price on.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceAnnual     ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceSemiAnnual ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "semi_annual"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceMonthly    ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "monthly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceQuarterly  ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "quarterly"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceOneTime    ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "one_time"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadenceCustom     ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence = "custom"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceCadence) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfiguration added in v0.104.0

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

Within each billing cycle, specifies the cadence at which invoices are produced. If unspecified, a single invoice is produced per billing cycle.

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfiguration) MarshalJSON added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit string

The unit of billing period duration.

const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnitDay   ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit = "day"
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnitMonth ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit = "month"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceInvoicingCycleConfigurationDurationUnit) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType string
const (
	ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelTypeUnitWithProration ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType = "unit_with_proration"
)

func (ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPriceModelType) IsKnown added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceUnion added in v0.104.0

type ReplaceSubscriptionPriceParamsPriceUnion interface {
	// contains filtered or unexported methods
}

The definition of a new price to create and add to the subscription.

Satisfied by shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackagePrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredBpsPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionBpsPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkBpsPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionThresholdTotalAmountPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredPackagePrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionTieredWithMinimumPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithPercentPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionPackageWithAllocationPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionTierWithProrationPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionUnitWithProrationPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedAllocationPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithProratedMinimumPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionBulkWithProrationPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithUnitPricingPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionScalableMatrixWithTieredPricingPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionCumulativeGroupedBulkPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionMaxGroupTieredPackagePrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedWithMeteredMinimumPrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionMatrixWithDisplayNamePrice, shared.ReplaceSubscriptionPriceParamsPriceNewSubscriptionGroupedTieredPackagePrice, ReplaceSubscriptionPriceParamsPrice.

type TrialDiscount added in v0.67.0

type TrialDiscount struct {
	// 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,required"`
	DiscountType      TrialDiscountDiscountType `json:"discount_type,required"`
	Reason            string                    `json:"reason,nullable"`
	// Only available if discount_type is `trial`
	TrialAmountDiscount string `json:"trial_amount_discount,nullable"`
	// Only available if discount_type is `trial`
	TrialPercentageDiscount float64           `json:"trial_percentage_discount,nullable"`
	JSON                    trialDiscountJSON `json:"-"`
}

func (TrialDiscount) ImplementsDiscount added in v0.89.1

func (r TrialDiscount) ImplementsDiscount()

func (TrialDiscount) ImplementsInvoiceLevelDiscount added in v0.89.1

func (r TrialDiscount) ImplementsInvoiceLevelDiscount()

func (*TrialDiscount) UnmarshalJSON added in v0.67.0

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

type TrialDiscountDiscountType added in v0.67.0

type TrialDiscountDiscountType string
const (
	TrialDiscountDiscountTypeTrial TrialDiscountDiscountType = "trial"
)

func (TrialDiscountDiscountType) IsKnown added in v0.67.0

func (r TrialDiscountDiscountType) IsKnown() bool

type TrialDiscountParam added in v0.67.0

type TrialDiscountParam struct {
	// 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,required"`
	DiscountType      param.Field[TrialDiscountDiscountType] `json:"discount_type,required"`
	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()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL