| /** |
| * 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. |
| */ |
| |
| package org.apache.hadoop.yarn.server.resourcemanager.webapp; |
| |
| /** |
| * Constants for {@code RMWebServiceProtocol}. |
| */ |
| public final class RMWSConsts { |
| |
| public static final String EMPTY = ""; |
| public static final String ANY = "*"; |
| |
| public static final String FORWARDED_FOR = "X-Forwarded-For"; |
| |
| // ----------------Paths for RMWebServiceProtocol---------------- |
| |
| /** Path for {@code RMWebServiceProtocol}. */ |
| public static final String RM_WEB_SERVICE_PATH = "/ws/v1/cluster"; |
| |
| /** Path for {@code RMWebServiceProtocol#getClusterInfo}. */ |
| public static final String INFO = "/info"; |
| |
| /** Path for {@code RMWebServiceProtocol#getClusterUserInfo}. */ |
| public static final String CLUSTER_USER_INFO = "/userinfo"; |
| |
| /** Path for {@code RMWebServiceProtocol#getClusterMetricsInfo}. */ |
| public static final String METRICS = "/metrics"; |
| |
| /** Path for {@code RMWebServiceProtocol#getSchedulerInfo}. */ |
| public static final String SCHEDULER = "/scheduler"; |
| |
| /** Path for {@code RMWebServices#updateSchedulerConfiguration}. */ |
| public static final String SCHEDULER_CONF = "/scheduler-conf"; |
| |
| /** Path for {@code RMWebServices#formatSchedulerConfiguration}. */ |
| public static final String FORMAT_SCHEDULER_CONF = "/scheduler-conf/format"; |
| |
| /** Path for {@code RMWebServices#getSchedulerConfigurationVersion}. */ |
| public static final String SCHEDULER_CONF_VERSION = "/scheduler-conf/version"; |
| |
| /** Path for {@code RMWebServiceProtocol#dumpSchedulerLogs}. */ |
| public static final String SCHEDULER_LOGS = "/scheduler/logs"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#validateAndGetSchedulerConfiguration}. |
| */ |
| public static final String SCHEDULER_CONF_VALIDATE |
| = "/scheduler-conf/validate"; |
| |
| /** Path for {@code RMWebServiceProtocol#getNodes}. */ |
| public static final String NODES = "/nodes"; |
| |
| /** Path for {@code RMWebServiceProtocol#getNode}. */ |
| public static final String NODES_NODEID = "/nodes/{nodeId}"; |
| |
| /** Path for {@code RMWebServiceProtocol#updateNodeResource}. */ |
| public static final String NODE_RESOURCE = "/nodes/{nodeId}/resource"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#getApps} and |
| * {@code RMWebServiceProtocol#getApp}. |
| */ |
| public static final String APPS = "/apps"; |
| |
| /** Path for {@code RMWebServiceProtocol#getActivities}. */ |
| public static final String SCHEDULER_ACTIVITIES = "/scheduler/activities"; |
| |
| /** Path for {@code RMWebServiceProtocol#getBulkActivities}. */ |
| public static final String SCHEDULER_BULK_ACTIVITIES = |
| "/scheduler/bulk-activities"; |
| |
| /** Path for {@code RMWebServiceProtocol#getAppActivities}. */ |
| public static final String SCHEDULER_APP_ACTIVITIES = |
| "/scheduler/app-activities/{appid}"; |
| |
| /** Path for {@code RMWebServiceProtocol#getAppStatistics}. */ |
| public static final String APP_STATISTICS = "/appstatistics"; |
| |
| /** Path for {@code RMWebServiceProtocol#getApp}. */ |
| public static final String APPS_APPID = "/apps/{appid}"; |
| |
| /** Path for {@code RMWebServiceProtocol#getAppAttempts}. */ |
| public static final String APPS_APPID_APPATTEMPTS = |
| "/apps/{appid}/appattempts"; |
| |
| /** Path for {@code WebServices#getAppAttempt}. */ |
| public static final String APPS_APPID_APPATTEMPTS_APPATTEMPTID = |
| "/apps/{appid}/appattempts/{appattemptid}"; |
| |
| /** Path for {@code WebServices#getContainers}. */ |
| public static final String APPS_APPID_APPATTEMPTS_APPATTEMPTID_CONTAINERS = |
| "/apps/{appid}/appattempts/{appattemptid}/containers"; |
| |
| /** Path for {@code RMWebServiceProtocol#getNodeToLabels}. */ |
| public static final String GET_NODE_TO_LABELS = "/get-node-to-labels"; |
| |
| /** Path for {@code RMWebServiceProtocol#getLabelsToNodes}. */ |
| public static final String LABEL_MAPPINGS = "/label-mappings"; |
| |
| /** Path for {@code RMWebServiceProtocol#replaceLabelsOnNodes}. */ |
| public static final String REPLACE_NODE_TO_LABELS = "/replace-node-to-labels"; |
| |
| /** Path for {@code RMWebServiceProtocol#replaceLabelsOnNode}. */ |
| public static final String NODES_NODEID_REPLACE_LABELS = |
| "/nodes/{nodeId}/replace-labels"; |
| |
| /** Path for {@code RMWebServiceProtocol#getClusterNodeLabels}. */ |
| public static final String GET_NODE_LABELS = "/get-node-labels"; |
| |
| /** Path for {@code RMWebServiceProtocol#addToClusterNodeLabels}. */ |
| public static final String ADD_NODE_LABELS = "/add-node-labels"; |
| |
| /** Path for {@code RMWebServiceProtocol#removeFromCluserNodeLabels}. */ |
| public static final String REMOVE_NODE_LABELS = "/remove-node-labels"; |
| |
| /** Path for {@code RMWebServiceProtocol#getLabelsOnNode}. */ |
| public static final String NODES_NODEID_GETLABELS = |
| "/nodes/{nodeId}/get-labels"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#getAppPriority} and |
| * {@code RMWebServiceProtocol#updateApplicationPriority}. |
| */ |
| public static final String APPS_APPID_PRIORITY = "/apps/{appid}/priority"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#getAppQueue} and |
| * {@code RMWebServiceProtocol#updateAppQueue}. |
| */ |
| public static final String APPS_APPID_QUEUE = "/apps/{appid}/queue"; |
| |
| /** Path for {@code RMWebServiceProtocol#createNewApplication}. */ |
| public static final String APPS_NEW_APPLICATION = "/apps/new-application"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#getAppState} and |
| * {@code RMWebServiceProtocol#updateAppState}. |
| */ |
| public static final String APPS_APPID_STATE = "/apps/{appid}/state"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#postDelegationToken} and |
| * {@code RMWebServiceProtocol#cancelDelegationToken}. |
| */ |
| public static final String DELEGATION_TOKEN = "/delegation-token"; |
| |
| /** Path for {@code RMWebServiceProtocol#postDelegationTokenExpiration}. */ |
| public static final String DELEGATION_TOKEN_EXPIRATION = |
| "/delegation-token/expiration"; |
| |
| /** Path for {@code RMWebServiceProtocol#createNewReservation}. */ |
| public static final String RESERVATION_NEW = "/reservation/new-reservation"; |
| |
| /** Path for {@code RMWebServiceProtocol#submitReservation}. */ |
| public static final String RESERVATION_SUBMIT = "/reservation/submit"; |
| |
| /** Path for {@code RMWebServiceProtocol#updateReservation}. */ |
| public static final String RESERVATION_UPDATE = "/reservation/update"; |
| |
| /** Path for {@code RMWebServiceProtocol#deleteReservation}. */ |
| public static final String RESERVATION_DELETE = "/reservation/delete"; |
| |
| /** Path for {@code RMWebServiceProtocol#listReservation}. */ |
| public static final String RESERVATION_LIST = "/reservation/list"; |
| |
| /** Path for {@code RMWebServiceProtocol#getAppTimeout}. */ |
| public static final String APPS_TIMEOUTS_TYPE = |
| "/apps/{appid}/timeouts/{type}"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#getAppTimeouts}. |
| */ |
| public static final String APPS_TIMEOUTS = "/apps/{appid}/timeouts"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#updateApplicationTimeout}. |
| */ |
| public static final String APPS_TIMEOUT = "/apps/{appid}/timeout"; |
| |
| /** |
| * Path for {@code RouterWebServices#getContainer}. |
| */ |
| public static final String GET_CONTAINER = |
| "/apps/{appid}/appattempts/{appattemptid}/containers/{containerid}"; |
| |
| /** |
| * Path for {code checkUserAccessToQueue#} |
| */ |
| public static final String CHECK_USER_ACCESS_TO_QUEUE = |
| "/queues/{queue}/access"; |
| |
| /** |
| * Path for {@code RMWebServiceProtocol#signalContainer}. |
| */ |
| public static final String SIGNAL_TO_CONTAINER = |
| "/containers/{containerid}/signal/{command}"; |
| |
| // ----------------QueryParams for RMWebServiceProtocol---------------- |
| |
| public static final String TIME = "time"; |
| public static final String STATES = "states"; |
| public static final String NODEID = "nodeId"; |
| public static final String STATE = "state"; |
| public static final String FINAL_STATUS = "finalStatus"; |
| public static final String USER = "user"; |
| public static final String QUEUE = "queue"; |
| public static final String QUEUES = "queues"; |
| public static final String LIMIT = "limit"; |
| public static final String STARTED_TIME_BEGIN = "startedTimeBegin"; |
| public static final String STARTED_TIME_END = "startedTimeEnd"; |
| public static final String FINISHED_TIME_BEGIN = "finishedTimeBegin"; |
| public static final String FINISHED_TIME_END = "finishedTimeEnd"; |
| public static final String APPLICATION_TYPES = "applicationTypes"; |
| public static final String APPLICATION_TAGS = "applicationTags"; |
| public static final String APP_ID = "appId"; |
| public static final String MAX_TIME = "maxTime"; |
| public static final String APPATTEMPTID = "appattemptid"; |
| public static final String APPID = "appid"; |
| public static final String LABELS = "labels"; |
| public static final String RESERVATION_ID = "reservation-id"; |
| public static final String START_TIME = "start-time"; |
| public static final String END_TIME = "end-time"; |
| public static final String INCLUDE_RESOURCE = "include-resource-allocations"; |
| public static final String TYPE = "type"; |
| public static final String CONTAINERID = "containerid"; |
| public static final String APPATTEMPTS = "appattempts"; |
| public static final String TIMEOUTS = "timeouts"; |
| public static final String PRIORITY = "priority"; |
| public static final String TIMEOUT = "timeout"; |
| public static final String ATTEMPTS = "appattempts"; |
| public static final String GET_LABELS = "get-labels"; |
| public static final String DESELECTS = "deSelects"; |
| public static final String CONTAINERS = "containers"; |
| public static final String QUEUE_ACL_TYPE = "queue-acl-type"; |
| public static final String REQUEST_PRIORITIES = "requestPriorities"; |
| public static final String ALLOCATION_REQUEST_IDS = "allocationRequestIds"; |
| public static final String GROUP_BY = "groupBy"; |
| public static final String SIGNAL = "signal"; |
| public static final String COMMAND = "command"; |
| public static final String ACTIONS = "actions"; |
| public static final String SUMMARIZE = "summarize"; |
| public static final String NAME = "name"; |
| public static final String ACTIVITIES_COUNT = "activitiesCount"; |
| |
| private RMWSConsts() { |
| // not called |
| } |
| |
| /** |
| * Defines the groupBy types of activities, currently only support |
| * DIAGNOSTIC with which user can query aggregated activities |
| * grouped by allocation state and diagnostic. |
| */ |
| public enum ActivitiesGroupBy { |
| DIAGNOSTIC |
| } |
| |
| /** |
| * Defines the required action of app activities: |
| * REFRESH means to turn on activities recording for the required app, |
| * GET means the required app activities should be involved in response. |
| */ |
| public enum AppActivitiesRequiredAction { |
| REFRESH, GET |
| } |
| } |