// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/ads/googleads/v3/errors/operation_access_denied_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 operation access denied errors.
type OperationAccessDeniedErrorEnum_OperationAccessDeniedError int32

const (
	// Enum unspecified.
	OperationAccessDeniedErrorEnum_UNSPECIFIED OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 0
	// The received error code is not known in this version.
	OperationAccessDeniedErrorEnum_UNKNOWN OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 1
	// Unauthorized invocation of a service's method (get, mutate, etc.)
	OperationAccessDeniedErrorEnum_ACTION_NOT_PERMITTED OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 2
	// Unauthorized CREATE operation in invoking a service's mutate method.
	OperationAccessDeniedErrorEnum_CREATE_OPERATION_NOT_PERMITTED OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 3
	// Unauthorized REMOVE operation in invoking a service's mutate method.
	OperationAccessDeniedErrorEnum_REMOVE_OPERATION_NOT_PERMITTED OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 4
	// Unauthorized UPDATE operation in invoking a service's mutate method.
	OperationAccessDeniedErrorEnum_UPDATE_OPERATION_NOT_PERMITTED OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 5
	// A mutate action is not allowed on this campaign, from this client.
	OperationAccessDeniedErrorEnum_MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 6
	// This operation is not permitted on this campaign type
	OperationAccessDeniedErrorEnum_OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 7
	// A CREATE operation may not set status to REMOVED.
	OperationAccessDeniedErrorEnum_CREATE_AS_REMOVED_NOT_PERMITTED OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 8
	// This operation is not allowed because the campaign or adgroup is removed.
	OperationAccessDeniedErrorEnum_OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 9
	// This operation is not permitted on this ad group type.
	OperationAccessDeniedErrorEnum_OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 10
	// The mutate is not allowed for this customer.
	OperationAccessDeniedErrorEnum_MUTATE_NOT_PERMITTED_FOR_CUSTOMER OperationAccessDeniedErrorEnum_OperationAccessDeniedError = 11
)

var OperationAccessDeniedErrorEnum_OperationAccessDeniedError_name = map[int32]string{
	0:  "UNSPECIFIED",
	1:  "UNKNOWN",
	2:  "ACTION_NOT_PERMITTED",
	3:  "CREATE_OPERATION_NOT_PERMITTED",
	4:  "REMOVE_OPERATION_NOT_PERMITTED",
	5:  "UPDATE_OPERATION_NOT_PERMITTED",
	6:  "MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT",
	7:  "OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE",
	8:  "CREATE_AS_REMOVED_NOT_PERMITTED",
	9:  "OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE",
	10: "OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE",
	11: "MUTATE_NOT_PERMITTED_FOR_CUSTOMER",
}

var OperationAccessDeniedErrorEnum_OperationAccessDeniedError_value = map[string]int32{
	"UNSPECIFIED":                                  0,
	"UNKNOWN":                                      1,
	"ACTION_NOT_PERMITTED":                         2,
	"CREATE_OPERATION_NOT_PERMITTED":               3,
	"REMOVE_OPERATION_NOT_PERMITTED":               4,
	"UPDATE_OPERATION_NOT_PERMITTED":               5,
	"MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT":       6,
	"OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE":    7,
	"CREATE_AS_REMOVED_NOT_PERMITTED":              8,
	"OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE": 9,
	"OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE":    10,
	"MUTATE_NOT_PERMITTED_FOR_CUSTOMER":            11,
}

func (x OperationAccessDeniedErrorEnum_OperationAccessDeniedError) String() string {
	return proto.EnumName(OperationAccessDeniedErrorEnum_OperationAccessDeniedError_name, int32(x))
}

func (OperationAccessDeniedErrorEnum_OperationAccessDeniedError) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_df7a6e22c97aafa3, []int{0, 0}
}

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

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

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

var xxx_messageInfo_OperationAccessDeniedErrorEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.errors.OperationAccessDeniedErrorEnum_OperationAccessDeniedError", OperationAccessDeniedErrorEnum_OperationAccessDeniedError_name, OperationAccessDeniedErrorEnum_OperationAccessDeniedError_value)
	proto.RegisterType((*OperationAccessDeniedErrorEnum)(nil), "google.ads.googleads.v3.errors.OperationAccessDeniedErrorEnum")
}

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

