// Code generated by protoc-gen-go. DO NOT EDIT.
// source: code.justin.tv/video/usherapi/rpc/usher/node.proto

package usher // import "code.justin.tv/video/usherapi/rpc/usher"

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

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

type NodeListRequest struct {
	// rep_type filters based on the replication type of the node.
	// example: "hls"
	RepType              *wrappers.StringValue          `protobuf:"bytes,1,opt,name=rep_type,json=repType,proto3" json:"rep_type,omitempty"`
	Clusters             *NodeListRequest_ClusterFields `protobuf:"bytes,2,opt,name=clusters,proto3" json:"clusters,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
	XXX_unrecognized     []byte                         `json:"-"`
	XXX_sizecache        int32                          `json:"-"`
}

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

var xxx_messageInfo_NodeListRequest proto.InternalMessageInfo

func (m *NodeListRequest) GetRepType() *wrappers.StringValue {
	if m != nil {
		return m.RepType
	}
	return nil
}

func (m *NodeListRequest) GetClusters() *NodeListRequest_ClusterFields {
	if m != nil {
		return m.Clusters
	}
	return nil
}

// ClusterFields is a sub-message containing fields
// that correspond to database columns in usher's clusters table.
// For example, the query parameter 'clusters.local=true' means that
// the cluster which a node belongs to must have local=true.
type NodeListRequest_ClusterFields struct {
	// local filters for nodes whose cluster is local
	Local                *wrappers.BoolValue `protobuf:"bytes,1,opt,name=local,proto3" json:"local,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

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

var xxx_messageInfo_NodeListRequest_ClusterFields proto.InternalMessageInfo

func (m *NodeListRequest_ClusterFields) GetLocal() *wrappers.BoolValue {
	if m != nil {
		return m.Local
	}
	return nil
}

type NodeShowRequest struct {
	// name is the node name in usherdb, which includes the pop name
	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 *NodeShowRequest) Reset()         { *m = NodeShowRequest{} }
func (m *NodeShowRequest) String() string { return proto.CompactTextString(m) }
func (*NodeShowRequest) ProtoMessage()    {}
func (*NodeShowRequest) Descriptor() ([]byte, []int) {
	return fileDescriptor_node_9a234f919b28ccba, []int{1}
}
func (m *NodeShowRequest) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_NodeShowRequest.Unmarshal(m, b)
}
func (m *NodeShowRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_NodeShowRequest.Marshal(b, m, deterministic)
}
func (dst *NodeShowRequest) XXX_Merge(src proto.Message) {
	xxx_messageInfo_NodeShowRequest.Merge(dst, src)
}
func (m *NodeShowRequest) XXX_Size() int {
	return xxx_messageInfo_NodeShowRequest.Size(m)
}
func (m *NodeShowRequest) XXX_DiscardUnknown() {
	xxx_messageInfo_NodeShowRequest.DiscardUnknown(m)
}

var xxx_messageInfo_NodeShowRequest proto.InternalMessageInfo

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

