// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/websecurityscanner/v1beta/scan_run_error_trace.proto

package websecurityscanner

import (
	fmt "fmt"
	proto "github.com/golang/protobuf/proto"
	math "math"
)

// 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

// Output only.
// Defines an error reason code.
// Next id: 7
type ScanRunErrorTrace_Code int32

const (
	// Default value is never used.
	ScanRunErrorTrace_CODE_UNSPECIFIED ScanRunErrorTrace_Code = 0
	// Indicates that the scan run failed due to an internal server error.
	ScanRunErrorTrace_INTERNAL_ERROR ScanRunErrorTrace_Code = 1
	// Indicates a scan configuration error, usually due to outdated ScanConfig
	// settings, such as starting_urls or the DNS configuration.
	ScanRunErrorTrace_SCAN_CONFIG_ISSUE ScanRunErrorTrace_Code = 2
	// Indicates an authentication error, usually due to outdated ScanConfig
	// authentication settings.
	ScanRunErrorTrace_AUTHENTICATION_CONFIG_ISSUE ScanRunErrorTrace_Code = 3
	// Indicates a scan operation timeout, usually caused by a very large site.
	ScanRunErrorTrace_TIMED_OUT_WHILE_SCANNING ScanRunErrorTrace_Code = 4
	// Indicates that a scan encountered excessive redirects, either to
	// authentication or some other page outside of the scan scope.
	ScanRunErrorTrace_TOO_MANY_REDIRECTS ScanRunErrorTrace_Code = 5
	// Indicates that a scan encountered numerous errors from the web site
	// pages. When available, most_common_http_error_code field indicates the
	// the most common HTTP error code encountered during the scan.
	ScanRunErrorTrace_TOO_MANY_HTTP_ERRORS ScanRunErrorTrace_Code = 6
)

var ScanRunErrorTrace_Code_name = map[int32]string{
	0: "CODE_UNSPECIFIED",
	1: "INTERNAL_ERROR",
	2: "SCAN_CONFIG_ISSUE",
	3: "AUTHENTICATION_CONFIG_ISSUE",
	4: "TIMED_OUT_WHILE_SCANNING",
	5: "TOO_MANY_REDIRECTS",
	6: "TOO_MANY_HTTP_ERRORS",
}

var ScanRunErrorTrace_Code_value = map[string]int32{
	"CODE_UNSPECIFIED":            0,
	"INTERNAL_ERROR":              1,
	"SCAN_CONFIG_ISSUE":           2,
	"AUTHENTICATION_CONFIG_ISSUE": 3,
	"TIMED_OUT_WHILE_SCANNING":    4,
	"TOO_MANY_REDIRECTS":          5,
	"TOO_MANY_HTTP_ERRORS":        6,
}

func (x ScanRunErrorTrace_Code) String() string {
	return proto.EnumName(ScanRunErrorTrace_Code_name, int32(x))
}

func (ScanRunErrorTrace_Code) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_7b7ccbd97c6273c4, []int{0, 0}
}

// Output only.
// Defines an error trace message for a ScanRun.
type ScanRunErrorTrace struct {
	// Output only.
	// Indicates the error reason code.
	Code ScanRunErrorTrace_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.websecurityscanner.v1beta.ScanRunErrorTrace_Code" json:"code,omitempty"`
	// Output only.
	// If the scan encounters SCAN_CONFIG_ISSUE error, this field has the error
	// message encountered during scan configuration validation that is performed
	// before each scan run.
	ScanConfigError *ScanConfigError `protobuf:"bytes,2,opt,name=scan_config_error,json=scanConfigError,proto3" json:"scan_config_error,omitempty"`
	// Output only.
	// If the scan encounters TOO_MANY_HTTP_ERRORS, this field indicates the most
	// common HTTP error code, if such is available. For example, if this code is
	// 404, the scan has encountered too many NOT_FOUND responses.
	MostCommonHttpErrorCode int32    `protobuf:"varint,3,opt,name=most_common_http_error_code,json=mostCommonHttpErrorCode,proto3" json:"most_common_http_error_code,omitempty"`
	XXX_NoUnkeyedLiteral    struct{} `json:"-"`
	XXX_unrecognized        []byte   `json:"-"`
	XXX_sizecache           int32    `json:"-"`
}

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

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

