---
title:  Mapping cache.xml Elements to gfsh Configuration Commands
---

<!--
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.
-->

You can configure a <%=vars.product_name%> cluster using either cache.xml files,
or you can use gfsh and the cluster configuration service
to configure a cluster.
This table maps `cache.xml` elements to the gfsh commands that
configure and manage a cluster.

<a id="reference_qvw_zyq_54__table_in3_dzq_54"></a>

<table>
<colgroup>
<col width="50%" />
<col width="50%" />
</colgroup>
<thead>
<tr class="header">
<th>cache.xml Element</th>
<th>gfsh Command</th>
</tr>
</thead>
<tbody>
<tr>
<td>&lt;cache&gt;, &lt;cache-server&gt;</td>
<td><ul>
<li><a href="command-pages/start.html#topic_3764EE2DB18B4AE4A625E0354471738A">start server</a></li>
<li><a href="command-pages/status.html#topic_E5DB49044978404D9D6B1971BF5D400D">status server</a></li>
<li><a href="command-pages/stop.html#topic_723EE395A63A40D6819618AFC2902115">stop server</a></li>
<li><a href="command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B">alter runtime</a></li>
</ul></td>
</tr>
<tr>
<td>&lt;async-event-queue&gt;</td>
<td><ul>
<li><a href="command-pages/alter.html#topic_alter_async_event_queue">alter async-event-queue</a></li>
<li><a href="command-pages/create.html#topic_ryz_pb1_dk">create async-event-queue</a></li>
<li><a href="command-pages/destroy.html#topic_destroy-async-event-queue">destroy async-event-queue</a></li>
<li><a href="command-pages/list.html#topic_j22_kzk_2l">list async-event-queues</a></li>
<li><a href="command-pages/resume.html#topic_resume_async_event_queue_dispatcher">resume async-event-queue-dispatching</a></li>
</ul></td>
</tr>
<tr>
<td>&lt;pdx&gt;</td>
<td><ul>
<li><a href="command-pages/configure.html#topic_jdkdiqbgphqh">configure pdx</a></li>
</td>
</tr>
<tr>
<td>&lt;region&gt;</td>
<td><ul>
<li><a href="command-pages/create.html#topic_54B0985FEC5241CA9D26B0CE0A5EA863">create region</a></li>
<li><a href="command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758">alter region</a></li>
<li><a href="command-pages/destroy.html#topic_BEDACECF4599407794ACBC0E56B30F65">destroy region</a></li>
<li><a href="command-pages/describe.html#topic_DECF7D3D33F54071B6B8AD4EA7E3F90B">describe region</a></li>
<li><a href="command-pages/list.html#topic_F0ECEFF26086474498598035DD83C588">list regions</a></li>
<li><a href="command-pages/rebalance.html">rebalance</a></li>
</ul></td>
</tr>
<tr>
<td>&lt;index&gt;</td>
<td><ul>
<li><a href="command-pages/create.html#topic_960A5B6FD3D84E1881EE118E299DD12D">create index</a></li>
<li><a href="command-pages/destroy.html#topic_D00219CCD6F64C1582A0802AC5CDF3F3">destroy index</a></li>
<li><a href="command-pages/list.html#topic_B3B51B6DEA484EE086C4F657EC9831F2">list indexes</a></li>
</ul></td>
</tr>
<tr>
<td>&lt;disk-store&gt;</td>
<td><ul>
<li><a href="command-pages/create.html#topic_bkn_zty_ck">create disk-store</a></li>
<li><a href="command-pages/alter.html#topic_99BCAD98BDB5470189662D2F308B68EB">alter disk-store</a></li>
<li><a href="command-pages/backup.html#topic_E74ED23CB60342538B2175C326E7D758">backup disk-store</a></li>
<li><a href="command-pages/compact.html#topic_F113C95C076F424E9AA8AC4F1F6324CC">compact disk-store</a></li>
<li><a href="command-pages/compact.html#topic_9CCFCB2FA2154E16BD775439C8ABC8FB">compact offline-disk-store</a></li>
<li><a href="command-pages/describe.html#topic_C635B500BE6A4F1D9572D0BC98A224F2">describe disk-store</a></li>
<li><a href="command-pages/describe.html#topic_kys_yvk_2l">describe offline-disk-store</a></li>
<li><a href="command-pages/destroy.html#topic_yfr_l2z_ck">destroy disk-store</a></li>
<li><a href="command-pages/list.html#topic_BC14AD57EA304FB3845766898D01BD04">list disk-stores</a></li>
<li><a href="command-pages/revoke.html">revoke missing-disk-store</a></li>
<li><a href="command-pages/show.html#topic_7B3D624D5B4F41D1A0F8A9C3C8B2E780">show missing-disk-stores</a></li>
<li><a href="command-pages/validate.html">validate offline-disk-store</a></li>
</ul></td>
</tr>
</tbody>
</table>

<span class="tablecap">Table 1. Migrating cache.xml elements to gfsh commands</span>


