// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/ads/googleads/v3/errors/authorization_error.proto

package errors

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Enum describing possible authorization errors.
type AuthorizationErrorEnum_AuthorizationError int32

const (
	// Enum unspecified.
	AuthorizationErrorEnum_UNSPECIFIED AuthorizationErrorEnum_AuthorizationError = 0
	// The received error code is not known in this version.
	AuthorizationErrorEnum_UNKNOWN AuthorizationErrorEnum_AuthorizationError = 1
	// User doesn't have permission to access customer. Note: If you're
	// accessing a client customer, the manager's customer ID must be set in the
	// `login-customer-id` header. Learn more at
	// https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid
	AuthorizationErrorEnum_USER_PERMISSION_DENIED AuthorizationErrorEnum_AuthorizationError = 2
	// The developer token is not whitelisted.
	AuthorizationErrorEnum_DEVELOPER_TOKEN_NOT_WHITELISTED AuthorizationErrorEnum_AuthorizationError = 3
	// The developer token is not allowed with the project sent in the request.
	AuthorizationErrorEnum_DEVELOPER_TOKEN_PROHIBITED AuthorizationErrorEnum_AuthorizationError = 4
	// The Google Cloud project sent in the request does not have permission to
	// access the api.
	AuthorizationErrorEnum_PROJECT_DISABLED AuthorizationErrorEnum_AuthorizationError = 5
	// Authorization of the client failed.
	AuthorizationErrorEnum_AUTHORIZATION_ERROR AuthorizationErrorEnum_AuthorizationError = 6
	// The user does not have permission to perform this action
	// (e.g., ADD, UPDATE, REMOVE) on the resource or call a method.
	AuthorizationErrorEnum_ACTION_NOT_PERMITTED AuthorizationErrorEnum_AuthorizationError = 7
	// Signup not complete.
	AuthorizationErrorEnum_INCOMPLETE_SIGNUP AuthorizationErrorEnum_AuthorizationError = 8
	// The customer can't be used because it isn't enabled.
	AuthorizationErrorEnum_CUSTOMER_NOT_ENABLED AuthorizationErrorEnum_AuthorizationError = 24
	// The developer must sign the terms of service. They can be found here:
	// ads.google.com/aw/apicenter
	AuthorizationErrorEnum_MISSING_TOS AuthorizationErrorEnum_AuthorizationError = 9
	// The developer token is not approved. Non-approved developer tokens can
	// only be used with test accounts.
	AuthorizationErrorEnum_DEVELOPER_TOKEN_NOT_APPROVED AuthorizationErrorEnum_AuthorizationError = 10
	// The login customer specified does not have access to the account
	// specified, so the request is invalid.
	AuthorizationErrorEnum_INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION AuthorizationErrorEnum_AuthorizationError = 11
	// The developer specified does not have access to the service.
	AuthorizationErrorEnum_SERVICE_ACCESS_DENIED AuthorizationErrorEnum_AuthorizationError = 12
)

var AuthorizationErrorEnum_AuthorizationError_name = map[int32]string{
	0:  "UNSPECIFIED",
	1:  "UNKNOWN",
	2:  "USER_PERMISSION_DENIED",
	3:  "DEVELOPER_TOKEN_NOT_WHITELISTED",
	4:  "DEVELOPER_TOKEN_PROHIBITED",
	5:  "PROJECT_DISABLED",
	6:  "AUTHORIZATION_ERROR",
	7:  "ACTION_NOT_PERMITTED",
	8:  "INCOMPLETE_SIGNUP",
	24: "CUSTOMER_NOT_ENABLED",
	9:  "MISSING_TOS",
	10: "DEVELOPER_TOKEN_NOT_APPROVED",
	11: "INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION",
	12: "SERVICE_ACCESS_DENIED",
}

var AuthorizationErrorEnum_AuthorizationError_value = map[string]int32{
	"UNSPECIFIED":                     0,
	"UNKNOWN":                         1,
	"USER_PERMISSION_DENIED":          2,
	"DEVELOPER_TOKEN_NOT_WHITELISTED": 3,
	"DEVELOPER_TOKEN_PROHIBITED":      4,
	"PROJECT_DISABLED":                5,
	"AUTHORIZATION_ERROR":             6,
	"ACTION_NOT_PERMITTED":            7,
	"INCOMPLETE_SIGNUP":               8,
	"CUSTOMER_NOT_ENABLED":            24,
	"MISSING_TOS":                     9,
	"DEVELOPER_TOKEN_NOT_APPROVED":    10,
	"INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION": 11,
	"SERVICE_ACCESS_DENIED": 12,
}

