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

package types

type ActionType string

// Enum values for ActionType
const (
	ActionTypeCreateTask               ActionType = "CREATE_TASK"
	ActionTypeAssignContactCategory    ActionType = "ASSIGN_CONTACT_CATEGORY"
	ActionTypeGenerateEventbridgeEvent ActionType = "GENERATE_EVENTBRIDGE_EVENT"
	ActionTypeSendNotification         ActionType = "SEND_NOTIFICATION"
)

// Values returns all known values for ActionType. 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 (ActionType) Values() []ActionType {
	return []ActionType{
		"CREATE_TASK",
		"ASSIGN_CONTACT_CATEGORY",
		"GENERATE_EVENTBRIDGE_EVENT",
		"SEND_NOTIFICATION",
	}
}

type AgentStatusState string

// Enum values for AgentStatusState
const (
	AgentStatusStateEnabled  AgentStatusState = "ENABLED"
	AgentStatusStateDisabled AgentStatusState = "DISABLED"
)

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

type AgentStatusType string

// Enum values for AgentStatusType
const (
	AgentStatusTypeRoutable AgentStatusType = "ROUTABLE"
	AgentStatusTypeCustom   AgentStatusType = "CUSTOM"
	AgentStatusTypeOffline  AgentStatusType = "OFFLINE"
)

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

type BehaviorType string

// Enum values for BehaviorType
const (
	BehaviorTypeRouteCurrentChannelOnly BehaviorType = "ROUTE_CURRENT_CHANNEL_ONLY"
	BehaviorTypeRouteAnyChannel         BehaviorType = "ROUTE_ANY_CHANNEL"
)

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

type Channel string

// Enum values for Channel
const (
	ChannelVoice Channel = "VOICE"
	ChannelChat  Channel = "CHAT"
	ChannelTask  Channel = "TASK"
)

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

type Comparison string

// Enum values for Comparison
const (
	ComparisonLt Comparison = "LT"
)

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

type ContactFlowModuleState string

// Enum values for ContactFlowModuleState
const (
	ContactFlowModuleStateActive   ContactFlowModuleState = "ACTIVE"
	ContactFlowModuleStateArchived ContactFlowModuleState = "ARCHIVED"
)

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

type ContactFlowModuleStatus string

// Enum values for ContactFlowModuleStatus
const (
	ContactFlowModuleStatusPublished ContactFlowModuleStatus = "PUBLISHED"
	ContactFlowModuleStatusSaved     ContactFlowModuleStatus = "SAVED"
)

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

type ContactFlowState string

// Enum values for ContactFlowState
const (
	ContactFlowStateActive   ContactFlowState = "ACTIVE"
	ContactFlowStateArchived ContactFlowState = "ARCHIVED"
)

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

type ContactFlowType string

// Enum values for ContactFlowType
const (
	ContactFlowTypeContactFlow     ContactFlowType = "CONTACT_FLOW"
	ContactFlowTypeCustomerQueue   ContactFlowType = "CUSTOMER_QUEUE"
	ContactFlowTypeCustomerHold    ContactFlowType = "CUSTOMER_HOLD"
	ContactFlowTypeCustomerWhisper ContactFlowType = "CUSTOMER_WHISPER"
	ContactFlowTypeAgentHold       ContactFlowType = "AGENT_HOLD"
	ContactFlowTypeAgentWhisper    ContactFlowType = "AGENT_WHISPER"
	ContactFlowTypeOutboundWhisper ContactFlowType = "OUTBOUND_WHISPER"
	ContactFlowTypeAgentTransfer   ContactFlowType = "AGENT_TRANSFER"
	ContactFlowTypeQueueTransfer   ContactFlowType = "QUEUE_TRANSFER"
)

// Values returns all known values for ContactFlowType. 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 (ContactFlowType) Values() []ContactFlowType {
	return []ContactFlowType{
		"CONTACT_FLOW",
		"CUSTOMER_QUEUE",
		"CUSTOMER_HOLD",
		"CUSTOMER_WHISPER",
		"AGENT_HOLD",
		"AGENT_WHISPER",
		"OUTBOUND_WHISPER",
		"AGENT_TRANSFER",
		"QUEUE_TRANSFER",
	}
}

type ContactInitiationMethod string

// Enum values for ContactInitiationMethod
const (
	ContactInitiationMethodInbound          ContactInitiationMethod = "INBOUND"
	ContactInitiationMethodOutbound         ContactInitiationMethod = "OUTBOUND"
	ContactInitiationMethodTransfer         ContactInitiationMethod = "TRANSFER"
	ContactInitiationMethodQueueTransfer    ContactInitiationMethod = "QUEUE_TRANSFER"
	ContactInitiationMethodCallback         ContactInitiationMethod = "CALLBACK"
	ContactInitiationMethodApi              ContactInitiationMethod = "API"
	ContactInitiationMethodDisconnect       ContactInitiationMethod = "DISCONNECT"
	ContactInitiationMethodMonitor          ContactInitiationMethod = "MONITOR"
	ContactInitiationMethodExternalOutbound ContactInitiationMethod = "EXTERNAL_OUTBOUND"
)

// Values returns all known values for ContactInitiationMethod. 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 (ContactInitiationMethod) Values() []ContactInitiationMethod {
	return []ContactInitiationMethod{
		"INBOUND",
		"OUTBOUND",
		"TRANSFER",
		"QUEUE_TRANSFER",
		"CALLBACK",
		"API",
		"DISCONNECT",
		"MONITOR",
		"EXTERNAL_OUTBOUND",
	}
}

type ContactState string

// Enum values for ContactState
const (
	ContactStateIncoming        ContactState = "INCOMING"
	ContactStatePending         ContactState = "PENDING"
	ContactStateConnecting      ContactState = "CONNECTING"
	ContactStateConnected       ContactState = "CONNECTED"
	ContactStateConnectedOnhold ContactState = "CONNECTED_ONHOLD"
	ContactStateMissed          ContactState = "MISSED"
	ContactStateError           ContactState = "ERROR"
	ContactStateEnded           ContactState = "ENDED"
	ContactStateRejected        ContactState = "REJECTED"
)

// Values returns all known values for ContactState. 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 (ContactState) Values() []ContactState {
	return []ContactState{
		"INCOMING",
		"PENDING",
		"CONNECTING",
		"CONNECTED",
		"CONNECTED_ONHOLD",
		"MISSED",
		"ERROR",
		"ENDED",
		"REJECTED",
	}
}

type CurrentMetricName string

// Enum values for CurrentMetricName
const (
	CurrentMetricNameAgentsOnline           CurrentMetricName = "AGENTS_ONLINE"
	CurrentMetricNameAgentsAvailable        CurrentMetricName = "AGENTS_AVAILABLE"
	CurrentMetricNameAgentsOnCall           CurrentMetricName = "AGENTS_ON_CALL"
	CurrentMetricNameAgentsNonProductive    CurrentMetricName = "AGENTS_NON_PRODUCTIVE"
	CurrentMetricNameAgentsAfterContactWork CurrentMetricName = "AGENTS_AFTER_CONTACT_WORK"
	CurrentMetricNameAgentsError            CurrentMetricName = "AGENTS_ERROR"
	CurrentMetricNameAgentsStaffed          CurrentMetricName = "AGENTS_STAFFED"
	CurrentMetricNameContactsInQueue        CurrentMetricName = "CONTACTS_IN_QUEUE"
	CurrentMetricNameOldestContactAge       CurrentMetricName = "OLDEST_CONTACT_AGE"
	CurrentMetricNameContactsScheduled      CurrentMetricName = "CONTACTS_SCHEDULED"
	CurrentMetricNameAgentsOnContact        CurrentMetricName = "AGENTS_ON_CONTACT"
	CurrentMetricNameSlotsActive            CurrentMetricName = "SLOTS_ACTIVE"
	CurrentMetricNameSlotsAvailable         CurrentMetricName = "SLOTS_AVAILABLE"
)

// Values returns all known values for CurrentMetricName. 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 (CurrentMetricName) Values() []CurrentMetricName {
	return []CurrentMetricName{
		"AGENTS_ONLINE",
		"AGENTS_AVAILABLE",
		"AGENTS_ON_CALL",
		"AGENTS_NON_PRODUCTIVE",
		"AGENTS_AFTER_CONTACT_WORK",
		"AGENTS_ERROR",
		"AGENTS_STAFFED",
		"CONTACTS_IN_QUEUE",
		"OLDEST_CONTACT_AGE",
		"CONTACTS_SCHEDULED",
		"AGENTS_ON_CONTACT",
		"SLOTS_ACTIVE",
		"SLOTS_AVAILABLE",
	}
}

