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

package costandusagereportservice

// The region of the S3 bucket that AWS delivers the report into.
type AWSRegion string

// Enum values for AWSRegion
const (
	AWSRegionUsEast1      AWSRegion = "us-east-1"
	AWSRegionUsWest1      AWSRegion = "us-west-1"
	AWSRegionUsWest2      AWSRegion = "us-west-2"
	AWSRegionEuCentral1   AWSRegion = "eu-central-1"
	AWSRegionEuWest1      AWSRegion = "eu-west-1"
	AWSRegionApSoutheast1 AWSRegion = "ap-southeast-1"
	AWSRegionApSoutheast2 AWSRegion = "ap-southeast-2"
	AWSRegionApNortheast1 AWSRegion = "ap-northeast-1"
	AWSRegionEuNorth1     AWSRegion = "eu-north-1"
	AWSRegionApNortheast3 AWSRegion = "ap-northeast-3"
	AWSRegionApEast1      AWSRegion = "ap-east-1"
)

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

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

// The types of manifest that you want AWS to create for this report.
type AdditionalArtifact string

// Enum values for AdditionalArtifact
const (
	AdditionalArtifactRedshift   AdditionalArtifact = "REDSHIFT"
	AdditionalArtifactQuicksight AdditionalArtifact = "QUICKSIGHT"
	AdditionalArtifactAthena     AdditionalArtifact = "ATHENA"
)

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

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

// The compression format that AWS uses for the report.
type CompressionFormat string

// Enum values for CompressionFormat
const (
	CompressionFormatZip     CompressionFormat = "ZIP"
	CompressionFormatGzip    CompressionFormat = "GZIP"
	CompressionFormatParquet CompressionFormat = "Parquet"
)

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

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

// The format that AWS saves the report in.
type ReportFormat string

// Enum values for ReportFormat
const (
	ReportFormatTextOrcsv ReportFormat = "textORcsv"
	ReportFormatParquet   ReportFormat = "Parquet"
)

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

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

type ReportVersioning string

// Enum values for ReportVersioning
const (
	ReportVersioningCreateNewReport ReportVersioning = "CREATE_NEW_REPORT"
	ReportVersioningOverwriteReport ReportVersioning = "OVERWRITE_REPORT"
)

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

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

// Whether or not AWS includes resource IDs in the report.
type SchemaElement string

// Enum values for SchemaElement
const (
	SchemaElementResources SchemaElement = "RESOURCES"
)

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

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

// The length of time covered by the report.
type TimeUnit string

// Enum values for TimeUnit
const (
	TimeUnitHourly TimeUnit = "HOURLY"
	TimeUnitDaily  TimeUnit = "DAILY"
)

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

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