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

package apigateway

type ApiKeySourceType string

// Enum values for ApiKeySourceType
const (
	ApiKeySourceTypeHeader     ApiKeySourceType = "HEADER"
	ApiKeySourceTypeAuthorizer ApiKeySourceType = "AUTHORIZER"
)

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

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

type ApiKeysFormat string

// Enum values for ApiKeysFormat
const (
	ApiKeysFormatCsv ApiKeysFormat = "csv"
)

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

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

// The authorizer type. Valid values are TOKEN for a Lambda function using a
// single authorization token submitted in a custom header, REQUEST for a Lambda
// function using incoming request parameters, and COGNITO_USER_POOLS for using
// an Amazon Cognito user pool.
type AuthorizerType string

// Enum values for AuthorizerType
const (
	AuthorizerTypeToken            AuthorizerType = "TOKEN"
	AuthorizerTypeRequest          AuthorizerType = "REQUEST"
	AuthorizerTypeCognitoUserPools AuthorizerType = "COGNITO_USER_POOLS"
)

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
}

// Returns the size of the CacheCluster.
type CacheClusterSize string

// Enum values for CacheClusterSize
const (
	CacheClusterSize05  CacheClusterSize = "0.5"
	CacheClusterSize16  CacheClusterSize = "1.6"
	CacheClusterSize61  CacheClusterSize = "6.1"
	CacheClusterSize135 CacheClusterSize = "13.5"
	CacheClusterSize284 CacheClusterSize = "28.4"
	CacheClusterSize582 CacheClusterSize = "58.2"
	CacheClusterSize118 CacheClusterSize = "118"
	CacheClusterSize237 CacheClusterSize = "237"
)

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

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

// Returns the status of the CacheCluster.
type CacheClusterStatus string

// Enum values for CacheClusterStatus
const (
	CacheClusterStatusCreateInProgress CacheClusterStatus = "CREATE_IN_PROGRESS"
	CacheClusterStatusAvailable        CacheClusterStatus = "AVAILABLE"
	CacheClusterStatusDeleteInProgress CacheClusterStatus = "DELETE_IN_PROGRESS"
	CacheClusterStatusNotAvailable     CacheClusterStatus = "NOT_AVAILABLE"
	CacheClusterStatusFlushInProgress  CacheClusterStatus = "FLUSH_IN_PROGRESS"
)

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

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

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
}

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
}

type DocumentationPartType string

// Enum values for DocumentationPartType
const (
	DocumentationPartTypeApi            DocumentationPartType = "API"
	DocumentationPartTypeAuthorizer     DocumentationPartType = "AUTHORIZER"
	DocumentationPartTypeModel          DocumentationPartType = "MODEL"
	DocumentationPartTypeResource       DocumentationPartType = "RESOURCE"
	DocumentationPartTypeMethod         DocumentationPartType = "METHOD"
	DocumentationPartTypePathParameter  DocumentationPartType = "PATH_PARAMETER"
	DocumentationPartTypeQueryParameter DocumentationPartType = "QUERY_PARAMETER"
	DocumentationPartTypeRequestHeader  DocumentationPartType = "REQUEST_HEADER"
	DocumentationPartTypeRequestBody    DocumentationPartType = "REQUEST_BODY"
	DocumentationPartTypeResponse       DocumentationPartType = "RESPONSE"
	DocumentationPartTypeResponseHeader DocumentationPartType = "RESPONSE_HEADER"
	DocumentationPartTypeResponseBody   DocumentationPartType = "RESPONSE_BODY"
)

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

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

type DomainNameStatus string

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

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
}

// The endpoint type. The valid values are EDGE for edge-optimized API setup,
// most suitable for mobile applications; REGIONAL for regional API endpoint
// setup, most suitable for calling from AWS Region; and PRIVATE for private
// APIs.
type EndpointType string

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

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
}

type GatewayResponseType string