type DirectoryType string

// Enum values for DirectoryType
const (
	DirectoryTypeSaml              DirectoryType = "SAML"
	DirectoryTypeConnectManaged    DirectoryType = "CONNECT_MANAGED"
	DirectoryTypeExistingDirectory DirectoryType = "EXISTING_DIRECTORY"
)

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

type EncryptionType string

// Enum values for EncryptionType
const (
	EncryptionTypeKms EncryptionType = "KMS"
)

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

type EvaluationFormQuestionType string

// Enum values for EvaluationFormQuestionType
const (
	EvaluationFormQuestionTypeText         EvaluationFormQuestionType = "TEXT"
	EvaluationFormQuestionTypeSingleselect EvaluationFormQuestionType = "SINGLESELECT"
	EvaluationFormQuestionTypeNumeric      EvaluationFormQuestionType = "NUMERIC"
)

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

type EvaluationFormScoringMode string

// Enum values for EvaluationFormScoringMode
const (
	EvaluationFormScoringModeQuestionOnly EvaluationFormScoringMode = "QUESTION_ONLY"
	EvaluationFormScoringModeSectionOnly  EvaluationFormScoringMode = "SECTION_ONLY"
)

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

type EvaluationFormScoringStatus string

// Enum values for EvaluationFormScoringStatus
const (
	EvaluationFormScoringStatusEnabled  EvaluationFormScoringStatus = "ENABLED"
	EvaluationFormScoringStatusDisabled EvaluationFormScoringStatus = "DISABLED"
)

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

type EvaluationFormSingleSelectQuestionDisplayMode string

// Enum values for EvaluationFormSingleSelectQuestionDisplayMode
const (
	EvaluationFormSingleSelectQuestionDisplayModeDropdown EvaluationFormSingleSelectQuestionDisplayMode = "DROPDOWN"
	EvaluationFormSingleSelectQuestionDisplayModeRadio    EvaluationFormSingleSelectQuestionDisplayMode = "RADIO"
)

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

type EvaluationFormVersionStatus string

// Enum values for EvaluationFormVersionStatus
const (
	EvaluationFormVersionStatusDraft  EvaluationFormVersionStatus = "DRAFT"
	EvaluationFormVersionStatusActive EvaluationFormVersionStatus = "ACTIVE"
)

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

type EvaluationStatus string

// Enum values for EvaluationStatus
const (
	EvaluationStatusDraft     EvaluationStatus = "DRAFT"
	EvaluationStatusSubmitted EvaluationStatus = "SUBMITTED"
)

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

type EventSourceName string

// Enum values for EventSourceName
const (
	EventSourceNameOnPostCallAnalysisAvailable     EventSourceName = "OnPostCallAnalysisAvailable"
	EventSourceNameOnRealTimeCallAnalysisAvailable EventSourceName = "OnRealTimeCallAnalysisAvailable"
	EventSourceNameOnPostChatAnalysisAvailable     EventSourceName = "OnPostChatAnalysisAvailable"
	EventSourceNameOnZendeskTicketCreate           EventSourceName = "OnZendeskTicketCreate"
	EventSourceNameOnZendeskTicketStatusUpdate     EventSourceName = "OnZendeskTicketStatusUpdate"
	EventSourceNameOnSalesforceCaseCreate          EventSourceName = "OnSalesforceCaseCreate"
	EventSourceNameOnContactEvaluationSubmit       EventSourceName = "OnContactEvaluationSubmit"
)

// Values returns all known values for EventSourceName. 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 (EventSourceName) Values() []EventSourceName {
	return []EventSourceName{
		"OnPostCallAnalysisAvailable",
		"OnRealTimeCallAnalysisAvailable",
		"OnPostChatAnalysisAvailable",
		"OnZendeskTicketCreate",
		"OnZendeskTicketStatusUpdate",
		"OnSalesforceCaseCreate",
		"OnContactEvaluationSubmit",
	}
}

type Grouping string

// Enum values for Grouping
const (
	GroupingQueue          Grouping = "QUEUE"
	GroupingChannel        Grouping = "CHANNEL"
	GroupingRoutingProfile Grouping = "ROUTING_PROFILE"
)

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

type HierarchyGroupMatchType string

// Enum values for HierarchyGroupMatchType
const (
	HierarchyGroupMatchTypeExact           HierarchyGroupMatchType = "EXACT"
	HierarchyGroupMatchTypeWithChildGroups HierarchyGroupMatchType = "WITH_CHILD_GROUPS"
)

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

type HistoricalMetricName string

// Enum values for HistoricalMetricName
const (
	HistoricalMetricNameContactsQueued                  HistoricalMetricName = "CONTACTS_QUEUED"
	HistoricalMetricNameContactsHandled                 HistoricalMetricName = "CONTACTS_HANDLED"
	HistoricalMetricNameContactsAbandoned               HistoricalMetricName = "CONTACTS_ABANDONED"
	HistoricalMetricNameContactsConsulted               HistoricalMetricName = "CONTACTS_CONSULTED"
	HistoricalMetricNameContactsAgentHungUpFirst        HistoricalMetricName = "CONTACTS_AGENT_HUNG_UP_FIRST"
	HistoricalMetricNameContactsHandledIncoming         HistoricalMetricName = "CONTACTS_HANDLED_INCOMING"
	HistoricalMetricNameContactsHandledOutbound         HistoricalMetricName = "CONTACTS_HANDLED_OUTBOUND"
	HistoricalMetricNameContactsHoldAbandons            HistoricalMetricName = "CONTACTS_HOLD_ABANDONS"
	HistoricalMetricNameContactsTransferredIn           HistoricalMetricName = "CONTACTS_TRANSFERRED_IN"
	HistoricalMetricNameContactsTransferredOut          HistoricalMetricName = "CONTACTS_TRANSFERRED_OUT"
	HistoricalMetricNameContactsTransferredInFromQueue  HistoricalMetricName = "CONTACTS_TRANSFERRED_IN_FROM_QUEUE"
	HistoricalMetricNameContactsTransferredOutFromQueue HistoricalMetricName = "CONTACTS_TRANSFERRED_OUT_FROM_QUEUE"
	HistoricalMetricNameContactsMissed                  HistoricalMetricName = "CONTACTS_MISSED"
	HistoricalMetricNameCallbackContactsHandled         HistoricalMetricName = "CALLBACK_CONTACTS_HANDLED"
	HistoricalMetricNameApiContactsHandled              HistoricalMetricName = "API_CONTACTS_HANDLED"
	HistoricalMetricNameOccupancy                       HistoricalMetricName = "OCCUPANCY"
	HistoricalMetricNameHandleTime                      HistoricalMetricName = "HANDLE_TIME"
	HistoricalMetricNameAfterContactWorkTime            HistoricalMetricName = "AFTER_CONTACT_WORK_TIME"
	HistoricalMetricNameQueuedTime                      HistoricalMetricName = "QUEUED_TIME"
	HistoricalMetricNameAbandonTime                     HistoricalMetricName = "ABANDON_TIME"
	HistoricalMetricNameQueueAnswerTime                 HistoricalMetricName = "QUEUE_ANSWER_TIME"
	HistoricalMetricNameHoldTime                        HistoricalMetricName = "HOLD_TIME"
	HistoricalMetricNameInteractionTime                 HistoricalMetricName = "INTERACTION_TIME"
	HistoricalMetricNameInteractionAndHoldTime          HistoricalMetricName = "INTERACTION_AND_HOLD_TIME"
	HistoricalMetricNameServiceLevel                    HistoricalMetricName = "SERVICE_LEVEL"
)

// Values returns all known values for HistoricalMetricName. 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 (HistoricalMetricName) Values() []HistoricalMetricName {
	return []HistoricalMetricName{
		"CONTACTS_QUEUED",
		"CONTACTS_HANDLED",
		"CONTACTS_ABANDONED",
		"CONTACTS_CONSULTED",
		"CONTACTS_AGENT_HUNG_UP_FIRST",
		"CONTACTS_HANDLED_INCOMING",
		"CONTACTS_HANDLED_OUTBOUND",
		"CONTACTS_HOLD_ABANDONS",
		"CONTACTS_TRANSFERRED_IN",
		"CONTACTS_TRANSFERRED_OUT",
		"CONTACTS_TRANSFERRED_IN_FROM_QUEUE",
		"CONTACTS_TRANSFERRED_OUT_FROM_QUEUE",
		"CONTACTS_MISSED",
		"CALLBACK_CONTACTS_HANDLED",
		"API_CONTACTS_HANDLED",
		"OCCUPANCY",
		"HANDLE_TIME",
		"AFTER_CONTACT_WORK_TIME",
		"QUEUED_TIME",
		"ABANDON_TIME",
		"QUEUE_ANSWER_TIME",
		"HOLD_TIME",
		"INTERACTION_TIME",
		"INTERACTION_AND_HOLD_TIME",
		"SERVICE_LEVEL",
	}
}

