// Code generated by protoc-gen-go. DO NOT EDIT.
// source: github.com/appcelerator/amp/api/rpc/cluster/cluster.proto

/*
Package cluster is a generated protocol buffer package.

It is generated from these files:
	github.com/appcelerator/amp/api/rpc/cluster/cluster.proto

It has these top-level messages:
	CreateRequest
	CreateReply
	ListRequest
	ListReply
	InfoRequest
	InfoReply
	StatusRequest
	StatusReply
	UpdateRequest
	UpdateReply
	RemoveRequest
	RemoveReply
	NodeListRequest
	NodeListReply
	NodeReply
	EnginePlugin
	NodeCleanupRequest
*/
package cluster

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "google.golang.org/genproto/googleapis/api/annotations"

import (
	context "golang.org/x/net/context"
	grpc "google.golang.org/grpc"
)

// 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 CreateRequest struct {
	Name    string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Compose []byte `protobuf:"bytes,2,opt,name=compose,proto3" json:"compose,omitempty"`
}

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

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

func (m *CreateRequest) GetCompose() []byte {
	if m != nil {
		return m.Compose
	}
	return nil
}

type CreateReply struct {
	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}

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

func (m *CreateReply) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

type ListRequest struct {
}

func (m *ListRequest) Reset()                    { *m = ListRequest{} }
func (m *ListRequest) String() string            { return proto.CompactTextString(m) }
func (*ListRequest) ProtoMessage()               {}
func (*ListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

type ListReply struct {
}

func (m *ListReply) Reset()                    { *m = ListReply{} }
func (m *ListReply) String() string            { return proto.CompactTextString(m) }
func (*ListReply) ProtoMessage()               {}
func (*ListReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

type InfoRequest struct {
}

func (m *InfoRequest) Reset()                    { *m = InfoRequest{} }
func (m *InfoRequest) String() string            { return proto.CompactTextString(m) }
func (*InfoRequest) ProtoMessage()               {}
func (*InfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

type InfoReply struct {
}

func (m *InfoReply) Reset()                    { *m = InfoReply{} }
func (m *InfoReply) String() string            { return proto.CompactTextString(m) }
func (*InfoReply) ProtoMessage()               {}
func (*InfoReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

type StatusRequest struct {
}

func (m *StatusRequest) Reset()                    { *m = StatusRequest{} }
func (m *StatusRequest) String() string            { return proto.CompactTextString(m) }
func (*StatusRequest) ProtoMessage()               {}
func (*StatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

type StatusReply struct {
	Name             string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	Provider         string `protobuf:"bytes,2,opt,name=provider" json:"provider,omitempty"`
	Region           string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
	SwarmStatus      string `protobuf:"bytes,4,opt,name=swarm_status,json=swarmStatus" json:"swarm_status,omitempty"`
	CoreServices     string `protobuf:"bytes,5,opt,name=core_services,json=coreServices" json:"core_services,omitempty"`
	UserServices     string `protobuf:"bytes,6,opt,name=user_services,json=userServices" json:"user_services,omitempty"`
	Endpoint         string `protobuf:"bytes,7,opt,name=endpoint" json:"endpoint,omitempty"`
	NfsEndpoint      string `protobuf:"bytes,8,opt,name=nfs_endpoint,json=nfsEndpoint" json:"nfs_endpoint,omitempty"`
	InternalEndpoint string `protobuf:"bytes,9,opt,name=internal_endpoint,json=internalEndpoint" json:"internal_endpoint,omitempty"`
	InternalPki      string `protobuf:"bytes,10,opt,name=internal_pki,json=internalPki" json:"internal_pki,omitempty"`
	Pki              string `protobuf:"bytes,11,opt,name=pki" json:"pki,omitempty"`
}

func (m *StatusReply) Reset()                    { *m = StatusReply{} }
func (m *StatusReply) String() string            { return proto.CompactTextString(m) }
func (*StatusReply) ProtoMessage()               {}
func (*StatusReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

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

func (m *StatusReply) GetProvider() string {
	if m != nil {
		return m.Provider
	}
	return ""
}

func (m *StatusReply) GetRegion() string {
	if m != nil {
		return m.Region
	}
	return ""
}

func (m *StatusReply) GetSwarmStatus() string {
	if m != nil {
		return m.SwarmStatus
	}
	return ""
}

func (m *StatusReply) GetCoreServices() string {
	if m != nil {
		return m.CoreServices
	}
	return ""
}

func (m *StatusReply) GetUserServices() string {
	if m != nil {
		return m.UserServices
	}
	return ""
}

func (m *StatusReply) GetEndpoint() string {
	if m != nil {
		return m.Endpoint
	}
	return ""
}

func (m *StatusReply) GetNfsEndpoint() string {
	if m != nil {
		return m.NfsEndpoint
	}
	return ""
}

func (m *StatusReply) GetInternalEndpoint() string {
	if m != nil {
		return m.InternalEndpoint
	}
	return ""
}

func (m *StatusReply) GetInternalPki() string {
	if m != nil {
		return m.InternalPki
	}
	return ""
}

func (m *StatusReply) GetPki() string {
	if m != nil {
		return m.Pki
	}
	return ""
}

type UpdateRequest struct {
	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}

func (m *UpdateRequest) Reset()                    { *m = UpdateRequest{} }
func (m *UpdateRequest) String() string            { return proto.CompactTextString(m) }
func (*UpdateRequest) ProtoMessage()               {}
func (*UpdateRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

func (m *UpdateRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

type UpdateReply struct {
	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}

func (m *UpdateReply) Reset()                    { *m = UpdateReply{} }
func (m *UpdateReply) String() string            { return proto.CompactTextString(m) }
func (*UpdateReply) ProtoMessage()               {}
func (*UpdateReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }

func (m *UpdateReply) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

type RemoveRequest struct {
	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}

func (m *RemoveRequest) Reset()                    { *m = RemoveRequest{} }
func (m *RemoveRequest) String() string            { return proto.CompactTextString(m) }
func (*RemoveRequest) ProtoMessage()               {}
func (*RemoveRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }

func (m *RemoveRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

type RemoveReply struct {
	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}

func (m *RemoveReply) Reset()                    { *m = RemoveReply{} }
func (m *RemoveReply) String() string            { return proto.CompactTextString(m) }
func (*RemoveReply) ProtoMessage()               {}
func (*RemoveReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }

func (m *RemoveReply) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

type NodeListRequest struct {
	Id          string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Name        string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Role        string `protobuf:"bytes,3,opt,name=role" json:"role,omitempty"`
	NodeLabel   string `protobuf:"bytes,4,opt,name=node_label,json=nodeLabel" json:"node_label,omitempty"`
	EngineLabel string `protobuf:"bytes,5,opt,name=engine_label,json=engineLabel" json:"engine_label,omitempty"`
}

func (m *NodeListRequest) Reset()                    { *m = NodeListRequest{} }
func (m *NodeListRequest) String() string            { return proto.CompactTextString(m) }
func (*NodeListRequest) ProtoMessage()               {}
func (*NodeListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }

func (m *NodeListRequest) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

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

func (m *NodeListRequest) GetRole() string {
	if m != nil {
		return m.Role
	}
	return ""
}

func (m *NodeListRequest) GetNodeLabel() string {
	if m != nil {
		return m.NodeLabel
	}
	return ""
}

func (m *NodeListRequest) GetEngineLabel() string {
	if m != nil {
		return m.EngineLabel
	}
	return ""
}

type NodeListReply struct {
	Nodes []*NodeReply `protobuf:"bytes,1,rep,name=nodes" json:"nodes,omitempty"`
}

func (m *NodeListReply) Reset()                    { *m = NodeListReply{} }
func (m *NodeListReply) String() string            { return proto.CompactTextString(m) }
func (*NodeListReply) ProtoMessage()               {}
func (*NodeListReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }

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

type NodeReply struct {
	Id            string            `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
	Hostname      string            `protobuf:"bytes,2,opt,name=hostname" json:"hostname,omitempty"`
	Status        string            `protobuf:"bytes,3,opt,name=status" json:"status,omitempty"`
	Availability  string            `protobuf:"bytes,4,opt,name=availability" json:"availability,omitempty"`
	Role          string            `protobuf:"bytes,5,opt,name=role" json:"role,omitempty"`
	ManagerLeader bool              `protobuf:"varint,6,opt,name=manager_leader,json=managerLeader" json:"manager_leader,omitempty"`
	NanoCpus      int64             `protobuf:"varint,7,opt,name=nano_cpus,json=nanoCpus" json:"nano_cpus,omitempty"`
	MemoryBytes   int64             `protobuf:"varint,8,opt,name=memory_bytes,json=memoryBytes" json:"memory_bytes,omitempty"`
	NodeLabels    map[string]string `protobuf:"bytes,9,rep,name=node_labels,json=nodeLabels" json:"node_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	EngineLabels  map[string]string `protobuf:"bytes,10,rep,name=engine_labels,json=engineLabels" json:"engine_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	EnginePlugins []*EnginePlugin   `protobuf:"bytes,11,rep,name=engine_plugins,json=enginePlugins" json:"engine_plugins,omitempty"`
	EngineVersion string            `protobuf:"bytes,12,opt,name=engine_version,json=engineVersion" json:"engine_version,omitempty"`
}

func (m *NodeReply) Reset()                    { *m = NodeReply{} }
func (m *NodeReply) String() string            { return proto.CompactTextString(m) }
func (*NodeReply) ProtoMessage()               {}
func (*NodeReply) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }

func (m *NodeReply) GetId() string {
	if m != nil {
		return m.Id
	}
	return ""
}

func (m *NodeReply) GetHostname() string {
	if m != nil {
		return m.Hostname
	}
	return ""
}

func (m *NodeReply) GetStatus() string {
	if m != nil {
		return m.Status
	}
	return ""
}

func (m *NodeReply) GetAvailability() string {
	if m != nil {
		return m.Availability
	}
	return ""
}

func (m *NodeReply) GetRole() string {
	if m != nil {
		return m.Role
	}
	return ""
}

func (m *NodeReply) GetManagerLeader() bool {
	if m != nil {
		return m.ManagerLeader
	}
	return false
}

func (m *NodeReply) GetNanoCpus() int64 {
	if m != nil {
		return m.NanoCpus
	}
	return 0
}

func (m *NodeReply) GetMemoryBytes() int64 {
	if m != nil {
		return m.MemoryBytes
	}
	return 0
}

func (m *NodeReply) GetNodeLabels() map[string]string {
	if m != nil {
		return m.NodeLabels
	}
	return nil
}

func (m *NodeReply) GetEngineLabels() map[string]string {
	if m != nil {
		return m.EngineLabels
	}
	return nil
}

func (m *NodeReply) GetEnginePlugins() []*EnginePlugin {
	if m != nil {
		return m.EnginePlugins
	}
	return nil
}

func (m *NodeReply) GetEngineVersion() string {
	if m != nil {
		return m.EngineVersion
	}
	return ""
}

type EnginePlugin struct {
	Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
	Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
}

func (m *EnginePlugin) Reset()                    { *m = EnginePlugin{} }
func (m *EnginePlugin) String() string            { return proto.CompactTextString(m) }
func (*EnginePlugin) ProtoMessage()               {}
func (*EnginePlugin) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }

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

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

type NodeCleanupRequest struct {
	Force bool `protobuf:"varint,1,opt,name=force" json:"force,omitempty"`
}

func (m *NodeCleanupRequest) Reset()                    { *m = NodeCleanupRequest{} }
func (m *NodeCleanupRequest) String() string            { return proto.CompactTextString(m) }
func (*NodeCleanupRequest) ProtoMessage()               {}
func (*NodeCleanupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }

func (m *NodeCleanupRequest) GetForce() bool {
	if m != nil {
		return m.Force
	}
	return false
}

func init() {
	proto.RegisterType((*CreateRequest)(nil), "cluster.CreateRequest")
	proto.RegisterType((*CreateReply)(nil), "cluster.CreateReply")
	proto.RegisterType((*ListRequest)(nil), "cluster.ListRequest")
	proto.RegisterType((*ListReply)(nil), "cluster.ListReply")
	proto.RegisterType((*InfoRequest)(nil), "cluster.InfoRequest")
	proto.RegisterType((*InfoReply)(nil), "cluster.InfoReply")
	proto.RegisterType((*StatusRequest)(nil), "cluster.StatusRequest")
	proto.RegisterType((*StatusReply)(nil), "cluster.StatusReply")
	proto.RegisterType((*UpdateRequest)(nil), "cluster.UpdateRequest")
	proto.RegisterType((*UpdateReply)(nil), "cluster.UpdateReply")
	proto.RegisterType((*RemoveRequest)(nil), "cluster.RemoveRequest")
	proto.RegisterType((*RemoveReply)(nil), "cluster.RemoveReply")
	proto.RegisterType((*NodeListRequest)(nil), "cluster.NodeListRequest")
	proto.RegisterType((*NodeListReply)(nil), "cluster.NodeListReply")
	proto.RegisterType((*NodeReply)(nil), "cluster.NodeReply")
	proto.RegisterType((*EnginePlugin)(nil), "cluster.EnginePlugin")
	proto.RegisterType((*NodeCleanupRequest)(nil), "cluster.NodeCleanupRequest")
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion4

// Client API for Cluster service

type ClusterClient interface {
	ClusterCreate(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateReply, error)
	ClusterList(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListReply, error)
	ClusterNodeList(ctx context.Context, in *NodeListRequest, opts ...grpc.CallOption) (*NodeListReply, error)
	ClusterNodeCleanup(ctx context.Context, in *NodeCleanupRequest, opts ...grpc.CallOption) (*NodeListReply, error)
	ClusterStatus(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusReply, error)
	ClusterUpdate(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateReply, error)
	ClusterRemove(ctx context.Context, in *RemoveRequest, opts ...grpc.CallOption) (*RemoveReply, error)
}

type clusterClient struct {
	cc *grpc.ClientConn
}

func NewClusterClient(cc *grpc.ClientConn) ClusterClient {
	return &clusterClient{cc}
}

func (c *clusterClient) ClusterCreate(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateReply, error) {
	out := new(CreateReply)
	err := grpc.Invoke(ctx, "/cluster.Cluster/ClusterCreate", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterClient) ClusterList(ctx context.Context, in *ListRequest, opts ...grpc.CallOption) (*ListReply, error) {
	out := new(ListReply)
	err := grpc.Invoke(ctx, "/cluster.Cluster/ClusterList", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterClient) ClusterNodeList(ctx context.Context, in *NodeListRequest, opts ...grpc.CallOption) (*NodeListReply, error) {
	out := new(NodeListReply)
	err := grpc.Invoke(ctx, "/cluster.Cluster/ClusterNodeList", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterClient) ClusterNodeCleanup(ctx context.Context, in *NodeCleanupRequest, opts ...grpc.CallOption) (*NodeListReply, error) {
	out := new(NodeListReply)
	err := grpc.Invoke(ctx, "/cluster.Cluster/ClusterNodeCleanup", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterClient) ClusterStatus(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusReply, error) {
	out := new(StatusReply)
	err := grpc.Invoke(ctx, "/cluster.Cluster/ClusterStatus", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterClient) ClusterUpdate(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateReply, error) {
	out := new(UpdateReply)
	err := grpc.Invoke(ctx, "/cluster.Cluster/ClusterUpdate", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterClient) ClusterRemove(ctx context.Context, in *RemoveRequest, opts ...grpc.CallOption) (*RemoveReply, error) {
	out := new(RemoveReply)
	err := grpc.Invoke(ctx, "/cluster.Cluster/ClusterRemove", in, out, c.cc, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// Server API for Cluster service

type ClusterServer interface {
	ClusterCreate(context.Context, *CreateRequest) (*CreateReply, error)
	ClusterList(context.Context, *ListRequest) (*ListReply, error)
	ClusterNodeList(context.Context, *NodeListRequest) (*NodeListReply, error)
	ClusterNodeCleanup(context.Context, *NodeCleanupRequest) (*NodeListReply, error)
	ClusterStatus(context.Context, *StatusRequest) (*StatusReply, error)
	ClusterUpdate(context.Context, *UpdateRequest) (*UpdateReply, error)
	ClusterRemove(context.Context, *RemoveRequest) (*RemoveReply, error)
}

func RegisterClusterServer(s *grpc.Server, srv ClusterServer) {
	s.RegisterService(&_Cluster_serviceDesc, srv)
}

func _Cluster_ClusterCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServer).ClusterCreate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.Cluster/ClusterCreate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServer).ClusterCreate(ctx, req.(*CreateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Cluster_ClusterList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServer).ClusterList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.Cluster/ClusterList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServer).ClusterList(ctx, req.(*ListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Cluster_ClusterNodeList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServer).ClusterNodeList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.Cluster/ClusterNodeList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServer).ClusterNodeList(ctx, req.(*NodeListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Cluster_ClusterNodeCleanup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(NodeCleanupRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServer).ClusterNodeCleanup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.Cluster/ClusterNodeCleanup",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServer).ClusterNodeCleanup(ctx, req.(*NodeCleanupRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Cluster_ClusterStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(StatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServer).ClusterStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.Cluster/ClusterStatus",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServer).ClusterStatus(ctx, req.(*StatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Cluster_ClusterUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServer).ClusterUpdate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.Cluster/ClusterUpdate",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServer).ClusterUpdate(ctx, req.(*UpdateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Cluster_ClusterRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RemoveRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServer).ClusterRemove(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.Cluster/ClusterRemove",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServer).ClusterRemove(ctx, req.(*RemoveRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Cluster_serviceDesc = grpc.ServiceDesc{
	ServiceName: "cluster.Cluster",
	HandlerType: (*ClusterServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ClusterCreate",
			Handler:    _Cluster_ClusterCreate_Handler,
		},
		{
			MethodName: "ClusterList",
			Handler:    _Cluster_ClusterList_Handler,
		},
		{
			MethodName: "ClusterNodeList",
			Handler:    _Cluster_ClusterNodeList_Handler,
		},
		{
			MethodName: "ClusterNodeCleanup",
			Handler:    _Cluster_ClusterNodeCleanup_Handler,
		},
		{
			MethodName: "ClusterStatus",
			Handler:    _Cluster_ClusterStatus_Handler,
		},
		{
			MethodName: "ClusterUpdate",
			Handler:    _Cluster_ClusterUpdate_Handler,
		},
		{
			MethodName: "ClusterRemove",
			Handler:    _Cluster_ClusterRemove_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "github.com/appcelerator/amp/api/rpc/cluster/cluster.proto",
}

func init() {
	proto.RegisterFile("github.com/appcelerator/amp/api/rpc/cluster/cluster.proto", fileDescriptor0)
}

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