// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/recaptchaenterprise/v1beta1/recaptchaenterprise.proto

package recaptchaenterprise

import (
	context "context"
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	empty "github.com/golang/protobuf/ptypes/empty"
	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	field_mask "google.golang.org/genproto/protobuf/field_mask"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// 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 that reprensents the types of annotations.
type AnnotateAssessmentRequest_Annotation int32

const (
	// Default unspecified type.
	AnnotateAssessmentRequest_ANNOTATION_UNSPECIFIED AnnotateAssessmentRequest_Annotation = 0
	// Provides information that the event turned out to be legitimate.
	AnnotateAssessmentRequest_LEGITIMATE AnnotateAssessmentRequest_Annotation = 1
	// Provides information that the event turned out to be fraudulent.
	AnnotateAssessmentRequest_FRAUDULENT AnnotateAssessmentRequest_Annotation = 2
)

var AnnotateAssessmentRequest_Annotation_name = map[int32]string{
	0: "ANNOTATION_UNSPECIFIED",
	1: "LEGITIMATE",
	2: "FRAUDULENT",
}

var AnnotateAssessmentRequest_Annotation_value = map[string]int32{
	"ANNOTATION_UNSPECIFIED": 0,
	"LEGITIMATE":             1,
	"FRAUDULENT":             2,
}

func (x AnnotateAssessmentRequest_Annotation) String() string {
	return proto.EnumName(AnnotateAssessmentRequest_Annotation_name, int32(x))
}

func (AnnotateAssessmentRequest_Annotation) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{1, 0}
}

// LINT.IfChange(classification_reason)
// Reasons contributing to the risk analysis verdict.
type Assessment_ClassificationReason int32

const (
	// Default unspecified type.
	Assessment_CLASSIFICATION_REASON_UNSPECIFIED Assessment_ClassificationReason = 0
	// Interactions matched the behavior of an automated agent.
	Assessment_AUTOMATION Assessment_ClassificationReason = 1
	// The event originated from an illegitimate environment.
	Assessment_UNEXPECTED_ENVIRONMENT Assessment_ClassificationReason = 2
	// Traffic volume from the event source is higher than normal.
	Assessment_TOO_MUCH_TRAFFIC Assessment_ClassificationReason = 3
	// Interactions with the site were significantly different than expected
	// patterns.
	Assessment_UNEXPECTED_USAGE_PATTERNS Assessment_ClassificationReason = 4
	// Too little traffic has been received from this site thus far to generate
	// quality risk analysis.
	Assessment_LOW_CONFIDENCE_SCORE Assessment_ClassificationReason = 5
)

var Assessment_ClassificationReason_name = map[int32]string{
	0: "CLASSIFICATION_REASON_UNSPECIFIED",
	1: "AUTOMATION",
	2: "UNEXPECTED_ENVIRONMENT",
	3: "TOO_MUCH_TRAFFIC",
	4: "UNEXPECTED_USAGE_PATTERNS",
	5: "LOW_CONFIDENCE_SCORE",
}

var Assessment_ClassificationReason_value = map[string]int32{
	"CLASSIFICATION_REASON_UNSPECIFIED": 0,
	"AUTOMATION":                        1,
	"UNEXPECTED_ENVIRONMENT":            2,
	"TOO_MUCH_TRAFFIC":                  3,
	"UNEXPECTED_USAGE_PATTERNS":         4,
	"LOW_CONFIDENCE_SCORE":              5,
}

func (x Assessment_ClassificationReason) String() string {
	return proto.EnumName(Assessment_ClassificationReason_name, int32(x))
}

func (Assessment_ClassificationReason) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{3, 0}
}

// LINT.IfChange
// Enum that represents the types of invalid token reasons.
type TokenProperties_InvalidReason int32

const (
	// Default unspecified type.
	TokenProperties_INVALID_REASON_UNSPECIFIED TokenProperties_InvalidReason = 0
	// If the failure reason was not accounted for.
	TokenProperties_UNKNOWN_INVALID_REASON TokenProperties_InvalidReason = 1
	// The provided user verification token was malformed.
	TokenProperties_MALFORMED TokenProperties_InvalidReason = 2
	// The user verification token had expired.
	TokenProperties_EXPIRED TokenProperties_InvalidReason = 3
	// The user verification had already been seen.
	TokenProperties_DUPE TokenProperties_InvalidReason = 4
	// The user verification token did not match the provided site key.
	// This may be a configuration error (e.g. development keys used in
	// production) or end users trying to use verification tokens from other
	// sites.
	TokenProperties_SITE_MISMATCH TokenProperties_InvalidReason = 5
	// The user verification token was not present.  It is a required input.
	TokenProperties_MISSING TokenProperties_InvalidReason = 6
)

var TokenProperties_InvalidReason_name = map[int32]string{
	0: "INVALID_REASON_UNSPECIFIED",
	1: "UNKNOWN_INVALID_REASON",
	2: "MALFORMED",
	3: "EXPIRED",
	4: "DUPE",
	5: "SITE_MISMATCH",
	6: "MISSING",
}

var TokenProperties_InvalidReason_value = map[string]int32{
	"INVALID_REASON_UNSPECIFIED": 0,
	"UNKNOWN_INVALID_REASON":     1,
	"MALFORMED":                  2,
	"EXPIRED":                    3,
	"DUPE":                       4,
	"SITE_MISMATCH":              5,
	"MISSING":                    6,
}