type HoursOfOperationDays string

// Enum values for HoursOfOperationDays
const (
	HoursOfOperationDaysSunday    HoursOfOperationDays = "SUNDAY"
	HoursOfOperationDaysMonday    HoursOfOperationDays = "MONDAY"
	HoursOfOperationDaysTuesday   HoursOfOperationDays = "TUESDAY"
	HoursOfOperationDaysWednesday HoursOfOperationDays = "WEDNESDAY"
	HoursOfOperationDaysThursday  HoursOfOperationDays = "THURSDAY"
	HoursOfOperationDaysFriday    HoursOfOperationDays = "FRIDAY"
	HoursOfOperationDaysSaturday  HoursOfOperationDays = "SATURDAY"
)

// Values returns all known values for HoursOfOperationDays. 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 (HoursOfOperationDays) Values() []HoursOfOperationDays {
	return []HoursOfOperationDays{
		"SUNDAY",
		"MONDAY",
		"TUESDAY",
		"WEDNESDAY",
		"THURSDAY",
		"FRIDAY",
		"SATURDAY",
	}
}

type InstanceAttributeType string

// Enum values for InstanceAttributeType
const (
	InstanceAttributeTypeInboundCalls              InstanceAttributeType = "INBOUND_CALLS"
	InstanceAttributeTypeOutboundCalls             InstanceAttributeType = "OUTBOUND_CALLS"
	InstanceAttributeTypeContactflowLogs           InstanceAttributeType = "CONTACTFLOW_LOGS"
	InstanceAttributeTypeContactLens               InstanceAttributeType = "CONTACT_LENS"
	InstanceAttributeTypeAutoResolveBestVoices     InstanceAttributeType = "AUTO_RESOLVE_BEST_VOICES"
	InstanceAttributeTypeUseCustomTtsVoices        InstanceAttributeType = "USE_CUSTOM_TTS_VOICES"
	InstanceAttributeTypeEarlyMedia                InstanceAttributeType = "EARLY_MEDIA"
	InstanceAttributeTypeMultiPartyConference      InstanceAttributeType = "MULTI_PARTY_CONFERENCE"
	InstanceAttributeTypeHighVolumeOutbound        InstanceAttributeType = "HIGH_VOLUME_OUTBOUND"
	InstanceAttributeTypeEnhancedContactMonitoring InstanceAttributeType = "ENHANCED_CONTACT_MONITORING"
)

// Values returns all known values for InstanceAttributeType. 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 (InstanceAttributeType) Values() []InstanceAttributeType {
	return []InstanceAttributeType{
		"INBOUND_CALLS",
		"OUTBOUND_CALLS",
		"CONTACTFLOW_LOGS",
		"CONTACT_LENS",
		"AUTO_RESOLVE_BEST_VOICES",
		"USE_CUSTOM_TTS_VOICES",
		"EARLY_MEDIA",
		"MULTI_PARTY_CONFERENCE",
		"HIGH_VOLUME_OUTBOUND",
		"ENHANCED_CONTACT_MONITORING",
	}
}

type InstanceStatus string

// Enum values for InstanceStatus
const (
	InstanceStatusCreationInProgress InstanceStatus = "CREATION_IN_PROGRESS"
	InstanceStatusActive             InstanceStatus = "ACTIVE"
	InstanceStatusCreationFailed     InstanceStatus = "CREATION_FAILED"
)

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

type InstanceStorageResourceType string

// Enum values for InstanceStorageResourceType
const (
	InstanceStorageResourceTypeChatTranscripts                 InstanceStorageResourceType = "CHAT_TRANSCRIPTS"
	InstanceStorageResourceTypeCallRecordings                  InstanceStorageResourceType = "CALL_RECORDINGS"
	InstanceStorageResourceTypeScheduledReports                InstanceStorageResourceType = "SCHEDULED_REPORTS"
	InstanceStorageResourceTypeMediaStreams                    InstanceStorageResourceType = "MEDIA_STREAMS"
	InstanceStorageResourceTypeContactTraceRecords             InstanceStorageResourceType = "CONTACT_TRACE_RECORDS"
	InstanceStorageResourceTypeAgentEvents                     InstanceStorageResourceType = "AGENT_EVENTS"
	InstanceStorageResourceTypeRealTimeContactAnalysisSegments InstanceStorageResourceType = "REAL_TIME_CONTACT_ANALYSIS_SEGMENTS"
	InstanceStorageResourceTypeAttachments                     InstanceStorageResourceType = "ATTACHMENTS"
	InstanceStorageResourceTypeContactEvaluations              InstanceStorageResourceType = "CONTACT_EVALUATIONS"
	InstanceStorageResourceTypeScreenRecordings                InstanceStorageResourceType = "SCREEN_RECORDINGS"
)

// Values returns all known values for InstanceStorageResourceType. 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 (InstanceStorageResourceType) Values() []InstanceStorageResourceType {
	return []InstanceStorageResourceType{
		"CHAT_TRANSCRIPTS",
		"CALL_RECORDINGS",
		"SCHEDULED_REPORTS",
		"MEDIA_STREAMS",
		"CONTACT_TRACE_RECORDS",
		"AGENT_EVENTS",
		"REAL_TIME_CONTACT_ANALYSIS_SEGMENTS",
		"ATTACHMENTS",
		"CONTACT_EVALUATIONS",
		"SCREEN_RECORDINGS",
	}
}

type IntegrationType string

// Enum values for IntegrationType
const (
	IntegrationTypeEvent               IntegrationType = "EVENT"
	IntegrationTypeVoiceId             IntegrationType = "VOICE_ID"
	IntegrationTypePinpointApp         IntegrationType = "PINPOINT_APP"
	IntegrationTypeWisdomAssistant     IntegrationType = "WISDOM_ASSISTANT"
	IntegrationTypeWisdomKnowledgeBase IntegrationType = "WISDOM_KNOWLEDGE_BASE"
	IntegrationTypeCasesDomain         IntegrationType = "CASES_DOMAIN"
)

// Values returns all known values for IntegrationType. 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 (IntegrationType) Values() []IntegrationType {
	return []IntegrationType{
		"EVENT",
		"VOICE_ID",
		"PINPOINT_APP",
		"WISDOM_ASSISTANT",
		"WISDOM_KNOWLEDGE_BASE",
		"CASES_DOMAIN",
	}
}

type LexVersion string

// Enum values for LexVersion
const (
	LexVersionV1 LexVersion = "V1"
	LexVersionV2 LexVersion = "V2"
)

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

type MonitorCapability string

// Enum values for MonitorCapability
const (
	MonitorCapabilitySilentMonitor MonitorCapability = "SILENT_MONITOR"
	MonitorCapabilityBarge         MonitorCapability = "BARGE"
)

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

type NotificationContentType string

// Enum values for NotificationContentType
const (
	NotificationContentTypePlainText NotificationContentType = "PLAIN_TEXT"
)

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

type NotificationDeliveryType string

// Enum values for NotificationDeliveryType
const (
	NotificationDeliveryTypeEmail NotificationDeliveryType = "EMAIL"
)

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

type NumericQuestionPropertyAutomationLabel string

// Enum values for NumericQuestionPropertyAutomationLabel
const (
	NumericQuestionPropertyAutomationLabelOverallCustomerSentimentScore NumericQuestionPropertyAutomationLabel = "OVERALL_CUSTOMER_SENTIMENT_SCORE"
	NumericQuestionPropertyAutomationLabelOverallAgentSentimentScore    NumericQuestionPropertyAutomationLabel = "OVERALL_AGENT_SENTIMENT_SCORE"
	NumericQuestionPropertyAutomationLabelNonTalkTime                   NumericQuestionPropertyAutomationLabel = "NON_TALK_TIME"
	NumericQuestionPropertyAutomationLabelNonTalkTimePercentage         NumericQuestionPropertyAutomationLabel = "NON_TALK_TIME_PERCENTAGE"
	NumericQuestionPropertyAutomationLabelNumberOfInterruptions         NumericQuestionPropertyAutomationLabel = "NUMBER_OF_INTERRUPTIONS"
	NumericQuestionPropertyAutomationLabelContactDuration               NumericQuestionPropertyAutomationLabel = "CONTACT_DURATION"
	NumericQuestionPropertyAutomationLabelAgentInteractionDuration      NumericQuestionPropertyAutomationLabel = "AGENT_INTERACTION_DURATION"
	NumericQuestionPropertyAutomationLabelCustomerHoldTime              NumericQuestionPropertyAutomationLabel = "CUSTOMER_HOLD_TIME"
)

