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

package cloudtrail

import (
	"github.com/aws/aws-sdk-go/private/protocol"
)

const (

	// ErrCodeARNInvalidException for service response error code
	// "CloudTrailARNInvalidException".
	//
	// This exception is thrown when an operation is called with an invalid trail
	// ARN. The format of a trail ARN is:
	//
	// arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail
	ErrCodeARNInvalidException = "CloudTrailARNInvalidException"

	// ErrCodeAccessNotEnabledException for service response error code
	// "CloudTrailAccessNotEnabledException".
	//
	// This exception is thrown when trusted access has not been enabled between
	// AWS CloudTrail and AWS Organizations. For more information, see Enabling
	// Trusted Access with Other AWS Services (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html)
	// and Prepare For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
	ErrCodeAccessNotEnabledException = "CloudTrailAccessNotEnabledException"

	// ErrCodeCloudWatchLogsDeliveryUnavailableException for service response error code
	// "CloudWatchLogsDeliveryUnavailableException".
	//
	// Cannot set a CloudWatch Logs delivery for this region.
	ErrCodeCloudWatchLogsDeliveryUnavailableException = "CloudWatchLogsDeliveryUnavailableException"

	// ErrCodeInsightNotEnabledException for service response error code
	// "InsightNotEnabledException".
	//
	// If you run GetInsightSelectors on a trail that does not have Insights events
	// enabled, the operation throws the exception InsightNotEnabledException.
	ErrCodeInsightNotEnabledException = "InsightNotEnabledException"

	// ErrCodeInsufficientDependencyServiceAccessPermissionException for service response error code
	// "InsufficientDependencyServiceAccessPermissionException".
	//
	// This exception is thrown when the IAM user or role that is used to create
	// the organization trail is lacking one or more required permissions for creating
	// an organization trail in a required service. For more information, see Prepare
	// For Creating a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
	ErrCodeInsufficientDependencyServiceAccessPermissionException = "InsufficientDependencyServiceAccessPermissionException"

	// ErrCodeInsufficientEncryptionPolicyException for service response error code
	// "InsufficientEncryptionPolicyException".
	//
	// This exception is thrown when the policy on the S3 bucket or KMS key is not
	// sufficient.
	ErrCodeInsufficientEncryptionPolicyException = "InsufficientEncryptionPolicyException"

	// ErrCodeInsufficientS3BucketPolicyException for service response error code
	// "InsufficientS3BucketPolicyException".
	//
	// This exception is thrown when the policy on the S3 bucket is not sufficient.
	ErrCodeInsufficientS3BucketPolicyException = "InsufficientS3BucketPolicyException"

	// ErrCodeInsufficientSnsTopicPolicyException for service response error code
	// "InsufficientSnsTopicPolicyException".
	//
	// This exception is thrown when the policy on the SNS topic is not sufficient.
	ErrCodeInsufficientSnsTopicPolicyException = "InsufficientSnsTopicPolicyException"

	// ErrCodeInvalidCloudWatchLogsLogGroupArnException for service response error code
	// "InvalidCloudWatchLogsLogGroupArnException".
	//
	// This exception is thrown when the provided CloudWatch log group is not valid.
	ErrCodeInvalidCloudWatchLogsLogGroupArnException = "InvalidCloudWatchLogsLogGroupArnException"

	// ErrCodeInvalidCloudWatchLogsRoleArnException for service response error code
	// "InvalidCloudWatchLogsRoleArnException".
	//
	// This exception is thrown when the provided role is not valid.
	ErrCodeInvalidCloudWatchLogsRoleArnException = "InvalidCloudWatchLogsRoleArnException"

	// ErrCodeInvalidEventCategoryException for service response error code
	// "InvalidEventCategoryException".
	//
	// Occurs if an event category that is not valid is specified as a value of
	// EventCategory.
	ErrCodeInvalidEventCategoryException = "InvalidEventCategoryException"

	// ErrCodeInvalidEventSelectorsException for service response error code
	// "InvalidEventSelectorsException".
	//
	// This exception is thrown when the PutEventSelectors operation is called with
	// a number of event selectors or data resources that is not valid. The combination
	// of event selectors and data resources is not valid. A trail can have up to
	// 5 event selectors. A trail is limited to 250 data resources. These data resources
	// can be distributed across event selectors, but the overall total cannot exceed
	// 250.
	//
	// You can:
	//
	//    * Specify a valid number of event selectors (1 to 5) for a trail.
	//
	//    * Specify a valid number of data resources (1 to 250) for an event selector.
	//    The limit of number of resources on an individual event selector is configurable
	//    up to 250. However, this upper limit is allowed only if the total number
	//    of data resources does not exceed 250 across all event selectors for a
	//    trail.
	//
	//    * Specify a valid value for a parameter. For example, specifying the ReadWriteType
	//    parameter with a value of read-only is invalid.
	ErrCodeInvalidEventSelectorsException = "InvalidEventSelectorsException"

	// ErrCodeInvalidHomeRegionException for service response error code
	// "InvalidHomeRegionException".
	//
	// This exception is thrown when an operation is called on a trail from a region
	// other than the region in which the trail was created.
	ErrCodeInvalidHomeRegionException = "InvalidHomeRegionException"

	// ErrCodeInvalidInsightSelectorsException for service response error code
	// "InvalidInsightSelectorsException".
	//
	// The formatting or syntax of the InsightSelectors JSON statement in your PutInsightSelectors
	// or GetInsightSelectors request is not valid, or the specified insight type
	// in the InsightSelectors statement is not a valid insight type.
	ErrCodeInvalidInsightSelectorsException = "InvalidInsightSelectorsException"

	// ErrCodeInvalidKmsKeyIdException for service response error code
	// "InvalidKmsKeyIdException".
	//
	// This exception is thrown when the KMS key ARN is invalid.
	ErrCodeInvalidKmsKeyIdException = "InvalidKmsKeyIdException"

	// ErrCodeInvalidLookupAttributesException for service response error code
	// "InvalidLookupAttributesException".
	//
	// Occurs when an invalid lookup attribute is specified.
	ErrCodeInvalidLookupAttributesException = "InvalidLookupAttributesException"

	// ErrCodeInvalidMaxResultsException for service response error code
	// "InvalidMaxResultsException".
	//
	// This exception is thrown if the limit specified is invalid.
	ErrCodeInvalidMaxResultsException = "InvalidMaxResultsException"

	// ErrCodeInvalidNextTokenException for service response error code
	// "InvalidNextTokenException".
	//
	// Invalid token or token that was previously used in a request with different
	// parameters. This exception is thrown if the token is invalid.
	ErrCodeInvalidNextTokenException = "InvalidNextTokenException"

	// ErrCodeInvalidParameterCombinationException for service response error code
	// "InvalidParameterCombinationException".
	//
	// This exception is thrown when the combination of parameters provided is not
	// valid.
	ErrCodeInvalidParameterCombinationException = "InvalidParameterCombinationException"

	// ErrCodeInvalidS3BucketNameException for service response error code
	// "InvalidS3BucketNameException".
	//
	// This exception is thrown when the provided S3 bucket name is not valid.
	ErrCodeInvalidS3BucketNameException = "InvalidS3BucketNameException"

	// ErrCodeInvalidS3PrefixException for service response error code
	// "InvalidS3PrefixException".
	//
	// This exception is thrown when the provided S3 prefix is not valid.
	ErrCodeInvalidS3PrefixException = "InvalidS3PrefixException"

	// ErrCodeInvalidSnsTopicNameException for service response error code
	// "InvalidSnsTopicNameException".
	//
	// This exception is thrown when the provided SNS topic name is not valid.
	ErrCodeInvalidSnsTopicNameException = "InvalidSnsTopicNameException"

	// ErrCodeInvalidTagParameterException for service response error code
	// "InvalidTagParameterException".
	//
	// This exception is thrown when the specified tag key or values are not valid.
	// It can also occur if there are duplicate tags or too many tags on the resource.
	ErrCodeInvalidTagParameterException = "InvalidTagParameterException"

	// ErrCodeInvalidTimeRangeException for service response error code
	// "InvalidTimeRangeException".
	//
	// Occurs if the timestamp values are invalid. Either the start time occurs
	// after the end time or the time range is outside the range of possible values.
	ErrCodeInvalidTimeRangeException = "InvalidTimeRangeException"

	// ErrCodeInvalidTokenException for service response error code
	// "InvalidTokenException".
	//
	// Reserved for future use.
	ErrCodeInvalidTokenException = "InvalidTokenException"

	// ErrCodeInvalidTrailNameException for service response error code
	// "InvalidTrailNameException".
	//
	// This exception is thrown when the provided trail name is not valid. Trail
	// names must meet the following requirements:
	//
	//    * Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores
	//    (_), or dashes (-)
	//
	//    * Start with a letter or number, and end with a letter or number
	//
	//    * Be between 3 and 128 characters
	//
	//    * Have no adjacent periods, underscores or dashes. Names like my-_namespace
	//    and my--namespace are invalid.
	//
	//    * Not be in IP address format (for example, 192.168.5.4)
	ErrCodeInvalidTrailNameException = "InvalidTrailNameException"

	// ErrCodeKmsException for service response error code
	// "KmsException".
	//
	// This exception is thrown when there is an issue with the specified KMS key
	// and the trail can’t be updated.
	ErrCodeKmsException = "KmsException"

	// ErrCodeKmsKeyDisabledException for service response error code
	// "KmsKeyDisabledException".
	//
	// This exception is no longer in use.
	ErrCodeKmsKeyDisabledException = "KmsKeyDisabledException"

	// ErrCodeKmsKeyNotFoundException for service response error code
	// "KmsKeyNotFoundException".
	//
	// This exception is thrown when the KMS key does not exist, or when the S3
	// bucket and the KMS key are not in the same region.
	ErrCodeKmsKeyNotFoundException = "KmsKeyNotFoundException"

	// ErrCodeMaximumNumberOfTrailsExceededException for service response error code
	// "MaximumNumberOfTrailsExceededException".
	//
	// This exception is thrown when the maximum number of trails is reached.
	ErrCodeMaximumNumberOfTrailsExceededException = "MaximumNumberOfTrailsExceededException"

	// ErrCodeNotOrganizationMasterAccountException for service response error code
	// "NotOrganizationMasterAccountException".
	//
	// This exception is thrown when the AWS account making the request to create
	// or update an organization trail is not the master account for an organization
	// in AWS Organizations. For more information, see Prepare For Creating a Trail
	// For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
	ErrCodeNotOrganizationMasterAccountException = "NotOrganizationMasterAccountException"

	// ErrCodeOperationNotPermittedException for service response error code
	// "OperationNotPermittedException".
	//
	// This exception is thrown when the requested operation is not permitted.
	ErrCodeOperationNotPermittedException = "OperationNotPermittedException"

	// ErrCodeOrganizationNotInAllFeaturesModeException for service response error code
	// "OrganizationNotInAllFeaturesModeException".
	//
	// This exception is thrown when AWS Organizations is not configured to support
	// all features. All features must be enabled in AWS Organization to support
	// creating an organization trail. For more information, see Prepare For Creating
	// a Trail For Your Organization (https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-an-organizational-trail-prepare.html).
	ErrCodeOrganizationNotInAllFeaturesModeException = "OrganizationNotInAllFeaturesModeException"

	// ErrCodeOrganizationsNotInUseException for service response error code
	// "OrganizationsNotInUseException".
	//
	// This exception is thrown when the request is made from an AWS account that
	// is not a member of an organization. To make this request, sign in using the
	// credentials of an account that belongs to an organization.
	ErrCodeOrganizationsNotInUseException = "OrganizationsNotInUseException"

	// ErrCodeResourceNotFoundException for service response error code
	// "ResourceNotFoundException".
	//
	// This exception is thrown when the specified resource is not found.
	ErrCodeResourceNotFoundException = "ResourceNotFoundException"

	// ErrCodeResourceTypeNotSupportedException for service response error code
	// "ResourceTypeNotSupportedException".
	//
	// This exception is thrown when the specified resource type is not supported
	// by CloudTrail.
	ErrCodeResourceTypeNotSupportedException = "ResourceTypeNotSupportedException"

	// ErrCodeS3BucketDoesNotExistException for service response error code
	// "S3BucketDoesNotExistException".
	//
	// This exception is thrown when the specified S3 bucket does not exist.
	ErrCodeS3BucketDoesNotExistException = "S3BucketDoesNotExistException"

	// ErrCodeTagsLimitExceededException for service response error code
	// "TagsLimitExceededException".
	//
	// The number of tags per trail has exceeded the permitted amount. Currently,
	// the limit is 50.
	ErrCodeTagsLimitExceededException = "TagsLimitExceededException"

	// ErrCodeTrailAlreadyExistsException for service response error code
	// "TrailAlreadyExistsException".
	//
	// This exception is thrown when the specified trail already exists.
	ErrCodeTrailAlreadyExistsException = "TrailAlreadyExistsException"

	// ErrCodeTrailNotFoundException for service response error code
	// "TrailNotFoundException".
	//
	// This exception is thrown when the trail with the given name is not found.
	ErrCodeTrailNotFoundException = "TrailNotFoundException"

	// ErrCodeTrailNotProvidedException for service response error code
	// "TrailNotProvidedException".
	//
	// This exception is no longer in use.
	ErrCodeTrailNotProvidedException = "TrailNotProvidedException"

	// ErrCodeUnsupportedOperationException for service response error code
	// "UnsupportedOperationException".
	//
	// This exception is thrown when the requested operation is not supported.
	ErrCodeUnsupportedOperationException = "UnsupportedOperationException"
)

