// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/monitoring/dashboard/v1/dashboard.proto

package dashboard

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
)

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

// A Google Stackdriver dashboard. Dashboards define the content and layout
// of pages in the Stackdriver web application.
type Dashboard struct {
	// The resource name of the dashboard.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The mutable, human-readable name.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// `etag` is used for optimistic concurrency control as a way to help
	// prevent simultaneous updates of a policy from overwriting each other.
	// An `etag` is returned in the response to `GetDashboard`, and
	// users are expected to put that etag in the request to `UpdateDashboard` to
	// ensure that their change will be applied to the same version of the
	// Dashboard configuration. The field should not be passed during
	// dashboard creation.
	Etag string `protobuf:"bytes,4,opt,name=etag,proto3" json:"etag,omitempty"`
	// A dashboard's root container element that defines the layout style.
	//
	// Types that are valid to be assigned to Layout:
	//	*Dashboard_GridLayout
	//	*Dashboard_RowLayout
	//	*Dashboard_ColumnLayout
	Layout               isDashboard_Layout `protobuf_oneof:"layout"`
	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
	XXX_unrecognized     []byte             `json:"-"`
	XXX_sizecache        int32              `json:"-"`
}

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

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

var xxx_messageInfo_Dashboard proto.InternalMessageInfo

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

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

func (m *Dashboard) GetEtag() string {
	if m != nil {
		return m.Etag
	}
	return ""
}

type isDashboard_Layout interface {
	isDashboard_Layout()
}

type Dashboard_GridLayout struct {
	GridLayout *GridLayout `protobuf:"bytes,5,opt,name=grid_layout,json=gridLayout,proto3,oneof"`
}

type Dashboard_RowLayout struct {
	RowLayout *RowLayout `protobuf:"bytes,8,opt,name=row_layout,json=rowLayout,proto3,oneof"`
}

type Dashboard_ColumnLayout struct {
	ColumnLayout *ColumnLayout `protobuf:"bytes,9,opt,name=column_layout,json=columnLayout,proto3,oneof"`
}

func (*Dashboard_GridLayout) isDashboard_Layout() {}

func (*Dashboard_RowLayout) isDashboard_Layout() {}

func (*Dashboard_ColumnLayout) isDashboard_Layout() {}

func (m *Dashboard) GetLayout() isDashboard_Layout {
	if m != nil {
		return m.Layout
	}
	return nil
}

func (m *Dashboard) GetGridLayout() *GridLayout {
	if x, ok := m.GetLayout().(*Dashboard_GridLayout); ok {
		return x.GridLayout
	}
	return nil
}

func (m *Dashboard) GetRowLayout() *RowLayout {
	if x, ok := m.GetLayout().(*Dashboard_RowLayout); ok {
		return x.RowLayout
	}
	return nil
}

func (m *Dashboard) GetColumnLayout() *ColumnLayout {
	if x, ok := m.GetLayout().(*Dashboard_ColumnLayout); ok {
		return x.ColumnLayout
	}
	return nil
}

// XXX_OneofWrappers is for the internal use of the proto package.
func (*Dashboard) XXX_OneofWrappers() []interface{} {
	return []interface{}{
		(*Dashboard_GridLayout)(nil),
		(*Dashboard_RowLayout)(nil),
		(*Dashboard_ColumnLayout)(nil),
	}
}

func init() {
	proto.RegisterType((*Dashboard)(nil), "google.monitoring.dashboard.v1.Dashboard")
}

func init() {
	proto.RegisterFile("google/monitoring/dashboard/v1/dashboard.proto", fileDescriptor_0fd3ce5c99bdbe14)
}

