blob: 2f5289d665559f6f259238287d075cf5c4bd586c [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* These .proto interfaces are private and stable.
* Please see http://wiki.apache.org/hadoop/Compatibility
* for what changes are allowed for a *stable* .proto interface.
*
* The generated java files are checked in to the Slider code base, so
* if this file is changed, the java must be generated again with
* mvn clean package -Pcompile-protobuf -DskipTests
*/
// This file contains protocol buffers that are used throughout HDFS -- i.e.
// by the client, server, and data transfer protocols.
option java_package = "org.apache.slider.api.proto";
option java_outer_classname = "SliderClusterAPI";
option java_generic_services = true;
option java_generate_equals_and_hash = true;
package org.apache.slider.api;
//import "Security.proto";
import "SliderClusterMessages.proto";
/**
* Protocol used from between Slider Client and AM
*/
service SliderClusterProtocolPB {
/**
* Stop the cluster
*/
rpc stopCluster(StopClusterRequestProto)
returns(StopClusterResponseProto);
/**
* Flex the cluster.
*/
rpc flexCluster(FlexClusterRequestProto)
returns(FlexClusterResponseProto);
/**
* Get the current cluster status
*/
rpc getJSONClusterStatus(GetJSONClusterStatusRequestProto)
returns(GetJSONClusterStatusResponseProto);
/**
* Get the instance definition
*/
rpc getInstanceDefinition(GetInstanceDefinitionRequestProto)
returns(GetInstanceDefinitionResponseProto);
/**
* List all running nodes in a role
*/
rpc listNodeUUIDsByRole(ListNodeUUIDsByRoleRequestProto)
returns(ListNodeUUIDsByRoleResponseProto);
/**
* Get the details on a node
*/
rpc getNode(GetNodeRequestProto)
returns(GetNodeResponseProto);
/**
* Get the
* details on a list of nodes.
* Unknown nodes are not returned
* <i>Important: the order of the results are undefined</i>
*/
rpc getClusterNodes(GetClusterNodesRequestProto)
returns(GetClusterNodesResponseProto);
/**
* echo some text
*/
rpc echo(EchoRequestProto)
returns(EchoResponseProto);
/**
* kill a container
*/
rpc killContainer(KillContainerRequestProto)
returns(KillContainerResponseProto);
/**
* kill the AM
*/
rpc amSuicide(AMSuicideRequestProto)
returns(AMSuicideResponseProto);
}