// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/api/backend.proto

package serviceconfig

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.ProtoPackageIsVersion2 // please upgrade the proto package

// `Backend` defines the backend configuration for a service.
type Backend struct {
	// A list of API backend rules that apply to individual API methods.
	//
	// **NOTE:** All service configuration rules follow "last one wins" order.
	Rules                []*BackendRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

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

var xxx_messageInfo_Backend proto.InternalMessageInfo

func (m *Backend) GetRules() []*BackendRule {
	if m != nil {
		return m.Rules
	}
	return nil
}

// A backend rule provides configuration for an individual API element.
type BackendRule struct {
	// Selects the methods to which this rule applies.
	//
	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
	Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"`
	// The address of the API backend.
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// The number of seconds to wait for a response from a request.  The default
	// deadline for gRPC is infinite (no deadline) and HTTP requests is 5 seconds.
	Deadline float64 `protobuf:"fixed64,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
	// Minimum deadline in seconds needed for this method. Calls having deadline
	// value lower than this will be rejected.
	MinDeadline          float64  `protobuf:"fixed64,4,opt,name=min_deadline,json=minDeadline,proto3" json:"min_deadline,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_BackendRule proto.InternalMessageInfo

func (m *BackendRule) GetSelector() string {
	if m != nil {
		return m.Selector
	}
	return ""
}

func (m *BackendRule) GetAddress() string {
	if m != nil {
		return m.Address
	}
	return ""
}

func (m *BackendRule) GetDeadline() float64 {
	if m != nil {
		return m.Deadline
	}
	return 0
}

func (m *BackendRule) GetMinDeadline() float64 {
	if m != nil {
		return m.MinDeadline
	}
	return 0
}

func init() {
	proto.RegisterType((*Backend)(nil), "google.api.Backend")
	proto.RegisterType((*BackendRule)(nil), "google.api.BackendRule")
}

func init() { proto.RegisterFile("google/api/backend.proto", fileDescriptor_87d0f28daa3f64f0) }

var fileDescriptor_87d0f28daa3f64f0 = []byte{
	// 246 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xb1, 0x4e, 0xc3, 0x30,
	0x10, 0x86, 0xe5, 0xb6, 0x50, 0xb8, 0x54, 0x0c, 0x59, 0xb0, 0x98, 0x42, 0xa7, 0x2c, 0x38, 0x12,
	0x2c, 0x48, 0x4c, 0x44, 0x20, 0xc4, 0x16, 0x65, 0x64, 0x41, 0xae, 0x7d, 0x58, 0x16, 0x8e, 0x2f,
	0xb2, 0x5b, 0x1e, 0x80, 0x47, 0xe1, 0x49, 0x51, 0x9d, 0x10, 0xda, 0xf1, 0xbb, 0xef, 0x3f, 0xe9,
	0xee, 0x07, 0x6e, 0x88, 0x8c, 0xc3, 0x4a, 0xf6, 0xb6, 0xda, 0x48, 0xf5, 0x89, 0x5e, 0x8b, 0x3e,
	0xd0, 0x96, 0x72, 0x18, 0x8c, 0x90, 0xbd, 0x5d, 0xdf, 0xc3, 0xb2, 0x1e, 0x64, 0x7e, 0x03, 0x27,
	0x61, 0xe7, 0x30, 0x72, 0x56, 0xcc, 0xcb, 0xec, 0xf6, 0x52, 0xfc, 0xc7, 0xc4, 0x98, 0x69, 0x77,
	0x0e, 0xdb, 0x21, 0xb5, 0xfe, 0x66, 0x90, 0x1d, 0x8c, 0xf3, 0x2b, 0x38, 0x8b, 0xe8, 0x50, 0x6d,
	0x29, 0x70, 0x56, 0xb0, 0xf2, 0xbc, 0x9d, 0x38, 0xe7, 0xb0, 0x94, 0x5a, 0x07, 0x8c, 0x91, 0xcf,
	0x92, 0xfa, 0xc3, 0xfd, 0x96, 0x46, 0xa9, 0x9d, 0xf5, 0xc8, 0xe7, 0x05, 0x2b, 0x59, 0x3b, 0x71,
	0x7e, 0x0d, 0xab, 0xce, 0xfa, 0xf7, 0xc9, 0x2f, 0x92, 0xcf, 0x3a, 0xeb, 0x9f, 0xc6, 0x51, 0xed,
	0xe1, 0x42, 0x51, 0x77, 0x70, 0x69, 0xbd, 0x1a, 0x6f, 0x6a, 0xf6, 0xaf, 0x36, 0xec, 0xed, 0x79,
	0x74, 0x86, 0x9c, 0xf4, 0x46, 0x50, 0x30, 0x95, 0x41, 0x9f, 0x8a, 0xa8, 0x06, 0x25, 0x7b, 0x1b,
	0x53, 0x4b, 0x11, 0xc3, 0x97, 0x55, 0xa8, 0xc8, 0x7f, 0x58, 0xf3, 0x70, 0x44, 0x3f, 0xb3, 0xc5,
	0xcb, 0x63, 0xf3, 0xba, 0x39, 0x4d, 0x8b, 0x77, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7d, 0xc3,
	0xd8, 0x52, 0x5d, 0x01, 0x00, 0x00,
}