var fileDescriptor_0fd3ce5c99bdbe14 = []byte{
	// 320 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0xc1, 0x4e, 0xc2, 0x40,
	0x10, 0x86, 0x2d, 0x41, 0x42, 0x07, 0x8c, 0xc9, 0x9e, 0x88, 0x07, 0x83, 0x9c, 0xd0, 0x90, 0x6d,
	0xd0, 0xdb, 0x7a, 0x03, 0x13, 0x8c, 0x11, 0x43, 0x30, 0xf1, 0xe0, 0x85, 0x2c, 0xb4, 0x59, 0x37,
	0xd9, 0xee, 0x90, 0x6d, 0x81, 0xf0, 0x4c, 0xbe, 0x8c, 0xcf, 0xe1, 0x53, 0x18, 0x76, 0xe9, 0xd6,
	0x8b, 0xf6, 0x36, 0x7f, 0xff, 0xff, 0xff, 0xa6, 0xd9, 0x01, 0x2a, 0x10, 0x85, 0x4a, 0xa2, 0x14,
	0xb5, 0xcc, 0xd1, 0x48, 0x2d, 0xa2, 0x98, 0x67, 0x1f, 0x4b, 0xe4, 0x26, 0x8e, 0xb6, 0xc3, 0x52,
	0xd0, 0xb5, 0xc1, 0x1c, 0xc9, 0xa5, 0xcb, 0xd3, 0x32, 0x4f, 0xcb, 0xc8, 0x76, 0x78, 0x31, 0xa8,
	0xe0, 0x29, 0xbe, 0xc7, 0x4d, 0x9e, 0x39, 0x5a, 0xef, 0xab, 0x06, 0xe1, 0x43, 0x61, 0x13, 0x02,
	0x75, 0xcd, 0xd3, 0xa4, 0x13, 0x74, 0x83, 0x7e, 0x38, 0xb7, 0x33, 0xb9, 0x82, 0x76, 0x2c, 0xb3,
	0xb5, 0xe2, 0xfb, 0x85, 0xf5, 0x6a, 0xd6, 0x6b, 0x1d, 0xbf, 0xbd, 0x1c, 0x22, 0x04, 0xea, 0x49,
	0xce, 0x45, 0xa7, 0xee, 0x6a, 0x87, 0x99, 0x4c, 0xa1, 0x25, 0x8c, 0x8c, 0x17, 0x6e, 0x5d, 0xe7,
	0xb4, 0x1b, 0xf4, 0x5b, 0xb7, 0x37, 0xf4, 0xff, 0x9f, 0xa7, 0x13, 0x23, 0xe3, 0x67, 0xdb, 0x78,
	0x3c, 0x99, 0x83, 0xf0, 0x8a, 0x3c, 0x01, 0x18, 0xdc, 0x15, 0xb4, 0xa6, 0xa5, 0x5d, 0x57, 0xd1,
	0xe6, 0xb8, 0xf3, 0xb0, 0xd0, 0x14, 0x82, 0xbc, 0xc2, 0xd9, 0x0a, 0xd5, 0x26, 0xd5, 0x05, 0x2e,
	0xb4, 0xb8, 0x41, 0x15, 0x6e, 0x6c, 0x4b, 0x9e, 0xd8, 0x5e, 0xfd, 0xd2, 0xa3, 0x26, 0x34, 0x1c,
	0x6d, 0xf4, 0x19, 0x40, 0x6f, 0x85, 0x69, 0x05, 0x6d, 0x74, 0xee, 0x9f, 0x3d, 0x9b, 0x1d, 0x4e,
	0x31, 0x0b, 0xde, 0x27, 0xc7, 0x8a, 0x40, 0xc5, 0xb5, 0xa0, 0x68, 0x44, 0x24, 0x12, 0x6d, 0x0f,
	0x15, 0x39, 0x8b, 0xaf, 0x65, 0xf6, 0xd7, 0x65, 0xef, 0xbd, 0xf8, 0xae, 0xf5, 0x27, 0x36, 0xce,
	0xd8, 0x58, 0xe1, 0x26, 0x66, 0x6c, 0xea, 0x2b, 0x8c, 0xf9, 0xbd, 0x8c, 0xbd, 0x0d, 0x97, 0x0d,
	0x8b, 0xbf, 0xfb, 0x09, 0x00, 0x00, 0xff, 0xff, 0x39, 0x83, 0xff, 0x26, 0x87, 0x02, 0x00, 0x00,
}