var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{
	"CloudTrailARNInvalidException":                          newErrorARNInvalidException,
	"CloudTrailAccessNotEnabledException":                    newErrorAccessNotEnabledException,
	"CloudWatchLogsDeliveryUnavailableException":             newErrorCloudWatchLogsDeliveryUnavailableException,
	"InsightNotEnabledException":                             newErrorInsightNotEnabledException,
	"InsufficientDependencyServiceAccessPermissionException": newErrorInsufficientDependencyServiceAccessPermissionException,
	"InsufficientEncryptionPolicyException":                  newErrorInsufficientEncryptionPolicyException,
	"InsufficientS3BucketPolicyException":                    newErrorInsufficientS3BucketPolicyException,
	"InsufficientSnsTopicPolicyException":                    newErrorInsufficientSnsTopicPolicyException,
	"InvalidCloudWatchLogsLogGroupArnException":              newErrorInvalidCloudWatchLogsLogGroupArnException,
	"InvalidCloudWatchLogsRoleArnException":                  newErrorInvalidCloudWatchLogsRoleArnException,
	"InvalidEventCategoryException":                          newErrorInvalidEventCategoryException,
	"InvalidEventSelectorsException":                         newErrorInvalidEventSelectorsException,
	"InvalidHomeRegionException":                             newErrorInvalidHomeRegionException,
	"InvalidInsightSelectorsException":                       newErrorInvalidInsightSelectorsException,
	"InvalidKmsKeyIdException":                               newErrorInvalidKmsKeyIdException,
	"InvalidLookupAttributesException":                       newErrorInvalidLookupAttributesException,
	"InvalidMaxResultsException":                             newErrorInvalidMaxResultsException,
	"InvalidNextTokenException":                              newErrorInvalidNextTokenException,
	"InvalidParameterCombinationException":                   newErrorInvalidParameterCombinationException,
	"InvalidS3BucketNameException":                           newErrorInvalidS3BucketNameException,
	"InvalidS3PrefixException":                               newErrorInvalidS3PrefixException,
	"InvalidSnsTopicNameException":                           newErrorInvalidSnsTopicNameException,
	"InvalidTagParameterException":                           newErrorInvalidTagParameterException,
	"InvalidTimeRangeException":                              newErrorInvalidTimeRangeException,
	"InvalidTokenException":                                  newErrorInvalidTokenException,
	"InvalidTrailNameException":                              newErrorInvalidTrailNameException,
	"KmsException":                                           newErrorKmsException,
	"KmsKeyDisabledException":                                newErrorKmsKeyDisabledException,
	"KmsKeyNotFoundException":                                newErrorKmsKeyNotFoundException,
	"MaximumNumberOfTrailsExceededException":                 newErrorMaximumNumberOfTrailsExceededException,
	"NotOrganizationMasterAccountException":                  newErrorNotOrganizationMasterAccountException,
	"OperationNotPermittedException":                         newErrorOperationNotPermittedException,
	"OrganizationNotInAllFeaturesModeException":              newErrorOrganizationNotInAllFeaturesModeException,
	"OrganizationsNotInUseException":                         newErrorOrganizationsNotInUseException,
	"ResourceNotFoundException":                              newErrorResourceNotFoundException,
	"ResourceTypeNotSupportedException":                      newErrorResourceTypeNotSupportedException,
	"S3BucketDoesNotExistException":                          newErrorS3BucketDoesNotExistException,
	"TagsLimitExceededException":                             newErrorTagsLimitExceededException,
	"TrailAlreadyExistsException":                            newErrorTrailAlreadyExistsException,
	"TrailNotFoundException":                                 newErrorTrailNotFoundException,
	"TrailNotProvidedException":                              newErrorTrailNotProvidedException,
	"UnsupportedOperationException":                          newErrorUnsupportedOperationException,
}