func (x AuthorizationErrorEnum_AuthorizationError) String() string {
	return proto.EnumName(AuthorizationErrorEnum_AuthorizationError_name, int32(x))
}

func (AuthorizationErrorEnum_AuthorizationError) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_92d97e48ae8e8866, []int{0, 0}
}

// Container for enum describing possible authorization errors.
type AuthorizationErrorEnum struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AuthorizationErrorEnum) Reset()         { *m = AuthorizationErrorEnum{} }
func (m *AuthorizationErrorEnum) String() string { return proto.CompactTextString(m) }
func (*AuthorizationErrorEnum) ProtoMessage()    {}
func (*AuthorizationErrorEnum) Descriptor() ([]byte, []int) {
	return fileDescriptor_92d97e48ae8e8866, []int{0}
}

func (m *AuthorizationErrorEnum) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_AuthorizationErrorEnum.Unmarshal(m, b)
}
func (m *AuthorizationErrorEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_AuthorizationErrorEnum.Marshal(b, m, deterministic)
}
func (m *AuthorizationErrorEnum) XXX_Merge(src proto.Message) {
	xxx_messageInfo_AuthorizationErrorEnum.Merge(m, src)
}
func (m *AuthorizationErrorEnum) XXX_Size() int {
	return xxx_messageInfo_AuthorizationErrorEnum.Size(m)
}
func (m *AuthorizationErrorEnum) XXX_DiscardUnknown() {
	xxx_messageInfo_AuthorizationErrorEnum.DiscardUnknown(m)
}

var xxx_messageInfo_AuthorizationErrorEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.errors.AuthorizationErrorEnum_AuthorizationError", AuthorizationErrorEnum_AuthorizationError_name, AuthorizationErrorEnum_AuthorizationError_value)
	proto.RegisterType((*AuthorizationErrorEnum)(nil), "google.ads.googleads.v3.errors.AuthorizationErrorEnum")
}

func init() {
	proto.RegisterFile("google/ads/googleads/v3/errors/authorization_error.proto", fileDescriptor_92d97e48ae8e8866)
}