func (x TokenProperties_InvalidReason) String() string {
	return proto.EnumName(TokenProperties_InvalidReason_name, int32(x))
}

func (TokenProperties_InvalidReason) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{5, 0}
}

// Enum that represents the integration types for web keys.
type WebKeySettings_IntegrationType int32

const (
	// Default type that indicates this enum hasn't been specified. This is not
	// a valid IntegrationType, one of the other types must be specified
	// instead.
	WebKeySettings_INTEGRATION_TYPE_UNSPECIFIED WebKeySettings_IntegrationType = 0
	// Only used to produce scores. It doesn't display the "I'm not a robot"
	// checkbox and never shows captcha challenges.
	WebKeySettings_SCORE_ONLY WebKeySettings_IntegrationType = 1
	// Displays the "I'm not a robot" checkbox and may show captcha challenges
	// after it is checked.
	WebKeySettings_CHECKBOX_CHALLENGE WebKeySettings_IntegrationType = 2
	// Doesn't display the "I'm not a robot" checkbox, but may show captcha
	// challenges after risk analysis.
	WebKeySettings_INVISIBLE_CHALLENGE WebKeySettings_IntegrationType = 3
)

var WebKeySettings_IntegrationType_name = map[int32]string{
	0: "INTEGRATION_TYPE_UNSPECIFIED",
	1: "SCORE_ONLY",
	2: "CHECKBOX_CHALLENGE",
	3: "INVISIBLE_CHALLENGE",
}

var WebKeySettings_IntegrationType_value = map[string]int32{
	"INTEGRATION_TYPE_UNSPECIFIED": 0,
	"SCORE_ONLY":                   1,
	"CHECKBOX_CHALLENGE":           2,
	"INVISIBLE_CHALLENGE":          3,
}

func (x WebKeySettings_IntegrationType) String() string {
	return proto.EnumName(WebKeySettings_IntegrationType_name, int32(x))
}

func (WebKeySettings_IntegrationType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{13, 0}
}

// Enum that represents the possible challenge frequency and difficulty
// configurations for a web key.
type WebKeySettings_ChallengeSecurityPreference int32

const (
	// Default type that indicates this enum hasn't been specified.
	WebKeySettings_CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED WebKeySettings_ChallengeSecurityPreference = 0
	// Key tends to show fewer and easier challenges.
	WebKeySettings_USABILITY WebKeySettings_ChallengeSecurityPreference = 1
	// Key tends to show balanced (in amount and difficulty) challenges.
	WebKeySettings_BALANCED WebKeySettings_ChallengeSecurityPreference = 2
	// Key tends to show more and harder challenges.
	WebKeySettings_SECURITY WebKeySettings_ChallengeSecurityPreference = 3
)

var WebKeySettings_ChallengeSecurityPreference_name = map[int32]string{
	0: "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED",
	1: "USABILITY",
	2: "BALANCED",
	3: "SECURITY",
}

var WebKeySettings_ChallengeSecurityPreference_value = map[string]int32{
	"CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED": 0,
	"USABILITY": 1,
	"BALANCED":  2,
	"SECURITY":  3,
}

func (x WebKeySettings_ChallengeSecurityPreference) String() string {
	return proto.EnumName(WebKeySettings_ChallengeSecurityPreference_name, int32(x))
}

func (WebKeySettings_ChallengeSecurityPreference) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{13, 1}
}

// The create assessment request message.
type CreateAssessmentRequest struct {
	// Required. The name of the project in which the assessment will be created,
	// in the format "projects/{project_number}".
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The assessment details.
	Assessment           *Assessment `protobuf:"bytes,2,opt,name=assessment,proto3" json:"assessment,omitempty"`
	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
	XXX_unrecognized     []byte      `json:"-"`
	XXX_sizecache        int32       `json:"-"`
}

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

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

var xxx_messageInfo_CreateAssessmentRequest proto.InternalMessageInfo

func (m *CreateAssessmentRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *CreateAssessmentRequest) GetAssessment() *Assessment {
	if m != nil {
		return m.Assessment
	}
	return nil
}