// Values returns all known values for NumericQuestionPropertyAutomationLabel.
// 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 (NumericQuestionPropertyAutomationLabel) Values() []NumericQuestionPropertyAutomationLabel {
	return []NumericQuestionPropertyAutomationLabel{
		"OVERALL_CUSTOMER_SENTIMENT_SCORE",
		"OVERALL_AGENT_SENTIMENT_SCORE",
		"NON_TALK_TIME",
		"NON_TALK_TIME_PERCENTAGE",
		"NUMBER_OF_INTERRUPTIONS",
		"CONTACT_DURATION",
		"AGENT_INTERACTION_DURATION",
		"CUSTOMER_HOLD_TIME",
	}
}

type ParticipantRole string

// Enum values for ParticipantRole
const (
	ParticipantRoleAgent     ParticipantRole = "AGENT"
	ParticipantRoleCustomer  ParticipantRole = "CUSTOMER"
	ParticipantRoleSystem    ParticipantRole = "SYSTEM"
	ParticipantRoleCustomBot ParticipantRole = "CUSTOM_BOT"
)

// Values returns all known values for ParticipantRole. 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 (ParticipantRole) Values() []ParticipantRole {
	return []ParticipantRole{
		"AGENT",
		"CUSTOMER",
		"SYSTEM",
		"CUSTOM_BOT",
	}
}

type ParticipantTimerAction string

// Enum values for ParticipantTimerAction
const (
	ParticipantTimerActionUnset ParticipantTimerAction = "Unset"
)

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

type ParticipantTimerType string

// Enum values for ParticipantTimerType
const (
	ParticipantTimerTypeIdle                  ParticipantTimerType = "IDLE"
	ParticipantTimerTypeDisconnectNoncustomer ParticipantTimerType = "DISCONNECT_NONCUSTOMER"
)

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

type PhoneNumberCountryCode string