var xxx_messageInfo_ScanRunErrorTrace proto.InternalMessageInfo

func (m *ScanRunErrorTrace) GetCode() ScanRunErrorTrace_Code {
	if m != nil {
		return m.Code
	}
	return ScanRunErrorTrace_CODE_UNSPECIFIED
}

func (m *ScanRunErrorTrace) GetScanConfigError() *ScanConfigError {
	if m != nil {
		return m.ScanConfigError
	}
	return nil
}

func (m *ScanRunErrorTrace) GetMostCommonHttpErrorCode() int32 {
	if m != nil {
		return m.MostCommonHttpErrorCode
	}
	return 0
}

func init() {
	proto.RegisterEnum("google.cloud.websecurityscanner.v1beta.ScanRunErrorTrace_Code", ScanRunErrorTrace_Code_name, ScanRunErrorTrace_Code_value)
	proto.RegisterType((*ScanRunErrorTrace)(nil), "google.cloud.websecurityscanner.v1beta.ScanRunErrorTrace")
}

func init() {
	proto.RegisterFile("google/cloud/websecurityscanner/v1beta/scan_run_error_trace.proto", fileDescriptor_7b7ccbd97c6273c4)
}

var fileDescriptor_7b7ccbd97c6273c4 = []byte{
	// 453 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0x41, 0x6f, 0xd3, 0x30,
	0x1c, 0xc5, 0x49, 0xdb, 0xed, 0x60, 0xa4, 0x91, 0x5a, 0x63, 0x54, 0x0c, 0x89, 0x6a, 0x87, 0xa9,
	0xe2, 0x90, 0x88, 0x71, 0xe0, 0x00, 0x9a, 0x94, 0xb9, 0x5e, 0x6b, 0x69, 0x4b, 0x2a, 0xc7, 0x65,
	0x80, 0x2a, 0x59, 0xa9, 0x6b, 0x42, 0xa5, 0xd6, 0xae, 0x1c, 0x17, 0xc4, 0x37, 0xe3, 0x0b, 0x70,
	0x80, 0x4f, 0x85, 0xec, 0x54, 0x48, 0x90, 0x03, 0xeb, 0x2d, 0xf9, 0xfb, 0xbd, 0xdf, 0x7b, 0x71,
	0xfe, 0x20, 0x29, 0xb5, 0x2e, 0x57, 0x32, 0x16, 0x2b, 0xbd, 0x5d, 0xc4, 0x5f, 0xe5, 0xbc, 0x92,
	0x62, 0x6b, 0x96, 0xf6, 0x5b, 0x25, 0x0a, 0xa5, 0xa4, 0x89, 0xbf, 0xbc, 0x9c, 0x4b, 0x5b, 0xc4,
	0xee, 0x95, 0x9b, 0xad, 0xe2, 0xd2, 0x18, 0x6d, 0xb8, 0x35, 0x85, 0x90, 0xd1, 0xc6, 0x68, 0xab,
	0xe1, 0x79, 0x8d, 0x88, 0x3c, 0x22, 0x6a, 0x22, 0xa2, 0x1a, 0xf1, 0xf4, 0x72, 0x9f, 0x28, 0xa1,
	0xd5, 0xa7, 0x65, 0x59, 0xa7, 0xd5, 0x39, 0x67, 0x3f, 0xda, 0xa0, 0x9b, 0x8b, 0x42, 0xd1, 0xad,
	0xc2, 0x6e, 0xcc, 0x5c, 0x07, 0x48, 0x41, 0x47, 0xe8, 0x85, 0xec, 0x05, 0xfd, 0x60, 0x70, 0x74,
	0x71, 0x19, 0xdd, 0xaf, 0x4c, 0xd4, 0x00, 0x45, 0x48, 0x2f, 0x24, 0xf5, 0x2c, 0x28, 0x40, 0xb7,
	0x51, 0xa2, 0xd7, 0xea, 0x07, 0x83, 0x87, 0x17, 0xaf, 0xf7, 0x09, 0x40, 0xde, 0xef, 0x33, 0xe8,
	0xa3, 0xea, 0xef, 0x01, 0x7c, 0x0b, 0x4e, 0xd7, 0xba, 0xb2, 0x5c, 0xe8, 0xf5, 0x5a, 0x2b, 0xfe,
	0xd9, 0xda, 0xcd, 0xee, 0x72, 0xfd, 0xf7, 0xb4, 0xfb, 0xc1, 0xe0, 0x80, 0x3e, 0x71, 0x12, 0xe4,
	0x15, 0x63, 0x6b, 0x37, 0xde, 0xe9, 0x8a, 0x9e, 0x7d, 0x0f, 0x40, 0xc7, 0x3d, 0xc0, 0x63, 0x10,
	0xa2, 0x6c, 0x88, 0xf9, 0x34, 0xcd, 0x27, 0x18, 0x91, 0x6b, 0x82, 0x87, 0xe1, 0x03, 0x08, 0xc1,
	0x11, 0x49, 0x19, 0xa6, 0x69, 0x72, 0xc3, 0x31, 0xa5, 0x19, 0x0d, 0x03, 0xf8, 0x18, 0x74, 0x73,
	0x94, 0xa4, 0x1c, 0x65, 0xe9, 0x35, 0x19, 0x71, 0x92, 0xe7, 0x53, 0x1c, 0xb6, 0xe0, 0x73, 0x70,
	0x9a, 0x4c, 0xd9, 0x18, 0xa7, 0x8c, 0xa0, 0x84, 0x91, 0xec, 0x1f, 0x41, 0x1b, 0x3e, 0x03, 0x3d,
	0x46, 0x6e, 0xf1, 0x90, 0x67, 0x53, 0xc6, 0xef, 0xc6, 0xe4, 0x06, 0x73, 0xc7, 0x49, 0x49, 0x3a,
	0x0a, 0x3b, 0xf0, 0x04, 0x40, 0x96, 0x65, 0xfc, 0x36, 0x49, 0x3f, 0x70, 0x8a, 0x87, 0x84, 0x62,
	0xc4, 0xf2, 0xf0, 0x00, 0xf6, 0xc0, 0xf1, 0x9f, 0xf9, 0x98, 0xb1, 0x49, 0x5d, 0x23, 0x0f, 0x0f,
	0xaf, 0x7e, 0x06, 0xe0, 0x85, 0xd0, 0xeb, 0x7b, 0x5e, 0xe4, 0xd5, 0x49, 0xe3, 0x57, 0x4d, 0xdc,
	0x3a, 0x4c, 0x82, 0x8f, 0xef, 0x77, 0x84, 0x52, 0xaf, 0x0a, 0x55, 0x46, 0xda, 0x94, 0x71, 0x29,
	0x95, 0x5f, 0x96, 0xb8, 0x3e, 0x2a, 0x36, 0xcb, 0xea, 0x7f, 0xfb, 0xf6, 0xa6, 0x79, 0xf2, 0xab,
	0x75, 0x3e, 0xf2, 0xfe, 0x19, 0x72, 0xde, 0xd9, 0x9d, 0x9c, 0xe7, 0x3b, 0x45, 0x5e, 0x2b, 0x66,
	0xef, 0xbc, 0x77, 0x7e, 0xe8, 0xd3, 0x5e, 0xfd, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x40, 0x74, 0x95,
	0x2e, 0x47, 0x03, 0x00, 0x00,
}