// The request message to annotate an Assessment.
type AnnotateAssessmentRequest struct {
	// Required. The resource name of the Assessment, in the format
	// "projects/{project_number}/assessments/{assessment_id}".
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The annotation that will be assigned to the Event.
	Annotation           AnnotateAssessmentRequest_Annotation `protobuf:"varint,2,opt,name=annotation,proto3,enum=google.cloud.recaptchaenterprise.v1beta1.AnnotateAssessmentRequest_Annotation" json:"annotation,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
	XXX_unrecognized     []byte                               `json:"-"`
	XXX_sizecache        int32                                `json:"-"`
}

func (m *AnnotateAssessmentRequest) Reset()         { *m = AnnotateAssessmentRequest{} }
func (m *AnnotateAssessmentRequest) String() string { return proto.CompactTextString(m) }
func (*AnnotateAssessmentRequest) ProtoMessage()    {}
func (*AnnotateAssessmentRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{1}
}

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

var xxx_messageInfo_AnnotateAssessmentRequest proto.InternalMessageInfo

func (m *AnnotateAssessmentRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *AnnotateAssessmentRequest) GetAnnotation() AnnotateAssessmentRequest_Annotation {
	if m != nil {
		return m.Annotation
	}
	return AnnotateAssessmentRequest_ANNOTATION_UNSPECIFIED
}

// Empty response for AnnotateAssessment.
type AnnotateAssessmentResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AnnotateAssessmentResponse) Reset()         { *m = AnnotateAssessmentResponse{} }
func (m *AnnotateAssessmentResponse) String() string { return proto.CompactTextString(m) }
func (*AnnotateAssessmentResponse) ProtoMessage()    {}
func (*AnnotateAssessmentResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{2}
}

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

var xxx_messageInfo_AnnotateAssessmentResponse proto.InternalMessageInfo

// A recaptcha assessment resource.
type Assessment struct {
	// Output only. The resource name for the Assessment in the format
	// "projects/{project_number}/assessments/{assessment_id}".
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The event being assessed.
	Event *Event `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"`
	// Output only. Legitimate event score from 0.0 to 1.0.
	// (1.0 means very likely legitimate traffic while 0.0 means very likely
	// non-legitimate traffic).
	Score float32 `protobuf:"fixed32,3,opt,name=score,proto3" json:"score,omitempty"`
	// Output only. Properties of the provided event token.
	TokenProperties *TokenProperties `protobuf:"bytes,4,opt,name=token_properties,json=tokenProperties,proto3" json:"token_properties,omitempty"`
	// Output only. Reasons contributing to the risk analysis verdict.
	Reasons              []Assessment_ClassificationReason `protobuf:"varint,5,rep,packed,name=reasons,proto3,enum=google.cloud.recaptchaenterprise.v1beta1.Assessment_ClassificationReason" json:"reasons,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                          `json:"-"`
	XXX_unrecognized     []byte                            `json:"-"`
	XXX_sizecache        int32                             `json:"-"`
}

func (m *Assessment) Reset()         { *m = Assessment{} }
func (m *Assessment) String() string { return proto.CompactTextString(m) }
func (*Assessment) ProtoMessage()    {}
func (*Assessment) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{3}
}

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

var xxx_messageInfo_Assessment proto.InternalMessageInfo

func (m *Assessment) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Assessment) GetEvent() *Event {
	if m != nil {
		return m.Event
	}
	return nil
}

func (m *Assessment) GetScore() float32 {
	if m != nil {
		return m.Score
	}
	return 0
}

func (m *Assessment) GetTokenProperties() *TokenProperties {
	if m != nil {
		return m.TokenProperties
	}
	return nil
}

func (m *Assessment) GetReasons() []Assessment_ClassificationReason {
	if m != nil {
		return m.Reasons
	}
	return nil
}

type Event struct {
	// Optional. The user response token provided by the reCAPTCHA client-side integration
	// on your site.
	Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
	// Optional. The site key that was used to invoke reCAPTCHA on your site and generate
	// the token.
	SiteKey string `protobuf:"bytes,2,opt,name=site_key,json=siteKey,proto3" json:"site_key,omitempty"`
	// Optional. The user agent present in the request from the user's device related to
	// this event.
	UserAgent string `protobuf:"bytes,3,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
	// Optional. The IP address in the request from the user's device related to this event.
	UserIpAddress string `protobuf:"bytes,4,opt,name=user_ip_address,json=userIpAddress,proto3" json:"user_ip_address,omitempty"`
	// Optional. The expected action for this type of event. This should be the same action
	// provided at token generation time on client-side platforms already
	// integrated with recaptcha enterprise.
	ExpectedAction       string   `protobuf:"bytes,5,opt,name=expected_action,json=expectedAction,proto3" json:"expected_action,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Event) Reset()         { *m = Event{} }
func (m *Event) String() string { return proto.CompactTextString(m) }
func (*Event) ProtoMessage()    {}
func (*Event) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{4}
}

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

var xxx_messageInfo_Event proto.InternalMessageInfo

func (m *Event) GetToken() string {
	if m != nil {
		return m.Token
	}
	return ""
}

func (m *Event) GetSiteKey() string {
	if m != nil {
		return m.SiteKey
	}
	return ""
}

func (m *Event) GetUserAgent() string {
	if m != nil {
		return m.UserAgent
	}
	return ""
}

func (m *Event) GetUserIpAddress() string {
	if m != nil {
		return m.UserIpAddress
	}
	return ""
}

func (m *Event) GetExpectedAction() string {
	if m != nil {
		return m.ExpectedAction
	}
	return ""
}

type TokenProperties struct {
	// Whether the provided user response token is valid.
	Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
	// Reason associated with the response when valid = false.
	InvalidReason TokenProperties_InvalidReason `protobuf:"varint,2,opt,name=invalid_reason,json=invalidReason,proto3,enum=google.cloud.recaptchaenterprise.v1beta1.TokenProperties_InvalidReason" json:"invalid_reason,omitempty"`
	// The timestamp corresponding to the generation of the token.
	CreateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// The hostname of the page on which the token was generated.
	Hostname string `protobuf:"bytes,4,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// Action name provided at token generation.
	Action               string   `protobuf:"bytes,5,opt,name=action,proto3" json:"action,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *TokenProperties) Reset()         { *m = TokenProperties{} }
func (m *TokenProperties) String() string { return proto.CompactTextString(m) }
func (*TokenProperties) ProtoMessage()    {}
func (*TokenProperties) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{5}
}

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

var xxx_messageInfo_TokenProperties proto.InternalMessageInfo

func (m *TokenProperties) GetValid() bool {
	if m != nil {
		return m.Valid
	}
	return false
}

func (m *TokenProperties) GetInvalidReason() TokenProperties_InvalidReason {
	if m != nil {
		return m.InvalidReason
	}
	return TokenProperties_INVALID_REASON_UNSPECIFIED
}

func (m *TokenProperties) GetCreateTime() *timestamp.Timestamp {
	if m != nil {
		return m.CreateTime
	}
	return nil
}

func (m *TokenProperties) GetHostname() string {
	if m != nil {
		return m.Hostname
	}
	return ""
}

func (m *TokenProperties) GetAction() string {
	if m != nil {
		return m.Action
	}
	return ""
}

// The create key request message.
type CreateKeyRequest struct {
	// Required. The name of the project in which the key will be created, in the
	// format "projects/{project_number}".
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. Information to create a reCAPTCHA Enterprise key.
	Key                  *Key     `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CreateKeyRequest) Reset()         { *m = CreateKeyRequest{} }
