// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/cloud/contextgraph/v1alpha1/graph.proto

package contextgraph

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _struct "github.com/golang/protobuf/ptypes/struct"

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

// An entity in the context graph is anything that can be observed in a
// GCP project or organization.
type Entity struct {
	// [DEPRECATED] The full URI of the entity as reported by the entity's
	// service. For example, following is the URI for a Compute Engine VM instance
	// reported by the Compute Engine v1 API:
	//
	//     https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/instances/my-instance
	Uri string `protobuf:"bytes,1,opt,name=uri" json:"uri,omitempty"`
	// [DEPRECATED] The type of this entity including the reverse domain name,
	// the version, and the resource type. E.g. "google.compute.v1/Instance".
	Type string `protobuf:"bytes,2,opt,name=type" json:"type,omitempty"`
	// [DEPRECATED] The `entity_name` is an ID or number commonly displayed in
	// user interfaces to identify the entity. The triplet
	// (`type`, `location`, `entity_name`) is always unique in the project.
	EntityName string `protobuf:"bytes,3,opt,name=entity_name,json=entityName" json:"entity_name,omitempty"`
	// The JSON body of the resource. Some fields are redacted, including those
	// that contain keys, passwords, certificates, etc.
	Data *_struct.Value `protobuf:"bytes,4,opt,name=data" json:"data,omitempty"`
	// [DEPRECATED] The ID for the GCP project in which  this entity resides.
	// This project ID must agree with the project ID in the `uri` field.
	ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
	// The geographic location of this entity. Different entity types use
	// different conventions for their location. For Compute Engine, it is the
	// zone or region, such as `us-central1-f`. For entities not restrict to any
	// particular location, `global` is used. This location must agree with the
	// location in the `uri` field.
	Location string `protobuf:"bytes,6,opt,name=location" json:"location,omitempty"`
	// The full resource name of the entity according to
	// https://cloud.google.com/apis/design/resource_names.
	// For example, the following is the full name for a Compute Engine Instance.
	// `//compute.googleapis.com/projects/my-project/zones/us-central1-f/instances/my-instance`
	FullName string `protobuf:"bytes,7,opt,name=full_name,json=fullName" json:"full_name,omitempty"`
	// The sequence of ids according to
	// https://cloud.google.com/apis/design/resource_names
	// that are not already represented by container, type_name and location.
	//
	// No id can contain a '/'.  The final id is always the last part of the
	// full_name.
	//
	// The triplet (`type_name`, `location`, `short_names`) is
	// always unique in the container.
	ShortNames []string `protobuf:"bytes,8,rep,name=short_names,json=shortNames" json:"short_names,omitempty"`
	// E.g. Unified resource type.
	TypeName string `protobuf:"bytes,9,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
	// The fullName of the entity above this one in the resource hierarchy.
	ContainerFullName string `protobuf:"bytes,10,opt,name=container_full_name,json=containerFullName" json:"container_full_name,omitempty"`
	// A hash of the data field.
	Fingerprint []byte `protobuf:"bytes,11,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"`
	// The version of the resource, if `data` or `fingerprint` are present.
	// If `type` is provided, this version must be consistent.
	Version              string   `protobuf:"bytes,12,opt,name=version" json:"version,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Entity) Reset()         { *m = Entity{} }
func (m *Entity) String() string { return proto.CompactTextString(m) }
func (*Entity) ProtoMessage()    {}
func (*Entity) Descriptor() ([]byte, []int) {
	return fileDescriptor_graph_c2b7e16af9c6744f, []int{0}
}
func (m *Entity) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Entity.Unmarshal(m, b)
}
func (m *Entity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Entity.Marshal(b, m, deterministic)
}
func (dst *Entity) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Entity.Merge(dst, src)
}
func (m *Entity) XXX_Size() int {
	return xxx_messageInfo_Entity.Size(m)
}
func (m *Entity) XXX_DiscardUnknown() {
	xxx_messageInfo_Entity.DiscardUnknown(m)
}

var xxx_messageInfo_Entity proto.InternalMessageInfo

func (m *Entity) GetUri() string {
	if m != nil {
		return m.Uri
	}
	return ""
}

func (m *Entity) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Entity) GetEntityName() string {
	if m != nil {
		return m.EntityName
	}
	return ""
}