var fileDescriptor_df7a6e22c97aafa3 = []byte{
	// 448 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0xc1, 0x8a, 0xd3, 0x40,
	0x1c, 0xc6, 0x6d, 0xab, 0xbb, 0x3a, 0x3d, 0x18, 0x06, 0x0f, 0xb2, 0x48, 0x17, 0x23, 0x0a, 0x8a,
	0x4e, 0x84, 0xdc, 0xe2, 0x69, 0x9a, 0xcc, 0x96, 0xa0, 0x99, 0x19, 0xa6, 0x93, 0x8a, 0x52, 0x18,
	0x62, 0x13, 0x42, 0x61, 0x37, 0x13, 0x32, 0x75, 0x1f, 0xc8, 0xa3, 0x4f, 0x22, 0x3e, 0x8a, 0xbe,
	0x81, 0x27, 0x49, 0xa6, 0xe9, 0x41, 0x9a, 0x7a, 0xca, 0x9f, 0xe4, 0xf7, 0xff, 0xbe, 0xef, 0x4f,
	0x3e, 0x30, 0x2f, 0xb5, 0x2e, 0xaf, 0x0b, 0x2f, 0xcb, 0x8d, 0x67, 0xc7, 0x76, 0xba, 0xf5, 0xbd,
	0xa2, 0x69, 0x74, 0x63, 0x3c, 0x5d, 0x17, 0x4d, 0xb6, 0xdb, 0xea, 0x4a, 0x65, 0x9b, 0x4d, 0x61,
	0x8c, 0xca, 0x8b, 0x6a, 0x5b, 0xe4, 0xaa, 0xfb, 0x8c, 0xea, 0x46, 0xef, 0x34, 0x9c, 0xd9, 0x45,
	0x94, 0xe5, 0x06, 0x1d, 0x34, 0xd0, 0xad, 0x8f, 0xac, 0xc6, 0xc5, 0x93, 0xde, 0xa3, 0xde, 0x7a,
	0x59, 0x55, 0xe9, 0x5d, 0x27, 0x68, 0xec, 0xb6, 0xfb, 0x7b, 0x02, 0x66, 0xac, 0x77, 0xc1, 0x9d,
	0x49, 0xd4, 0x79, 0x90, 0x76, 0x9b, 0x54, 0x5f, 0x6f, 0xdc, 0x1f, 0x13, 0x70, 0x31, 0x8c, 0xc0,
	0x87, 0x60, 0x9a, 0xd2, 0x25, 0x27, 0x61, 0x7c, 0x15, 0x93, 0xc8, 0xb9, 0x03, 0xa7, 0xe0, 0x3c,
	0xa5, 0xef, 0x29, 0xfb, 0x48, 0x9d, 0x11, 0x7c, 0x0c, 0x1e, 0xe1, 0x50, 0xc6, 0x8c, 0x2a, 0xca,
	0xa4, 0xe2, 0x44, 0x24, 0xb1, 0x94, 0x24, 0x72, 0xc6, 0xd0, 0x05, 0xb3, 0x50, 0x10, 0x2c, 0x89,
	0x62, 0x9c, 0x08, 0x7c, 0x84, 0x99, 0xb4, 0x8c, 0x20, 0x09, 0x5b, 0x0d, 0x33, 0x77, 0x5b, 0x26,
	0xe5, 0xd1, 0x29, 0x9d, 0x7b, 0xf0, 0x15, 0x78, 0x91, 0xa4, 0xb2, 0x65, 0x8e, 0x85, 0x51, 0x57,
	0x4c, 0xa8, 0xf0, 0x43, 0x4c, 0xa8, 0x74, 0xce, 0xe0, 0x1b, 0xf0, 0x72, 0x40, 0xc8, 0x72, 0x38,
	0xe1, 0x38, 0x5e, 0x50, 0x25, 0x3f, 0x71, 0xe2, 0x9c, 0xc3, 0x67, 0xe0, 0x72, 0x7f, 0x06, 0x5e,
	0x2a, 0x1b, 0x36, 0xfa, 0xc7, 0xff, 0x3e, 0x7c, 0x0b, 0x5e, 0x9f, 0xd2, 0xec, 0xd7, 0x04, 0x59,
	0xb2, 0x54, 0x84, 0xc4, 0x79, 0xf0, 0xbf, 0x14, 0x38, 0x52, 0x0b, 0xc1, 0x52, 0x6e, 0x53, 0x00,
	0xf8, 0x1c, 0x3c, 0xdd, 0x1f, 0x78, 0x24, 0x71, 0xba, 0x94, 0x2c, 0x21, 0xc2, 0x99, 0xce, 0xff,
	0x8c, 0x80, 0xbb, 0xd1, 0x37, 0xe8, 0x74, 0x65, 0xe6, 0x97, 0xc3, 0xbf, 0x9b, 0xb7, 0xad, 0xe1,
	0xa3, 0xcf, 0xd1, 0x5e, 0xa2, 0xd4, 0xd7, 0x59, 0x55, 0x22, 0xdd, 0x94, 0x5e, 0x59, 0x54, 0x5d,
	0xa7, 0xfa, 0x26, 0xd7, 0x5b, 0x33, 0x54, 0xec, 0x77, 0xf6, 0xf1, 0x6d, 0x3c, 0x59, 0x60, 0xfc,
	0x7d, 0x3c, 0x5b, 0x58, 0x31, 0x9c, 0x1b, 0x64, 0xc7, 0x76, 0x5a, 0xf9, 0xa8, 0xb3, 0x34, 0x3f,
	0x7b, 0x60, 0x8d, 0x73, 0xb3, 0x3e, 0x00, 0xeb, 0x95, 0xbf, 0xb6, 0xc0, 0xaf, 0xb1, 0x6b, 0xdf,
	0x06, 0x01, 0xce, 0x4d, 0x10, 0x1c, 0x90, 0x20, 0x58, 0xf9, 0x41, 0x60, 0xa1, 0x2f, 0x67, 0x5d,
	0x3a, 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x47, 0x53, 0x4a, 0x75, 0x03, 0x00, 0x00,
}
