<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:01:00 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Uses of Package org.apache.hadoop.yarn.api.protocolrecords (Apache Hadoop Main 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Uses of Package org.apache.hadoop.yarn.api.protocolrecords (Apache Hadoop Main 3.3.1 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/yarn/api/protocolrecords/package-use.html" target="_top">Frames</a></li>
<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Uses of Package org.apache.hadoop.yarn.api.protocolrecords" class="title">Uses of Package<br>org.apache.hadoop.yarn.api.protocolrecords</h1>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/package-summary.html">org.apache.hadoop.yarn.api.protocolrecords</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.hadoop.yarn.api">org.apache.hadoop.yarn.api</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.hadoop.yarn.api.protocolrecords">org.apache.hadoop.yarn.api.protocolrecords</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.hadoop.yarn.client.api">org.apache.hadoop.yarn.client.api</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.hadoop.yarn.client.api.async">org.apache.hadoop.yarn.client.api.async</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.yarn.api">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/package-summary.html">org.apache.hadoop.yarn.api.protocolrecords</a> used by <a href="../../../../../../org/apache/hadoop/yarn/api/package-summary.html">org.apache.hadoop.yarn.api</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/AllocateRequest.html#org.apache.hadoop.yarn.api">AllocateRequest</a>
<div class="block">The core request sent by the <code>ApplicationMaster</code> to the 
 <code>ResourceManager</code> to obtain resources in the cluster.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/AllocateResponse.html#org.apache.hadoop.yarn.api">AllocateResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> the
 <code>ApplicationMaster</code> during resource negotiation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/CommitResponse.html#org.apache.hadoop.yarn.api">CommitResponse</a>
<div class="block">Response to Commit Container Request.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ContainerUpdateRequest.html#org.apache.hadoop.yarn.api">ContainerUpdateRequest</a>
<div class="block">The request sent by <code>Application Master</code> to the
 <code>Node Manager</code> to change the resource quota of a container.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ContainerUpdateResponse.html#org.apache.hadoop.yarn.api">ContainerUpdateResponse</a>
<div class="block">
 The response sent by the <code>NodeManager</code> to the
 <code>ApplicationMaster</code> when asked to update container resource.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/FailApplicationAttemptRequest.html#org.apache.hadoop.yarn.api">FailApplicationAttemptRequest</a>
<div class="block">The request sent by the client to the <code>ResourceManager</code>
 to fail an application attempt.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/FailApplicationAttemptResponse.html#org.apache.hadoop.yarn.api">FailApplicationAttemptResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to the client
 failing an application attempt.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/FinishApplicationMasterRequest.html#org.apache.hadoop.yarn.api">FinishApplicationMasterRequest</a>
<div class="block">The finalization request sent by the <code>ApplicationMaster</code> to
 inform the <code>ResourceManager</code> about its completion.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/FinishApplicationMasterResponse.html#org.apache.hadoop.yarn.api">FinishApplicationMasterResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a
 <code>ApplicationMaster</code> on it's completion.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAllResourceProfilesRequest.html#org.apache.hadoop.yarn.api">GetAllResourceProfilesRequest</a>
<div class="block">Request class for getting all the resource profiles from the RM.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAllResourceProfilesResponse.html#org.apache.hadoop.yarn.api">GetAllResourceProfilesResponse</a>
<div class="block">Response class for getting all the resource profiles from the RM.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAllResourceTypeInfoRequest.html#org.apache.hadoop.yarn.api">GetAllResourceTypeInfoRequest</a>
<div class="block">Request class for getting all the resource profiles from the RM.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAllResourceTypeInfoResponse.html#org.apache.hadoop.yarn.api">GetAllResourceTypeInfoResponse</a>
<div class="block">Response class for getting all the resource profiles from the RM.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAttributesToNodesRequest.html#org.apache.hadoop.yarn.api">GetAttributesToNodesRequest</a>
<div class="block">
 The request from clients to get node to attribute value mapping for all or
 given set of Node AttributeKey's in the cluster from the
 <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAttributesToNodesResponse.html#org.apache.hadoop.yarn.api">GetAttributesToNodesResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 node to attribute value mapping for all or given set of Node AttributeKey's.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterMetricsRequest.html#org.apache.hadoop.yarn.api">GetClusterMetricsRequest</a>
<div class="block">The request sent by clients to get cluster metrics from the 
 <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterMetricsResponse.html#org.apache.hadoop.yarn.api">GetClusterMetricsResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a client
 requesting cluster metrics.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodeAttributesRequest.html#org.apache.hadoop.yarn.api">GetClusterNodeAttributesRequest</a>
<div class="block">
 The request from clients to get node attributes in the cluster from the
 <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodeAttributesResponse.html#org.apache.hadoop.yarn.api">GetClusterNodeAttributesResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 a node attributes in cluster.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodeLabelsRequest.html#org.apache.hadoop.yarn.api">GetClusterNodeLabelsRequest</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodeLabelsResponse.html#org.apache.hadoop.yarn.api">GetClusterNodeLabelsResponse</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodesRequest.html#org.apache.hadoop.yarn.api">GetClusterNodesRequest</a>
<div class="block">The request from clients to get a report of all nodes
 in the cluster from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodesResponse.html#org.apache.hadoop.yarn.api">GetClusterNodesResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a client
 requesting a <a href="../../../../../../org/apache/hadoop/yarn/api/records/NodeReport.html" title="class in org.apache.hadoop.yarn.api.records"><code>NodeReport</code></a> for all nodes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetContainerStatusesRequest.html#org.apache.hadoop.yarn.api">GetContainerStatusesRequest</a>
<div class="block">The request sent by the <code>ApplicationMaster</code> to the
 <code>NodeManager</code> to get <a href="../../../../../../org/apache/hadoop/yarn/api/records/ContainerStatus.html" title="class in org.apache.hadoop.yarn.api.records"><code>ContainerStatus</code></a> of requested
 containers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetContainerStatusesResponse.html#org.apache.hadoop.yarn.api">GetContainerStatusesResponse</a>
<div class="block">The response sent by the <code>NodeManager</code> to the
 <code>ApplicationMaster</code> when asked to obtain the
 <code>ContainerStatus</code> of requested containers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetLocalizationStatusesRequest.html#org.apache.hadoop.yarn.api">GetLocalizationStatusesRequest</a>
<div class="block">The request sent by an application master to the node manager to get
 <a href="../../../../../../org/apache/hadoop/yarn/api/records/LocalizationStatus.html" title="class in org.apache.hadoop.yarn.api.records"><code>LocalizationStatus</code></a>es of containers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetLocalizationStatusesResponse.html#org.apache.hadoop.yarn.api">GetLocalizationStatusesResponse</a>
<div class="block">The response sent by the node manager to an application master when
 localization statuses are requested.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNewApplicationRequest.html#org.apache.hadoop.yarn.api">GetNewApplicationRequest</a>
<div class="block">The request sent by clients to get a new <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records"><code>ApplicationId</code></a> for
 submitting an application.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNewApplicationResponse.html#org.apache.hadoop.yarn.api">GetNewApplicationResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to the client for 
 a request to get a new <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records"><code>ApplicationId</code></a> for submitting applications.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNewReservationRequest.html#org.apache.hadoop.yarn.api">GetNewReservationRequest</a>
<div class="block">The request sent by clients to get a new <code>ReservationId</code> for
 submitting an reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNewReservationResponse.html#org.apache.hadoop.yarn.api">GetNewReservationResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to the client for
 a request to get a new <a href="../../../../../../org/apache/hadoop/yarn/api/records/ReservationId.html" title="class in org.apache.hadoop.yarn.api.records"><code>ReservationId</code></a> for submitting reservations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNodesToAttributesRequest.html#org.apache.hadoop.yarn.api">GetNodesToAttributesRequest</a>
<div class="block">
 The request from clients to get nodes to attributes mapping
 in the cluster from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNodesToAttributesResponse.html#org.apache.hadoop.yarn.api">GetNodesToAttributesResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 nodes to attributes mapping.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetQueueInfoRequest.html#org.apache.hadoop.yarn.api">GetQueueInfoRequest</a>
<div class="block">The request sent by clients to get <em>queue information</em>
 from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetQueueInfoResponse.html#org.apache.hadoop.yarn.api">GetQueueInfoResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a client
 requesting information about queues in the system.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetQueueUserAclsInfoRequest.html#org.apache.hadoop.yarn.api">GetQueueUserAclsInfoRequest</a>
<div class="block">The request sent by clients to the <code>ResourceManager</code> to 
 get queue acls for the <em>current user</em>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetQueueUserAclsInfoResponse.html#org.apache.hadoop.yarn.api">GetQueueUserAclsInfoResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to clients
 seeking queue acls for the user.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetResourceProfileRequest.html#org.apache.hadoop.yarn.api">GetResourceProfileRequest</a>
<div class="block">Request class for getting the details for a particular resource profile.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetResourceProfileResponse.html#org.apache.hadoop.yarn.api">GetResourceProfileResponse</a>
<div class="block">Response class for getting the details for a particular resource profile.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/IncreaseContainersResourceRequest.html#org.apache.hadoop.yarn.api">IncreaseContainersResourceRequest</a>
<div class="block">The request sent by <code>Application Master</code> to the
 <code>Node Manager</code> to change the resource quota of a container.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/IncreaseContainersResourceResponse.html#org.apache.hadoop.yarn.api">IncreaseContainersResourceResponse</a>
<div class="block">
 The response sent by the <code>NodeManager</code> to the
 <code>ApplicationMaster</code> when asked to increase container resource.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/KillApplicationRequest.html#org.apache.hadoop.yarn.api">KillApplicationRequest</a>
<div class="block">The request sent by the client to the <code>ResourceManager</code>
 to abort a submitted application.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/KillApplicationResponse.html#org.apache.hadoop.yarn.api">KillApplicationResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to the client aborting
 a submitted application.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/MoveApplicationAcrossQueuesRequest.html#org.apache.hadoop.yarn.api">MoveApplicationAcrossQueuesRequest</a>
<div class="block">The request sent by the client to the <code>ResourceManager</code>
 to move a submitted application to a different queue.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/MoveApplicationAcrossQueuesResponse.html#org.apache.hadoop.yarn.api">MoveApplicationAcrossQueuesResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to the client moving
 a submitted application to a different queue.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/RegisterApplicationMasterRequest.html#org.apache.hadoop.yarn.api">RegisterApplicationMasterRequest</a>
<div class="block">The request sent by the <code>ApplicationMaster</code> to <code>ResourceManager</code>
 on registration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/RegisterApplicationMasterResponse.html#org.apache.hadoop.yarn.api">RegisterApplicationMasterResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a new
 <code>ApplicationMaster</code> on registration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReInitializeContainerRequest.html#org.apache.hadoop.yarn.api">ReInitializeContainerRequest</a>
<div class="block">This encapsulates all the required fields needed for a Container
 ReInitialization.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReInitializeContainerResponse.html#org.apache.hadoop.yarn.api">ReInitializeContainerResponse</a>
<div class="block">The response to the <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReInitializeContainerRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReInitializeContainerRequest</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReleaseSharedCacheResourceRequest.html#org.apache.hadoop.yarn.api">ReleaseSharedCacheResourceRequest</a>
<div class="block">The request from clients to release a resource in the shared cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReleaseSharedCacheResourceResponse.html#org.apache.hadoop.yarn.api">ReleaseSharedCacheResourceResponse</a>
<div class="block">
 The response to clients from the <code>SharedCacheManager</code> when
 releasing a resource in the shared cache.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationDeleteRequest.html#org.apache.hadoop.yarn.api">ReservationDeleteRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationDeleteRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationDeleteRequest</code></a> captures the set of requirements the user
 has to delete an existing reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationDeleteResponse.html#org.apache.hadoop.yarn.api">ReservationDeleteResponse</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationDeleteResponse.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationDeleteResponse</code></a> contains the answer of the admission
 control system in the <code>ResourceManager</code> to a reservation delete
 operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationListRequest.html#org.apache.hadoop.yarn.api">ReservationListRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationListRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationListRequest</code></a> captures the set of requirements the
 user has to list reservations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationListResponse.html#org.apache.hadoop.yarn.api">ReservationListResponse</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationListResponse.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationListResponse</code></a> captures the list of reservations that the
 user has queried.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationSubmissionRequest.html#org.apache.hadoop.yarn.api">ReservationSubmissionRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationSubmissionRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationSubmissionRequest</code></a> captures the set of requirements the
 user has to create a reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationSubmissionResponse.html#org.apache.hadoop.yarn.api">ReservationSubmissionResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a client on
 reservation submission.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationUpdateRequest.html#org.apache.hadoop.yarn.api">ReservationUpdateRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationUpdateRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationUpdateRequest</code></a> captures the set of requirements the user
 has to update an existing reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationUpdateResponse.html#org.apache.hadoop.yarn.api">ReservationUpdateResponse</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationUpdateResponse.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationUpdateResponse</code></a> contains the answer of the admission
 control system in the <code>ResourceManager</code> to a reservation update
 operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ResourceLocalizationRequest.html#org.apache.hadoop.yarn.api">ResourceLocalizationRequest</a>
<div class="block">The request sent by the ApplicationMaster to ask for localizing resources.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ResourceLocalizationResponse.html#org.apache.hadoop.yarn.api">ResourceLocalizationResponse</a>
<div class="block">The response to the <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ResourceLocalizationRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ResourceLocalizationRequest</code></a></div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/RestartContainerResponse.html#org.apache.hadoop.yarn.api">RestartContainerResponse</a>
<div class="block">The response to a restart Container request.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/RollbackResponse.html#org.apache.hadoop.yarn.api">RollbackResponse</a>
<div class="block">Response to a Rollback request.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/SignalContainerRequest.html#org.apache.hadoop.yarn.api">SignalContainerRequest</a>
<div class="block">The request sent by the client to the <code>ResourceManager</code>
 or by the <code>ApplicationMaster</code> to the <code>NodeManager</code>
 to signal a container.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/SignalContainerResponse.html#org.apache.hadoop.yarn.api">SignalContainerResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to the client
 signalling a container.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/StartContainersRequest.html#org.apache.hadoop.yarn.api">StartContainersRequest</a>
<div class="block">
 The request which contains a list of <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/StartContainerRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>StartContainerRequest</code></a> sent by
 the <code>ApplicationMaster</code> to the <code>NodeManager</code> to
 <em>start</em> containers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/StartContainersResponse.html#org.apache.hadoop.yarn.api">StartContainersResponse</a>
<div class="block">
 The response sent by the <code>NodeManager</code> to the
 <code>ApplicationMaster</code> when asked to <em>start</em> an allocated
 container.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/StopContainersRequest.html#org.apache.hadoop.yarn.api">StopContainersRequest</a>
<div class="block">The request sent by the <code>ApplicationMaster</code> to the
 <code>NodeManager</code> to <em>stop</em> containers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/StopContainersResponse.html#org.apache.hadoop.yarn.api">StopContainersResponse</a>
<div class="block">
 The response sent by the <code>NodeManager</code> to the
 <code>ApplicationMaster</code> when asked to <em>stop</em> allocated
 containers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/SubmitApplicationRequest.html#org.apache.hadoop.yarn.api">SubmitApplicationRequest</a>
<div class="block">The request sent by a client to <em>submit an application</em> to the 
 <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/SubmitApplicationResponse.html#org.apache.hadoop.yarn.api">SubmitApplicationResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a client on
 application submission.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationPriorityRequest.html#org.apache.hadoop.yarn.api">UpdateApplicationPriorityRequest</a>
<div class="block">
 The request sent by the client to the <code>ResourceManager</code> to set or
 update the application priority.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationPriorityResponse.html#org.apache.hadoop.yarn.api">UpdateApplicationPriorityResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to the client on update
 the application priority.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationTimeoutsRequest.html#org.apache.hadoop.yarn.api">UpdateApplicationTimeoutsRequest</a>
<div class="block">
 The request sent by the client to the <code>ResourceManager</code> to set or
 update the application timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationTimeoutsResponse.html#org.apache.hadoop.yarn.api">UpdateApplicationTimeoutsResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to the client on update
 application timeout.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UseSharedCacheResourceRequest.html#org.apache.hadoop.yarn.api">UseSharedCacheResourceRequest</a>
<div class="block">
 The request from clients to the <code>SharedCacheManager</code> that claims a
 resource in the shared cache.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UseSharedCacheResourceResponse.html#org.apache.hadoop.yarn.api">UseSharedCacheResourceResponse</a>
<div class="block">
 The response from the SharedCacheManager to the client that indicates whether
 a requested resource exists in the cache.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.yarn.api.protocolrecords">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/package-summary.html">org.apache.hadoop.yarn.api.protocolrecords</a> used by <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/package-summary.html">org.apache.hadoop.yarn.api.protocolrecords</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/AllocateRequest.html#org.apache.hadoop.yarn.api.protocolrecords">AllocateRequest</a>
<div class="block">The core request sent by the <code>ApplicationMaster</code> to the 
 <code>ResourceManager</code> to obtain resources in the cluster.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/AllocateRequest.AllocateRequestBuilder.html#org.apache.hadoop.yarn.api.protocolrecords">AllocateRequest.AllocateRequestBuilder</a>
<div class="block">Class to construct instances of <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/AllocateRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>AllocateRequest</code></a> with specific
 options.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/AllocateResponse.html#org.apache.hadoop.yarn.api.protocolrecords">AllocateResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> the
 <code>ApplicationMaster</code> during resource negotiation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ApplicationsRequestScope.html#org.apache.hadoop.yarn.api.protocolrecords">ApplicationsRequestScope</a>
<div class="block">Enumeration that controls the scope of applications fetched</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ContainerUpdateRequest.html#org.apache.hadoop.yarn.api.protocolrecords">ContainerUpdateRequest</a>
<div class="block">The request sent by <code>Application Master</code> to the
 <code>Node Manager</code> to change the resource quota of a container.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ContainerUpdateResponse.html#org.apache.hadoop.yarn.api.protocolrecords">ContainerUpdateResponse</a>
<div class="block">
 The response sent by the <code>NodeManager</code> to the
 <code>ApplicationMaster</code> when asked to update container resource.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/FailApplicationAttemptRequest.html#org.apache.hadoop.yarn.api.protocolrecords">FailApplicationAttemptRequest</a>
<div class="block">The request sent by the client to the <code>ResourceManager</code>
 to fail an application attempt.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/FinishApplicationMasterRequest.html#org.apache.hadoop.yarn.api.protocolrecords">FinishApplicationMasterRequest</a>
<div class="block">The finalization request sent by the <code>ApplicationMaster</code> to
 inform the <code>ResourceManager</code> about its completion.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAllResourceProfilesRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetAllResourceProfilesRequest</a>
<div class="block">Request class for getting all the resource profiles from the RM.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAllResourceProfilesResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetAllResourceProfilesResponse</a>
<div class="block">Response class for getting all the resource profiles from the RM.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAllResourceTypeInfoRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetAllResourceTypeInfoRequest</a>
<div class="block">Request class for getting all the resource profiles from the RM.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAllResourceTypeInfoResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetAllResourceTypeInfoResponse</a>
<div class="block">Response class for getting all the resource profiles from the RM.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetApplicationAttemptReportRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetApplicationAttemptReportRequest</a>
<div class="block">
 The request sent by a client to the <code>ResourceManager</code> to get an
 <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAttemptReport.html" title="class in org.apache.hadoop.yarn.api.records"><code>ApplicationAttemptReport</code></a> for an application attempt.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetApplicationAttemptReportResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetApplicationAttemptReportResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 an application attempt report.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetApplicationAttemptsRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetApplicationAttemptsRequest</a>
<div class="block">
 The request from clients to get a list of application attempt reports of an
 application from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetApplicationAttemptsResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetApplicationAttemptsResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 a list of <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationAttemptReport.html" title="class in org.apache.hadoop.yarn.api.records"><code>ApplicationAttemptReport</code></a> for application attempts.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetApplicationReportRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetApplicationReportRequest</a>
<div class="block">The request sent by a client to the <code>ResourceManager</code> to 
 get an <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationReport.html" title="class in org.apache.hadoop.yarn.api.records"><code>ApplicationReport</code></a> for an application.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetApplicationsRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetApplicationsRequest</a>
<div class="block">The request from clients to get a report of Applications
 in the cluster from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAttributesToNodesRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetAttributesToNodesRequest</a>
<div class="block">
 The request from clients to get node to attribute value mapping for all or
 given set of Node AttributeKey's in the cluster from the
 <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetAttributesToNodesResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetAttributesToNodesResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 node to attribute value mapping for all or given set of Node AttributeKey's.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterMetricsRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetClusterMetricsRequest</a>
<div class="block">The request sent by clients to get cluster metrics from the 
 <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodeAttributesRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetClusterNodeAttributesRequest</a>
<div class="block">
 The request from clients to get node attributes in the cluster from the
 <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodeAttributesResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetClusterNodeAttributesResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 a node attributes in cluster.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodeLabelsRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetClusterNodeLabelsRequest</a>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodeLabelsResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetClusterNodeLabelsResponse</a>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetClusterNodesRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetClusterNodesRequest</a>
<div class="block">The request from clients to get a report of all nodes
 in the cluster from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetContainerReportRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetContainerReportRequest</a>
<div class="block">
 The request sent by a client to the <code>ResourceManager</code> to get an
 <a href="../../../../../../org/apache/hadoop/yarn/api/records/ContainerReport.html" title="class in org.apache.hadoop.yarn.api.records"><code>ContainerReport</code></a> for a container.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetContainerReportResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetContainerReportResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 a container report.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetContainersRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetContainersRequest</a>
<div class="block">
 The request from clients to get a list of container reports, which belong to
 an application attempt from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetContainersResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetContainersResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 a list of <a href="../../../../../../org/apache/hadoop/yarn/api/records/ContainerReport.html" title="class in org.apache.hadoop.yarn.api.records"><code>ContainerReport</code></a> for containers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetContainerStatusesRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetContainerStatusesRequest</a>
<div class="block">The request sent by the <code>ApplicationMaster</code> to the
 <code>NodeManager</code> to get <a href="../../../../../../org/apache/hadoop/yarn/api/records/ContainerStatus.html" title="class in org.apache.hadoop.yarn.api.records"><code>ContainerStatus</code></a> of requested
 containers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetDelegationTokenRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetDelegationTokenRequest</a>
<div class="block">The request issued by the client to get a delegation token from
 the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetLocalizationStatusesRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetLocalizationStatusesRequest</a>
<div class="block">The request sent by an application master to the node manager to get
 <a href="../../../../../../org/apache/hadoop/yarn/api/records/LocalizationStatus.html" title="class in org.apache.hadoop.yarn.api.records"><code>LocalizationStatus</code></a>es of containers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetLocalizationStatusesResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetLocalizationStatusesResponse</a>
<div class="block">The response sent by the node manager to an application master when
 localization statuses are requested.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNewApplicationRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetNewApplicationRequest</a>
<div class="block">The request sent by clients to get a new <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records"><code>ApplicationId</code></a> for
 submitting an application.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNewReservationRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetNewReservationRequest</a>
<div class="block">The request sent by clients to get a new <code>ReservationId</code> for
 submitting an reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNodesToAttributesRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetNodesToAttributesRequest</a>
<div class="block">
 The request from clients to get nodes to attributes mapping
 in the cluster from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNodesToAttributesResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetNodesToAttributesResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to a client requesting
 nodes to attributes mapping.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetQueueInfoRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetQueueInfoRequest</a>
<div class="block">The request sent by clients to get <em>queue information</em>
 from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetQueueUserAclsInfoRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetQueueUserAclsInfoRequest</a>
<div class="block">The request sent by clients to the <code>ResourceManager</code> to 
 get queue acls for the <em>current user</em>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetResourceProfileRequest.html#org.apache.hadoop.yarn.api.protocolrecords">GetResourceProfileRequest</a>
<div class="block">Request class for getting the details for a particular resource profile.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetResourceProfileResponse.html#org.apache.hadoop.yarn.api.protocolrecords">GetResourceProfileResponse</a>
<div class="block">Response class for getting the details for a particular resource profile.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/IncreaseContainersResourceRequest.html#org.apache.hadoop.yarn.api.protocolrecords">IncreaseContainersResourceRequest</a>
<div class="block">The request sent by <code>Application Master</code> to the
 <code>Node Manager</code> to change the resource quota of a container.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/KillApplicationRequest.html#org.apache.hadoop.yarn.api.protocolrecords">KillApplicationRequest</a>
<div class="block">The request sent by the client to the <code>ResourceManager</code>
 to abort a submitted application.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/MoveApplicationAcrossQueuesRequest.html#org.apache.hadoop.yarn.api.protocolrecords">MoveApplicationAcrossQueuesRequest</a>
<div class="block">The request sent by the client to the <code>ResourceManager</code>
 to move a submitted application to a different queue.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/RegisterApplicationMasterRequest.html#org.apache.hadoop.yarn.api.protocolrecords">RegisterApplicationMasterRequest</a>
<div class="block">The request sent by the <code>ApplicationMaster</code> to <code>ResourceManager</code>
 on registration.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReInitializeContainerRequest.html#org.apache.hadoop.yarn.api.protocolrecords">ReInitializeContainerRequest</a>
<div class="block">This encapsulates all the required fields needed for a Container
 ReInitialization.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationDeleteRequest.html#org.apache.hadoop.yarn.api.protocolrecords">ReservationDeleteRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationDeleteRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationDeleteRequest</code></a> captures the set of requirements the user
 has to delete an existing reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationListRequest.html#org.apache.hadoop.yarn.api.protocolrecords">ReservationListRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationListRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationListRequest</code></a> captures the set of requirements the
 user has to list reservations.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationSubmissionRequest.html#org.apache.hadoop.yarn.api.protocolrecords">ReservationSubmissionRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationSubmissionRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationSubmissionRequest</code></a> captures the set of requirements the
 user has to create a reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationUpdateRequest.html#org.apache.hadoop.yarn.api.protocolrecords">ReservationUpdateRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationUpdateRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationUpdateRequest</code></a> captures the set of requirements the user
 has to update an existing reservation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ResourceLocalizationRequest.html#org.apache.hadoop.yarn.api.protocolrecords">ResourceLocalizationRequest</a>
<div class="block">The request sent by the ApplicationMaster to ask for localizing resources.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/SignalContainerRequest.html#org.apache.hadoop.yarn.api.protocolrecords">SignalContainerRequest</a>
<div class="block">The request sent by the client to the <code>ResourceManager</code>
 or by the <code>ApplicationMaster</code> to the <code>NodeManager</code>
 to signal a container.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/StartContainerRequest.html#org.apache.hadoop.yarn.api.protocolrecords">StartContainerRequest</a>
<div class="block">The request sent by the <code>ApplicationMaster</code> to the
 <code>NodeManager</code> to <em>start</em> a container.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/StartContainersRequest.html#org.apache.hadoop.yarn.api.protocolrecords">StartContainersRequest</a>
<div class="block">
 The request which contains a list of <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/StartContainerRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>StartContainerRequest</code></a> sent by
 the <code>ApplicationMaster</code> to the <code>NodeManager</code> to
 <em>start</em> containers.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/StopContainersRequest.html#org.apache.hadoop.yarn.api.protocolrecords">StopContainersRequest</a>
<div class="block">The request sent by the <code>ApplicationMaster</code> to the
 <code>NodeManager</code> to <em>stop</em> containers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/SubmitApplicationRequest.html#org.apache.hadoop.yarn.api.protocolrecords">SubmitApplicationRequest</a>
<div class="block">The request sent by a client to <em>submit an application</em> to the 
 <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationPriorityRequest.html#org.apache.hadoop.yarn.api.protocolrecords">UpdateApplicationPriorityRequest</a>
<div class="block">
 The request sent by the client to the <code>ResourceManager</code> to set or
 update the application priority.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationPriorityResponse.html#org.apache.hadoop.yarn.api.protocolrecords">UpdateApplicationPriorityResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to the client on update
 the application priority.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationTimeoutsRequest.html#org.apache.hadoop.yarn.api.protocolrecords">UpdateApplicationTimeoutsRequest</a>
<div class="block">
 The request sent by the client to the <code>ResourceManager</code> to set or
 update the application timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationTimeoutsResponse.html#org.apache.hadoop.yarn.api.protocolrecords">UpdateApplicationTimeoutsResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to the client on update
 application timeout.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.yarn.client.api">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/package-summary.html">org.apache.hadoop.yarn.api.protocolrecords</a> used by <a href="../../../../../../org/apache/hadoop/yarn/client/api/package-summary.html">org.apache.hadoop.yarn.client.api</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/AllocateResponse.html#org.apache.hadoop.yarn.client.api">AllocateResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> the
 <code>ApplicationMaster</code> during resource negotiation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetApplicationsRequest.html#org.apache.hadoop.yarn.client.api">GetApplicationsRequest</a>
<div class="block">The request from clients to get a report of Applications
 in the cluster from the <code>ResourceManager</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNewApplicationResponse.html#org.apache.hadoop.yarn.client.api">GetNewApplicationResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to the client for 
 a request to get a new <a href="../../../../../../org/apache/hadoop/yarn/api/records/ApplicationId.html" title="class in org.apache.hadoop.yarn.api.records"><code>ApplicationId</code></a> for submitting applications.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/GetNewReservationResponse.html#org.apache.hadoop.yarn.client.api">GetNewReservationResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to the client for
 a request to get a new <a href="../../../../../../org/apache/hadoop/yarn/api/records/ReservationId.html" title="class in org.apache.hadoop.yarn.api.records"><code>ReservationId</code></a> for submitting reservations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/RegisterApplicationMasterResponse.html#org.apache.hadoop.yarn.client.api">RegisterApplicationMasterResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a new
 <code>ApplicationMaster</code> on registration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationDeleteRequest.html#org.apache.hadoop.yarn.client.api">ReservationDeleteRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationDeleteRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationDeleteRequest</code></a> captures the set of requirements the user
 has to delete an existing reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationDeleteResponse.html#org.apache.hadoop.yarn.client.api">ReservationDeleteResponse</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationDeleteResponse.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationDeleteResponse</code></a> contains the answer of the admission
 control system in the <code>ResourceManager</code> to a reservation delete
 operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationListRequest.html#org.apache.hadoop.yarn.client.api">ReservationListRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationListRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationListRequest</code></a> captures the set of requirements the
 user has to list reservations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationListResponse.html#org.apache.hadoop.yarn.client.api">ReservationListResponse</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationListResponse.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationListResponse</code></a> captures the list of reservations that the
 user has queried.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationSubmissionRequest.html#org.apache.hadoop.yarn.client.api">ReservationSubmissionRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationSubmissionRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationSubmissionRequest</code></a> captures the set of requirements the
 user has to create a reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationSubmissionResponse.html#org.apache.hadoop.yarn.client.api">ReservationSubmissionResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a client on
 reservation submission.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationUpdateRequest.html#org.apache.hadoop.yarn.client.api">ReservationUpdateRequest</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationUpdateRequest.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationUpdateRequest</code></a> captures the set of requirements the user
 has to update an existing reservation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/ReservationUpdateResponse.html#org.apache.hadoop.yarn.client.api">ReservationUpdateResponse</a>
<div class="block"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/ReservationUpdateResponse.html" title="class in org.apache.hadoop.yarn.api.protocolrecords"><code>ReservationUpdateResponse</code></a> contains the answer of the admission
 control system in the <code>ResourceManager</code> to a reservation update
 operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationTimeoutsRequest.html#org.apache.hadoop.yarn.client.api">UpdateApplicationTimeoutsRequest</a>
<div class="block">
 The request sent by the client to the <code>ResourceManager</code> to set or
 update the application timeout.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/UpdateApplicationTimeoutsResponse.html#org.apache.hadoop.yarn.client.api">UpdateApplicationTimeoutsResponse</a>
<div class="block">
 The response sent by the <code>ResourceManager</code> to the client on update
 application timeout.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.hadoop.yarn.client.api.async">
<!--   -->
</a>
<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/package-summary.html">org.apache.hadoop.yarn.api.protocolrecords</a> used by <a href="../../../../../../org/apache/hadoop/yarn/client/api/async/package-summary.html">org.apache.hadoop.yarn.client.api.async</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Class and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colOne"><a href="../../../../../../org/apache/hadoop/yarn/api/protocolrecords/class-use/RegisterApplicationMasterResponse.html#org.apache.hadoop.yarn.client.api.async">RegisterApplicationMasterResponse</a>
<div class="block">The response sent by the <code>ResourceManager</code> to a new
 <code>ApplicationMaster</code> on registration.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="navBarCell1Rev">Use</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/yarn/api/protocolrecords/package-use.html" target="_top">Frames</a></li>
<li><a href="package-use.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
