// Code generated by smithy-go-codegen DO NOT EDIT.

package types

type AssociateResourceErrorReason string

// Enum values for AssociateResourceErrorReason
const (
	AssociateResourceErrorReasonInvalidArn              AssociateResourceErrorReason = "INVALID_ARN"
	AssociateResourceErrorReasonServiceLimitExceeded    AssociateResourceErrorReason = "SERVICE_LIMIT_EXCEEDED"
	AssociateResourceErrorReasonIllegalCustomlineitem   AssociateResourceErrorReason = "ILLEGAL_CUSTOMLINEITEM"
	AssociateResourceErrorReasonInternalServerException AssociateResourceErrorReason = "INTERNAL_SERVER_EXCEPTION"
)

// Values returns all known values for AssociateResourceErrorReason. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
// The ordering of this slice is not guaranteed to be stable across updates.
func (AssociateResourceErrorReason) Values() []AssociateResourceErrorReason {
	return []AssociateResourceErrorReason{
		"INVALID_ARN",
		"SERVICE_LIMIT_EXCEEDED",
		"ILLEGAL_CUSTOMLINEITEM",
		"INTERNAL_SERVER_EXCEPTION",
	}
}

type BillingGroupStatus string

// Enum values for BillingGroupStatus
const (
	BillingGroupStatusActive                BillingGroupStatus = "ACTIVE"
	BillingGroupStatusPrimaryAccountMissing BillingGroupStatus = "PRIMARY_ACCOUNT_MISSING"
)

// Values returns all known values for BillingGroupStatus. Note that this can be
// expanded in the future, and so it is only as up to date as the client. The
// ordering of this slice is not guaranteed to be stable across updates.
func (BillingGroupStatus) Values() []BillingGroupStatus {
	return []BillingGroupStatus{
		"ACTIVE",
		"PRIMARY_ACCOUNT_MISSING",
	}
}

type CurrencyCode string

// Enum values for CurrencyCode
const (
	CurrencyCodeUsd CurrencyCode = "USD"
	CurrencyCodeCny CurrencyCode = "CNY"
)

// Values returns all known values for CurrencyCode. Note that this can be expanded
// in the future, and so it is only as up to date as the client. The ordering of
// this slice is not guaranteed to be stable across updates.
func (CurrencyCode) Values() []CurrencyCode {
	return []CurrencyCode{
		"USD",
		"CNY",
	}
}

type CustomLineItemRelationship string

// Enum values for CustomLineItemRelationship
const (
	CustomLineItemRelationshipParent CustomLineItemRelationship = "PARENT"
	CustomLineItemRelationshipChild  CustomLineItemRelationship = "CHILD"
)

// Values returns all known values for CustomLineItemRelationship. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
// The ordering of this slice is not guaranteed to be stable across updates.
func (CustomLineItemRelationship) Values() []CustomLineItemRelationship {
	return []CustomLineItemRelationship{
		"PARENT",
		"CHILD",
	}
}

type CustomLineItemType string

// Enum values for CustomLineItemType
const (
	CustomLineItemTypeCredit CustomLineItemType = "CREDIT"
	CustomLineItemTypeFee    CustomLineItemType = "FEE"
)

// Values returns all known values for CustomLineItemType. Note that this can be
// expanded in the future, and so it is only as up to date as the client. The
// ordering of this slice is not guaranteed to be stable across updates.
func (CustomLineItemType) Values() []CustomLineItemType {
	return []CustomLineItemType{
		"CREDIT",
		"FEE",
	}
}

type PricingRuleScope string

// Enum values for PricingRuleScope
const (
	PricingRuleScopeGlobal  PricingRuleScope = "GLOBAL"
	PricingRuleScopeService PricingRuleScope = "SERVICE"
)

// Values returns all known values for PricingRuleScope. Note that this can be
// expanded in the future, and so it is only as up to date as the client. The
// ordering of this slice is not guaranteed to be stable across updates.
func (PricingRuleScope) Values() []PricingRuleScope {
	return []PricingRuleScope{
		"GLOBAL",
		"SERVICE",
	}
}

type PricingRuleType string

// Enum values for PricingRuleType
const (
	PricingRuleTypeMarkup   PricingRuleType = "MARKUP"
	PricingRuleTypeDiscount PricingRuleType = "DISCOUNT"
)

// Values returns all known values for PricingRuleType. Note that this can be
// expanded in the future, and so it is only as up to date as the client. The
// ordering of this slice is not guaranteed to be stable across updates.
func (PricingRuleType) Values() []PricingRuleType {
	return []PricingRuleType{
		"MARKUP",
		"DISCOUNT",
	}
}

