// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.

package dynamodbstreams

type KeyType string

// Enum values for KeyType
const (
	KeyTypeHash  KeyType = "HASH"
	KeyTypeRange KeyType = "RANGE"
)

func (enum KeyType) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum KeyType) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}

type OperationType string

// Enum values for OperationType
const (
	OperationTypeInsert OperationType = "INSERT"
	OperationTypeModify OperationType = "MODIFY"
	OperationTypeRemove OperationType = "REMOVE"
)

func (enum OperationType) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum OperationType) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}

type ShardIteratorType string

// Enum values for ShardIteratorType
const (
	ShardIteratorTypeTrimHorizon         ShardIteratorType = "TRIM_HORIZON"
	ShardIteratorTypeLatest              ShardIteratorType = "LATEST"
	ShardIteratorTypeAtSequenceNumber    ShardIteratorType = "AT_SEQUENCE_NUMBER"
	ShardIteratorTypeAfterSequenceNumber ShardIteratorType = "AFTER_SEQUENCE_NUMBER"
)

func (enum ShardIteratorType) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum ShardIteratorType) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}

type StreamStatus string

// Enum values for StreamStatus
const (
	StreamStatusEnabling  StreamStatus = "ENABLING"
	StreamStatusEnabled   StreamStatus = "ENABLED"
	StreamStatusDisabling StreamStatus = "DISABLING"
	StreamStatusDisabled  StreamStatus = "DISABLED"
)

func (enum StreamStatus) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum StreamStatus) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}

type StreamViewType string

// Enum values for StreamViewType
const (
	StreamViewTypeNewImage        StreamViewType = "NEW_IMAGE"
	StreamViewTypeOldImage        StreamViewType = "OLD_IMAGE"
	StreamViewTypeNewAndOldImages StreamViewType = "NEW_AND_OLD_IMAGES"
	StreamViewTypeKeysOnly        StreamViewType = "KEYS_ONLY"
)

func (enum StreamViewType) MarshalValue() (string, error) {
	return string(enum), nil
}

func (enum StreamViewType) MarshalValueBuf(b []byte) ([]byte, error) {
	b = b[0:0]
	return append(b, enum...), nil
}