// Enum values for PhoneNumberCountryCode
const (
	PhoneNumberCountryCodeAf PhoneNumberCountryCode = "AF"
	PhoneNumberCountryCodeAl PhoneNumberCountryCode = "AL"
	PhoneNumberCountryCodeDz PhoneNumberCountryCode = "DZ"
	PhoneNumberCountryCodeAs PhoneNumberCountryCode = "AS"
	PhoneNumberCountryCodeAd PhoneNumberCountryCode = "AD"
	PhoneNumberCountryCodeAo PhoneNumberCountryCode = "AO"
	PhoneNumberCountryCodeAi PhoneNumberCountryCode = "AI"
	PhoneNumberCountryCodeAq PhoneNumberCountryCode = "AQ"
	PhoneNumberCountryCodeAg PhoneNumberCountryCode = "AG"
	PhoneNumberCountryCodeAr PhoneNumberCountryCode = "AR"
	PhoneNumberCountryCodeAm PhoneNumberCountryCode = "AM"
	PhoneNumberCountryCodeAw PhoneNumberCountryCode = "AW"
	PhoneNumberCountryCodeAu PhoneNumberCountryCode = "AU"
	PhoneNumberCountryCodeAt PhoneNumberCountryCode = "AT"
	PhoneNumberCountryCodeAz PhoneNumberCountryCode = "AZ"
	PhoneNumberCountryCodeBs PhoneNumberCountryCode = "BS"
	PhoneNumberCountryCodeBh PhoneNumberCountryCode = "BH"
	PhoneNumberCountryCodeBd PhoneNumberCountryCode = "BD"
	PhoneNumberCountryCodeBb PhoneNumberCountryCode = "BB"
	PhoneNumberCountryCodeBy PhoneNumberCountryCode = "BY"
	PhoneNumberCountryCodeBe PhoneNumberCountryCode = "BE"
	PhoneNumberCountryCodeBz PhoneNumberCountryCode = "BZ"
	PhoneNumberCountryCodeBj PhoneNumberCountryCode = "BJ"
	PhoneNumberCountryCodeBm PhoneNumberCountryCode = "BM"
	PhoneNumberCountryCodeBt PhoneNumberCountryCode = "BT"
	PhoneNumberCountryCodeBo PhoneNumberCountryCode = "BO"
	PhoneNumberCountryCodeBa PhoneNumberCountryCode = "BA"
	PhoneNumberCountryCodeBw PhoneNumberCountryCode = "BW"
	PhoneNumberCountryCodeBr PhoneNumberCountryCode = "BR"
	PhoneNumberCountryCodeIo PhoneNumberCountryCode = "IO"
	PhoneNumberCountryCodeVg PhoneNumberCountryCode = "VG"
	PhoneNumberCountryCodeBn PhoneNumberCountryCode = "BN"
	PhoneNumberCountryCodeBg PhoneNumberCountryCode = "BG"
	PhoneNumberCountryCodeBf PhoneNumberCountryCode = "BF"
	PhoneNumberCountryCodeBi PhoneNumberCountryCode = "BI"
	PhoneNumberCountryCodeKh PhoneNumberCountryCode = "KH"
	PhoneNumberCountryCodeCm PhoneNumberCountryCode = "CM"
	PhoneNumberCountryCodeCa PhoneNumberCountryCode = "CA"
	PhoneNumberCountryCodeCv PhoneNumberCountryCode = "CV"
	PhoneNumberCountryCodeKy PhoneNumberCountryCode = "KY"
	PhoneNumberCountryCodeCf PhoneNumberCountryCode = "CF"
	PhoneNumberCountryCodeTd PhoneNumberCountryCode = "TD"
	PhoneNumberCountryCodeCl PhoneNumberCountryCode = "CL"
	PhoneNumberCountryCodeCn PhoneNumberCountryCode = "CN"
	PhoneNumberCountryCodeCx PhoneNumberCountryCode = "CX"
	PhoneNumberCountryCodeCc PhoneNumberCountryCode = "CC"
	PhoneNumberCountryCodeCo PhoneNumberCountryCode = "CO"
	PhoneNumberCountryCodeKm PhoneNumberCountryCode = "KM"
	PhoneNumberCountryCodeCk PhoneNumberCountryCode = "CK"
	PhoneNumberCountryCodeCr PhoneNumberCountryCode = "CR"
	PhoneNumberCountryCodeHr PhoneNumberCountryCode = "HR"
	PhoneNumberCountryCodeCu PhoneNumberCountryCode = "CU"
	PhoneNumberCountryCodeCw PhoneNumberCountryCode = "CW"
	PhoneNumberCountryCodeCy PhoneNumberCountryCode = "CY"
	PhoneNumberCountryCodeCz PhoneNumberCountryCode = "CZ"
	PhoneNumberCountryCodeCd PhoneNumberCountryCode = "CD"
	PhoneNumberCountryCodeDk PhoneNumberCountryCode = "DK"
	PhoneNumberCountryCodeDj PhoneNumberCountryCode = "DJ"
	PhoneNumberCountryCodeDm PhoneNumberCountryCode = "DM"
	PhoneNumberCountryCodeDo PhoneNumberCountryCode = "DO"
	PhoneNumberCountryCodeTl PhoneNumberCountryCode = "TL"
	PhoneNumberCountryCodeEc PhoneNumberCountryCode = "EC"
	PhoneNumberCountryCodeEg PhoneNumberCountryCode = "EG"
	PhoneNumberCountryCodeSv PhoneNumberCountryCode = "SV"
	PhoneNumberCountryCodeGq PhoneNumberCountryCode = "GQ"
	PhoneNumberCountryCodeEr PhoneNumberCountryCode = "ER"
	PhoneNumberCountryCodeEe PhoneNumberCountryCode = "EE"
	PhoneNumberCountryCodeEt PhoneNumberCountryCode = "ET"
	PhoneNumberCountryCodeFk PhoneNumberCountryCode = "FK"
	PhoneNumberCountryCodeFo PhoneNumberCountryCode = "FO"
	PhoneNumberCountryCodeFj PhoneNumberCountryCode = "FJ"
	PhoneNumberCountryCodeFi PhoneNumberCountryCode = "FI"
	PhoneNumberCountryCodeFr PhoneNumberCountryCode = "FR"
	PhoneNumberCountryCodePf PhoneNumberCountryCode = "PF"
	PhoneNumberCountryCodeGa PhoneNumberCountryCode = "GA"
	PhoneNumberCountryCodeGm PhoneNumberCountryCode = "GM"
	PhoneNumberCountryCodeGe PhoneNumberCountryCode = "GE"
	PhoneNumberCountryCodeDe PhoneNumberCountryCode = "DE"
	PhoneNumberCountryCodeGh PhoneNumberCountryCode = "GH"
	PhoneNumberCountryCodeGi PhoneNumberCountryCode = "GI"
	PhoneNumberCountryCodeGr PhoneNumberCountryCode = "GR"
	PhoneNumberCountryCodeGl PhoneNumberCountryCode = "GL"
	PhoneNumberCountryCodeGd PhoneNumberCountryCode = "GD"
	PhoneNumberCountryCodeGu PhoneNumberCountryCode = "GU"
	PhoneNumberCountryCodeGt PhoneNumberCountryCode = "GT"
	PhoneNumberCountryCodeGg PhoneNumberCountryCode = "GG"
	PhoneNumberCountryCodeGn PhoneNumberCountryCode = "GN"
	PhoneNumberCountryCodeGw PhoneNumberCountryCode = "GW"
	PhoneNumberCountryCodeGy PhoneNumberCountryCode = "GY"
	PhoneNumberCountryCodeHt PhoneNumberCountryCode = "HT"
	PhoneNumberCountryCodeHn PhoneNumberCountryCode = "HN"
	PhoneNumberCountryCodeHk PhoneNumberCountryCode = "HK"
	PhoneNumberCountryCodeHu PhoneNumberCountryCode = "HU"
	PhoneNumberCountryCodeIs PhoneNumberCountryCode = "IS"
	PhoneNumberCountryCodeIn PhoneNumberCountryCode = "IN"
	PhoneNumberCountryCodeId PhoneNumberCountryCode = "ID"
	PhoneNumberCountryCodeIr PhoneNumberCountryCode = "IR"
	PhoneNumberCountryCodeIq PhoneNumberCountryCode = "IQ"
	PhoneNumberCountryCodeIe PhoneNumberCountryCode = "IE"
	PhoneNumberCountryCodeIm PhoneNumberCountryCode = "IM"
	PhoneNumberCountryCodeIl PhoneNumberCountryCode = "IL"
	PhoneNumberCountryCodeIt PhoneNumberCountryCode = "IT"
	PhoneNumberCountryCodeCi PhoneNumberCountryCode = "CI"
	PhoneNumberCountryCodeJm PhoneNumberCountryCode = "JM"
	PhoneNumberCountryCodeJp PhoneNumberCountryCode = "JP"
	PhoneNumberCountryCodeJe PhoneNumberCountryCode = "JE"
	PhoneNumberCountryCodeJo PhoneNumberCountryCode = "JO"
	PhoneNumberCountryCodeKz PhoneNumberCountryCode = "KZ"
	PhoneNumberCountryCodeKe PhoneNumberCountryCode = "KE"
	PhoneNumberCountryCodeKi PhoneNumberCountryCode = "KI"
	PhoneNumberCountryCodeKw PhoneNumberCountryCode = "KW"
	PhoneNumberCountryCodeKg PhoneNumberCountryCode = "KG"
	PhoneNumberCountryCodeLa PhoneNumberCountryCode = "LA"
	PhoneNumberCountryCodeLv PhoneNumberCountryCode = "LV"
	PhoneNumberCountryCodeLb PhoneNumberCountryCode = "LB"
	PhoneNumberCountryCodeLs PhoneNumberCountryCode = "LS"
	PhoneNumberCountryCodeLr PhoneNumberCountryCode = "LR"
	PhoneNumberCountryCodeLy PhoneNumberCountryCode = "LY"
	PhoneNumberCountryCodeLi PhoneNumberCountryCode = "LI"
	PhoneNumberCountryCodeLt PhoneNumberCountryCode = "LT"
	PhoneNumberCountryCodeLu PhoneNumberCountryCode = "LU"
	PhoneNumberCountryCodeMo PhoneNumberCountryCode = "MO"
	PhoneNumberCountryCodeMk PhoneNumberCountryCode = "MK"
	PhoneNumberCountryCodeMg PhoneNumberCountryCode = "MG"
	PhoneNumberCountryCodeMw PhoneNumberCountryCode = "MW"
	PhoneNumberCountryCodeMy PhoneNumberCountryCode = "MY"
	PhoneNumberCountryCodeMv PhoneNumberCountryCode = "MV"
	PhoneNumberCountryCodeMl PhoneNumberCountryCode = "ML"
	PhoneNumberCountryCodeMt PhoneNumberCountryCode = "MT"
	PhoneNumberCountryCodeMh PhoneNumberCountryCode = "MH"
	PhoneNumberCountryCodeMr PhoneNumberCountryCode = "MR"
	PhoneNumberCountryCodeMu PhoneNumberCountryCode = "MU"
	PhoneNumberCountryCodeYt PhoneNumberCountryCode = "YT"
	PhoneNumberCountryCodeMx PhoneNumberCountryCode = "MX"
	PhoneNumberCountryCodeFm PhoneNumberCountryCode = "FM"
	PhoneNumberCountryCodeMd PhoneNumberCountryCode = "MD"
	PhoneNumberCountryCodeMc PhoneNumberCountryCode = "MC"
	PhoneNumberCountryCodeMn PhoneNumberCountryCode = "MN"
	PhoneNumberCountryCodeMe PhoneNumberCountryCode = "ME"
	PhoneNumberCountryCodeMs PhoneNumberCountryCode = "MS"
	PhoneNumberCountryCodeMa PhoneNumberCountryCode = "MA"
	PhoneNumberCountryCodeMz PhoneNumberCountryCode = "MZ"
	PhoneNumberCountryCodeMm PhoneNumberCountryCode = "MM"
	PhoneNumberCountryCodeNa PhoneNumberCountryCode = "NA"
	PhoneNumberCountryCodeNr PhoneNumberCountryCode = "NR"
	PhoneNumberCountryCodeNp PhoneNumberCountryCode = "NP"
	PhoneNumberCountryCodeNl PhoneNumberCountryCode = "NL"
	PhoneNumberCountryCodeAn PhoneNumberCountryCode = "AN"
	PhoneNumberCountryCodeNc PhoneNumberCountryCode = "NC"
	PhoneNumberCountryCodeNz PhoneNumberCountryCode = "NZ"
	PhoneNumberCountryCodeNi PhoneNumberCountryCode = "NI"
	PhoneNumberCountryCodeNe PhoneNumberCountryCode = "NE"
	PhoneNumberCountryCodeNg PhoneNumberCountryCode = "NG"
	PhoneNumberCountryCodeNu PhoneNumberCountryCode = "NU"
	PhoneNumberCountryCodeKp PhoneNumberCountryCode = "KP"
	PhoneNumberCountryCodeMp PhoneNumberCountryCode = "MP"
	PhoneNumberCountryCodeNo PhoneNumberCountryCode = "NO"
	PhoneNumberCountryCodeOm PhoneNumberCountryCode = "OM"
	PhoneNumberCountryCodePk PhoneNumberCountryCode = "PK"
	PhoneNumberCountryCodePw PhoneNumberCountryCode = "PW"
	PhoneNumberCountryCodePa PhoneNumberCountryCode = "PA"
	PhoneNumberCountryCodePg PhoneNumberCountryCode = "PG"
	PhoneNumberCountryCodePy PhoneNumberCountryCode = "PY"
	PhoneNumberCountryCodePe PhoneNumberCountryCode = "PE"
	PhoneNumberCountryCodePh PhoneNumberCountryCode = "PH"
	PhoneNumberCountryCodePn PhoneNumberCountryCode = "PN"
	PhoneNumberCountryCodePl PhoneNumberCountryCode = "PL"
	PhoneNumberCountryCodePt PhoneNumberCountryCode = "PT"
	PhoneNumberCountryCodePr PhoneNumberCountryCode = "PR"
	PhoneNumberCountryCodeQa PhoneNumberCountryCode = "QA"
	PhoneNumberCountryCodeCg PhoneNumberCountryCode = "CG"
	PhoneNumberCountryCodeRe PhoneNumberCountryCode = "RE"
	PhoneNumberCountryCodeRo PhoneNumberCountryCode = "RO"
	PhoneNumberCountryCodeRu PhoneNumberCountryCode = "RU"
	PhoneNumberCountryCodeRw PhoneNumberCountryCode = "RW"
	PhoneNumberCountryCodeBl PhoneNumberCountryCode = "BL"
	PhoneNumberCountryCodeSh PhoneNumberCountryCode = "SH"
	PhoneNumberCountryCodeKn PhoneNumberCountryCode = "KN"
	PhoneNumberCountryCodeLc PhoneNumberCountryCode = "LC"
	PhoneNumberCountryCodeMf PhoneNumberCountryCode = "MF"
	PhoneNumberCountryCodePm PhoneNumberCountryCode = "PM"
	PhoneNumberCountryCodeVc PhoneNumberCountryCode = "VC"
	PhoneNumberCountryCodeWs PhoneNumberCountryCode = "WS"
	PhoneNumberCountryCodeSm PhoneNumberCountryCode = "SM"
	PhoneNumberCountryCodeSt PhoneNumberCountryCode = "ST"
	PhoneNumberCountryCodeSa PhoneNumberCountryCode = "SA"
	PhoneNumberCountryCodeSn PhoneNumberCountryCode = "SN"
	PhoneNumberCountryCodeRs PhoneNumberCountryCode = "RS"
	PhoneNumberCountryCodeSc PhoneNumberCountryCode = "SC"
	PhoneNumberCountryCodeSl PhoneNumberCountryCode = "SL"
	PhoneNumberCountryCodeSg PhoneNumberCountryCode = "SG"
	PhoneNumberCountryCodeSx PhoneNumberCountryCode = "SX"
	PhoneNumberCountryCodeSk PhoneNumberCountryCode = "SK"
	PhoneNumberCountryCodeSi PhoneNumberCountryCode = "SI"
	PhoneNumberCountryCodeSb PhoneNumberCountryCode = "SB"
	PhoneNumberCountryCodeSo PhoneNumberCountryCode = "SO"
	PhoneNumberCountryCodeZa PhoneNumberCountryCode = "ZA"
	PhoneNumberCountryCodeKr PhoneNumberCountryCode = "KR"
	PhoneNumberCountryCodeEs PhoneNumberCountryCode = "ES"
	PhoneNumberCountryCodeLk PhoneNumberCountryCode = "LK"
	PhoneNumberCountryCodeSd PhoneNumberCountryCode = "SD"
	PhoneNumberCountryCodeSr PhoneNumberCountryCode = "SR"
	PhoneNumberCountryCodeSj PhoneNumberCountryCode = "SJ"
	PhoneNumberCountryCodeSz PhoneNumberCountryCode = "SZ"
	PhoneNumberCountryCodeSe PhoneNumberCountryCode = "SE"
	PhoneNumberCountryCodeCh PhoneNumberCountryCode = "CH"
	PhoneNumberCountryCodeSy PhoneNumberCountryCode = "SY"
	PhoneNumberCountryCodeTw PhoneNumberCountryCode = "TW"
	PhoneNumberCountryCodeTj PhoneNumberCountryCode = "TJ"
	PhoneNumberCountryCodeTz PhoneNumberCountryCode = "TZ"
	PhoneNumberCountryCodeTh PhoneNumberCountryCode = "TH"
	PhoneNumberCountryCodeTg PhoneNumberCountryCode = "TG"
	PhoneNumberCountryCodeTk PhoneNumberCountryCode = "TK"
	PhoneNumberCountryCodeTo PhoneNumberCountryCode = "TO"
	PhoneNumberCountryCodeTt PhoneNumberCountryCode = "TT"
	PhoneNumberCountryCodeTn PhoneNumberCountryCode = "TN"
	PhoneNumberCountryCodeTr PhoneNumberCountryCode = "TR"
	PhoneNumberCountryCodeTm PhoneNumberCountryCode = "TM"
	PhoneNumberCountryCodeTc PhoneNumberCountryCode = "TC"
	PhoneNumberCountryCodeTv PhoneNumberCountryCode = "TV"
	PhoneNumberCountryCodeVi PhoneNumberCountryCode = "VI"
	PhoneNumberCountryCodeUg PhoneNumberCountryCode = "UG"
	PhoneNumberCountryCodeUa PhoneNumberCountryCode = "UA"
	PhoneNumberCountryCodeAe PhoneNumberCountryCode = "AE"
	PhoneNumberCountryCodeGb PhoneNumberCountryCode = "GB"
	PhoneNumberCountryCodeUs PhoneNumberCountryCode = "US"
	PhoneNumberCountryCodeUy PhoneNumberCountryCode = "UY"
	PhoneNumberCountryCodeUz PhoneNumberCountryCode = "UZ"
	PhoneNumberCountryCodeVu PhoneNumberCountryCode = "VU"
	PhoneNumberCountryCodeVa PhoneNumberCountryCode = "VA"
	PhoneNumberCountryCodeVe PhoneNumberCountryCode = "VE"
	PhoneNumberCountryCodeVn PhoneNumberCountryCode = "VN"
	PhoneNumberCountryCodeWf PhoneNumberCountryCode = "WF"
	PhoneNumberCountryCodeEh PhoneNumberCountryCode = "EH"
	PhoneNumberCountryCodeYe PhoneNumberCountryCode = "YE"
	PhoneNumberCountryCodeZm PhoneNumberCountryCode = "ZM"
	PhoneNumberCountryCodeZw PhoneNumberCountryCode = "ZW"
)

