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

package apigatewayv2

// The authorization type. For WebSocket APIs, valid values are NONE for open
// access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda
// authorizer. For HTTP APIs, valid values are NONE for open access, or JWT
// for using JSON Web Tokens.
type AuthorizationType string

// Enum values for AuthorizationType
const (
	AuthorizationTypeNone   AuthorizationType = "NONE"
	AuthorizationTypeAwsIam AuthorizationType = "AWS_IAM"
	AuthorizationTypeCustom AuthorizationType = "CUSTOM"
	AuthorizationTypeJwt    AuthorizationType = "JWT"
)

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

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

// The authorizer type. For WebSocket APIs, specify REQUEST for a Lambda function
// using incoming request parameters. For HTTP APIs, specify JWT to use JSON
// Web Tokens.
type AuthorizerType string

// Enum values for AuthorizerType
const (
	AuthorizerTypeRequest AuthorizerType = "REQUEST"
	AuthorizerTypeJwt     AuthorizerType = "JWT"
)

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

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

// Represents a connection type.
type ConnectionType string

// Enum values for ConnectionType
const (
	ConnectionTypeInternet ConnectionType = "INTERNET"
	ConnectionTypeVpcLink  ConnectionType = "VPC_LINK"
)

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

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

// Specifies how to handle response payload content type conversions. Supported
// only for WebSocket APIs.
type ContentHandlingStrategy string

// Enum values for ContentHandlingStrategy
const (
	ContentHandlingStrategyConvertToBinary ContentHandlingStrategy = "CONVERT_TO_BINARY"
	ContentHandlingStrategyConvertToText   ContentHandlingStrategy = "CONVERT_TO_TEXT"
)

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

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

// Represents a deployment status.
type DeploymentStatus string

// Enum values for DeploymentStatus
const (
	DeploymentStatusPending  DeploymentStatus = "PENDING"
	DeploymentStatusFailed   DeploymentStatus = "FAILED"
	DeploymentStatusDeployed DeploymentStatus = "DEPLOYED"
)

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

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

// The status of the domain name migration. The valid values are AVAILABLE and
// UPDATING. If the status is UPDATING, the domain cannot be modified further
// until the existing operation is complete. If it is AVAILABLE, the domain
// can be updated.
type DomainNameStatus string

// Enum values for DomainNameStatus
const (
	DomainNameStatusAvailable DomainNameStatus = "AVAILABLE"
	DomainNameStatusUpdating  DomainNameStatus = "UPDATING"
)

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

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

// Represents an endpoint type.
type EndpointType string

// Enum values for EndpointType
const (
	EndpointTypeRegional EndpointType = "REGIONAL"
	EndpointTypeEdge     EndpointType = "EDGE"
)

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

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

// Represents an API method integration type.
type IntegrationType string

// Enum values for IntegrationType
const (
	IntegrationTypeAws       IntegrationType = "AWS"
	IntegrationTypeHttp      IntegrationType = "HTTP"
	IntegrationTypeMock      IntegrationType = "MOCK"
	IntegrationTypeHttpProxy IntegrationType = "HTTP_PROXY"
	IntegrationTypeAwsProxy  IntegrationType = "AWS_PROXY"
)

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

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

// The logging level.
type LoggingLevel string

// Enum values for LoggingLevel
const (
	LoggingLevelError LoggingLevel = "ERROR"
	LoggingLevelInfo  LoggingLevel = "INFO"
	LoggingLevelFalse LoggingLevel = "false"
)

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

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

// Represents passthrough behavior for an integration response. Supported only
// for WebSocket APIs.
type PassthroughBehavior string

// Enum values for PassthroughBehavior
const (
	PassthroughBehaviorWhenNoMatch     PassthroughBehavior = "WHEN_NO_MATCH"
	PassthroughBehaviorNever           PassthroughBehavior = "NEVER"
	PassthroughBehaviorWhenNoTemplates PassthroughBehavior = "WHEN_NO_TEMPLATES"
)

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

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

// Represents a protocol type.
type ProtocolType string

// Enum values for ProtocolType
const (
	ProtocolTypeWebsocket ProtocolType = "WEBSOCKET"
	ProtocolTypeHttp      ProtocolType = "HTTP"
)

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

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

// The Transport Layer Security (TLS) version of the security policy for this
// domain name. The valid values are TLS_1_0 and TLS_1_2.
type SecurityPolicy string

// Enum values for SecurityPolicy
const (
	SecurityPolicyTls10 SecurityPolicy = "TLS_1_0"
	SecurityPolicyTls12 SecurityPolicy = "TLS_1_2"
)

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

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