type NodeEnableRequest struct {
	// id is the node id in usherdb
	Id                   int64    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_NodeEnableRequest proto.InternalMessageInfo

func (m *NodeEnableRequest) GetId() int64 {
	if m != nil {
		return m.Id
	}
	return 0
}

type NodeDisableRequest struct {
	// id is the node id in usherdb
	Id                   int64    `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_NodeDisableRequest proto.InternalMessageInfo

func (m *NodeDisableRequest) GetId() int64 {
	if m != nil {
		return m.Id
	}
	return 0
}

type NodeListEdgeRequest struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_NodeListEdgeRequest proto.InternalMessageInfo

type ListOf_Node struct {
	Nodes                []*Node  `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_ListOf_Node proto.InternalMessageInfo

func (m *ListOf_Node) GetNodes() []*Node {
	if m != nil {
		return m.Nodes
	}
	return nil
}

// Node is a representation of a single host in the replication tree which can
// provide replication or edge functionality. It is not currently (7/10/18)
// used to represent ingest nodes in the video system.
type Node struct {
	// id is the node id in usherdb
	Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	// name is the node name in usherdb, which includes the pop name
	//
	// Example:
	//   "video-edge-8c7908.phx01"
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// addr is the fqdn or ip address at which this node can be reached
	//
	// Example:
	//   "video-edge-8c7908.phx01.justin.tv"
	Addr string `protobuf:"bytes,3,opt,name=addr,json=ip,proto3" json:"addr,omitempty"`
	// version needs documentation
	// TODO: document me
	Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
	// rep_type will be "hls_replication" or "hls", with "old" and "ingest" being
	// deprecated. "hls_replication" indicates this node is a protected replication
	// node, "hls" indicates this node is a video edge node.
	RepType string `protobuf:"bytes,5,opt,name=rep_type,proto3" json:"rep_type,omitempty"`
	// killed indicates this node is about to be removed from usher
	Killed bool `protobuf:"varint,6,opt,name=killed,proto3" json:"killed,omitempty"`
	// origin_only indicates this field should not be used for replication or
	// viewer traffic. it's unclear whether this field is correct so it should not
	// be used for new work
	OriginOnly bool `protobuf:"varint,7,opt,name=origin_only,proto3" json:"origin_only,omitempty"`
	// cluster_id is the id in the clusters table that this nodes cluster
	// corresponds to
	ClusterId int64 `protobuf:"varint,8,opt,name=cluster_id,proto3" json:"cluster_id,omitempty"`
	// cluster_name is the name property of the clusters row for this node's
	// cluster. it may not always be set.
	ClusterName string `protobuf:"bytes,9,opt,name=cluster_name,proto3" json:"cluster_name,omitempty"`
	// create_time is the time at which this node entry was created
	CreateTime *timestamp.Timestamp `protobuf:"bytes,20,opt,name=create_time,json=up_time_rfc3339,proto3" json:"create_time,omitempty"`
	// create_time_ansic_or_seconds should not be used and create_time should be
	// used instead
	CreateTimeAnsicOrSeconds *_struct.Value `protobuf:"bytes,21,opt,name=create_time_ansic_or_seconds,json=up_time,proto3" json:"create_time_ansic_or_seconds,omitempty"`
	// update_time is the time this node was last updated
	UpdateTime *timestamp.Timestamp `protobuf:"bytes,22,opt,name=update_time,json=updated_on_rfc3339,proto3" json:"update_time,omitempty"`
	// update_time_ansic_or_seconds should not be used, update_time should be used
	// instead
	UpdateTimeAnsicOrSeconds *_struct.Value `protobuf:"bytes,23,opt,name=update_time_ansic_or_seconds,json=updated_on,proto3" json:"update_time_ansic_or_seconds,omitempty"`
	// disable_time is the time at which this node was disabled
	DisableTime *timestamp.Timestamp `protobuf:"bytes,24,opt,name=disable_time,json=disabled_on_rfc3339,proto3" json:"disable_time,omitempty"`
	// disable_time_seconds should not be used, disable_time should be used instead
	// as this field will be parsed into disable_time by the client
	DisableTimeSeconds int64 `protobuf:"varint,25,opt,name=disable_time_seconds,json=disabled_on,proto3" json:"disable_time_seconds,omitempty"`
	// enabled indicates this node receive traffic
	Enabled bool `protobuf:"varint,30,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// play_enabled indicates this node should receive viewer playback traffic
	PlayEnabled bool `protobuf:"varint,32,opt,name=play_enabled,proto3" json:"play_enabled,omitempty"`
	// replication_enabled indicates this node should receive replication traffic
	ReplicationEnabled bool `protobuf:"varint,33,opt,name=replication_enabled,proto3" json:"replication_enabled,omitempty"`
	// https_enabled indicates this node should receive https viewer traffic
	HttpsEnabled bool `protobuf:"varint,34,opt,name=https_enabled,proto3" json:"https_enabled,omitempty"`
	// auto_restart_enabled is no longer used but has some odd dependencies. do
	// not use for new work.
	AutoRestartEnabled bool `protobuf:"varint,35,opt,name=auto_restart_enabled,proto3" json:"auto_restart_enabled,omitempty"` // Deprecated: Do not use.
	// rps is the number of requests completed per second by this node
	Rps float64 `protobuf:"fixed64,40,opt,name=rps,proto3" json:"rps,omitempty"`
	// load_nic represents the current load state of this node as calculated by
	// (mbps_out_nic/max_mbps_out_nic)
	LoadNic float64 `protobuf:"fixed64,60,opt,name=load_nic,proto3" json:"load_nic,omitempty"`
	// mbps_in_nic is the measured network input bandwidth in megabits/s
	MbpsInNic float64 `protobuf:"fixed64,61,opt,name=mbps_in_nic,proto3" json:"mbps_in_nic,omitempty"`
	// mbps_out_nic is the measured network output bandwidth in megabits/s
	MbpsOutNic float64 `protobuf:"fixed64,62,opt,name=mbps_out_nic,proto3" json:"mbps_out_nic,omitempty"`
	// max_mbps_out_nic sets a bandwidth limit (in megabits/s) beyond which no
	// more users should be assigned to this node
	MaxMbpsOutNic float64 `protobuf:"fixed64,63,opt,name=max_mbps_out_nic,proto3" json:"max_mbps_out_nic,omitempty"`
	// max_mbps_in_nic sets a bandwidth limit (in megabits/s) beyond which no more
	// users should be assigned to this node
	MaxMbpsInNic float64 `protobuf:"fixed64,64,opt,name=max_mbps_in_nic,proto3" json:"max_mbps_in_nic,omitempty"`
	// https_rps is the requests-per-second measure of https traffic on this node
	HttpsRps float64 `protobuf:"fixed64,65,opt,name=https_rps,proto3" json:"https_rps,omitempty"`
	// https_mbps_out indicates how much outbound https traffic this node has in
	// megabits/s
	HttpsMbpsOut float64 `protobuf:"fixed64,66,opt,name=https_mbps_out,proto3" json:"https_mbps_out,omitempty"`
	// experiment_metrics_raw should not be used, experiment_metrics should be used
	// instead
	ExperimentMetricsRaw string `protobuf:"bytes,67,opt,name=experiment_metrics_raw,json=experiment_metrics,proto3" json:"experiment_metrics_raw,omitempty"`
	// experiment_metrics holds experiment metric data collected by video/statmon.
	// this field was initially used to experiment with the collection of
	// connection count data from nodes.
	ExperimentMetrics map[string]float64 `protobuf:"bytes,68,rep,name=experiment_metrics,json=experiment_metrics_obj,proto3" json:"experiment_metrics,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
	// cpu_usage_percent is this node's current cpu usage percentage [0.0,100.0]
	CpuUsagePercent float64 `protobuf:"fixed64,69,opt,name=cpu_usage_percent,json=cpu_usage,proto3" json:"cpu_usage_percent,omitempty"`
	// cpu_max_percent specifies the maximum cpu percentage [0.0,100.0] above
	// which no more traffic will be assigned to this node
	CpuMaxPercent float64 `protobuf:"fixed64,70,opt,name=cpu_max_percent,json=cpu_max,proto3" json:"cpu_max_percent,omitempty"`
	// current_connections_count is the number of active tcp connections on this node
	CurrentConnectionCount int64 `protobuf:"varint,71,opt,name=current_connection_count,json=cur_conn,proto3" json:"current_connection_count,omitempty"`
	// max_connections_count is the max number of active tcp connections on this node
	MaxConnectionCount   int64    `protobuf:"varint,72,opt,name=max_connection_count,json=max_conn,proto3" json:"max_connection_count,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

var xxx_messageInfo_Node proto.InternalMessageInfo

func (m *Node) GetId() int64 {
	if m != nil {
		return m.Id
	}
	return 0
}

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

func (m *Node) GetAddr() string {
	if m != nil {
		return m.Addr
	}
	return ""
}

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

func (m *Node) GetRepType() string {
	if m != nil {
		return m.RepType
	}
	return ""
}

func (m *Node) GetKilled() bool {
	if m != nil {
		return m.Killed
	}
	return false
}

func (m *Node) GetOriginOnly() bool {
	if m != nil {
		return m.OriginOnly
	}
	return false
}

func (m *Node) GetClusterId() int64 {
	if m != nil {
		return m.ClusterId
	}
	return 0
}

func (m *Node) GetClusterName() string {
	if m != nil {
		return m.ClusterName
	}
	return ""
}

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

func (m *Node) GetCreateTimeAnsicOrSeconds() *_struct.Value {
	if m != nil {
		return m.CreateTimeAnsicOrSeconds
	}
	return nil
}

func (m *Node) GetUpdateTime() *timestamp.Timestamp {
	if m != nil {
		return m.UpdateTime
	}
	return nil
}

func (m *Node) GetUpdateTimeAnsicOrSeconds() *_struct.Value {
	if m != nil {
		return m.UpdateTimeAnsicOrSeconds
	}
	return nil
}

func (m *Node) GetDisableTime() *timestamp.Timestamp {
	if m != nil {
		return m.DisableTime
	}
	return nil
}

func (m *Node) GetDisableTimeSeconds() int64 {
	if m != nil {
		return m.DisableTimeSeconds
	}
	return 0
}

func (m *Node) GetEnabled() bool {
	if m != nil {
		return m.Enabled
	}
	return false
}

func (m *Node) GetPlayEnabled() bool {
	if m != nil {
		return m.PlayEnabled
	}
	return false
}

func (m *Node) GetReplicationEnabled() bool {
	if m != nil {
		return m.ReplicationEnabled
	}
	return false
}

func (m *Node) GetHttpsEnabled() bool {
	if m != nil {
		return m.HttpsEnabled
	}
	return false
}

// Deprecated: Do not use.
func (m *Node) GetAutoRestartEnabled() bool {
	if m != nil {
		return m.AutoRestartEnabled
	}
	return false
}

func (m *Node) GetRps() float64 {
	if m != nil {
		return m.Rps
	}
	return 0
}

func (m *Node) GetLoadNic() float64 {
	if m != nil {
		return m.LoadNic
	}
	return 0
}

func (m *Node) GetMbpsInNic() float64 {
	if m != nil {
		return m.MbpsInNic
	}
	return 0
}

func (m *Node) GetMbpsOutNic() float64 {
	if m != nil {
		return m.MbpsOutNic
	}
	return 0
}

func (m *Node) GetMaxMbpsOutNic() float64 {
	if m != nil {
		return m.MaxMbpsOutNic
	}
	return 0
}

func (m *Node) GetMaxMbpsInNic() float64 {
	if m != nil {
		return m.MaxMbpsInNic
	}
	return 0
}

func (m *Node) GetHttpsRps() float64 {
	if m != nil {
		return m.HttpsRps
	}
	return 0
}

func (m *Node) GetHttpsMbpsOut() float64 {
	if m != nil {
		return m.HttpsMbpsOut
	}
	return 0
}

func (m *Node) GetExperimentMetricsRaw() string {
	if m != nil {
		return m.ExperimentMetricsRaw
	}
	return ""
}

func (m *Node) GetExperimentMetrics() map[string]float64 {
	if m != nil {
		return m.ExperimentMetrics
	}
	return nil
}

func (m *Node) GetCpuUsagePercent() float64 {
	if m != nil {
		return m.CpuUsagePercent
	}
	return 0
}

func (m *Node) GetCpuMaxPercent() float64 {
	if m != nil {
		return m.CpuMaxPercent
	}
	return 0
}

func (m *Node) GetCurrentConnectionCount() int64 {
	if m != nil {
		return m.CurrentConnectionCount
	}
	return 0
}

func (m *Node) GetMaxConnectionCount() int64 {
	if m != nil {
		return m.MaxConnectionCount
	}
	return 0
}

func init() {
	proto.RegisterType((*NodeListRequest)(nil), "twitch.video.usher.NodeListRequest")
	proto.RegisterType((*NodeListRequest_ClusterFields)(nil), "twitch.video.usher.NodeListRequest.ClusterFields")
	proto.RegisterType((*NodeShowRequest)(nil), "twitch.video.usher.NodeShowRequest")
	proto.RegisterType((*NodeEnableRequest)(nil), "twitch.video.usher.NodeEnableRequest")
	proto.RegisterType((*NodeDisableRequest)(nil), "twitch.video.usher.NodeDisableRequest")
	proto.RegisterType((*NodeListEdgeRequest)(nil), "twitch.video.usher.NodeListEdgeRequest")
	proto.RegisterType((*ListOf_Node)(nil), "twitch.video.usher.ListOf_Node")
	proto.RegisterType((*Node)(nil), "twitch.video.usher.Node")
	proto.RegisterMapType((map[string]float64)(nil), "twitch.video.usher.Node.ExperimentMetricsEntry")
}

func init() {
	proto.RegisterFile("code.justin.tv/video/usherapi/rpc/usher/node.proto", fileDescriptor_node_9a234f919b28ccba)
}

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