// Values returns all known values for PhoneNumberCountryCode. 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 (PhoneNumberCountryCode) Values() []PhoneNumberCountryCode {
	return []PhoneNumberCountryCode{
		"AF",
		"AL",
		"DZ",
		"AS",
		"AD",
		"AO",
		"AI",
		"AQ",
		"AG",
		"AR",
		"AM",
		"AW",
		"AU",
		"AT",
		"AZ",
		"BS",
		"BH",
		"BD",
		"BB",
		"BY",
		"BE",
		"BZ",
		"BJ",
		"BM",
		"BT",
		"BO",
		"BA",
		"BW",
		"BR",
		"IO",
		"VG",
		"BN",
		"BG",
		"BF",
		"BI",
		"KH",
		"CM",
		"CA",
		"CV",
		"KY",
		"CF",
		"TD",
		"CL",
		"CN",
		"CX",
		"CC",
		"CO",
		"KM",
		"CK",
		"CR",
		"HR",
		"CU",
		"CW",
		"CY",
		"CZ",
		"CD",
		"DK",
		"DJ",
		"DM",
		"DO",
		"TL",
		"EC",
		"EG",
		"SV",
		"GQ",
		"ER",
		"EE",
		"ET",
		"FK",
		"FO",
		"FJ",
		"FI",
		"FR",
		"PF",
		"GA",
		"GM",
		"GE",
		"DE",
		"GH",
		"GI",
		"GR",
		"GL",
		"GD",
		"GU",
		"GT",
		"GG",
		"GN",
		"GW",
		"GY",
		"HT",
		"HN",
		"HK",
		"HU",
		"IS",
		"IN",
		"ID",
		"IR",
		"IQ",
		"IE",
		"IM",
		"IL",
		"IT",
		"CI",
		"JM",
		"JP",
		"JE",
		"JO",
		"KZ",
		"KE",
		"KI",
		"KW",
		"KG",
		"LA",
		"LV",
		"LB",
		"LS",
		"LR",
		"LY",
		"LI",
		"LT",
		"LU",
		"MO",
		"MK",
		"MG",
		"MW",
		"MY",
		"MV",
		"ML",
		"MT",
		"MH",
		"MR",
		"MU",
		"YT",
		"MX",
		"FM",
		"MD",
		"MC",
		"MN",
		"ME",
		"MS",
		"MA",
		"MZ",
		"MM",
		"NA",
		"NR",
		"NP",
		"NL",
		"AN",
		"NC",
		"NZ",
		"NI",
		"NE",
		"NG",
		"NU",
		"KP",
		"MP",
		"NO",
		"OM",
		"PK",
		"PW",
		"PA",
		"PG",
		"PY",
		"PE",
		"PH",
		"PN",
		"PL",
		"PT",
		"PR",
		"QA",
		"CG",
		"RE",
		"RO",
		"RU",
		"RW",
		"BL",
		"SH",
		"KN",
		"LC",
		"MF",
		"PM",
		"VC",
		"WS",
		"SM",
		"ST",
		"SA",
		"SN",
		"RS",
		"SC",
		"SL",
		"SG",
		"SX",
		"SK",
		"SI",
		"SB",
		"SO",
		"ZA",
		"KR",
		"ES",
		"LK",
		"SD",
		"SR",
		"SJ",
		"SZ",
		"SE",
		"CH",
		"SY",
		"TW",
		"TJ",
		"TZ",
		"TH",
		"TG",
		"TK",
		"TO",
		"TT",
		"TN",
		"TR",
		"TM",
		"TC",
		"TV",
		"VI",
		"UG",
		"UA",
		"AE",
		"GB",
		"US",
		"UY",
		"UZ",
		"VU",
		"VA",
		"VE",
		"VN",
		"WF",
		"EH",
		"YE",
		"ZM",
		"ZW",
	}
}