var fileDescriptor_92d97e48ae8e8866 = []byte{
	// 507 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x6e, 0xd3, 0x40,
	0x10, 0xc6, 0x69, 0x02, 0x2d, 0x6c, 0x90, 0x30, 0x4b, 0xff, 0x11, 0x55, 0x01, 0x85, 0xbb, 0x7d,
	0xf0, 0x05, 0x8c, 0x38, 0x6c, 0xec, 0x21, 0x59, 0xea, 0xec, 0x5a, 0xbb, 0xb6, 0x2b, 0x55, 0x91,
	0x56, 0x86, 0x44, 0x26, 0x52, 0x6b, 0x47, 0x76, 0xda, 0x03, 0x8f, 0xc2, 0x91, 0x23, 0x77, 0x5e,
	0x82, 0x47, 0xe1, 0xc8, 0x13, 0xa0, 0xdd, 0x25, 0x51, 0x45, 0x81, 0x93, 0x47, 0xb3, 0xbf, 0xef,
	0x9b, 0x19, 0xcf, 0xa0, 0x97, 0x65, 0x5d, 0x97, 0x17, 0x0b, 0xaf, 0x98, 0xb7, 0x9e, 0x0d, 0x75,
	0x74, 0xed, 0x7b, 0x8b, 0xa6, 0xa9, 0x9b, 0xd6, 0x2b, 0xae, 0xd6, 0x1f, 0xeb, 0x66, 0xf9, 0xa9,
	0x58, 0x2f, 0xeb, 0x4a, 0x99, 0xa4, 0xbb, 0x6a, 0xea, 0x75, 0x8d, 0x07, 0x16, 0x77, 0x8b, 0x79,
	0xeb, 0x6e, 0x95, 0xee, 0xb5, 0xef, 0x5a, 0x65, 0xff, 0x64, 0xe3, 0xbc, 0x5a, 0x7a, 0x45, 0x55,
	0xd5, 0x6b, 0x63, 0xd1, 0x5a, 0xf5, 0xf0, 0x5b, 0x17, 0x1d, 0x92, 0x9b, 0xde, 0xa0, 0x55, 0x50,
	0x5d, 0x5d, 0x0e, 0x3f, 0x77, 0x11, 0xbe, 0xfd, 0x84, 0x1f, 0xa1, 0x5e, 0xc6, 0x64, 0x02, 0x21,
	0x7d, 0x4b, 0x21, 0x72, 0xee, 0xe0, 0x1e, 0xda, 0xcb, 0xd8, 0x29, 0xe3, 0x67, 0xcc, 0xd9, 0xc1,
	0x7d, 0x74, 0x98, 0x49, 0x10, 0x2a, 0x01, 0x31, 0xa5, 0x52, 0x52, 0xce, 0x54, 0x04, 0x4c, 0x83,
	0x1d, 0xfc, 0x02, 0x3d, 0x8b, 0x20, 0x87, 0x98, 0x27, 0x20, 0x54, 0xca, 0x4f, 0x81, 0x29, 0xc6,
	0x53, 0x75, 0x36, 0xa1, 0x29, 0xc4, 0x54, 0xa6, 0x10, 0x39, 0x5d, 0x3c, 0x40, 0xfd, 0x3f, 0xa1,
	0x44, 0xf0, 0x09, 0x1d, 0x51, 0xfd, 0x7e, 0x17, 0xef, 0x23, 0x27, 0x11, 0xfc, 0x1d, 0x84, 0xa9,
	0x8a, 0xa8, 0x24, 0xa3, 0x18, 0x22, 0xe7, 0x1e, 0x3e, 0x42, 0x4f, 0x48, 0x96, 0x4e, 0xb8, 0xa0,
	0xe7, 0x24, 0xd5, 0x45, 0x41, 0x08, 0x2e, 0x9c, 0x5d, 0x7c, 0x8c, 0xf6, 0x49, 0x68, 0x32, 0xba,
	0x94, 0xe9, 0x2a, 0xd5, 0x46, 0x7b, 0xf8, 0x00, 0x3d, 0xa6, 0x2c, 0xe4, 0xd3, 0x24, 0x86, 0x14,
	0x94, 0xa4, 0x63, 0x96, 0x25, 0xce, 0x7d, 0x2d, 0x08, 0x33, 0x99, 0xf2, 0x29, 0x08, 0x23, 0x01,
	0x66, 0x6b, 0x1c, 0xeb, 0xc1, 0xcd, 0x48, 0x6c, 0xac, 0x52, 0x2e, 0x9d, 0x07, 0xf8, 0x39, 0x3a,
	0xf9, 0xdb, 0x3c, 0x24, 0x49, 0x04, 0xcf, 0x21, 0x72, 0x10, 0x7e, 0x83, 0x5e, 0x51, 0x96, 0x93,
	0x98, 0x46, 0x2a, 0xe6, 0x63, 0xca, 0xd4, 0xd6, 0x9a, 0x46, 0x4a, 0x82, 0xc8, 0xb5, 0xd9, 0xcd,
	0x5c, 0xc8, 0xa7, 0x23, 0xca, 0xcc, 0x08, 0x4e, 0x0f, 0x3f, 0x45, 0x07, 0x06, 0x0a, 0x41, 0x91,
	0x30, 0x04, 0x29, 0x37, 0xff, 0xf2, 0xe1, 0xe8, 0xe7, 0x0e, 0x1a, 0x7e, 0xa8, 0x2f, 0xdd, 0xff,
	0x2f, 0x7f, 0x74, 0x74, 0x7b, 0x81, 0x89, 0xde, 0x7b, 0xb2, 0x73, 0x1e, 0xfd, 0x96, 0x96, 0xf5,
	0x45, 0x51, 0x95, 0x6e, 0xdd, 0x94, 0x5e, 0xb9, 0xa8, 0xcc, 0x55, 0x6c, 0x2e, 0x70, 0xb5, 0x6c,
	0xff, 0x75, 0x90, 0xaf, 0xed, 0xe7, 0x4b, 0xa7, 0x3b, 0x26, 0xe4, 0x6b, 0x67, 0x30, 0xb6, 0x66,
	0x64, 0xde, 0xba, 0x36, 0xd4, 0x51, 0xee, 0xbb, 0xa6, 0x64, 0xfb, 0x7d, 0x03, 0xcc, 0xc8, 0xbc,
	0x9d, 0x6d, 0x81, 0x59, 0xee, 0xcf, 0x2c, 0xf0, 0xa3, 0x33, 0xb4, 0xd9, 0x20, 0x20, 0xf3, 0x36,
	0x08, 0xb6, 0x48, 0x10, 0xe4, 0x7e, 0x10, 0x58, 0xe8, 0xfd, 0xae, 0xe9, 0xce, 0xff, 0x15, 0x00,
	0x00, 0xff, 0xff, 0x81, 0x68, 0xa4, 0x26, 0x2d, 0x03, 0x00, 0x00,
}