type ValidationExceptionReason string

// Enum values for ValidationExceptionReason
const (
	ValidationExceptionReasonUnknownOperation                  ValidationExceptionReason = "UNKNOWN_OPERATION"
	ValidationExceptionReasonCannotParse                       ValidationExceptionReason = "CANNOT_PARSE"
	ValidationExceptionReasonFieldValidationFailed             ValidationExceptionReason = "FIELD_VALIDATION_FAILED"
	ValidationExceptionReasonOther                             ValidationExceptionReason = "OTHER"
	ValidationExceptionReasonPrimaryNotAssociated              ValidationExceptionReason = "PRIMARY_NOT_ASSOCIATED"
	ValidationExceptionReasonPrimaryCannotDisassociate         ValidationExceptionReason = "PRIMARY_CANNOT_DISASSOCIATE"
	ValidationExceptionReasonAccountsNotAssociated             ValidationExceptionReason = "ACCOUNTS_NOT_ASSOCIATED"
	ValidationExceptionReasonAccountsAlreadyAssociated         ValidationExceptionReason = "ACCOUNTS_ALREADY_ASSOCIATED"
	ValidationExceptionReasonIllegalPrimaryAccount             ValidationExceptionReason = "ILLEGAL_PRIMARY_ACCOUNT"
	ValidationExceptionReasonIllegalAccounts                   ValidationExceptionReason = "ILLEGAL_ACCOUNTS"
	ValidationExceptionReasonMismatchedBillinggroupArn         ValidationExceptionReason = "MISMATCHED_BILLINGGROUP_ARN"
	ValidationExceptionReasonMissingBillinggroup               ValidationExceptionReason = "MISSING_BILLINGGROUP"
	ValidationExceptionReasonMismatchedCustomlineitemArn       ValidationExceptionReason = "MISMATCHED_CUSTOMLINEITEM_ARN"
	ValidationExceptionReasonIllegalBillingPeriod              ValidationExceptionReason = "ILLEGAL_BILLING_PERIOD"
	ValidationExceptionReasonIllegalBillingPeriodRange         ValidationExceptionReason = "ILLEGAL_BILLING_PERIOD_RANGE"
	ValidationExceptionReasonTooManyAccountsInRequest          ValidationExceptionReason = "TOO_MANY_ACCOUNTS_IN_REQUEST"
	ValidationExceptionReasonDuplicateAccount                  ValidationExceptionReason = "DUPLICATE_ACCOUNT"
	ValidationExceptionReasonInvalidBillingGroupStatus         ValidationExceptionReason = "INVALID_BILLING_GROUP_STATUS"
	ValidationExceptionReasonMismatchedPricingplanArn          ValidationExceptionReason = "MISMATCHED_PRICINGPLAN_ARN"
	ValidationExceptionReasonMissingPricingplan                ValidationExceptionReason = "MISSING_PRICINGPLAN"
	ValidationExceptionReasonMismatchedPricingruleArn          ValidationExceptionReason = "MISMATCHED_PRICINGRULE_ARN"
	ValidationExceptionReasonDuplicatePricingruleArns          ValidationExceptionReason = "DUPLICATE_PRICINGRULE_ARNS"
	ValidationExceptionReasonIllegalExpression                 ValidationExceptionReason = "ILLEGAL_EXPRESSION"
	ValidationExceptionReasonIllegalScope                      ValidationExceptionReason = "ILLEGAL_SCOPE"
	ValidationExceptionReasonIllegalService                    ValidationExceptionReason = "ILLEGAL_SERVICE"
	ValidationExceptionReasonPricingrulesNotExist              ValidationExceptionReason = "PRICINGRULES_NOT_EXIST"
	ValidationExceptionReasonPricingrulesAlreadyAssociated     ValidationExceptionReason = "PRICINGRULES_ALREADY_ASSOCIATED"
	ValidationExceptionReasonPricingrulesNotAssociated         ValidationExceptionReason = "PRICINGRULES_NOT_ASSOCIATED"
	ValidationExceptionReasonInvalidTimeRange                  ValidationExceptionReason = "INVALID_TIME_RANGE"
	ValidationExceptionReasonInvalidBillingviewArn             ValidationExceptionReason = "INVALID_BILLINGVIEW_ARN"
	ValidationExceptionReasonMismatchedBillingviewArn          ValidationExceptionReason = "MISMATCHED_BILLINGVIEW_ARN"
	ValidationExceptionReasonIllegalCustomlineitem             ValidationExceptionReason = "ILLEGAL_CUSTOMLINEITEM"
	ValidationExceptionReasonMissingCustomlineitem             ValidationExceptionReason = "MISSING_CUSTOMLINEITEM"
	ValidationExceptionReasonIllegalCustomlineitemUpdate       ValidationExceptionReason = "ILLEGAL_CUSTOMLINEITEM_UPDATE"
	ValidationExceptionReasonTooManyCustomlineitemsInRequest   ValidationExceptionReason = "TOO_MANY_CUSTOMLINEITEMS_IN_REQUEST"
	ValidationExceptionReasonIllegalChargeDetails              ValidationExceptionReason = "ILLEGAL_CHARGE_DETAILS"
	ValidationExceptionReasonIllegalUpdateChargeDetails        ValidationExceptionReason = "ILLEGAL_UPDATE_CHARGE_DETAILS"
	ValidationExceptionReasonInvalidArn                        ValidationExceptionReason = "INVALID_ARN"
	ValidationExceptionReasonIllegalResourceArns               ValidationExceptionReason = "ILLEGAL_RESOURCE_ARNS"
	ValidationExceptionReasonIllegalCustomlineitemModification ValidationExceptionReason = "ILLEGAL_CUSTOMLINEITEM_MODIFICATION"
	ValidationExceptionReasonMissingLinkedAccountIds           ValidationExceptionReason = "MISSING_LINKED_ACCOUNT_IDS"
	ValidationExceptionReasonMultipleLinkedAccountIds          ValidationExceptionReason = "MULTIPLE_LINKED_ACCOUNT_IDS"
	ValidationExceptionReasonMissingPricingPlanArn             ValidationExceptionReason = "MISSING_PRICING_PLAN_ARN"
	ValidationExceptionReasonMultiplePricingPlanArn            ValidationExceptionReason = "MULTIPLE_PRICING_PLAN_ARN"
)