type PhoneNumberType string

// Enum values for PhoneNumberType
const (
	PhoneNumberTypeTollFree      PhoneNumberType = "TOLL_FREE"
	PhoneNumberTypeDid           PhoneNumberType = "DID"
	PhoneNumberTypeUifn          PhoneNumberType = "UIFN"
	PhoneNumberTypeShared        PhoneNumberType = "SHARED"
	PhoneNumberTypeThirdPartyTf  PhoneNumberType = "THIRD_PARTY_TF"
	PhoneNumberTypeThirdPartyDid PhoneNumberType = "THIRD_PARTY_DID"
)

// Values returns all known values for PhoneNumberType. 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 (PhoneNumberType) Values() []PhoneNumberType {
	return []PhoneNumberType{
		"TOLL_FREE",
		"DID",
		"UIFN",
		"SHARED",
		"THIRD_PARTY_TF",
		"THIRD_PARTY_DID",
	}
}

type PhoneNumberWorkflowStatus string

// Enum values for PhoneNumberWorkflowStatus
const (
	PhoneNumberWorkflowStatusClaimed    PhoneNumberWorkflowStatus = "CLAIMED"
	PhoneNumberWorkflowStatusInProgress PhoneNumberWorkflowStatus = "IN_PROGRESS"
	PhoneNumberWorkflowStatusFailed     PhoneNumberWorkflowStatus = "FAILED"
)

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

type PhoneType string

// Enum values for PhoneType
const (
	PhoneTypeSoftPhone PhoneType = "SOFT_PHONE"
	PhoneTypeDeskPhone PhoneType = "DESK_PHONE"
)

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

type PropertyValidationExceptionReason string

// Enum values for PropertyValidationExceptionReason
const (
	PropertyValidationExceptionReasonInvalidFormat              PropertyValidationExceptionReason = "INVALID_FORMAT"
	PropertyValidationExceptionReasonUniqueConstraintViolated   PropertyValidationExceptionReason = "UNIQUE_CONSTRAINT_VIOLATED"
	PropertyValidationExceptionReasonReferencedResourceNotFound PropertyValidationExceptionReason = "REFERENCED_RESOURCE_NOT_FOUND"
	PropertyValidationExceptionReasonResourceNameAlreadyExists  PropertyValidationExceptionReason = "RESOURCE_NAME_ALREADY_EXISTS"
	PropertyValidationExceptionReasonRequiredPropertyMissing    PropertyValidationExceptionReason = "REQUIRED_PROPERTY_MISSING"
	PropertyValidationExceptionReasonNotSupported               PropertyValidationExceptionReason = "NOT_SUPPORTED"
)

// Values returns all known values for PropertyValidationExceptionReason. 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 (PropertyValidationExceptionReason) Values() []PropertyValidationExceptionReason {
	return []PropertyValidationExceptionReason{
		"INVALID_FORMAT",
		"UNIQUE_CONSTRAINT_VIOLATED",
		"REFERENCED_RESOURCE_NOT_FOUND",
		"RESOURCE_NAME_ALREADY_EXISTS",
		"REQUIRED_PROPERTY_MISSING",
		"NOT_SUPPORTED",
	}
}

type QueueStatus string

// Enum values for QueueStatus
const (
	QueueStatusEnabled  QueueStatus = "ENABLED"
	QueueStatusDisabled QueueStatus = "DISABLED"
)

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

type QueueType string

// Enum values for QueueType
const (
	QueueTypeStandard QueueType = "STANDARD"
	QueueTypeAgent    QueueType = "AGENT"
)

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

type QuickConnectType string

// Enum values for QuickConnectType
const (
	QuickConnectTypeUser        QuickConnectType = "USER"
	QuickConnectTypeQueue       QuickConnectType = "QUEUE"
	QuickConnectTypePhoneNumber QuickConnectType = "PHONE_NUMBER"
)

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

type ReferenceStatus string

// Enum values for ReferenceStatus
const (
	ReferenceStatusApproved ReferenceStatus = "APPROVED"
	ReferenceStatusRejected ReferenceStatus = "REJECTED"
)

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

type ReferenceType string

// Enum values for ReferenceType
const (
	ReferenceTypeUrl        ReferenceType = "URL"
	ReferenceTypeAttachment ReferenceType = "ATTACHMENT"
	ReferenceTypeNumber     ReferenceType = "NUMBER"
	ReferenceTypeString     ReferenceType = "STRING"
	ReferenceTypeDate       ReferenceType = "DATE"
	ReferenceTypeEmail      ReferenceType = "EMAIL"
)

// Values returns all known values for ReferenceType. 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 (ReferenceType) Values() []ReferenceType {
	return []ReferenceType{
		"URL",
		"ATTACHMENT",
		"NUMBER",
		"STRING",
		"DATE",
		"EMAIL",
	}
}

type RehydrationType string

// Enum values for RehydrationType
const (
	RehydrationTypeEntirePastSession RehydrationType = "ENTIRE_PAST_SESSION"
	RehydrationTypeFromSegment       RehydrationType = "FROM_SEGMENT"
)

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

type ResourceType string

// Enum values for ResourceType
const (
	ResourceTypeContact        ResourceType = "CONTACT"
	ResourceTypeContactFlow    ResourceType = "CONTACT_FLOW"
	ResourceTypeInstance       ResourceType = "INSTANCE"
	ResourceTypeParticipant    ResourceType = "PARTICIPANT"
	ResourceTypeHierarchyLevel ResourceType = "HIERARCHY_LEVEL"
	ResourceTypeHierarchyGroup ResourceType = "HIERARCHY_GROUP"
	ResourceTypeUser           ResourceType = "USER"
)

// Values returns all known values for ResourceType. 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 (ResourceType) Values() []ResourceType {
	return []ResourceType{
		"CONTACT",
		"CONTACT_FLOW",
		"INSTANCE",
		"PARTICIPANT",
		"HIERARCHY_LEVEL",
		"HIERARCHY_GROUP",
		"USER",
	}
}

type RulePublishStatus string

// Enum values for RulePublishStatus
const (
	RulePublishStatusDraft     RulePublishStatus = "DRAFT"
	RulePublishStatusPublished RulePublishStatus = "PUBLISHED"
)

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

type SearchableQueueType string

// Enum values for SearchableQueueType
const (
	SearchableQueueTypeStandard SearchableQueueType = "STANDARD"
)

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

type SingleSelectQuestionRuleCategoryAutomationCondition string

// Enum values for SingleSelectQuestionRuleCategoryAutomationCondition
const (
	SingleSelectQuestionRuleCategoryAutomationConditionPresent    SingleSelectQuestionRuleCategoryAutomationCondition = "PRESENT"
	SingleSelectQuestionRuleCategoryAutomationConditionNotPresent SingleSelectQuestionRuleCategoryAutomationCondition = "NOT_PRESENT"
)

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

type SortOrder string

// Enum values for SortOrder
const (
	SortOrderAscending  SortOrder = "ASCENDING"
	SortOrderDescending SortOrder = "DESCENDING"
)

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

type SourceType string

// Enum values for SourceType
const (
	SourceTypeSalesforce SourceType = "SALESFORCE"
	SourceTypeZendesk    SourceType = "ZENDESK"
)

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

type Statistic string

// Enum values for Statistic
const (
	StatisticSum Statistic = "SUM"
	StatisticMax Statistic = "MAX"
	StatisticAvg Statistic = "AVG"
)

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

type StorageType string

// Enum values for StorageType
const (
	StorageTypeS3                 StorageType = "S3"
	StorageTypeKinesisVideoStream StorageType = "KINESIS_VIDEO_STREAM"
	StorageTypeKinesisStream      StorageType = "KINESIS_STREAM"
	StorageTypeKinesisFirehose    StorageType = "KINESIS_FIREHOSE"
)

// Values returns all known values for StorageType. 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 (StorageType) Values() []StorageType {
	return []StorageType{
		"S3",
		"KINESIS_VIDEO_STREAM",
		"KINESIS_STREAM",
		"KINESIS_FIREHOSE",
	}
}