func (m *CreateKeyRequest) String() string { return proto.CompactTextString(m) }
func (*CreateKeyRequest) ProtoMessage()    {}
func (*CreateKeyRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{6}
}

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

var xxx_messageInfo_CreateKeyRequest proto.InternalMessageInfo

func (m *CreateKeyRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *CreateKeyRequest) GetKey() *Key {
	if m != nil {
		return m.Key
	}
	return nil
}

// The list keys request message.
type ListKeysRequest struct {
	// Required. The name of the project that contains the keys that will be
	// listed, in the format "projects/{project_number}".
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Optional. The maximum number of keys to return. Default is 10. Max limit is
	// 1000.
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Optional. The next_page_token value returned from a previous.
	// ListKeysRequest, if any.
	PageToken            string   `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ListKeysRequest) Reset()         { *m = ListKeysRequest{} }
func (m *ListKeysRequest) String() string { return proto.CompactTextString(m) }
func (*ListKeysRequest) ProtoMessage()    {}
func (*ListKeysRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{7}
}

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

var xxx_messageInfo_ListKeysRequest proto.InternalMessageInfo

func (m *ListKeysRequest) GetParent() string {
	if m != nil {
		return m.Parent
	}
	return ""
}

func (m *ListKeysRequest) GetPageSize() int32 {
	if m != nil {
		return m.PageSize
	}
	return 0
}

func (m *ListKeysRequest) GetPageToken() string {
	if m != nil {
		return m.PageToken
	}
	return ""
}

// Response to request to list keys in a project.
type ListKeysResponse struct {
	// Key details.
	Keys []*Key `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty"`
	// Token to retrieve the next page of results. It is set to empty if no keys
	// remain in results.
	NextPageToken        string   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *ListKeysResponse) Reset()         { *m = ListKeysResponse{} }
func (m *ListKeysResponse) String() string { return proto.CompactTextString(m) }
func (*ListKeysResponse) ProtoMessage()    {}
func (*ListKeysResponse) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{8}
}

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

var xxx_messageInfo_ListKeysResponse proto.InternalMessageInfo

func (m *ListKeysResponse) GetKeys() []*Key {
	if m != nil {
		return m.Keys
	}
	return nil
}

func (m *ListKeysResponse) GetNextPageToken() string {
	if m != nil {
		return m.NextPageToken
	}
	return ""
}

// The get key request message.
type GetKeyRequest struct {
	// Required. The name of the requested key, in the format
	// "projects/{project_number}/keys/{key_id}".
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *GetKeyRequest) Reset()         { *m = GetKeyRequest{} }
func (m *GetKeyRequest) String() string { return proto.CompactTextString(m) }
func (*GetKeyRequest) ProtoMessage()    {}
func (*GetKeyRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{9}
}

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

var xxx_messageInfo_GetKeyRequest proto.InternalMessageInfo