// Values returns all known values for ValidationExceptionReason. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
// The ordering of this slice is not guaranteed to be stable across updates.
func (ValidationExceptionReason) Values() []ValidationExceptionReason {
	return []ValidationExceptionReason{
		"UNKNOWN_OPERATION",
		"CANNOT_PARSE",
		"FIELD_VALIDATION_FAILED",
		"OTHER",
		"PRIMARY_NOT_ASSOCIATED",
		"PRIMARY_CANNOT_DISASSOCIATE",
		"ACCOUNTS_NOT_ASSOCIATED",
		"ACCOUNTS_ALREADY_ASSOCIATED",
		"ILLEGAL_PRIMARY_ACCOUNT",
		"ILLEGAL_ACCOUNTS",
		"MISMATCHED_BILLINGGROUP_ARN",
		"MISSING_BILLINGGROUP",
		"MISMATCHED_CUSTOMLINEITEM_ARN",
		"ILLEGAL_BILLING_PERIOD",
		"ILLEGAL_BILLING_PERIOD_RANGE",
		"TOO_MANY_ACCOUNTS_IN_REQUEST",
		"DUPLICATE_ACCOUNT",
		"INVALID_BILLING_GROUP_STATUS",
		"MISMATCHED_PRICINGPLAN_ARN",
		"MISSING_PRICINGPLAN",
		"MISMATCHED_PRICINGRULE_ARN",
		"DUPLICATE_PRICINGRULE_ARNS",
		"ILLEGAL_EXPRESSION",
		"ILLEGAL_SCOPE",
		"ILLEGAL_SERVICE",
		"PRICINGRULES_NOT_EXIST",
		"PRICINGRULES_ALREADY_ASSOCIATED",
		"PRICINGRULES_NOT_ASSOCIATED",
		"INVALID_TIME_RANGE",
		"INVALID_BILLINGVIEW_ARN",
		"MISMATCHED_BILLINGVIEW_ARN",
		"ILLEGAL_CUSTOMLINEITEM",
		"MISSING_CUSTOMLINEITEM",
		"ILLEGAL_CUSTOMLINEITEM_UPDATE",
		"TOO_MANY_CUSTOMLINEITEMS_IN_REQUEST",
		"ILLEGAL_CHARGE_DETAILS",
		"ILLEGAL_UPDATE_CHARGE_DETAILS",
		"INVALID_ARN",
		"ILLEGAL_RESOURCE_ARNS",
		"ILLEGAL_CUSTOMLINEITEM_MODIFICATION",
		"MISSING_LINKED_ACCOUNT_IDS",
		"MULTIPLE_LINKED_ACCOUNT_IDS",
		"MISSING_PRICING_PLAN_ARN",
		"MULTIPLE_PRICING_PLAN_ARN",
	}
}