type StringComparisonType string

// Enum values for StringComparisonType
const (
	StringComparisonTypeStartsWith StringComparisonType = "STARTS_WITH"
	StringComparisonTypeContains   StringComparisonType = "CONTAINS"
	StringComparisonTypeExact      StringComparisonType = "EXACT"
)

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

type TaskTemplateFieldType string

// Enum values for TaskTemplateFieldType
const (
	TaskTemplateFieldTypeName          TaskTemplateFieldType = "NAME"
	TaskTemplateFieldTypeDescription   TaskTemplateFieldType = "DESCRIPTION"
	TaskTemplateFieldTypeScheduledTime TaskTemplateFieldType = "SCHEDULED_TIME"
	TaskTemplateFieldTypeQuickConnect  TaskTemplateFieldType = "QUICK_CONNECT"
	TaskTemplateFieldTypeUrl           TaskTemplateFieldType = "URL"
	TaskTemplateFieldTypeNumber        TaskTemplateFieldType = "NUMBER"
	TaskTemplateFieldTypeText          TaskTemplateFieldType = "TEXT"
	TaskTemplateFieldTypeTextArea      TaskTemplateFieldType = "TEXT_AREA"
	TaskTemplateFieldTypeDateTime      TaskTemplateFieldType = "DATE_TIME"
	TaskTemplateFieldTypeBoolean       TaskTemplateFieldType = "BOOLEAN"
	TaskTemplateFieldTypeSingleSelect  TaskTemplateFieldType = "SINGLE_SELECT"
	TaskTemplateFieldTypeEmail         TaskTemplateFieldType = "EMAIL"
)

// Values returns all known values for TaskTemplateFieldType. 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 (TaskTemplateFieldType) Values() []TaskTemplateFieldType {
	return []TaskTemplateFieldType{
		"NAME",
		"DESCRIPTION",
		"SCHEDULED_TIME",
		"QUICK_CONNECT",
		"URL",
		"NUMBER",
		"TEXT",
		"TEXT_AREA",
		"DATE_TIME",
		"BOOLEAN",
		"SINGLE_SELECT",
		"EMAIL",
	}
}

type TaskTemplateStatus string

// Enum values for TaskTemplateStatus
const (
	TaskTemplateStatusActive   TaskTemplateStatus = "ACTIVE"
	TaskTemplateStatusInactive TaskTemplateStatus = "INACTIVE"
)

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

type TimerEligibleParticipantRoles string

// Enum values for TimerEligibleParticipantRoles
const (
	TimerEligibleParticipantRolesCustomer TimerEligibleParticipantRoles = "CUSTOMER"
	TimerEligibleParticipantRolesAgent    TimerEligibleParticipantRoles = "AGENT"
)

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

type TrafficDistributionGroupStatus string

// Enum values for TrafficDistributionGroupStatus
const (
	TrafficDistributionGroupStatusCreationInProgress TrafficDistributionGroupStatus = "CREATION_IN_PROGRESS"
	TrafficDistributionGroupStatusActive             TrafficDistributionGroupStatus = "ACTIVE"
	TrafficDistributionGroupStatusCreationFailed     TrafficDistributionGroupStatus = "CREATION_FAILED"
	TrafficDistributionGroupStatusPendingDeletion    TrafficDistributionGroupStatus = "PENDING_DELETION"
	TrafficDistributionGroupStatusDeletionFailed     TrafficDistributionGroupStatus = "DELETION_FAILED"
	TrafficDistributionGroupStatusUpdateInProgress   TrafficDistributionGroupStatus = "UPDATE_IN_PROGRESS"
)

// Values returns all known values for TrafficDistributionGroupStatus. 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 (TrafficDistributionGroupStatus) Values() []TrafficDistributionGroupStatus {
	return []TrafficDistributionGroupStatus{
		"CREATION_IN_PROGRESS",
		"ACTIVE",
		"CREATION_FAILED",
		"PENDING_DELETION",
		"DELETION_FAILED",
		"UPDATE_IN_PROGRESS",
	}
}

type TrafficType string

// Enum values for TrafficType
const (
	TrafficTypeGeneral  TrafficType = "GENERAL"
	TrafficTypeCampaign TrafficType = "CAMPAIGN"
)

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

type Unit string

// Enum values for Unit
const (
	UnitSeconds Unit = "SECONDS"
	UnitCount   Unit = "COUNT"
	UnitPercent Unit = "PERCENT"
)

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

type UseCaseType string

// Enum values for UseCaseType
const (
	UseCaseTypeRulesEvaluation  UseCaseType = "RULES_EVALUATION"
	UseCaseTypeConnectCampaigns UseCaseType = "CONNECT_CAMPAIGNS"
)

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

type VocabularyLanguageCode string

// Enum values for VocabularyLanguageCode
const (
	VocabularyLanguageCodeArAe VocabularyLanguageCode = "ar-AE"
	VocabularyLanguageCodeDeCh VocabularyLanguageCode = "de-CH"
	VocabularyLanguageCodeDeDe VocabularyLanguageCode = "de-DE"
	VocabularyLanguageCodeEnAb VocabularyLanguageCode = "en-AB"
	VocabularyLanguageCodeEnAu VocabularyLanguageCode = "en-AU"
	VocabularyLanguageCodeEnGb VocabularyLanguageCode = "en-GB"
	VocabularyLanguageCodeEnIe VocabularyLanguageCode = "en-IE"
	VocabularyLanguageCodeEnIn VocabularyLanguageCode = "en-IN"
	VocabularyLanguageCodeEnUs VocabularyLanguageCode = "en-US"
	VocabularyLanguageCodeEnWl VocabularyLanguageCode = "en-WL"
	VocabularyLanguageCodeEsEs VocabularyLanguageCode = "es-ES"
	VocabularyLanguageCodeEsUs VocabularyLanguageCode = "es-US"
	VocabularyLanguageCodeFrCa VocabularyLanguageCode = "fr-CA"
	VocabularyLanguageCodeFrFr VocabularyLanguageCode = "fr-FR"
	VocabularyLanguageCodeHiIn VocabularyLanguageCode = "hi-IN"
	VocabularyLanguageCodeItIt VocabularyLanguageCode = "it-IT"
	VocabularyLanguageCodeJaJp VocabularyLanguageCode = "ja-JP"
	VocabularyLanguageCodeKoKr VocabularyLanguageCode = "ko-KR"
	VocabularyLanguageCodePtBr VocabularyLanguageCode = "pt-BR"
	VocabularyLanguageCodePtPt VocabularyLanguageCode = "pt-PT"
	VocabularyLanguageCodeZhCn VocabularyLanguageCode = "zh-CN"
	VocabularyLanguageCodeEnNz VocabularyLanguageCode = "en-NZ"
	VocabularyLanguageCodeEnZa VocabularyLanguageCode = "en-ZA"
)

// Values returns all known values for VocabularyLanguageCode. 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 (VocabularyLanguageCode) Values() []VocabularyLanguageCode {
	return []VocabularyLanguageCode{
		"ar-AE",
		"de-CH",
		"de-DE",
		"en-AB",
		"en-AU",
		"en-GB",
		"en-IE",
		"en-IN",
		"en-US",
		"en-WL",
		"es-ES",
		"es-US",
		"fr-CA",
		"fr-FR",
		"hi-IN",
		"it-IT",
		"ja-JP",
		"ko-KR",
		"pt-BR",
		"pt-PT",
		"zh-CN",
		"en-NZ",
		"en-ZA",
	}
}

type VocabularyState string

// Enum values for VocabularyState
const (
	VocabularyStateCreationInProgress VocabularyState = "CREATION_IN_PROGRESS"
	VocabularyStateActive             VocabularyState = "ACTIVE"
	VocabularyStateCreationFailed     VocabularyState = "CREATION_FAILED"
	VocabularyStateDeleteInProgress   VocabularyState = "DELETE_IN_PROGRESS"
)

// Values returns all known values for VocabularyState. 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 (VocabularyState) Values() []VocabularyState {
	return []VocabularyState{
		"CREATION_IN_PROGRESS",
		"ACTIVE",
		"CREATION_FAILED",
		"DELETE_IN_PROGRESS",
	}
}

type VoiceRecordingTrack string

// Enum values for VoiceRecordingTrack
const (
	VoiceRecordingTrackFromAgent VoiceRecordingTrack = "FROM_AGENT"
	VoiceRecordingTrackToAgent   VoiceRecordingTrack = "TO_AGENT"
	VoiceRecordingTrackAll       VoiceRecordingTrack = "ALL"
)

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