// 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"
	AssociateResourceErrorReasonInvalidBillingPeriodRange AssociateResourceErrorReason = "INVALID_BILLING_PERIOD_RANGE"
)

// 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",
		"INVALID_BILLING_PERIOD_RANGE",
	}
}

type BillingGroupStatus string

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

// 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",
		"PENDING",
	}
}

type BillingGroupType string

// Enum values for BillingGroupType
const (
	BillingGroupTypeStandard        BillingGroupType = "STANDARD"
	BillingGroupTypeTransferBilling BillingGroupType = "TRANSFER_BILLING"
)

// Values returns all known values for BillingGroupType. 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 (BillingGroupType) Values() []BillingGroupType {
	return []BillingGroupType{
		"STANDARD",
		"TRANSFER_BILLING",
	}
}

type ComputationRuleEnum string

// Enum values for ComputationRuleEnum
const (
	ComputationRuleEnumItemized     ComputationRuleEnum = "ITEMIZED"
	ComputationRuleEnumConsolidated ComputationRuleEnum = "CONSOLIDATED"
)

// Values returns all known values for ComputationRuleEnum. 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 (ComputationRuleEnum) Values() []ComputationRuleEnum {
	return []ComputationRuleEnum{
		"ITEMIZED",
		"CONSOLIDATED",
	}
}

type ConflictExceptionReason string

// Enum values for ConflictExceptionReason
const (
	ConflictExceptionReasonResourceNameConflict                            ConflictExceptionReason = "RESOURCE_NAME_CONFLICT"
	ConflictExceptionReasonPricingRuleInPricingPlanConflict                ConflictExceptionReason = "PRICING_RULE_IN_PRICING_PLAN_CONFLICT"
	ConflictExceptionReasonPricingPlanAttachedToBillingGroupDeleteConflict ConflictExceptionReason = "PRICING_PLAN_ATTACHED_TO_BILLING_GROUP_DELETE_CONFLICT"
	ConflictExceptionReasonPricingRuleAttachedToPricingPlanDeleteConflict  ConflictExceptionReason = "PRICING_RULE_ATTACHED_TO_PRICING_PLAN_DELETE_CONFLICT"
	ConflictExceptionReasonWriteConflictRetry                              ConflictExceptionReason = "WRITE_CONFLICT_RETRY"
)

// Values returns all known values for ConflictExceptionReason. 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 (ConflictExceptionReason) Values() []ConflictExceptionReason {
	return []ConflictExceptionReason{
		"RESOURCE_NAME_CONFLICT",
		"PRICING_RULE_IN_PRICING_PLAN_CONFLICT",
		"PRICING_PLAN_ATTACHED_TO_BILLING_GROUP_DELETE_CONFLICT",
		"PRICING_RULE_ATTACHED_TO_PRICING_PLAN_DELETE_CONFLICT",
		"WRITE_CONFLICT_RETRY",
	}
}

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 GroupByAttributeName string

// Enum values for GroupByAttributeName
const (
	GroupByAttributeNameProductName   GroupByAttributeName = "PRODUCT_NAME"
	GroupByAttributeNameBillingPeriod GroupByAttributeName = "BILLING_PERIOD"
)

// Values returns all known values for GroupByAttributeName. 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 (GroupByAttributeName) Values() []GroupByAttributeName {
	return []GroupByAttributeName{
		"PRODUCT_NAME",
		"BILLING_PERIOD",
	}
}

type LineItemFilterAttributeName string

// Enum values for LineItemFilterAttributeName
const (
	LineItemFilterAttributeNameLineItemType LineItemFilterAttributeName = "LINE_ITEM_TYPE"
	LineItemFilterAttributeNameService      LineItemFilterAttributeName = "SERVICE"
)

// Values returns all known values for LineItemFilterAttributeName. 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 (LineItemFilterAttributeName) Values() []LineItemFilterAttributeName {
	return []LineItemFilterAttributeName{
		"LINE_ITEM_TYPE",
		"SERVICE",
	}
}

type LineItemFilterValue string

// Enum values for LineItemFilterValue
const (
	LineItemFilterValueSavingsPlanNegation LineItemFilterValue = "SAVINGS_PLAN_NEGATION"
)

// Values returns all known values for LineItemFilterValue. 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 (LineItemFilterValue) Values() []LineItemFilterValue {
	return []LineItemFilterValue{
		"SAVINGS_PLAN_NEGATION",
	}
}

type MatchOption string

// Enum values for MatchOption
const (
	MatchOptionNotEqual MatchOption = "NOT_EQUAL"
	MatchOptionEqual    MatchOption = "EQUAL"
)

// Values returns all known values for MatchOption. 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 (MatchOption) Values() []MatchOption {
	return []MatchOption{
		"NOT_EQUAL",
		"EQUAL",
	}
}

type PricingRuleScope string

// Enum values for PricingRuleScope
const (
	PricingRuleScopeGlobal        PricingRuleScope = "GLOBAL"
	PricingRuleScopeService       PricingRuleScope = "SERVICE"
	PricingRuleScopeBillingEntity PricingRuleScope = "BILLING_ENTITY"
	PricingRuleScopeSku           PricingRuleScope = "SKU"
)