// Enum values for GatewayResponseType
const (
	GatewayResponseTypeDefault4xx                   GatewayResponseType = "DEFAULT_4XX"
	GatewayResponseTypeDefault5xx                   GatewayResponseType = "DEFAULT_5XX"
	GatewayResponseTypeResourceNotFound             GatewayResponseType = "RESOURCE_NOT_FOUND"
	GatewayResponseTypeUnauthorized                 GatewayResponseType = "UNAUTHORIZED"
	GatewayResponseTypeInvalidApiKey                GatewayResponseType = "INVALID_API_KEY"
	GatewayResponseTypeAccessDenied                 GatewayResponseType = "ACCESS_DENIED"
	GatewayResponseTypeAuthorizerFailure            GatewayResponseType = "AUTHORIZER_FAILURE"
	GatewayResponseTypeAuthorizerConfigurationError GatewayResponseType = "AUTHORIZER_CONFIGURATION_ERROR"
	GatewayResponseTypeInvalidSignature             GatewayResponseType = "INVALID_SIGNATURE"
	GatewayResponseTypeExpiredToken                 GatewayResponseType = "EXPIRED_TOKEN"
	GatewayResponseTypeMissingAuthenticationToken   GatewayResponseType = "MISSING_AUTHENTICATION_TOKEN"
	GatewayResponseTypeIntegrationFailure           GatewayResponseType = "INTEGRATION_FAILURE"
	GatewayResponseTypeIntegrationTimeout           GatewayResponseType = "INTEGRATION_TIMEOUT"
	GatewayResponseTypeApiConfigurationError        GatewayResponseType = "API_CONFIGURATION_ERROR"
	GatewayResponseTypeUnsupportedMediaType         GatewayResponseType = "UNSUPPORTED_MEDIA_TYPE"
	GatewayResponseTypeBadRequestParameters         GatewayResponseType = "BAD_REQUEST_PARAMETERS"
	GatewayResponseTypeBadRequestBody               GatewayResponseType = "BAD_REQUEST_BODY"
	GatewayResponseTypeRequestTooLarge              GatewayResponseType = "REQUEST_TOO_LARGE"
	GatewayResponseTypeThrottled                    GatewayResponseType = "THROTTLED"
	GatewayResponseTypeQuotaExceeded                GatewayResponseType = "QUOTA_EXCEEDED"
)

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

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

// The integration type. The valid value is HTTP for integrating an API method
// with an HTTP backend; AWS with any AWS service endpoints; MOCK for testing
// without actually invoking the backend; HTTP_PROXY for integrating with the
// HTTP proxy integration; AWS_PROXY for integrating with the Lambda proxy integration.
type IntegrationType string

// Enum values for IntegrationType
const (
	IntegrationTypeHttp      IntegrationType = "HTTP"
	IntegrationTypeAws       IntegrationType = "AWS"
	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
}

type LocationStatusType string

// Enum values for LocationStatusType
const (
	LocationStatusTypeDocumented   LocationStatusType = "DOCUMENTED"
	LocationStatusTypeUndocumented LocationStatusType = "UNDOCUMENTED"
)

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

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

type Op string

// Enum values for Op
const (
	OpAdd     Op = "add"
	OpRemove  Op = "remove"
	OpReplace Op = "replace"
	OpMove    Op = "move"
	OpCopy    Op = "copy"
	OpTest    Op = "test"
)

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

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

type PutMode string

// Enum values for PutMode
const (
	PutModeMerge     PutMode = "merge"
	PutModeOverwrite PutMode = "overwrite"
)

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

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

type QuotaPeriodType string

// Enum values for QuotaPeriodType
const (
	QuotaPeriodTypeDay   QuotaPeriodType = "DAY"
	QuotaPeriodTypeWeek  QuotaPeriodType = "WEEK"
	QuotaPeriodTypeMonth QuotaPeriodType = "MONTH"
)

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

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

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
}

type UnauthorizedCacheControlHeaderStrategy string

// Enum values for UnauthorizedCacheControlHeaderStrategy
const (
	UnauthorizedCacheControlHeaderStrategyFailWith403                  UnauthorizedCacheControlHeaderStrategy = "FAIL_WITH_403"
	UnauthorizedCacheControlHeaderStrategySucceedWithResponseHeader    UnauthorizedCacheControlHeaderStrategy = "SUCCEED_WITH_RESPONSE_HEADER"
	UnauthorizedCacheControlHeaderStrategySucceedWithoutResponseHeader UnauthorizedCacheControlHeaderStrategy = "SUCCEED_WITHOUT_RESPONSE_HEADER"
)

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

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

type VpcLinkStatus string

// Enum values for VpcLinkStatus
const (
	VpcLinkStatusAvailable VpcLinkStatus = "AVAILABLE"
	VpcLinkStatusPending   VpcLinkStatus = "PENDING"
	VpcLinkStatusDeleting  VpcLinkStatus = "DELETING"
	VpcLinkStatusFailed    VpcLinkStatus = "FAILED"
)

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

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