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

package cloudfront

type CertificateSource string

// Enum values for CertificateSource
const (
	CertificateSourceCloudfront CertificateSource = "cloudfront"
	CertificateSourceIam        CertificateSource = "iam"
	CertificateSourceAcm        CertificateSource = "acm"
)

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

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

type EventType string

// Enum values for EventType
const (
	EventTypeViewerRequest  EventType = "viewer-request"
	EventTypeViewerResponse EventType = "viewer-response"
	EventTypeOriginRequest  EventType = "origin-request"
	EventTypeOriginResponse EventType = "origin-response"
)

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

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

type Format string

// Enum values for Format
const (
	FormatUrlencoded Format = "URLEncoded"
)

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

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

type GeoRestrictionType string

// Enum values for GeoRestrictionType
const (
	GeoRestrictionTypeBlacklist GeoRestrictionType = "blacklist"
	GeoRestrictionTypeWhitelist GeoRestrictionType = "whitelist"
	GeoRestrictionTypeNone      GeoRestrictionType = "none"
)

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

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

type HttpVersion string

// Enum values for HttpVersion
const (
	HttpVersionHttp11 HttpVersion = "http1.1"
	HttpVersionHttp2  HttpVersion = "http2"
)

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

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

type ItemSelection string

// Enum values for ItemSelection
const (
	ItemSelectionNone      ItemSelection = "none"
	ItemSelectionWhitelist ItemSelection = "whitelist"
	ItemSelectionAll       ItemSelection = "all"
)

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

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

type Method string

// Enum values for Method
const (
	MethodGet     Method = "GET"
	MethodHead    Method = "HEAD"
	MethodPost    Method = "POST"
	MethodPut     Method = "PUT"
	MethodPatch   Method = "PATCH"
	MethodOptions Method = "OPTIONS"
	MethodDelete  Method = "DELETE"
)

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

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

type MinimumProtocolVersion string

// Enum values for MinimumProtocolVersion
const (
	MinimumProtocolVersionSslv3      MinimumProtocolVersion = "SSLv3"
	MinimumProtocolVersionTlsv1      MinimumProtocolVersion = "TLSv1"
	MinimumProtocolVersionTlsv12016  MinimumProtocolVersion = "TLSv1_2016"
	MinimumProtocolVersionTlsv112016 MinimumProtocolVersion = "TLSv1.1_2016"
	MinimumProtocolVersionTlsv122018 MinimumProtocolVersion = "TLSv1.2_2018"
)

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

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

type OriginProtocolPolicy string

// Enum values for OriginProtocolPolicy
const (
	OriginProtocolPolicyHttpOnly    OriginProtocolPolicy = "http-only"
	OriginProtocolPolicyMatchViewer OriginProtocolPolicy = "match-viewer"
	OriginProtocolPolicyHttpsOnly   OriginProtocolPolicy = "https-only"
)

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

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

type PriceClass string

// Enum values for PriceClass
const (
	PriceClassPriceClass100 PriceClass = "PriceClass_100"
	PriceClassPriceClass200 PriceClass = "PriceClass_200"
	PriceClassPriceClassAll PriceClass = "PriceClass_All"
)

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

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

type SSLSupportMethod string

// Enum values for SSLSupportMethod
const (
	SSLSupportMethodSniOnly SSLSupportMethod = "sni-only"
	SSLSupportMethodVip     SSLSupportMethod = "vip"
)

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

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

type SslProtocol string

// Enum values for SslProtocol
const (
	SslProtocolSslv3  SslProtocol = "SSLv3"
	SslProtocolTlsv1  SslProtocol = "TLSv1"
	SslProtocolTlsv11 SslProtocol = "TLSv1.1"
	SslProtocolTlsv12 SslProtocol = "TLSv1.2"
)

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

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

type ViewerProtocolPolicy string

// Enum values for ViewerProtocolPolicy
const (
	ViewerProtocolPolicyAllowAll        ViewerProtocolPolicy = "allow-all"
	ViewerProtocolPolicyHttpsOnly       ViewerProtocolPolicy = "https-only"
	ViewerProtocolPolicyRedirectToHttps ViewerProtocolPolicy = "redirect-to-https"
)

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

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