// 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",
		"BILLING_ENTITY",
		"SKU",
	}
}

type PricingRuleType string

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

// 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",
		"TIERING",
	}
}

type SearchOption string

// Enum values for SearchOption
const (
	SearchOptionStartsWith SearchOption = "STARTS_WITH"
)

// Values returns all known values for SearchOption. 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 (SearchOption) Values() []SearchOption {
	return []SearchOption{
		"STARTS_WITH",
	}
}

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"
	ValidationExceptionReasonMissingCostcategory                            ValidationExceptionReason = "MISSING_COSTCATEGORY"
	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"
	ValidationExceptionReasonIllegalChildAssociateResource                  ValidationExceptionReason = "ILLEGAL_CHILD_ASSOCIATE_RESOURCE"
	ValidationExceptionReasonCustomLineItemAssociationExists                ValidationExceptionReason = "CUSTOM_LINE_ITEM_ASSOCIATION_EXISTS"
	ValidationExceptionReasonInvalidBillingGroup                            ValidationExceptionReason = "INVALID_BILLING_GROUP"
	ValidationExceptionReasonInvalidBillingPeriodForOperation               ValidationExceptionReason = "INVALID_BILLING_PERIOD_FOR_OPERATION"
	ValidationExceptionReasonIllegalBillingEntity                           ValidationExceptionReason = "ILLEGAL_BILLING_ENTITY"
	ValidationExceptionReasonIllegalModifierPercentage                      ValidationExceptionReason = "ILLEGAL_MODIFIER_PERCENTAGE"
	ValidationExceptionReasonIllegalType                                    ValidationExceptionReason = "ILLEGAL_TYPE"
	ValidationExceptionReasonIllegalBillingGroupType                        ValidationExceptionReason = "ILLEGAL_BILLING_GROUP_TYPE"
	ValidationExceptionReasonIllegalBillingGroupPricingPlan                 ValidationExceptionReason = "ILLEGAL_BILLING_GROUP_PRICING_PLAN"
	ValidationExceptionReasonIllegalEndedBillinggroup                       ValidationExceptionReason = "ILLEGAL_ENDED_BILLINGGROUP"
	ValidationExceptionReasonIllegalTieringInput                            ValidationExceptionReason = "ILLEGAL_TIERING_INPUT"
	ValidationExceptionReasonIllegalOperation                               ValidationExceptionReason = "ILLEGAL_OPERATION"
	ValidationExceptionReasonIllegalUsageType                               ValidationExceptionReason = "ILLEGAL_USAGE_TYPE"
	ValidationExceptionReasonInvalidSkuCombo                                ValidationExceptionReason = "INVALID_SKU_COMBO"
	ValidationExceptionReasonInvalidFilter                                  ValidationExceptionReason = "INVALID_FILTER"
	ValidationExceptionReasonTooManyAutoAssociateBillingGroups              ValidationExceptionReason = "TOO_MANY_AUTO_ASSOCIATE_BILLING_GROUPS"
	ValidationExceptionReasonCannotDeleteAutoAssociateBillingGroup          ValidationExceptionReason = "CANNOT_DELETE_AUTO_ASSOCIATE_BILLING_GROUP"
	ValidationExceptionReasonIllegalAccountId                               ValidationExceptionReason = "ILLEGAL_ACCOUNT_ID"
	ValidationExceptionReasonBillingGroupAlreadyExistInCurrentBillingPeriod ValidationExceptionReason = "BILLING_GROUP_ALREADY_EXIST_IN_CURRENT_BILLING_PERIOD"
	ValidationExceptionReasonIllegalComputationRule                         ValidationExceptionReason = "ILLEGAL_COMPUTATION_RULE"
	ValidationExceptionReasonIllegalLineItemFilter                          ValidationExceptionReason = "ILLEGAL_LINE_ITEM_FILTER"
)

// 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",
		"MISSING_COSTCATEGORY",
		"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",
		"ILLEGAL_CHILD_ASSOCIATE_RESOURCE",
		"CUSTOM_LINE_ITEM_ASSOCIATION_EXISTS",
		"INVALID_BILLING_GROUP",
		"INVALID_BILLING_PERIOD_FOR_OPERATION",
		"ILLEGAL_BILLING_ENTITY",
		"ILLEGAL_MODIFIER_PERCENTAGE",
		"ILLEGAL_TYPE",
		"ILLEGAL_BILLING_GROUP_TYPE",
		"ILLEGAL_BILLING_GROUP_PRICING_PLAN",
		"ILLEGAL_ENDED_BILLINGGROUP",
		"ILLEGAL_TIERING_INPUT",
		"ILLEGAL_OPERATION",
		"ILLEGAL_USAGE_TYPE",
		"INVALID_SKU_COMBO",
		"INVALID_FILTER",
		"TOO_MANY_AUTO_ASSOCIATE_BILLING_GROUPS",
		"CANNOT_DELETE_AUTO_ASSOCIATE_BILLING_GROUP",
		"ILLEGAL_ACCOUNT_ID",
		"BILLING_GROUP_ALREADY_EXIST_IN_CURRENT_BILLING_PERIOD",
		"ILLEGAL_COMPUTATION_RULE",
		"ILLEGAL_LINE_ITEM_FILTER",
	}
}