func (m *GetKeyRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// The update key request message.
type UpdateKeyRequest struct {
	// Required. The key to update.
	Key *Key `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Optional. The mask to control which field of the key get updated. If the mask is not
	// present, all fields will be updated.
	UpdateMask           *field_mask.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	XXX_NoUnkeyedLiteral struct{}              `json:"-"`
	XXX_unrecognized     []byte                `json:"-"`
	XXX_sizecache        int32                 `json:"-"`
}

func (m *UpdateKeyRequest) Reset()         { *m = UpdateKeyRequest{} }
func (m *UpdateKeyRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateKeyRequest) ProtoMessage()    {}
func (*UpdateKeyRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{10}
}

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

var xxx_messageInfo_UpdateKeyRequest proto.InternalMessageInfo

func (m *UpdateKeyRequest) GetKey() *Key {
	if m != nil {
		return m.Key
	}
	return nil
}

func (m *UpdateKeyRequest) GetUpdateMask() *field_mask.FieldMask {
	if m != nil {
		return m.UpdateMask
	}
	return nil
}

// The delete key request message.
type DeleteKeyRequest struct {
	// Required. The name of the key to be deleted, in the format
	// "projects/{project_number}/keys/{key_id}".
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *DeleteKeyRequest) Reset()         { *m = DeleteKeyRequest{} }
func (m *DeleteKeyRequest) String() string { return proto.CompactTextString(m) }
func (*DeleteKeyRequest) ProtoMessage()    {}
func (*DeleteKeyRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{11}
}

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

var xxx_messageInfo_DeleteKeyRequest proto.InternalMessageInfo

func (m *DeleteKeyRequest) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

// A key used to identify and configure applications (web and/or mobile) that
// use reCAPTCHA Enterprise.
type Key struct {
	// The resource name for the Key in the format
	// "projects/{project_number}/keys/{key_id}".
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Human-readable display name of this key. Modifiable by user.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Platform specific settings for this key. The key can only be used on one
	// platform, the one it has settings for.
	//
	// Types that are valid to be assigned to PlatformSettings:
	//	*Key_WebSettings
	//	*Key_AndroidSettings
	//	*Key_IosSettings
	PlatformSettings     isKey_PlatformSettings `protobuf_oneof:"platform_settings"`
	XXX_NoUnkeyedLiteral struct{}               `json:"-"`
	XXX_unrecognized     []byte                 `json:"-"`
	XXX_sizecache        int32                  `json:"-"`
}

func (m *Key) Reset()         { *m = Key{} }
func (m *Key) String() string { return proto.CompactTextString(m) }
func (*Key) ProtoMessage()    {}
func (*Key) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{12}
}

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

var xxx_messageInfo_Key proto.InternalMessageInfo

func (m *Key) GetName() string {
	if m != nil {
		return m.Name
	}
	return ""
}

func (m *Key) GetDisplayName() string {
	if m != nil {
		return m.DisplayName
	}
	return ""
}

type isKey_PlatformSettings interface {
	isKey_PlatformSettings()
}

type Key_WebSettings struct {
	WebSettings *WebKeySettings `protobuf:"bytes,3,opt,name=web_settings,json=webSettings,proto3,oneof"`
}

type Key_AndroidSettings struct {
	AndroidSettings *AndroidKeySettings `protobuf:"bytes,4,opt,name=android_settings,json=androidSettings,proto3,oneof"`
}

type Key_IosSettings struct {
	IosSettings *IOSKeySettings `protobuf:"bytes,5,opt,name=ios_settings,json=iosSettings,proto3,oneof"`
}

func (*Key_WebSettings) isKey_PlatformSettings() {}

func (*Key_AndroidSettings) isKey_PlatformSettings() {}

func (*Key_IosSettings) isKey_PlatformSettings() {}

func (m *Key) GetPlatformSettings() isKey_PlatformSettings {
	if m != nil {
		return m.PlatformSettings
	}
	return nil
}

func (m *Key) GetWebSettings() *WebKeySettings {
	if x, ok := m.GetPlatformSettings().(*Key_WebSettings); ok {
		return x.WebSettings
	}
	return nil
}

func (m *Key) GetAndroidSettings() *AndroidKeySettings {
	if x, ok := m.GetPlatformSettings().(*Key_AndroidSettings); ok {
		return x.AndroidSettings
	}
	return nil
}

func (m *Key) GetIosSettings() *IOSKeySettings {
	if x, ok := m.GetPlatformSettings().(*Key_IosSettings); ok {
		return x.IosSettings
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Key) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Key_WebSettings)(nil),
		(*Key_AndroidSettings)(nil),
		(*Key_IosSettings)(nil),
	}
}

// Settings specific to keys that can be used by websites.
type WebKeySettings struct {
	// Whether allowed_domains is enforced or not.
	EnforceAllowedDomains bool `protobuf:"varint,3,opt,name=enforce_allowed_domains,json=enforceAllowedDomains,proto3" json:"enforce_allowed_domains,omitempty"`
	// Domains or subdomains of websites allowed to use the key. All subdomains
	// of an allowed domain are automatically allowed. A valid domain requires a
	// host and must not include any path, port, query or fragment.
	// Examples: 'example.com' or 'subdomain.example.com'
	AllowedDomains []string `protobuf:"bytes,1,rep,name=allowed_domains,json=allowedDomains,proto3" json:"allowed_domains,omitempty"`
	// Whether this key can be used on AMP (Accelerated Mobile Pages) websites.
	AllowAmpTraffic bool `protobuf:"varint,2,opt,name=allow_amp_traffic,json=allowAmpTraffic,proto3" json:"allow_amp_traffic,omitempty"`
	// Required. Describes how this key is integrated with the website.
	IntegrationType WebKeySettings_IntegrationType `protobuf:"varint,4,opt,name=integration_type,json=integrationType,proto3,enum=google.cloud.recaptchaenterprise.v1beta1.WebKeySettings_IntegrationType" json:"integration_type,omitempty"`
	// Settings for the frequency and difficulty at which this key triggers
	// captcha challenges. This should only be specified for IntegrationTypes
	// CHECKBOX_CHALLENGE and INVISIBLE_CHALLENGE.
	ChallengeSecurityPreference WebKeySettings_ChallengeSecurityPreference `protobuf:"varint,5,opt,name=challenge_security_preference,json=challengeSecurityPreference,proto3,enum=google.cloud.recaptchaenterprise.v1beta1.WebKeySettings_ChallengeSecurityPreference" json:"challenge_security_preference,omitempty"`
	XXX_NoUnkeyedLiteral        struct{}                                   `json:"-"`
	XXX_unrecognized            []byte                                     `json:"-"`
	XXX_sizecache               int32                                      `json:"-"`
}

func (m *WebKeySettings) Reset()         { *m = WebKeySettings{} }
func (m *WebKeySettings) String() string { return proto.CompactTextString(m) }
func (*WebKeySettings) ProtoMessage()    {}
func (*WebKeySettings) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{13}
}

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

var xxx_messageInfo_WebKeySettings proto.InternalMessageInfo

func (m *WebKeySettings) GetEnforceAllowedDomains() bool {
	if m != nil {
		return m.EnforceAllowedDomains
	}
	return false
}

func (m *WebKeySettings) GetAllowedDomains() []string {
	if m != nil {
		return m.AllowedDomains
	}
	return nil
}

func (m *WebKeySettings) GetAllowAmpTraffic() bool {
	if m != nil {
		return m.AllowAmpTraffic
	}
	return false
}

func (m *WebKeySettings) GetIntegrationType() WebKeySettings_IntegrationType {
	if m != nil {
		return m.IntegrationType
	}
	return WebKeySettings_INTEGRATION_TYPE_UNSPECIFIED
}

func (m *WebKeySettings) GetChallengeSecurityPreference() WebKeySettings_ChallengeSecurityPreference {
	if m != nil {
		return m.ChallengeSecurityPreference
	}
	return WebKeySettings_CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED
}

// Settings specific to keys that can be used by Android apps.
type AndroidKeySettings struct {
	// Android package names of apps allowed to use the key.
	// Example: 'com.companyname.appname'
	AllowedPackageNames  []string `protobuf:"bytes,1,rep,name=allowed_package_names,json=allowedPackageNames,proto3" json:"allowed_package_names,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *AndroidKeySettings) Reset()         { *m = AndroidKeySettings{} }
func (m *AndroidKeySettings) String() string { return proto.CompactTextString(m) }
func (*AndroidKeySettings) ProtoMessage()    {}
func (*AndroidKeySettings) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{14}
}

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

var xxx_messageInfo_AndroidKeySettings proto.InternalMessageInfo

func (m *AndroidKeySettings) GetAllowedPackageNames() []string {
	if m != nil {
		return m.AllowedPackageNames
	}
	return nil
}

// Settings specific to keys that can be used by iOS apps.
type IOSKeySettings struct {
	// iOS bundle ids of apps allowed to use the key.
	// Example: 'com.companyname.productname.appname'
	AllowedBundleIds     []string `protobuf:"bytes,1,rep,name=allowed_bundle_ids,json=allowedBundleIds,proto3" json:"allowed_bundle_ids,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *IOSKeySettings) Reset()         { *m = IOSKeySettings{} }
func (m *IOSKeySettings) String() string { return proto.CompactTextString(m) }
func (*IOSKeySettings) ProtoMessage()    {}
func (*IOSKeySettings) Descriptor() ([]byte, []int) {
	return fileDescriptor_72b3da91aae1398d, []int{15}
}

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

var xxx_messageInfo_IOSKeySettings proto.InternalMessageInfo

func (m *IOSKeySettings) GetAllowedBundleIds() []string {
	if m != nil {
		return m.AllowedBundleIds
	}
	return nil
}

func init() {
	proto.RegisterEnum("google.cloud.recaptchaenterprise.v1beta1.AnnotateAssessmentRequest_Annotation", AnnotateAssessmentRequest_Annotation_name, AnnotateAssessmentRequest_Annotation_value)
	proto.RegisterEnum("google.cloud.recaptchaenterprise.v1beta1.Assessment_ClassificationReason", Assessment_ClassificationReason_name, Assessment_ClassificationReason_value)
	proto.RegisterEnum("google.cloud.recaptchaenterprise.v1beta1.TokenProperties_InvalidReason", TokenProperties_InvalidReason_name, TokenProperties_InvalidReason_value)
	proto.RegisterEnum("google.cloud.recaptchaenterprise.v1beta1.WebKeySettings_IntegrationType", WebKeySettings_IntegrationType_name, WebKeySettings_IntegrationType_value)
	proto.RegisterEnum("google.cloud.recaptchaenterprise.v1beta1.WebKeySettings_ChallengeSecurityPreference", WebKeySettings_ChallengeSecurityPreference_name, WebKeySettings_ChallengeSecurityPreference_value)
	proto.RegisterType((*CreateAssessmentRequest)(nil), "google.cloud.recaptchaenterprise.v1beta1.CreateAssessmentRequest")
	proto.RegisterType((*AnnotateAssessmentRequest)(nil), "google.cloud.recaptchaenterprise.v1beta1.AnnotateAssessmentRequest")
	proto.RegisterType((*AnnotateAssessmentResponse)(nil), "google.cloud.recaptchaenterprise.v1beta1.AnnotateAssessmentResponse")
	proto.RegisterType((*Assessment)(nil), "google.cloud.recaptchaenterprise.v1beta1.Assessment")
	proto.RegisterType((*Event)(nil), "google.cloud.recaptchaenterprise.v1beta1.Event")
	proto.RegisterType((*TokenProperties)(nil), "google.cloud.recaptchaenterprise.v1beta1.TokenProperties")
	proto.RegisterType((*CreateKeyRequest)(nil), "google.cloud.recaptchaenterprise.v1beta1.CreateKeyRequest")
	proto.RegisterType((*ListKeysRequest)(nil), "google.cloud.recaptchaenterprise.v1beta1.ListKeysRequest")
	proto.RegisterType((*ListKeysResponse)(nil), "google.cloud.recaptchaenterprise.v1beta1.ListKeysResponse")
	proto.RegisterType((*GetKeyRequest)(nil), "google.cloud.recaptchaenterprise.v1beta1.GetKeyRequest")
	proto.RegisterType((*UpdateKeyRequest)(nil), "google.cloud.recaptchaenterprise.v1beta1.UpdateKeyRequest")
	proto.RegisterType((*DeleteKeyRequest)(nil), "google.cloud.recaptchaenterprise.v1beta1.DeleteKeyRequest")
	proto.RegisterType((*Key)(nil), "google.cloud.recaptchaenterprise.v1beta1.Key")
	proto.RegisterType((*WebKeySettings)(nil), "google.cloud.recaptchaenterprise.v1beta1.WebKeySettings")
	proto.RegisterType((*AndroidKeySettings)(nil), "google.cloud.recaptchaenterprise.v1beta1.AndroidKeySettings")
	proto.RegisterType((*IOSKeySettings)(nil), "google.cloud.recaptchaenterprise.v1beta1.IOSKeySettings")
}

func init() {
	proto.RegisterFile("google/cloud/recaptchaenterprise/v1beta1/recaptchaenterprise.proto", fileDescriptor_72b3da91aae1398d)
}

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

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// RecaptchaEnterpriseServiceV1Beta1Client is the client API for RecaptchaEnterpriseServiceV1Beta1 service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type RecaptchaEnterpriseServiceV1Beta1Client interface {
	// Creates an Assessment of the likelihood an event is legitimate.
	CreateAssessment(ctx context.Context, in *CreateAssessmentRequest, opts ...grpc.CallOption) (*Assessment, error)
	// Annotates a previously created Assessment to provide additional information
	// on whether the event turned out to be authentic or fradulent.
	AnnotateAssessment(ctx context.Context, in *AnnotateAssessmentRequest, opts ...grpc.CallOption) (*AnnotateAssessmentResponse, error)
	// Creates a new reCAPTCHA Enterprise key.
	CreateKey(ctx context.Context, in *CreateKeyRequest, opts ...grpc.CallOption) (*Key, error)
	// Returns the list of all keys that belong to a project.
	ListKeys(ctx context.Context, in *ListKeysRequest, opts ...grpc.CallOption) (*ListKeysResponse, error)
	// Returns the specified key.
	GetKey(ctx context.Context, in *GetKeyRequest, opts ...grpc.CallOption) (*Key, error)
	// Updates the specified key.
	UpdateKey(ctx context.Context, in *UpdateKeyRequest, opts ...grpc.CallOption) (*Key, error)
	// Deletes the specified key.
	DeleteKey(ctx context.Context, in *DeleteKeyRequest, opts ...grpc.CallOption) (*empty.Empty, error)
}

type recaptchaEnterpriseServiceV1Beta1Client struct {
	cc *grpc.ClientConn
}

func NewRecaptchaEnterpriseServiceV1Beta1Client(cc *grpc.ClientConn) RecaptchaEnterpriseServiceV1Beta1Client {
	return &recaptchaEnterpriseServiceV1Beta1Client{cc}
}

func (c *recaptchaEnterpriseServiceV1Beta1Client) CreateAssessment(ctx context.Context, in *CreateAssessmentRequest, opts ...grpc.CallOption) (*Assessment, error) {
	out := new(Assessment)
	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/CreateAssessment", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *recaptchaEnterpriseServiceV1Beta1Client) AnnotateAssessment(ctx context.Context, in *AnnotateAssessmentRequest, opts ...grpc.CallOption) (*AnnotateAssessmentResponse, error) {
	out := new(AnnotateAssessmentResponse)
	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/AnnotateAssessment", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *recaptchaEnterpriseServiceV1Beta1Client) CreateKey(ctx context.Context, in *CreateKeyRequest, opts ...grpc.CallOption) (*Key, error) {
	out := new(Key)
	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/CreateKey", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *recaptchaEnterpriseServiceV1Beta1Client) ListKeys(ctx context.Context, in *ListKeysRequest, opts ...grpc.CallOption) (*ListKeysResponse, error) {
	out := new(ListKeysResponse)
	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/ListKeys", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *recaptchaEnterpriseServiceV1Beta1Client) GetKey(ctx context.Context, in *GetKeyRequest, opts ...grpc.CallOption) (*Key, error) {
	out := new(Key)
	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/GetKey", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *recaptchaEnterpriseServiceV1Beta1Client) UpdateKey(ctx context.Context, in *UpdateKeyRequest, opts ...grpc.CallOption) (*Key, error) {
	out := new(Key)
	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/UpdateKey", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *recaptchaEnterpriseServiceV1Beta1Client) DeleteKey(ctx context.Context, in *DeleteKeyRequest, opts ...grpc.CallOption) (*empty.Empty, error) {
	out := new(empty.Empty)
	err := c.cc.Invoke(ctx, "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/DeleteKey", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// RecaptchaEnterpriseServiceV1Beta1Server is the server API for RecaptchaEnterpriseServiceV1Beta1 service.
type RecaptchaEnterpriseServiceV1Beta1Server interface {
	// Creates an Assessment of the likelihood an event is legitimate.
	CreateAssessment(context.Context, *CreateAssessmentRequest) (*Assessment, error)
	// Annotates a previously created Assessment to provide additional information
	// on whether the event turned out to be authentic or fradulent.
	AnnotateAssessment(context.Context, *AnnotateAssessmentRequest) (*AnnotateAssessmentResponse, error)
	// Creates a new reCAPTCHA Enterprise key.
	CreateKey(context.Context, *CreateKeyRequest) (*Key, error)
	// Returns the list of all keys that belong to a project.
	ListKeys(context.Context, *ListKeysRequest) (*ListKeysResponse, error)
	// Returns the specified key.
	GetKey(context.Context, *GetKeyRequest) (*Key, error)
	// Updates the specified key.
	UpdateKey(context.Context, *UpdateKeyRequest) (*Key, error)
	// Deletes the specified key.
	DeleteKey(context.Context, *DeleteKeyRequest) (*empty.Empty, error)
}

// UnimplementedRecaptchaEnterpriseServiceV1Beta1Server can be embedded to have forward compatible implementations.
type UnimplementedRecaptchaEnterpriseServiceV1Beta1Server struct {
}

func (*UnimplementedRecaptchaEnterpriseServiceV1Beta1Server) CreateAssessment(ctx context.Context, req *CreateAssessmentRequest) (*Assessment, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateAssessment not implemented")
}
func (*UnimplementedRecaptchaEnterpriseServiceV1Beta1Server) AnnotateAssessment(ctx context.Context, req *AnnotateAssessmentRequest) (*AnnotateAssessmentResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AnnotateAssessment not implemented")
}
func (*UnimplementedRecaptchaEnterpriseServiceV1Beta1Server) CreateKey(ctx context.Context, req *CreateKeyRequest) (*Key, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateKey not implemented")
}
func (*UnimplementedRecaptchaEnterpriseServiceV1Beta1Server) ListKeys(ctx context.Context, req *ListKeysRequest) (*ListKeysResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListKeys not implemented")
}
func (*UnimplementedRecaptchaEnterpriseServiceV1Beta1Server) GetKey(ctx context.Context, req *GetKeyRequest) (*Key, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetKey not implemented")
}
func (*UnimplementedRecaptchaEnterpriseServiceV1Beta1Server) UpdateKey(ctx context.Context, req *UpdateKeyRequest) (*Key, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateKey not implemented")
}
func (*UnimplementedRecaptchaEnterpriseServiceV1Beta1Server) DeleteKey(ctx context.Context, req *DeleteKeyRequest) (*empty.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteKey not implemented")
}

func RegisterRecaptchaEnterpriseServiceV1Beta1Server(s *grpc.Server, srv RecaptchaEnterpriseServiceV1Beta1Server) {
	s.RegisterService(&_RecaptchaEnterpriseServiceV1Beta1_serviceDesc, srv)
}

func _RecaptchaEnterpriseServiceV1Beta1_CreateAssessment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateAssessmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).CreateAssessment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/CreateAssessment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).CreateAssessment(ctx, req.(*CreateAssessmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RecaptchaEnterpriseServiceV1Beta1_AnnotateAssessment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AnnotateAssessmentRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).AnnotateAssessment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/AnnotateAssessment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).AnnotateAssessment(ctx, req.(*AnnotateAssessmentRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RecaptchaEnterpriseServiceV1Beta1_CreateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).CreateKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/CreateKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).CreateKey(ctx, req.(*CreateKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RecaptchaEnterpriseServiceV1Beta1_ListKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListKeysRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).ListKeys(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/ListKeys",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).ListKeys(ctx, req.(*ListKeysRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RecaptchaEnterpriseServiceV1Beta1_GetKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).GetKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/GetKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).GetKey(ctx, req.(*GetKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RecaptchaEnterpriseServiceV1Beta1_UpdateKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).UpdateKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/UpdateKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).UpdateKey(ctx, req.(*UpdateKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _RecaptchaEnterpriseServiceV1Beta1_DeleteKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteKeyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).DeleteKey(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1/DeleteKey",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(RecaptchaEnterpriseServiceV1Beta1Server).DeleteKey(ctx, req.(*DeleteKeyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _RecaptchaEnterpriseServiceV1Beta1_serviceDesc = grpc.ServiceDesc{
	ServiceName: "google.cloud.recaptchaenterprise.v1beta1.RecaptchaEnterpriseServiceV1Beta1",
	HandlerType: (*RecaptchaEnterpriseServiceV1Beta1Server)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateAssessment",
			Handler:    _RecaptchaEnterpriseServiceV1Beta1_CreateAssessment_Handler,
		},
		{
			MethodName: "AnnotateAssessment",
			Handler:    _RecaptchaEnterpriseServiceV1Beta1_AnnotateAssessment_Handler,
		},
		{
			MethodName: "CreateKey",
			Handler:    _RecaptchaEnterpriseServiceV1Beta1_CreateKey_Handler,
		},
		{
			MethodName: "ListKeys",
			Handler:    _RecaptchaEnterpriseServiceV1Beta1_ListKeys_Handler,
		},
		{
			MethodName: "GetKey",
			Handler:    _RecaptchaEnterpriseServiceV1Beta1_GetKey_Handler,
		},
		{
			MethodName: "UpdateKey",
			Handler:    _RecaptchaEnterpriseServiceV1Beta1_UpdateKey_Handler,
		},
		{
			MethodName: "DeleteKey",
			Handler:    _RecaptchaEnterpriseServiceV1Beta1_DeleteKey_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "google/cloud/recaptchaenterprise/v1beta1/recaptchaenterprise.proto",
}