func (m *Entity) GetData() *_struct.Value {
	if m != nil {
		return m.Data
	}
	return nil
}

func (m *Entity) GetProjectId() string {
	if m != nil {
		return m.ProjectId
	}
	return ""
}

func (m *Entity) GetLocation() string {
	if m != nil {
		return m.Location
	}
	return ""
}

func (m *Entity) GetFullName() string {
	if m != nil {
		return m.FullName
	}
	return ""
}

func (m *Entity) GetShortNames() []string {
	if m != nil {
		return m.ShortNames
	}
	return nil
}

func (m *Entity) GetTypeName() string {
	if m != nil {
		return m.TypeName
	}
	return ""
}

func (m *Entity) GetContainerFullName() string {
	if m != nil {
		return m.ContainerFullName
	}
	return ""
}

func (m *Entity) GetFingerprint() []byte {
	if m != nil {
		return m.Fingerprint
	}
	return nil
}

func (m *Entity) GetVersion() string {
	if m != nil {
		return m.Version
	}
	return ""
}

// A relationship is anything that can be observed about a pair of entities.
// Relationships are directional. There can be at most one relationship of a
// given kind between a given pair of entities in a given direction.
type Relationship struct {
	// [DEPRECATED] The kind of relationship between the two entities.
	// This is the same as `type_name` but includes the version.
	Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
	// [DEPRECATED] The entity on the "from" side of the relationship.
	SourceUri string `protobuf:"bytes,2,opt,name=source_uri,json=sourceUri" json:"source_uri,omitempty"`
	// [DEPRECATED] The entity on the "to" side of the relationship.
	TargetUri string `protobuf:"bytes,3,opt,name=target_uri,json=targetUri" json:"target_uri,omitempty"`
	// The kind of relationship between the two entities.
	TypeName string `protobuf:"bytes,4,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
	// The entity on the "from" side of the relationship.
	SourceFullName string `protobuf:"bytes,5,opt,name=source_full_name,json=sourceFullName" json:"source_full_name,omitempty"`
	// The entity on the "to" side of the relationship.
	TargetFullName       string   `protobuf:"bytes,6,opt,name=target_full_name,json=targetFullName" json:"target_full_name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *Relationship) Reset()         { *m = Relationship{} }
func (m *Relationship) String() string { return proto.CompactTextString(m) }
func (*Relationship) ProtoMessage()    {}
func (*Relationship) Descriptor() ([]byte, []int) {
	return fileDescriptor_graph_c2b7e16af9c6744f, []int{1}
}
func (m *Relationship) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_Relationship.Unmarshal(m, b)
}
func (m *Relationship) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_Relationship.Marshal(b, m, deterministic)
}
func (dst *Relationship) XXX_Merge(src proto.Message) {
	xxx_messageInfo_Relationship.Merge(dst, src)
}
func (m *Relationship) XXX_Size() int {
	return xxx_messageInfo_Relationship.Size(m)
}
func (m *Relationship) XXX_DiscardUnknown() {
	xxx_messageInfo_Relationship.DiscardUnknown(m)
}

var xxx_messageInfo_Relationship proto.InternalMessageInfo

func (m *Relationship) GetType() string {
	if m != nil {
		return m.Type
	}
	return ""
}

func (m *Relationship) GetSourceUri() string {
	if m != nil {
		return m.SourceUri
	}
	return ""
}

func (m *Relationship) GetTargetUri() string {
	if m != nil {
		return m.TargetUri
	}
	return ""
}

func (m *Relationship) GetTypeName() string {
	if m != nil {
		return m.TypeName
	}
	return ""
}

func (m *Relationship) GetSourceFullName() string {
	if m != nil {
		return m.SourceFullName
	}
	return ""
}

func (m *Relationship) GetTargetFullName() string {
	if m != nil {
		return m.TargetFullName
	}
	return ""
}

func init() {
	proto.RegisterType((*Entity)(nil), "google.cloud.contextgraph.v1alpha1.Entity")
	proto.RegisterType((*Relationship)(nil), "google.cloud.contextgraph.v1alpha1.Relationship")
}

func init() {
	proto.RegisterFile("google/cloud/contextgraph/v1alpha1/graph.proto", fileDescriptor_graph_c2b7e16af9c6744f)
}

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