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

package api

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

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

// Logging configuration of the service.
//
// The following example shows how to configure logs to be sent to the
// producer and consumer projects. In the example,
// the `library.googleapis.com/activity_history` log is
// sent to both the producer and consumer projects, whereas
// the `library.googleapis.com/purchase_history` log is only sent to the
// producer project:
//
//     monitored_resources:
//     - type: library.googleapis.com/branch
//       labels:
//       - key: /city
//         description: The city where the library branch is located in.
//       - key: /name
//         description: The name of the branch.
//     logs:
//     - name: library.googleapis.com/activity_history
//       labels:
//       - key: /customer_id
//     - name: library.googleapis.com/purchase_history
//     logging:
//       producer_destinations:
//       - monitored_resource: library.googleapis.com/branch
//         logs:
//         - library.googleapis.com/activity_history
//         - library.googleapis.com/purchase_history
//       consumer_destinations:
//       - monitored_resource: library.googleapis.com/branch
//         logs:
//         - library.googleapis.com/activity_history
//
type Logging struct {
	// Logging configurations for sending logs to the producer project.
	// There can be multiple producer destinations, each one must have a
	// different monitored resource type. A log can be used in at most
	// one producer destination.
	ProducerDestinations []*Logging_LoggingDestination `protobuf:"bytes,1,rep,name=producer_destinations,json=producerDestinations" json:"producer_destinations,omitempty"`
	// Logging configurations for sending logs to the consumer project.
	// There can be multiple consumer destinations, each one must have a
	// different monitored resource type. A log can be used in at most
	// one consumer destination.
	ConsumerDestinations []*Logging_LoggingDestination `protobuf:"bytes,2,rep,name=consumer_destinations,json=consumerDestinations" json:"consumer_destinations,omitempty"`
}

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

func (m *Logging) GetProducerDestinations() []*Logging_LoggingDestination {
	if m != nil {
		return m.ProducerDestinations
	}
	return nil
}

func (m *Logging) GetConsumerDestinations() []*Logging_LoggingDestination {
	if m != nil {
		return m.ConsumerDestinations
	}
	return nil
}

// Configuration of a specific logging destination (the producer project
// or the consumer project).
type Logging_LoggingDestination struct {
	// The monitored resource type. The type must be defined in
	// [Service.monitored_resources][google.api.Service.monitored_resources] section.
	MonitoredResource string `protobuf:"bytes,3,opt,name=monitored_resource,json=monitoredResource" json:"monitored_resource,omitempty"`
	// Names of the logs to be sent to this destination. Each name must
	// be defined in the [Service.logs][google.api.Service.logs] section.
	Logs []string `protobuf:"bytes,1,rep,name=logs" json:"logs,omitempty"`
}

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

func init() {
	proto.RegisterType((*Logging)(nil), "google.api.Logging")
	proto.RegisterType((*Logging_LoggingDestination)(nil), "google.api.Logging.LoggingDestination")
}

func init() { proto.RegisterFile("google/api/logging.proto", fileDescriptor10) }

var fileDescriptor10 = []byte{
	// 226 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x90, 0xb1, 0x4a, 0xc5, 0x30,
	0x14, 0x86, 0xe9, 0xbd, 0xa2, 0xdc, 0xa3, 0x08, 0x06, 0x85, 0x52, 0x1c, 0x8a, 0x83, 0x74, 0x31,
	0x05, 0x7d, 0x83, 0xe2, 0xe8, 0x50, 0xb2, 0x38, 0x38, 0x94, 0x98, 0x86, 0x10, 0x68, 0x73, 0x42,
	0x92, 0xbe, 0x8d, 0x0f, 0x2b, 0x6d, 0x5a, 0x1b, 0x74, 0x72, 0x4a, 0xc8, 0xff, 0x9d, 0x2f, 0xc9,
	0x0f, 0xb9, 0x42, 0x54, 0x83, 0xac, 0xb9, 0xd5, 0xf5, 0x80, 0x4a, 0x69, 0xa3, 0xa8, 0x75, 0x18,
	0x90, 0x40, 0x4c, 0x28, 0xb7, 0xba, 0xb8, 0x4f, 0x28, 0x6e, 0x0c, 0x06, 0x1e, 0x34, 0x1a, 0x1f,
	0xc9, 0x87, 0xaf, 0x03, 0x5c, 0xbc, 0xc5, 0x59, 0xf2, 0x01, 0x77, 0xd6, 0x61, 0x3f, 0x09, 0xe9,
	0xba, 0x5e, 0xfa, 0xa0, 0x4d, 0x44, 0xf3, 0xac, 0x3c, 0x56, 0x97, 0xcf, 0x8f, 0x74, 0xb7, 0xd2,
	0x75, 0x66, 0x5b, 0x5f, 0x77, 0x9c, 0xdd, 0x6e, 0x92, 0xe4, 0xd0, 0xcf, 0x72, 0x81, 0xc6, 0x4f,
	0xe3, 0x6f, 0xf9, 0xe1, 0x7f, 0xf2, 0x4d, 0x92, 0xca, 0x8b, 0x77, 0x20, 0x7f, 0x59, 0xf2, 0x04,
	0x64, 0x44, 0xa3, 0x03, 0x3a, 0xd9, 0x77, 0x4e, 0x7a, 0x9c, 0x9c, 0x90, 0xf9, 0xb1, 0xcc, 0xaa,
	0x13, 0xbb, 0xf9, 0x49, 0xd8, 0x1a, 0x10, 0x02, 0x67, 0x03, 0xaa, 0xf8, 0xdb, 0x13, 0x5b, 0xf6,
	0x4d, 0x09, 0xd7, 0x02, 0xc7, 0xe4, 0x6d, 0xcd, 0xd5, 0x7a, 0x51, 0x3b, 0xd7, 0xd7, 0x66, 0x9f,
	0xe7, 0x4b, 0x8f, 0x2f, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfb, 0xf7, 0xa7, 0x53, 0x8d, 0x01,
	0x00, 0x00,
}
