/*
 * 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.geode.management.internal.i18n;

import static org.apache.geode.distributed.ConfigurationProperties.ARCHIVE_DISK_SPACE_LIMIT;
import static org.apache.geode.distributed.ConfigurationProperties.ARCHIVE_FILE_SIZE_LIMIT;
import static org.apache.geode.distributed.ConfigurationProperties.CACHE_XML_FILE;
import static org.apache.geode.distributed.ConfigurationProperties.DURABLE_CLIENT_ID;
import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION;
import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_TIME_STATISTICS;
import static org.apache.geode.distributed.ConfigurationProperties.JMX_MANAGER;
import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
import static org.apache.geode.distributed.ConfigurationProperties.LOG_DISK_SPACE_LIMIT;
import static org.apache.geode.distributed.ConfigurationProperties.LOG_FILE_SIZE_LIMIT;
import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_ADDRESS;
import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
import static org.apache.geode.distributed.ConfigurationProperties.MEMCACHED_BIND_ADDRESS;
import static org.apache.geode.distributed.ConfigurationProperties.MEMCACHED_PORT;
import static org.apache.geode.distributed.ConfigurationProperties.MEMCACHED_PROTOCOL;
import static org.apache.geode.distributed.ConfigurationProperties.SERVER_BIND_ADDRESS;
import static org.apache.geode.distributed.ConfigurationProperties.SOCKET_BUFFER_SIZE;
import static org.apache.geode.distributed.ConfigurationProperties.STATISTIC_ARCHIVE_FILE;
import static org.apache.geode.distributed.ConfigurationProperties.STATISTIC_SAMPLE_RATE;
import static org.apache.geode.distributed.ConfigurationProperties.USE_CLUSTER_CONFIGURATION;

import java.text.MessageFormat;

import org.apache.geode.cache.PartitionAttributesFactory;
import org.apache.geode.cache.server.CacheServer;
import org.apache.geode.distributed.ConfigurationProperties;
import org.apache.geode.distributed.internal.DistributionConfig;
import org.apache.geode.distributed.internal.InternalConfigurationPersistenceService;
import org.apache.geode.internal.cache.xmlcache.CacheXml;

/**
 * - * Contains 'String' constants used as key to the Localized strings to be used in classes under
 * <code>org.apache.geode.management.internal.cli</code> for Command Line Interface (CLI). NOTES: 1.
 * CONVENTIONS: Defining constants for Command Name, option, argument, help: 1.1 Command Name:
 * Command name in BOLD. Multiple words separated by single underscore ('_') E.g. COMPACT_DISK_STORE
 * 1.2 Command Help Text: Command name in BOLD followed by double underscore ('__') followed by HELP
 * in BOLD. E.g.COMPACT_DISK_STORE__HELP 1.3 Command Option: Command name in BOLD followed by double
 * underscore ('__') followed by option name in BOLD - multiple words concatenated by removing
 * space. E.g. for option "--disk-dirs" - COMPACT_DISK_STORE__DISKDIRS 1.4 Command Option Help: As
 * mentioned in 1.3, followed by double underscore ('__') followed by HELP in BOLD. E.g.
 * COMPACT_DISK_STORE__DISKDIRS__HELP 1.5 Info/Error Message used in a command: Command name in BOLD
 * followed by double underscore ('__') followed by MSG in BOLD followed by brief name for the
 * message (Similar to used in LocalizedStrings). E.g.
 * COMPACT_DISK_STORE__MSG__ERROR_WHILE_COMPACTING = "Error occurred while compacting disk store."
 * 1.6 Parameterized messages are supposed to be handled by users. It's recommended to use the same
 * conventions as used in LocalizedStrings. E.g. COMPACT_DISK_STORE__MSG__ERROR_WHILE_COMPACTING__0
 * = "Error occurred while compacting disk store {0}."
 *
 * 2. Defining Topic constants: 2.1 The constants' names should begin with "TOPIC_" E.g.
 * TOPIC_GEODE_REGION 2.2 Topic brief description should be defined with suffix "__DESC". E.g.
 * TOPIC_GEODE_REGION__DESC
 *
 * 3. Order for adding constants: It should be alphabetically sorted at least on the first name
 * within the current group
 *
 * @since GemFire 7.0
 */
public class CliStrings {

  public static final String GROUP = "group";
  public static final String GROUPS = "groups";
  public static final String MEMBER = "member";
  public static final String MEMBERS = "members";
  public static final String IFEXISTS = "if-exists";
  public static final String IFNOTEXISTS = "if-not-exists";
  public static final String JAR = "jar";
  public static final String JARS = "jars";

  public static final String NULL = "null";

  public static final String IFEXISTS_HELP =
      "If true, the command will be a no-op if the entity does not exist.";
  public static final String IFNOTEXISTS_HELP =
      "If true, the command will be a no-op if the entity does exist.";
  public static final String ENTRY_IDLE_TIME_CUSTOM_EXPIRY = "entry-idle-time-custom-expiry";
  public static final String ENTRY_TTL_CUSTOM_EXPIRY = "entry-time-to-live-custom-expiry";
  public static final String ENTRY_IDLE_TIME_CUSTOM_EXPIRY_HELP =
      "The name of the class implementing CustomExpiry for entry idle time. Append json string for initialization properties.";
  public static final String ENTRY_TTL_CUSTOM_EXPIRY_HELP =
      "The name of the class implementing CustomExpiry for entry time to live. Append json string for initialization properties.";
  private static final String LOG_LEVEL_VALUES =
      "Possible values for log-level include: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF.";

  /*-*************************************************************************
   *************                  T O P I C S                  ***************
   ***************************************************************************/
  public static final String DEFAULT_TOPIC_GEODE = "Geode";
  public static final String DEFAULT_TOPIC_GEODE__DESC =
      "Apache Geode is a distributed data management platform providing dynamic scalability, high performance and database-like persistence.";
  public static final String TOPIC_GEODE_REGION = "Region";
  public static final String TOPIC_GEODE_REGION__DESC =
      "A region is the core building block of the Apache Geode distributed system. Cached data is organized into regions and all data puts, gets, and querying activities are done against them.";
  public static final String TOPIC_GEODE_WAN = "WAN";
  public static final String TOPIC_GEODE_WAN__DESC =
      "For multiple data centers in remote locations, Geode provides a WAN gateway to facilitate data sharing. The WAN gateway connects two or more remote sites and then sends asynchronous, batched updates as data is changed.";
  public static final String TOPIC_GEODE_JMX = "JMX";
  public static final String TOPIC_GEODE_JMX__DESC =
      "JMX technology provides the tools for building distributed, Web-based, modular and dynamic solutions for managing and monitoring devices, applications, and service-driven networks.";
  public static final String TOPIC_GEODE_DISKSTORE = "Disk Store";
  public static final String TOPIC_GEODE_DISKSTORE__DESC =
      "Disk stores are used to persist data to disk as a backup to your in-memory copy or as overflow storage when memory use is too high.";
  public static final String TOPIC_GEODE_LOCATOR = "Locator";
  public static final String TOPIC_GEODE_LOCATOR__DESC =
      "JVMs running Geode discover each other through a TCP service named the locator.";
  public static final String TOPIC_GEODE_SERVER = "Server";
  public static final String TOPIC_GEODE_SERVER__DESC =
      "A server is Geode cluster member which holds a Geode cache. Depending on the topology used it can refer to either a system that responds to client requests or a system that is only a peer to other members.";
  public static final String TOPIC_GEODE_MANAGER = "Manager";
  public static final String TOPIC_GEODE_MANAGER__DESC =
      "The Manager is a member which has the additional role of a managing & monitoring the Geode distributed system.";
  public static final String TOPIC_GEODE_STATISTICS = "Statistics";
  public static final String TOPIC_GEODE_STATISTICS__DESC =
      "iEvery application and server in a Apache Geode distributed system can be configured to perform statistical data collection for analysis.";
  public static final String TOPIC_GEODE_LIFECYCLE = "Lifecycle";
  public static final String TOPIC_GEODE_LIFECYCLE__DESC =
      "Launching, execution and termination of Geode cluster members such as servers and locators.";
  public static final String TOPIC_GEODE_M_AND_M = "Management-Monitoring";
  public static final String TOPIC_GEODE_M_AND_M__DESC =
      "The management of and monitoring of Geode systems using Geode tools, such as Apache Geode Pulse or Data Browser, and JConsole, which is provided with the JDK(TM)";
  public static final String TOPIC_GEODE_DATA = "Data";
  public static final String TOPIC_GEODE_DATA__DESC =
      "User data as stored in regions of the Geode distributed system.";
  public static final String TOPIC_GEODE_CONFIG = "Configuration";
  public static final String TOPIC_GEODE_CONFIG__DESC =
      "Configuration of Apache Geode Cache & Servers/Locators hosting the Cache.";
  public static final String TOPIC_GEODE_FUNCTION = "Function Execution";
  public static final String TOPIC_GEODE_FUNCTION__DESC =
      "The function execution service provides solutions for these application use cases: \n\tAn application that executes a server-side transaction or carries out data updates using the Geode distributed locking service. \n\tAn application that needs to initialize some of its components once on each server, which might be used later by executed functions. Initialization and startup of a third-party service, such as a messaging service. \n\tAny arbitrary aggregation operation that requires iteration over local data sets that can be done more efficiently through a single call to the cache server. \n\tAny kind of external resource provisioning that can be done by executing a function on a server.";
  public static final String TOPIC_GEODE_HELP = "Help";
  public static final String TOPIC_GEODE_HELP__DESC =
      "Provides usage information for gfsh & its commands.";
  public static final String TOPIC_GEODE_DEBUG_UTIL = "Debug-Utility";
  public static final String TOPIC_GEODE_DEBUG_UTIL__DESC =
      "Debugging aids & utilities to use with Apache Geode.";
  public static final String TOPIC_GFSH = "GFSH";
  public static final String TOPIC_GFSH__DESC = "The Geode Shell";
  public static final String TOPIC_SHARED_CONFIGURATION = "Cluster Configuration";
  public static final String TOPIC_SHARED_CONFIGURATION_HELP =
      "Configuration for cluster and various groups. It consists of cache.xml, geode properties and deployed jars.\nChanges due to gfsh command are persisted to the locator hosting the cluster configuration service.";
  public static final String TOPIC_LOGS = "Logs";
  public static final String TOPIC_LOGS__DESC = "Generate log contents as per the need";
  public static final String TOPIC_CLIENT = "Client";
  public static final String TOPIC_CLIENT__DESC = "Client status";

  /*-*************************************************************************
   * ********* String Constants other than command name, options & help ******
   * *************************************************************************/

  public static final String DESKTOP_APP_RUN_ERROR_MESSAGE =
      "Running desktop applications is not supported on %1$s.";
  public static final String GEODE_HOME_NOT_FOUND_ERROR_MESSAGE =
      "The GEODE environment variable was not defined.  Please set the GEODE environment variable to the directory where GEODE is installed.";
  public static final String JAVA_HOME_NOT_FOUND_ERROR_MESSAGE =
      "Unable to locate the Java executables and dependencies.  Please set the JAVA_HOME environment variable.";
  public static final String CACHE_XML_NOT_FOUND_MESSAGE =
      "Warning: The Geode cache XML file {0} could not be found.";
  public static final String CLUSTER_CONFIG_PRECEDENCE_OVER_CACHE_XML_WARN =
      "NOTE: If cluster configuration is enabled, then those settings will take precedence over: ";
  public static final String GEODE_0_PROPERTIES_1_NOT_FOUND_MESSAGE =
      "Warning: The Geode {0}properties file {1} could not be found.";
  public static final String MEMBER_NOT_FOUND_ERROR_MESSAGE =
      "Member {0} could not be found.  Please verify the member name or ID and try again.";
  public static final String NO_MEMBERS_IN_GROUP_ERROR_MESSAGE =
      "No caching members for group {0} could be found.  Please verify the group and try again.";
  public static final String NO_MEMBERS_FOUND_MESSAGE = "No Members Found";
  public static final String NO_CACHING_MEMBERS_FOUND_MESSAGE = "No caching members found.";
  public static final String COMMAND_FAILURE_MESSAGE = "Error occurred while executing : {0}";
  public static final String EXCEPTION_CLASS_AND_MESSAGE = "Exception : {0} , Message : {1}";
  public static final String GROUP_EMPTY_ERROR_MESSAGE = "No members found in group : {0}";
  public static final String REGION_NOT_FOUND = "Region : {0} not found";
  public static final String INVALID_REGION_NAME = "Invalid region name";
  public static final String INVALID_FILE_EXTENSION =
      "Invalid file type, the file extension must be \"{0}\"";
  public static final String GEODE_DATA_FILE_EXTENSION = ".gfd";
  public static final String LOCATOR_HEADER = "Locator";
  public static final String LOCATOR_TERM_NAME = "Locator";
  public static final String ERROR__MSG__HEADER = "Error";
  public static final String ZIP_FILE_EXTENSION = ".zip";
  // This should be thrown for FunctionInvocationTargetException
  public static final String COULD_NOT_EXECUTE_COMMAND_TRY_AGAIN =
      "Could not execute \" {0} \", please try again ";
  public static final String UNEXPECTED_RETURN_TYPE_EXECUTING_COMMAND_ERROR_MESSAGE =
      "Received an unexpected return type ({0}) while executing command {1}.";
  public static final String PROVIDE_ATLEAST_ONE_OPTION =
      "\"{0}\" requires that one or more parameters be provided.";
  public static final String STATUS_SERVICE__GFSH_NOT_CONNECTED_ERROR_MESSAGE =
      "Gfsh must be connected in order to get the status of a {0} by member name or ID.";
  public static final String STOP_SERVICE__GFSH_NOT_CONNECTED_ERROR_MESSAGE =
      "Gfsh must be connected in order to stop a {0} by member name or ID.";
  public static final String PROVIDE_EITHER_MEMBER_OR_GROUP_MESSAGE =
      "Please provide either \"member\" or \"group\" option.";
  public static final String GFSH_MUST_BE_CONNECTED_FOR_LAUNCHING_0 =
      "Gfsh must be connected for launching {0}";
  public static final String GFSH_MUST_BE_CONNECTED_VIA_JMX_FOR_LAUNCHING_0 =
      "Gfsh must be connected via JMX for launching {0}";
  public static final String ATTACH_API_IN_0_NOT_FOUND_ERROR_MESSAGE =
      "The JDK {0} is required by 'start', 'status' and 'stop' commands for Locators and Servers. Please set JAVA_HOME to the JDK Directory or add the JDK {0} to the classpath, restart Gfsh and try again.";
  public static final String ASYNC_PROCESS_LAUNCH_MESSAGE =
      "Broken out of wait... the %1$s process will continue to startup in the background.%n";
  public static final String NO_NON_LOCATOR_MEMBERS_FOUND = "No non-locator members found.";
  public static final String NO_CLIENT_FOUND = "No client found on this server";
  public static final String NO_CLIENT_FOUND_WITH_CLIENT_ID =
      "No client found with client-id : {0}";
  public static final String ACTION_SUCCEEDED_ON_MEMBER = "{0} on following members.";
  public static final String OCCURRED_ON_MEMBERS = "Occurred on members";
  public static final String SHARED_CONFIGURATION_NOT_STARTED =
      "Cluster configuration service is enabled but has not started yet.";
  public static final String SHARED_CONFIGURATION_NO_LOCATORS_WITH_SHARED_CONFIGURATION =
      "No locators with cluster configuration enabled.";
  public static final String SHARED_CONFIGURATION_FAILED_TO_PERSIST_COMMAND_CHANGES =
      "This change is not persisted in the cluster configuration, either because the cluster configuration service is not running or the command is operating on targeted members.";
  /* Other Constants */
  public static final String GFSH__MSG__NO_LONGER_CONNECTED_TO_0 = "No longer connected to {0}.";
  public static final String GFSHPARSER__MSG__REQUIRED_ARGUMENT_0 = "Required Argument: \"{0}\"";
  public static final String GFSHPARSER__MSG__VALUE_REQUIRED_FOR_OPTION_0 =
      "Value is required for parameter \"{0}\"";
  public static final String GFSHPARSER__MSG__AMBIGUOUS_COMMAND_0_FOR_ASSISTANCE_USE_1_OR_HINT_HELP =
      "Ambiguous command \"{0}\" (for assistance press \"{1}\" or type \"hint\" or \"help <command name>\" & then hit ENTER)";
  public static final String GFSHPARSER__MSG__COMMAND_ARGUMENT_0_IS_REQUIRED_USE_HELP =
      "Command parameter \"{0}\" is required. Use \"help <command name>\" for assistance.";
  public static final String GFSHPARSER__MSG__COMMAND_OPTION_0_IS_REQUIRED_USE_HELP =
      "Parameter \"{0}\" is required. Use \"help <command name>\" for assistance.";
  public static final String GFSHPARSER__MSG__VALUE_0_IS_NOT_APPLICABLE_FOR_1 =
      "Value \"{0}\" is not applicable for \"{1}\".";
  public static final String GFSHPARSER__MSG__INVALID_COMMAND_STRING_0 =
      "Invalid command String: {0}";
  public static final String GFSHPARSER__MSG__COMMAND_0_IS_NOT_VALID =
      "Command \"{0}\" is not valid.";
  public static final String GFSHPARSER__MSG__NO_MATCHING_COMMAND = "No matching command";
  public static final String GFSHPARSER__MSG__USE_0_HELP_COMMAND_TODISPLAY_DETAILS =
      "Use {0}help <command name> to display detailed usage information for a specific command.";
  public static final String GFSHPARSER__MSG__HELP_CAN_ALSO_BE_OBTAINED_BY_0_KEY =
      "Help with command and parameter completion can also be obtained by entering all or a portion of either followed by the \"{0}\" key.";
  public static final String GFSHPARSER__MSG__0_IS_NOT_AVAILABLE_REASON_1 =
      "\"{0}\" is not available. Reason: {1}";
  public static final String GFSHPARSER__MSG__OTHER_COMMANDS_STARTING_WITH_0_ARE =
      "Other commands starting with \"{0}\" are: ";

  public static final String ABSTRACTRESULTDATA__MSG__FILE_WITH_NAME_0_EXISTS_IN_1 =
      "File with name \"{0}\" already exists in \"{1}\".";
  public static final String ABSTRACTRESULTDATA__MSG__PARENT_DIRECTORY_OF_0_DOES_NOT_EXIST =
      "Parent directory of \"{0}\" does not exist.";
  public static final String ABSTRACTRESULTDATA__MSG__PARENT_DIRECTORY_OF_0_IS_NOT_WRITABLE =
      "Parent directory of \"{0}\" is not writable.";
  public static final String ABSTRACTRESULTDATA__MSG__PARENT_OF_0_IS_NOT_DIRECTORY =
      "Parent of \"{0}\" is not a directory.";

  public static final String AVAILABILITYTARGET_MSG_DEFAULT_UNAVAILABILITY_DESCRIPTION =
      "Requires connection.";

  public static final String LAUNCHERLIFECYCLECOMMANDS__MSG__FAILED_TO_START_0_REASON_1 =
      "Failed to start {0}. Reason: {1}";

  public static final String GFSH__PLEASE_CHECK_LOGS_AT_0 = "Please check logs {0}";

  public static final String STACK_TRACE_FOR_MEMBER = "*** Stack-trace for member ";

  /*-**************************************************************************
   * *********** COMMAND NAME, OPTION, ARGUMENT, HELP, MESSAGES ****************
   * **************************************************************************/
  /* 'alter disk-store' command */
  public static final String ALTER_DISK_STORE = "alter disk-store";
  public static final String ALTER_DISK_STORE__HELP =
      "Alter some options for a region or remove a region in an offline disk store.";
  public static final String ALTER_DISK_STORE__DISKSTORENAME = "name";
  public static final String ALTER_DISK_STORE__DISKSTORENAME__HELP =
      "Name of the disk store whose contents will be altered.";
  public static final String ALTER_DISK_STORE__REGIONNAME = "region";
  public static final String ALTER_DISK_STORE__REGIONNAME__HELP =
      "Name/Path of the region in the disk store to alter.";
  public static final String ALTER_DISK_STORE__DISKDIRS = "disk-dirs";
  public static final String ALTER_DISK_STORE__DISKDIRS__HELP =
      "Directories where data for the disk store was previously written.";
  public static final String ALTER_DISK_STORE__LRU__EVICTION__ALGORITHM = "lru-algorithm";
  public static final String ALTER_DISK_STORE__LRU__EVICTION__ALGORITHM__HELP =
      "Least recently used eviction algorithm.  Valid values are: none, lru-entry-count, lru-heap-percentage and lru-memory-size.";
  public static final String ALTER_DISK_STORE__LRU__EVICTION__ACTION = "lru-action";
  public static final String ALTER_DISK_STORE__LRU__EVICTION__ACTION__HELP =
      "Action to take when evicting entries from the region. Valid values are: none, overflow-to-disk and local-destroy.";
  public static final String ALTER_DISK_STORE__LRU__EVICTION__LIMIT = "lru-limit";
  public static final String ALTER_DISK_STORE__LRU__EVICTION__LIMIT__HELP =
      "Number of entries allowed in the region before eviction will occur.";
  public static final String ALTER_DISK_STORE__CONCURRENCY__LEVEL = "concurrency-level";
  public static final String ALTER_DISK_STORE__CONCURRENCY__LEVEL__HELP =
      "An estimate of the maximum number of application threads that will concurrently modify a region at one time. This attribute does not apply to partitioned regions.";
  public static final String ALTER_DISK_STORE__INITIAL__CAPACITY = "initial-capacity";
  public static final String ALTER_DISK_STORE__INITIAL__CAPACITY__HELP =
      "Together with --load-factor, sets the parameters on the underlying java.util.ConcurrentHashMap used for storing region entries.";
  public static final String ALTER_DISK_STORE__LOAD__FACTOR = "load-factor";
  public static final String ALTER_DISK_STORE__LOAD__FACTOR__HELP =
      "Together with --initial-capacity, sets the parameters on the underlying java.util.ConcurrentHashMap used for storing region entries. This must be a floating point number between 0 and 1, inclusive.";
  public static final String ALTER_DISK_STORE__COMPRESSOR = "compressor";
  public static final String ALTER_DISK_STORE__COMPRESSOR__HELP =
      "The fully-qualified class name of the Compressor to use when compressing region entry values. A value of 'none' will remove the Compressor.";
  public static final String ALTER_DISK_STORE__STATISTICS__ENABLED = "enable-statistics";
  public static final String ALTER_DISK_STORE__STATISTICS__ENABLED__HELP =
      "Whether to enable statistics. Valid values are: true and false.";
  public static final String ALTER_DISK_STORE__OFF_HEAP = "off-heap";
  public static final String ALTER_DISK_STORE__OFF_HEAP__HELP =
      "Whether to use off-heap memory for the region. Valid values are: true and false.";
  public static final String ALTER_DISK_STORE__REMOVE = "remove";
  public static final String ALTER_DISK_STORE__REMOVE__HELP =
      "Whether to remove the region from the disk store.";

  /* alter gateway-sender */
  public static final String ALTER_GATEWAYSENDER = "alter gateway-sender";
  public static final String ALTER_GATEWAYSENDER__HELP =
      "Alter some options for the Gateway Sender on a member or members.";
  public static final String ALTER_GATEWAYSENDER__ID = "id";
  public static final String ALTER_GATEWAYSENDER__ID__HELP = "ID of the gateway sender.";

  public static final String ALTER_GATEWAYSENDER__GROUP__HELP =
      "Group(s) of members on which to alter the gateway sender option.";
  public static final String ALTER_GATEWAYSENDER__MEMBER__HELP =
      "Name/Id of the member on which to alter the gateway sender option.";

  public static final String ALTER_GATEWAYSENDER__ALERTTHRESHOLD = "alert-threshold";
  public static final String ALTER_GATEWAYSENDER__ALERTTHRESHOLD__HELP =
      "The alert threshold for entries in a gateway sender's queue.";

  public static final String ALTER_GATEWAYSENDER__BATCHSIZE = "batch-size";
  public static final String ALTER_GATEWAYSENDER__BATCHSIZE__HELP =
      "The batch size for the gateway sender.";

  public static final String ALTER_GATEWAYSENDER__BATCHTIMEINTERVAL = "batch-time-interval";
  public static final String ALTER_GATEWAYSENDER__BATCHTIMEINTERVAL__HELP =
      "The batch time interval for the gateway sender.";

  public static final String ALTER_GATEWAYSENDER__GATEWAYEVENTFILTER = "gateway-event-filter";
  // Note: Spring Shell 2.x migration removed the 'specifiedDefaultValue' annotation parameter
  // that was previously used in Spring Shell 1.x. In Spring Shell 1.x, we could use
  // @CliOption(specifiedDefaultValue="") to detect when a user provided an option without a value
  // (e.g., --gateway-event-filter=). This allowed us to distinguish between "option not provided"
  // and "option provided with empty value" to clear filters. Spring Shell 2.x removed this feature
  // and strips the trailing '=' from options, making both "--gateway-event-filter" and
  // "--gateway-event-filter=" identical. To work around this limitation, we now require users to
  // explicitly use a special marker value "CLEAR" (case-insensitive) to remove all filters.
  public static final String ALTER_GATEWAYSENDER__GATEWAYEVENTFILTER__HELP =
      "The list of fully qualified class names of GatewayEventFilters (separated by commas) to be associated with the GatewaySender.\n"
          + "This serves as a callback for users to filter out events before dispatching to the remote distributed system.\n"
          + "E.g gateway-event-filter=com.user.filters.MyFilter1,com.user.filters.MyFilters2\n"
          + "Use 'CLEAR' (case-insensitive) to remove all existing filters. E.g gateway-event-filter=CLEAR";

  public static final String ALTER_GATEWAYSENDER__GROUPTRANSACTIONEVENTS =
      "group-transaction-events";
  public static final String ALTER_GATEWAYSENDER__GROUPTRANSACTIONEVENTS__HELP =
      "Ensure that all the events of a transaction are sent in the same batch, i.e., they are never spread across different batches.\n"
          + "Only allowed on serial gateway senders with 1 dispatcher thread or on parallel ones.\n"
          + "Note that in order to work for a transaction, the regions to which the transaction \n"
          + "events belong must be replicated by the same set of senders with this flag enabled.";

  public static final String ALTER_GATEWAYSENDER__RELEVANT__OPTION__MESSAGE =
      "Please provide a relevant parameter(s)";
  public static final String ALTER_GATEWAYSENDER__MSG__CAN_NOT_CREATE_DIFFERENT_VERSIONS =
      "Alter Gateway Sender cannot be performed until all members are the current version";


  /* 'alter region' command */
  public static final String ALTER_REGION = "alter region";
  public static final String ALTER_REGION__HELP =
      "Alter a region with the given path and configuration.";
  public static final String ALTER_REGION__REGION = "name";
  public static final String ALTER_REGION__REGION__HELP = "Name/Path of the region to be altered.";
  public static final String ALTER_REGION__GROUP__HELP =
      "Group(s) of members on which the region will be altered.";
  public static final String ALTER_REGION__ENTRYEXPIRATIONIDLETIME = "entry-idle-time-expiration";
  public static final String ALTER_REGION__ENTRYEXPIRATIONIDLETIME__HELP =
      "How long the region's entries can remain in the cache without being accessed. The default is no expiration of this type.";
  public static final String ALTER_REGION__ENTRYEXPIRATIONIDLETIMEACTION =
      "entry-idle-time-expiration-action";
  public static final String ALTER_REGION__ENTRYEXPIRATIONIDLETIMEACTION__HELP =
      "Action to be taken on an entry that has exceeded the idle expiration.";
  public static final String ALTER_REGION__ENTRYEXPIRATIONTIMETOLIVE =
      "entry-time-to-live-expiration";
  public static final String ALTER_REGION__ENTRYEXPIRATIONTIMETOLIVE__HELP =
      "How long the region's entries can remain in the cache without being accessed or updated. The default is no expiration of this type.";
  public static final String ALTER_REGION__ENTRYEXPIRATIONTTLACTION =
      "entry-time-to-live-expiration-action";
  public static final String ALTER_REGION__ENTRYEXPIRATIONTTLACTION__HELP =
      "Action to be taken on an entry that has exceeded the TTL expiration.";
  public static final String ALTER_REGION__REGIONEXPIRATIONIDLETIME = "region-idle-time-expiration";
  public static final String ALTER_REGION__REGIONEXPIRATIONIDLETIME__HELP =
      "How long the region can remain in the cache without being accessed. The default is no expiration of this type.";
  public static final String ALTER_REGION__REGIONEXPIRATIONIDLETIMEACTION =
      "region-idle-time-expiration-action";
  public static final String ALTER_REGION__REGIONEXPIRATIONIDLETIMEACTION__HELP =
      "Action to be taken on a region that has exceeded the idle expiration.";
  public static final String ALTER_REGION__REGIONEXPIRATIONTTL = "region-time-to-live-expiration";
  public static final String ALTER_REGION__REGIONEXPIRATIONTTL__HELP =
      "How long the region can remain in the cache without being accessed or updated. The default is no expiration of this type.";
  public static final String ALTER_REGION__REGIONEXPIRATIONTTLACTION =
      "region-time-to-live-expiration-action";
  public static final String ALTER_REGION__REGIONEXPIRATIONTTLACTION__HELP =
      "Action to be taken on a region that has exceeded the TTL expiration.";
  public static final String ALTER_REGION__CACHELISTENER = "cache-listener";
  public static final String ALTER_REGION__CACHELISTENER__HELP =
      "Fully qualified class name of a plug-in to be instantiated for receiving after-event notification of changes to the region and its entries. Any number of cache listeners can be configured.";
  public static final String ALTER_REGION__CACHELOADER = "cache-loader";
  public static final String ALTER_REGION__CACHELOADER__HELP =
      "Fully qualified class name of a plug-in to be instantiated for receiving notification of cache misses in the region. At most, one cache loader can be defined in each member for the region. For distributed regions, a cache loader may be invoked remotely from other members that have the region defined.";
  public static final String ALTER_REGION__CACHEWRITER = "cache-writer";
  public static final String ALTER_REGION__CACHEWRITER__HELP =
      "Fully qualified class name of a plug-in to be instantiated for receiving before-event notification of changes to the region and its entries. The plug-in may cancel the event. At most, one cache writer can be defined in each member for the region.";
  public static final String ALTER_REGION__ASYNCEVENTQUEUEID = "async-event-queue-id";
  public static final String ALTER_REGION__ASYNCEVENTQUEUEID__HELP =
      "IDs of the Async Event Queues that will be used for write-behind operations.";
  public static final String ALTER_REGION__GATEWAYSENDERID = "gateway-sender-id";
  public static final String ALTER_REGION__GATEWAYSENDERID__HELP =
      "IDs of the Gateway Senders to which data will be routed.";
  public static final String ALTER_REGION__CLONINGENABLED = "enable-cloning";
  public static final String ALTER_REGION__CLONINGENABLED__HELP =
      "Determines how fromDelta applies deltas to the local cache for delta propagation. When true, the updates are applied to a clone of the value and then the clone is saved to the cache. When false, the value is modified in place in the cache.";
  public static final String ALTER_REGION__EVICTIONMAX = "eviction-max";
  public static final String ALTER_REGION__EVICTIONMAX__HELP =
      "Maximum value for the Eviction Attributes which the Eviction Algorithm uses to determine when to perform its Eviction Action. The unit of the maximum value is determined by the Eviction Algorithm.";
  public static final String ALTER_REGION__MSG__REGION_0_ALTERED_ON_1 =
      "Region \"{0}\" altered on \"{1}\"";
  public static final String ALTER_REGION__MSG__COULD_NOT_FIND_CLASS_0_SPECIFIED_FOR_1 =
      "Could not find class \"{0}\" specified for \"{1}\".";
  public static final String ALTER_REGION__MSG__COULD_NOT_INSTANTIATE_CLASS_0_SPECIFIED_FOR_1 =
      "Could not instantiate class \"{0}\" specified for \"{1}\".";
  public static final String ALTER_REGION__MSG__CLASS_SPECIFIED_FOR_0_SPECIFIED_FOR_1_IS_NOT_OF_EXPECTED_TYPE =
      "Class \"{0}\" specified for \"{1}\" is not of an expected type.";
  public static final String ALTER_REGION__MSG__COULD_NOT_ACCESS_CLASS_0_SPECIFIED_FOR_1 =
      "Could not access class \"{0}\" specified for \"{1}\".";
  public static final String ALTER_REGION__MSG__SPECIFY_POSITIVE_INT_FOR_EVICTIONMAX_0_IS_NOT_VALID =
      "Specify 0 or a positive integer value for " + CliStrings.ALTER_REGION__EVICTIONMAX
          + ".  \"{0}\" is not valid.";
  public static final String ALTER_REGION__MSG__REGION_DOES_NOT_EXIST_0 =
      "Region doesn't exist: {0}";

  public static final String ALTER_RUNTIME_CONFIG = "alter runtime";
  public static final String ALTER_RUNTIME_CONFIG__HELP =
      "Alter a subset of member or members configuration properties while running.";
  public static final String ALTER_RUNTIME_CONFIG__MEMBER__HELP =
      "Name/Id of the member in whose configuration will be altered.";

  public static final String ALTER_RUNTIME_CONFIG__GROUP__HELP =
      "Group of members whose configuration will be altered.";
  public static final String ALTER_RUNTIME_CONFIG__ARCHIVE__FILE__SIZE__LIMIT =
      ARCHIVE_FILE_SIZE_LIMIT;
  public static final String ALTER_RUNTIME_CONFIG__ARCHIVE__FILE__SIZE__LIMIT__HELP =
      "Archive file size limit. Valid values are (in megabytes): "
          + DistributionConfig.MIN_ARCHIVE_FILE_SIZE_LIMIT + " - "
          + DistributionConfig.MAX_ARCHIVE_FILE_SIZE_LIMIT + ".";
  public static final String ALTER_RUNTIME_CONFIG__ARCHIVE__DISK__SPACE__LIMIT =
      ARCHIVE_DISK_SPACE_LIMIT;
  public static final String ALTER_RUNTIME_CONFIG__ARCHIVE__DISK__SPACE__LIMIT__HELP =
      "Archive disk space limit. Valid values are (in megabytes): "
          + DistributionConfig.MIN_ARCHIVE_DISK_SPACE_LIMIT + " - "
          + DistributionConfig.MAX_ARCHIVE_DISK_SPACE_LIMIT + ".";
  public static final String ALTER_RUNTIME_CONFIG__LOG__FILE__SIZE__LIMIT = LOG_FILE_SIZE_LIMIT;
  public static final String ALTER_RUNTIME_CONFIG__LOG__FILE__SIZE__LIMIT__HELP =
      "Log file size limit. Valid values are (in megabytes): "
          + DistributionConfig.MIN_LOG_FILE_SIZE_LIMIT + " - "
          + DistributionConfig.MAX_LOG_FILE_SIZE_LIMIT + ".";
  public static final String ALTER_RUNTIME_CONFIG__LOG__DISK__SPACE__LIMIT = LOG_DISK_SPACE_LIMIT;
  public static final String ALTER_RUNTIME_CONFIG__LOG__DISK__SPACE__LIMIT__HELP =
      "Log disk space limit. Valid values are (in megabytes): "
          + DistributionConfig.MIN_LOG_DISK_SPACE_LIMIT + " - "
          + DistributionConfig.MAX_LOG_DISK_SPACE_LIMIT + ".";
  public static final String ALTER_RUNTIME_CONFIG__LOG__LEVEL = LOG_LEVEL;
  public static final String ALTER_RUNTIME_CONFIG__LOG__LEVEL__HELP =
      "Log level. " + LOG_LEVEL_VALUES;
  public static final String ALTER_RUNTIME_CONFIG__STATISTIC__SAMPLING__ENABLED =
      "enable-statistics";
  public static final String ALTER_RUNTIME_CONFIG__STATISTIC__SAMPLING__ENABLED__HELP =
      "Whether statistic sampling should be enabled. Valid values are: true and false.";
  public static final String ALTER_RUNTIME_CONFIG__STATISTIC__SAMPLE__RATE = STATISTIC_SAMPLE_RATE;
  public static final String ALTER_RUNTIME_CONFIG__STATISTIC__SAMPLE__RATE__HELP =
      "Statistic sampling rate. Valid values are (in milliseconds): "
          + DistributionConfig.MIN_STATISTIC_SAMPLE_RATE + " - "
          + DistributionConfig.MAX_STATISTIC_SAMPLE_RATE + ".";
  public static final String ALTER_RUNTIME_CONFIG__STATISTIC__ARCHIVE__FILE =
      STATISTIC_ARCHIVE_FILE;
  public static final String ALTER_RUNTIME_CONFIG__STATISTIC__ARCHIVE__FILE__HELP =
      "File to which the statistics will be written.";

  public static final String ALTER_RUNTIME_CONFIG__COPY__ON__READ = CacheXml.COPY_ON_READ;
  public static final String ALTER_RUNTIME_CONFIG__COPY__ON__READ__HELP =
      "Sets the \"copy on read\" feature for cache read operations";
  public static final String ALTER_RUNTIME_CONFIG__LOCK__LEASE = CacheXml.LOCK_LEASE;
  public static final String ALTER_RUNTIME_CONFIG__LOCK__LEASE__HELP =
      "Sets the length, in seconds, of distributed lock leases obtained by this cache.";
  public static final String ALTER_RUNTIME_CONFIG__LOCK__TIMEOUT = CacheXml.LOCK_TIMEOUT;
  public static final String ALTER_RUNTIME_CONFIG__LOCK__TIMEOUT__HELP =
      "Sets the number of seconds a cache operation may wait to obtain a distributed lock lease before timing out.";
  public static final String ALTER_RUNTIME_CONFIG__MESSAGE__SYNC__INTERVAL =
      CacheXml.MESSAGE_SYNC_INTERVAL;
  public static final String ALTER_RUNTIME_CONFIG__MESSAGE__SYNC__INTERVAL__HELP =
      "Sets the frequency (in seconds) at which a message will be sent by the primary cache-server node to all the secondary cache-server nodes to remove the events which have already been dispatched from the queue";
  public static final String ALTER_RUNTIME_CONFIG__SEARCH__TIMEOUT = CacheXml.SEARCH_TIMEOUT;
  public static final String ALTER_RUNTIME_CONFIG__SEARCH__TIMEOUT__HELP =
      "Sets the number of seconds a cache get operation can spend searching for a value.";


  public static final String ALTER_RUNTIME_CONFIG__SUCCESS__MESSAGE =
      "Runtime configuration altered successfully for the following member(s)";
  public static final String ALTER_RUNTIME_CONFIG__MEMBER__NOT__FOUND = "Member : {0} not found";
  public static final String ALTER_RUNTIME_CONFIG__RELEVANT__OPTION__MESSAGE =
      "Please provide a relevant parameter(s)";

  /* 'backup disk-store' command */
  public static final String BACKUP_DISK_STORE = "backup disk-store";
  public static final String BACKUP_DISK_STORE__HELP =
      "Perform a backup on all members with persistent data. The target directory must exist on all members, but can be either local or shared. This command can safely be executed on active members and is strongly recommended over copying files via operating system commands.";
  public static final String BACKUP_DISK_STORE__DISKDIRS = "dir";
  public static final String BACKUP_DISK_STORE__BASELINEDIR = "baseline-dir";
  public static final String BACKUP_DISK_STORE__BASELINEDIR__HELP =
      "Directory which contains the baseline backup used for comparison during an incremental backup.";
  public static final String BACKUP_DISK_STORE__DISKDIRS__HELP =
      "Directory to which backup files will be written.";
  public static final String BACKUP_DISK_STORE_MSG_BACKED_UP_DISK_STORES =
      "The following disk stores were backed up successfully";
  public static final String BACKUP_DISK_STORE_MSG_OFFLINE_DISK_STORES =
      "The backup may be incomplete. The following disk stores are not online";
  public static final String BACKUP_DISK_STORE_MSG_HOST = "Host";
  public static final String BACKUP_DISK_STORE_MSG_DIRECTORY = "Directory";
  public static final String BACKUP_DISK_STORE_MSG_UUID = "UUID";
  public static final String BACKUP_DISK_STORE_MSG_MEMBER = "Member";
  public static final String BACKUP_DISK_STORE_MSG_NO_DISKSTORES_BACKED_UP =
      "No disk store(s) were backed up.";

  public static final String BACKUP_INCLUDE_DISK_STORES = "include-disk-stores";
  public static final String BACKUP_INCLUDE_DISK_STORES__HELP = "List of disk-stores to include.";
  public static final String BACKUP_DISK_STORE__MSG__SPECIFY_VALID_INCLUDE_DISKSTORE_UNKNOWN_DISKSTORE_0 =
      "Specify valid include-disk-stores. Unknown Disk Store : \"{0}\".";

  public static final String BACKUP_DISK_STORE__MSG__SPECIFY_VALID_INCLUDE_DISKSTORE_UNKNOWN_DISKSTORE_1 =
      "Specify valid include-disk-stores. Blank name added in list of disk-stores";

  /* 'compact disk-store' command */
  public static final String COMPACT_DISK_STORE = "compact disk-store";
  public static final String COMPACT_DISK_STORE__HELP =
      "Compact a disk store on all members with that disk store. This command uses the compaction threshold that each member has configured for its disk stores. The disk store must have \"allow-force-compaction\" set to true.";
  public static final String COMPACT_DISK_STORE__NAME = "name";
  public static final String COMPACT_DISK_STORE__NAME__HELP =
      "Name of the disk store to be compacted.";
  public static final String COMPACT_DISK_STORE__GROUP__HELP =
      "Group(s) of members that will perform disk compaction. If no group is specified the disk store will be compacted by all members.";
  public static final String COMPACT_DISK_STORE__DISKSTORE_0_DOES_NOT_EXIST =
      "Disk store \"{0}\" does not exist.";
  public static final String COMPACT_DISK_STORE__MSG__FOR_GROUP = " for group(s) \"{0}\"";
  public static final String COMPACT_DISK_STORE__NO_MEMBERS_FOUND_IN_SPECIFED_GROUP =
      "No members found in the specified group(s) \"{0}\".";
  public static final String COMPACT_DISK_STORE__COMPACTION_ATTEMPTED_BUT_NOTHING_TO_COMPACT =
      "Attempted to compact disk store, but there was nothing to do.";
  public static final String COMPACT_DISK_STORE__ERROR_WHILE_COMPACTING_REASON_0 =
      "An error occurred while doing compaction: \"{0}\"";

  /* 'compact offline-disk-store' command */
  public static final String COMPACT_OFFLINE_DISK_STORE = "compact offline-disk-store";
  public static final String COMPACT_OFFLINE_DISK_STORE__HELP =
      "Compact an offline disk store. If the disk store is large, additional memory may need to be allocated to the process using the --J=-Xmx??? parameter.";
  public static final String COMPACT_OFFLINE_DISK_STORE__NAME = "name";
  public static final String COMPACT_OFFLINE_DISK_STORE__NAME__HELP =
      "Name of the offline disk store to be compacted.";
  public static final String COMPACT_OFFLINE_DISK_STORE__DISKDIRS = "disk-dirs";
  public static final String COMPACT_OFFLINE_DISK_STORE__DISKDIRS__HELP =
      "Directories where data for the disk store was previously written.";
  public static final String COMPACT_OFFLINE_DISK_STORE__MAXOPLOGSIZE = "max-oplog-size";
  public static final String COMPACT_OFFLINE_DISK_STORE__MAXOPLOGSIZE__HELP =
      "Maximum size (in megabytes) of the oplogs created by compaction.";
  public static final String COMPACT_OFFLINE_DISK_STORE__J = "J";
  public static final String COMPACT_OFFLINE_DISK_STORE__J__HELP =
      "Arguments passed to the Java Virtual Machine performing the compact operation on the disk store.";
  public static final String COMPACT_OFFLINE_DISK_STORE__MSG__DISKSTORE_0_DOES_NOT_EXIST =
      "Disk store \"{0}\" does not exist.";
  public static final String COMPACT_OFFLINE_DISK_STORE__MSG__COMPACTION_ATTEMPTED_BUT_NOTHING_TO_COMPACT =
      "Attempted to compact disk store, but there was nothing to do.";
  public static final String COMPACT_OFFLINE_DISK_STORE__MSG__ERROR_WHILE_COMPACTING_REASON_0 =
      "An error occurred while doing compaction: \"{0}\"";
  public static final String COMPACT_OFFLINE_DISK_STORE__MSG__VERIFY_WHETHER_DISKSTORE_EXISTS_IN_0 =
      "Verify whether the disk store exists in \"{0}\".";
  public static final String COMPACT_OFFLINE_DISK_STORE__MSG__DISKSTORE_IN_USE_COMPACT_DISKSTORE_CAN_BE_USED =
      "This disk store is in use by other process. \"" + CliStrings.COMPACT_DISK_STORE
          + "\" can be used to compact disk store that is current in use.";
  public static final String COMPACT_OFFLINE_DISK_STORE__MSG__CANNOT_ACCESS_DISKSTORE_0_FROM_1_CHECK_GFSH_LOGS =
      "Can not access disk store \"{0}\" from  \"{1}\". Check gfsh"
          + " logs for error.";
  public static final String COMPACT_OFFLINE_DISK_STORE__MSG__ERROR_WHILE_COMPACTING_DISKSTORE_0_WITH_1_REASON_2 =
      "While compacting disk store={0} {1}. Reason: {2}";

  /* connect command */
  public static final String CONNECT = "connect";
  public static final String CONNECT__HELP =
      "Connect to a jmx-manager either directly or via a Locator. If connecting via a Locator, and a jmx-manager doesn't already exist, the Locator will start one.";
  public static final String CONNECT__JMX_MANAGER = JMX_MANAGER;
  public static final String CONNECT__JMX_MANAGER__HELP =
      "Network address of the jmx-manager in the form: host[port].";
  public static final String CONNECT__LOCATOR = "locator";
  public static final String CONNECT__LOCATOR__HELP =
      "Network address of the Locator in the form: host[port].";
  public static final String CONNECT__URL = "url";
  public static final String CONNECT__URL__HELP =
      "Indicates the base URL to the Manager's HTTP service.  For example: 'http://<host>:<port>/geode-mgmt/v1'";
  public static final String CONNECT__USE_HTTP = "use-http";
  public static final String CONNECT__USE_HTTP__HELP =
      "[Deprecated: inferred by the presence of --url]. Connects to Manager by sending HTTP requests to HTTP service hosting the Management REST API. You must first 'disconnect' in order to reconnect to the Manager via locator or jmx-manager using JMX.";
  public static final String CONNECT__USERNAME = "user";
  public static final String CONNECT__USERNAME_LONGFORM = "username";
  public static final String CONNECT__USERNAME__HELP =
      "User name to securely connect to the jmx-manager. If the --password parameter is not specified then it will be prompted for.";
  public static final String CONNECT__PASSWORD = "password";
  public static final String CONNECT__PASSWORD__HELP =
      "Password to securely connect to the jmx-manager.";
  public static final String CONNECT__TOKEN = "token";
  public static final String CONNECT__TOKEN__HELP = "Token to securely connect to the jmx-manager.";
  public static final String CONNECT__KEY_STORE = "key-store";
  public static final String CONNECT__KEY_STORE__HELP =
      "Java keystore file containing this application's certificate and private key. If the --key-store-password parameter is not specified then it will be prompted for.";
  public static final String CONNECT__KEY_STORE_PASSWORD = "key-store-password";
  public static final String CONNECT__KEY_STORE_PASSWORD__HELP =
      "Password to access the private key from the keystore file specified by --key-store.";
  public static final String CONNECT__TRUST_STORE = "trust-store";
  public static final String CONNECT__TRUST_STORE__HELP =
      "Java keystore file containing the collection of CA certificates trusted by this application. If the --trust-store-password parameter is not specified then it will be prompted for.";
  public static final String CONNECT__TRUST_STORE_PASSWORD = "trust-store-password";
  public static final String CONNECT__TRUST_STORE_PASSWORD__HELP =
      "Password to unlock the keystore file specified by --trust-store";
  public static final String CONNECT__SSL_CIPHERS = "ciphers";
  public static final String CONNECT__SSL_CIPHERS__HELP =
      "SSL/TLS ciphers used when encrypting the connection. The default is \"any\".";
  public static final String CONNECT__SSL_PROTOCOLS = "protocols";
  public static final String CONNECT__SSL_PROTOCOLS__HELP =
      "SSL/TLS protocol versions to enable when encrypting the connection. The default is \"any\".";
  public static final String CONNECT__MSG__CONNECTING_TO_LOCATOR_AT_0 =
      "Connecting to Locator at {0} ..";
  public static final String CONNECT__SECURITY_PROPERTIES = "security-properties-file";
  public static final String CONNECT__SECURITY_PROPERTIES__HELP =
      "The gfsecurity.properties file for configuring gfsh to connect to the Locator/Manager. The file's path can be absolute or relative to gfsh directory.";
  public static final String CONNECT__USE_SSL = "use-ssl";
  public static final String CONNECT__USE_SSL__HELP =
      "Whether to use SSL for communication with Locator and/or JMX Manager. If set to \"true\", \"gfsecurity.properties\" will also be read. SSL Options take precedence over the properties file. If none are specified, defaults will be used. The default value for this options is \"false\". This option is only required if JMX is to be used over SSL. For http, the protocol is inferred from the URL.";
  public static final String CONNECT__MSG__CONNECTING_TO_MANAGER_AT_0 =
      "Connecting to Manager at {0} ..";
  public static final String CONNECT__MSG__CONNECTING_TO_MANAGER_HTTP_SERVICE_AT_0 =
      "Connecting to Manager's HTTP service at {0} ..";
  public static final String CONNECT__MSG__LOCATOR_COULD_NOT_FIND_MANAGER =
      "Locator could not find a JMX Manager";
  public static final String CONNECT__MSG__JMX_PASSWORD_MUST_BE_SPECIFIED =
      "password must be specified.";
  public static final String CONNECT__MSG__ALREADY_CONNECTED = "Already connected to: {0}";
  public static final String CONNECT__MSG__SUCCESS = "Successfully connected to: {0}";
  public static final String CONNECT__MSG__ERROR = "Could not connect to : {0}. {1}";
  public static final String CONNECT__MSG__SERVICE_UNAVAILABLE_ERROR =
      "Could not find a Geode jmx-manager service at {0}.";
  public static final String CONNECT__MSG__COULD_NOT_CONNECT_TO_LOCATOR_0 =
      "Could not connect to Geode Locator service at {0}.";
  public static final String CONNECT__MSG__COULD_NOT_READ_CONFIG_FROM_0 =
      "Could not read config from {0}.";
  public static final String CONNECT__MSG__COULD_NOT_CONNECT_TO_LOCATOR_0_POSSIBLY_SSL_CONFIG_ERROR =
      "Could not connect to Locator at {0}." + System.lineSeparator()
          + "Possible reason: Wrong or no SSL configuration provided.";
  public static final String CONNECT__MSG__COULD_NOT_CONNECT_TO_MANAGER_0_POSSIBLY_SSL_CONFIG_ERROR =
      "Could not connect to Manager at {0}." + System.lineSeparator()
          + "Possible reason: Wrong or no SSL configuration provided.";

  /* 'create async-event-queue' command */
  public static final String CREATE_ASYNC_EVENT_QUEUE = "create async-event-queue";
  public static final String CREATE_ASYNC_EVENT_QUEUE__HELP = "Create Async Event Queue.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__ID = "id";
  public static final String CREATE_ASYNC_EVENT_QUEUE__ID__HELP = "ID of the queue to be created.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__PARALLEL = "parallel";
  public static final String CREATE_ASYNC_EVENT_QUEUE__PARALLEL__HELP =
      "Whether this queue is parallel.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__BATCH_SIZE = "batch-size";
  public static final String CREATE_ASYNC_EVENT_QUEUE__BATCH_SIZE__HELP =
      "Maximum number of events that a batch can contain.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__BATCHTIMEINTERVAL = "batch-time-interval";
  public static final String CREATE_ASYNC_EVENT_QUEUE__BATCHTIMEINTERVAL__HELP =
      "Maximum amount of time, in ms, that can elapse before a batch is delivered.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__ENABLEBATCHCONFLATION =
      "enable-batch-conflation";
  public static final String CREATE_ASYNC_EVENT_QUEUE__ENABLEBATCHCONFLATION__HELP =
      "Whether to enable batch conflation.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__PERSISTENT = "persistent";
  public static final String CREATE_ASYNC_EVENT_QUEUE__PERSISTENT__HELP =
      "Whether events should be persisted to a disk store.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__DISK_STORE = "disk-store";
  public static final String CREATE_ASYNC_EVENT_QUEUE__DISK_STORE__HELP =
      "Disk store to be used by this queue.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__DISKSYNCHRONOUS = "disk-synchronous";
  public static final String CREATE_ASYNC_EVENT_QUEUE__DISKSYNCHRONOUS__HELP =
      "Whether disk writes are synchronous.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__FORWARD_EXPIRATION_DESTROY =
      "forward-expiration-destroy";
  public static final String CREATE_ASYNC_EVENT_QUEUE__FORWARD_EXPIRATION_DESTROY__HELP =
      "Whether to forward expiration destroy events.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__MAXIMUM_QUEUE_MEMORY = "max-queue-memory";
  public static final String CREATE_ASYNC_EVENT_QUEUE__MAXIMUM_QUEUE_MEMORY__HELP =
      "Maximum amount of memory, in megabytes, that the queue can consume before overflowing to disk.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__GATEWAYEVENTFILTER = "gateway-event-filter";
  public static final String CREATE_ASYNC_EVENT_QUEUE__GATEWAYEVENTFILTER__HELP =
      "List of fully qualified class names of GatewayEventFilters for this queue.  These classes filter events before dispatching to remote servers.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__ORDERPOLICY = "order-policy";
  public static final String CREATE_ASYNC_EVENT_QUEUE__ORDERPOLICY__HELP =
      "Policy for dispatching events when --dispatcher-threads is > 1. Possible values are 'THREAD', 'KEY', 'PARTITION'.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__DISPATCHERTHREADS = "dispatcher-threads";
  public static final String CREATE_ASYNC_EVENT_QUEUE__DISPATCHERTHREADS__HELP =
      "Number of threads to use for sending events.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__SUBSTITUTION_FILTER =
      "gateway-event-substitution-filter";
  public static final String CREATE_ASYNC_EVENT_QUEUE__SUBSTITUTION_FILTER__HELP =
      "Fully qualified class name of the GatewayEventSubstitutionFilter for this queue.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__LISTENER = "listener";
  public static final String CREATE_ASYNC_EVENT_QUEUE__LISTENER__HELP =
      "Fully qualified class name of the AsyncEventListener for this queue.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__LISTENER_PARAM_AND_VALUE = "listener-param";
  public static final String CREATE_ASYNC_EVENT_QUEUE__LISTENER_PARAM_AND_VALUE__HELP =
      "Parameter name for the AsyncEventListener.  Optionally, parameter names may be followed by # and a value for the parameter.  Example: --listener-param=loadAll --listener-param=maxRead#1024";
  public static final String CREATE_ASYNC_EVENT_QUEUE__PAUSE_EVENT_PROCESSING =
      "pause-event-processing";
  public static final String CREATE_ASYNC_EVENT_QUEUE__PAUSE_EVENT_PROCESSING__HELP =
      "AsyncEventQueue will be created with a paused event processor. resume command must be executed to resume event processing.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__GROUP__HELP =
      "Group(s) of members on which queue will be created. If no group is specified the queue will be created on all members.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__ERROR_WHILE_CREATING_REASON_0 =
      "An error occurred while creating the queue: {0}";
  public static final String CREATE_ASYNC_EVENT_QUEUE__MSG__COULD_NOT_ACCESS_CLASS_0_SPECIFIED_FOR_1 =
      "Could not access class \"{0}\" specified for \"{1}\".";
  public static final String CREATE_ASYNC_EVENT_QUEUE__MSG__COULD_NOT_INSTANTIATE_CLASS_0_SPECIFIED_FOR_1 =
      "Could not instantiate class \"{0}\" specified for \"{1}\".";
  public static final String CREATE_ASYNC_EVENT_QUEUE__MSG__CLASS_0_SPECIFIED_FOR_1_IS_NOT_OF_EXPECTED_TYPE =
      "Class \"{0}\" specified for \"{1}\" is not of an expected type.";
  public static final String CREATE_ASYNC_EVENT_QUEUE__MSG__COULD_NOT_FIND_CLASS_0_SPECIFIED_FOR_1 =
      "Could not find class \"{0}\" specified for \"{1}\".";

  /* 'create disk-store' command */
  public static final String CREATE_DISK_STORE = "create disk-store";
  public static final String CREATE_DISK_STORE__HELP = "Create a disk store.";
  public static final String CREATE_DISK_STORE__NAME = "name";
  public static final String CREATE_DISK_STORE__NAME__HELP =
      "Name of the disk store to be created.";
  public static final String CREATE_DISK_STORE__ALLOW_FORCE_COMPACTION = "allow-force-compaction";
  public static final String CREATE_DISK_STORE__ALLOW_FORCE_COMPACTION__HELP =
      "Whether to allow manual compaction through the API or command-line tools.";
  public static final String CREATE_DISK_STORE__AUTO_COMPACT = "auto-compact";
  public static final String CREATE_DISK_STORE__AUTO_COMPACT__HELP =
      "Whether to automatically compact a file when it reaches the compaction-threshold.";
  public static final String CREATE_DISK_STORE__COMPACTION_THRESHOLD = "compaction-threshold";
  public static final String CREATE_DISK_STORE__COMPACTION_THRESHOLD__HELP =
      "Percentage of garbage allowed in the file before it is eligible for compaction.";
  public static final String CREATE_DISK_STORE__MAX_OPLOG_SIZE = "max-oplog-size";
  public static final String CREATE_DISK_STORE__MAX_OPLOG_SIZE__HELP =
      "The largest size, in megabytes, to allow an operation log to become before automatically rolling to a new file.";
  public static final String CREATE_DISK_STORE__QUEUE_SIZE = "queue-size";
  public static final String CREATE_DISK_STORE__QUEUE_SIZE__HELP =
      "For asynchronous queueing. The maximum number of operations to allow into the write queue before automatically flushing the queue. The default of 0 indicates no limit.";
  public static final String CREATE_DISK_STORE__TIME_INTERVAL = "time-interval";
  public static final String CREATE_DISK_STORE__TIME_INTERVAL__HELP =
      "For asynchronous queueing. The number of milliseconds that can elapse before data is flushed to disk. Reaching this limit or the queue-size limit causes the queue to flush.";
  public static final String CREATE_DISK_STORE__WRITE_BUFFER_SIZE = "write-buffer-size";
  public static final String CREATE_DISK_STORE__WRITE_BUFFER_SIZE__HELP =
      "Size in bytes of the buffer used to write to disk.";
  public static final String CREATE_DISK_STORE__DIRECTORY_AND_SIZE = "dir";
  public static final String CREATE_DISK_STORE__DIRECTORY_AND_SIZE__HELP =
      "Directories where the disk store files will be written, the directories will be created if they don't exist.  Optionally, directory names may be followed by # and the maximum number of megabytes that the disk store can use in the directory.  Example: --dir=/data/ds1 --dir=/data/ds2#5000";
  public static final String CREATE_DISK_STORE__GROUP__HELP =
      "Group(s) of members on which the disk store will be created. If no group is specified the disk store will be created on all members.";
  public static final String CREATE_DISK_STORE__DISK_USAGE_WARNING_PCT =
      "disk-usage-warning-percentage";
  public static final String CREATE_DISK_STORE__DISK_USAGE_WARNING_PCT__HELP =
      "Warning percentage for disk volume usage.";
  public static final String CREATE_DISK_STORE__DISK_USAGE_CRITICAL_PCT =
      "disk-usage-critical-percentage";
  public static final String CREATE_DISK_STORE__DISK_USAGE_CRITICAL_PCT__HELP =
      "Critical percentage for disk volume usage.";
  public static final String CREATE_DISK_STORE__ERROR_WHILE_CREATING_REASON_0 =
      "An error occurred while creating the disk store: \"{0}\"";
  public static final String CREATE_DISK_STORE__DIR_SIZE_TOO_BIG_ERROR =
      "Directory size (%s) is over the maximum allowed value.";
  public static final String CREATE_DISK_STORE__DIR_SIZE_IS_NEGATIVE =
      "Directory size cannot be negative (%s)";
  public static final String CREATE_DISK_STORE__DIR_SIZE_NOT_A_NUMBER =
      "Incorrect directory size specified (%s)";

  /* create index */
  public static final String CREATE_INDEX = "create index";
  public static final String CREATE_INDEX__HELP =
      "Create an index that can be used when executing queries.";
  public static final String CREATE_INDEX__NAME = "name";
  public static final String CREATE_INDEX__NAME__HELP = "Name of the index to create.";
  public static final String CREATE_INDEX__EXPRESSION = "expression";
  public static final String CREATE_INDEX__EXPRESSION__HELP =
      "Field of the region values that are referenced by the index.";
  public static final String CREATE_INDEX__REGION = "region";
  public static final String CREATE_INDEX__REGION__HELP =
      "Name/Path of the region which corresponds to the \"from\" clause in a query.";
  public static final String CREATE_INDEX__MEMBER__HELP =
      "Name/Id of the member in which the index will be created.";
  public static final String CREATE_INDEX__TYPE = "type";
  public static final String CREATE_INDEX__TYPE__HELP =
      "Type of the index. Valid values are: range and key. Deprecated: Since Geode 1.4, hash should not be used.";
  public static final String CREATE_INDEX__GROUP__HELP =
      "Group of members in which the index will be created. Value will be ignored when using cluster configuration.";
  public static final String CREATE_INDEX__INVALID__INDEX__TYPE__MESSAGE =
      "Invalid index type. Value must be either range or key.";
  public static final String CREATE_INDEX__SUCCESS__MSG =
      "Index successfully created with following details";
  public static final String CREATE_INDEX__FAILURE__MSG =
      "Failed to create index \"{0}\" due to following reasons";
  public static final String CREATE_INDEX__ERROR__MSG =
      "Exception \"{0}\" occurred on following members";
  public static final String CREATE_INDEX__NAME__CONFLICT =
      "Index \"{0}\" already exists.  " + "Create failed due to duplicate name.";
  public static final String CREATE_INDEX__INDEX__EXISTS =
      "Index \"{0}\" already exists.  " + "Create failed due to duplicate definition.";
  public static final String CREATE_INDEX__INVALID__EXPRESSION =
      "Invalid indexed expression : \"{0}\"";
  public static final String CREATE_INDEX__INVALID__REGIONPATH = "Region not found : \"{0}\"";
  public static final String CREATE_INDEX__NAME__MSG = "Name       : {0}";
  public static final String CREATE_INDEX__EXPRESSION__MSG = "Expression : {0}";
  public static final String CREATE_INDEX__REGIONPATH__MSG = "RegionPath : {0}";
  public static final String CREATE_INDEX__TYPE__MSG = "Type       : {0}";
  public static final String CREATE_INDEX__MEMBER__MSG = "Members which contain the index";
  public static final String CREATE_INDEX__NUMBER__AND__MEMBER = "{0}. {1}";
  public static final String CREATE_INDEX__EXCEPTION__OCCURRED__ON =
      "Occurred on following members";
  public static final String CREATE_INDEX__INVALID__INDEX__NAME = "Invalid index name";

  public static final String DEFINE_INDEX = "define index";
  public static final String DEFINE_INDEX__HELP =
      "Define an index that can be used when executing queries.";
  public static final String DEFINE_INDEX__SUCCESS__MSG =
      "Index successfully defined with following details";
  public static final String DEFINE_INDEX__FAILURE__MSG = "No indexes defined";
  public static final String DEFINE_INDEX_NAME = CREATE_INDEX__NAME;
  public static final String DEFINE_INDEX__EXPRESSION = CREATE_INDEX__EXPRESSION;
  public static final String DEFINE_INDEX__EXPRESSION__HELP = CREATE_INDEX__EXPRESSION__HELP;
  public static final String DEFINE_INDEX__REGION = CREATE_INDEX__REGION;
  public static final String DEFINE_INDEX__REGION__HELP = CREATE_INDEX__REGION__HELP;
  public static final String DEFINE_INDEX__TYPE = CREATE_INDEX__TYPE;
  public static final String DEFINE_INDEX__TYPE__HELP = CREATE_INDEX__TYPE__HELP;
  public static final String DEFINE_INDEX__INVALID__INDEX__TYPE__MESSAGE =
      CREATE_INDEX__INVALID__INDEX__TYPE__MESSAGE;
  public static final String DEFINE_INDEX__INVALID__INDEX__NAME =
      CREATE_INDEX__INVALID__INDEX__NAME;
  public static final String DEFINE_INDEX__INVALID__EXPRESSION = CREATE_INDEX__INVALID__EXPRESSION;
  public static final String DEFINE_INDEX__INVALID__REGIONPATH = CREATE_INDEX__INVALID__REGIONPATH;
  public static final String DEFINE_INDEX__NAME__MSG = CREATE_INDEX__NAME__MSG;
  public static final String DEFINE_INDEX__EXPRESSION__MSG = CREATE_INDEX__EXPRESSION__MSG;
  public static final String DEFINE_INDEX__REGIONPATH__MSG = CREATE_INDEX__REGIONPATH__MSG;

  public static final String CREATE_DEFINED_INDEXES = "create defined indexes";
  public static final String CREATE_DEFINED__HELP = "Creates all the defined indexes.";
  public static final String CREATE_DEFINED_INDEXES__SUCCESS__MSG =
      "Indexes successfully created. Use list indexes to get details.";
  public static final String CREATE_DEFINED_INDEXES__FAILURE__MSG =
      "Failed to create some or all indexes \"{0}\" due to following reasons";
  public static final String CREATE_DEFINED_INDEXES__MEMBER__HELP = CREATE_INDEX__MEMBER__HELP;
  public static final String CREATE_DEFINED_INDEXES__GROUP__HELP = CREATE_INDEX__GROUP__HELP;
  public static final String CREATE_DEFINED_INDEXES__MEMBER__MSG = CREATE_INDEX__MEMBER__MSG;
  public static final String CREATE_DEFINED_INDEXES__NUMBER__AND__MEMBER =
      CREATE_INDEX__NUMBER__AND__MEMBER;
  public static final String CREATE_DEFINED_INDEXES__EXCEPTION__OCCURRED__ON =
      CREATE_INDEX__EXCEPTION__OCCURRED__ON;


  public static final String CLEAR_DEFINED_INDEXES = "clear defined indexes";
  public static final String CLEAR_DEFINED__HELP = "Clears all the defined indexes.";
  public static final String CLEAR_DEFINED_INDEX__SUCCESS__MSG =
      "Index definitions successfully cleared";

  /* create region */
  public static final String CREATE_REGION = "create region";
  public static final String CREATE_REGION__HELP =
      "Create a region with the given path and configuration. Specifying a --key-constraint and --value-constraint makes object type information available during querying and indexing.";
  public static final String CREATE_REGION__REGION = "name";
  public static final String CREATE_REGION__REGION__HELP = "Name/Path of the region to be created.";
  public static final String CREATE_REGION__REGIONSHORTCUT = "type";
  public static final String CREATE_REGION__REGIONSHORTCUT__HELP =
      "Type of region to create. The following types are pre-defined by the product (see RegionShortcut javadocs for more information): PARTITION, PARTITION_REDUNDANT, PARTITION_PERSISTENT, PARTITION_REDUNDANT_PERSISTENT, PARTITION_OVERFLOW, PARTITION_REDUNDANT_OVERFLOW, PARTITION_PERSISTENT_OVERFLOW, PARTITION_REDUNDANT_PERSISTENT_OVERFLOW, PARTITION_HEAP_LRU, PARTITION_REDUNDANT_HEAP_LRU, REPLICATE, REPLICATE_PERSISTENT, REPLICATE_OVERFLOW, REPLICATE_PERSISTENT_OVERFLOW, REPLICATE_HEAP_LRU, LOCAL, LOCAL_PERSISTENT, LOCAL_HEAP_LRU, LOCAL_OVERFLOW, LOCAL_PERSISTENT_OVERFLOW, PARTITION_PROXY, PARTITION_PROXY_REDUNDANT, and REPLICATE_PROXY.";
  public static final String CREATE_REGION__GROUP__HELP =
      "Group(s) of members on which the region will be created.";
  public static final String CREATE_REGION__USEATTRIBUTESFROM = "template-region";
  public static final String CREATE_REGION__USEATTRIBUTESFROM__HELP =
      "Name/Path of the region whose attributes should be duplicated when creating this region. Deprecated: Since Geode 1.5, regions should be created explicitly so that undesirable attributes are not copied inadvertently.";
  public static final String CREATE_REGION__SKIPIFEXISTS = "skip-if-exists";
  public static final String CREATE_REGION__IFNOTEXISTS__HELP =
      "By default, an attempt to create a duplicate region is reported as an error. If this option is specified without a value or is specified with a value of true, then gfsh displays a \"Skipping...\" acknowledgement, but does not throw an error. Deprecated: the alias --skip-if-exists is deprecated since Geode 1.5.";
  public static final String CREATE_REGION__KEYCONSTRAINT = "key-constraint";
  public static final String CREATE_REGION__KEYCONSTRAINT__HELP =
      "Fully qualified class name of the objects allowed as region keys. Ensures that keys for region entries are all of the same class.";
  public static final String CREATE_REGION__VALUECONSTRAINT = "value-constraint";
  public static final String CREATE_REGION__VALUECONSTRAINT__HELP =
      "Fully qualified class name of the objects allowed as region values. If not specified then region values can be of any class.";
  public static final String CREATE_REGION__STATISTICSENABLED = "enable-statistics";
  public static final String CREATE_REGION__STATISTICSENABLED__HELP =
      "Whether to gather statistics for the region. Must be true to use expiration on the region.";
  public static final String CREATE_REGION__ENTRYEXPIRATIONIDLETIME = "entry-idle-time-expiration";
  public static final String CREATE_REGION__ENTRYEXPIRATIONIDLETIME__HELP =
      "How long the region's entries can remain in the cache without being accessed. The default is no expiration of this type.";
  public static final String CREATE_REGION__ENTRYEXPIRATIONIDLETIMEACTION =
      "entry-idle-time-expiration-action";
  public static final String CREATE_REGION__ENTRYEXPIRATIONIDLETIMEACTION__HELP =
      "Action to be taken on an entry that has exceeded the idle expiration.";
  public static final String CREATE_REGION__ENTRYEXPIRATIONTIMETOLIVE =
      "entry-time-to-live-expiration";
  public static final String CREATE_REGION__ENTRYEXPIRATIONTIMETOLIVE__HELP =
      "How long the region's entries can remain in the cache without being accessed or updated. The default is no expiration of this type.";
  public static final String CREATE_REGION__ENTRYEXPIRATIONTTLACTION =
      "entry-time-to-live-expiration-action";
  public static final String CREATE_REGION__ENTRYEXPIRATIONTTLACTION__HELP =
      "Action to be taken on an entry that has exceeded the TTL expiration.";
  public static final String CREATE_REGION__REGIONEXPIRATIONIDLETIME =
      "region-idle-time-expiration";
  public static final String CREATE_REGION__REGIONEXPIRATIONIDLETIME__HELP =
      "How long the region can remain in the cache without being accessed. The default is no expiration of this type.";
  public static final String CREATE_REGION__REGIONEXPIRATIONIDLETIMEACTION =
      "region-idle-time-expiration-action";
  public static final String CREATE_REGION__REGIONEXPIRATIONIDLETIMEACTION__HELP =
      "Action to be taken on a region that has exceeded the idle expiration.";
  public static final String CREATE_REGION__REGIONEXPIRATIONTTL = "region-time-to-live-expiration";
  public static final String CREATE_REGION__REGIONEXPIRATIONTTL__HELP =
      "How long the region can remain in the cache without being accessed or updated. The default is no expiration of this type.";
  public static final String CREATE_REGION__REGIONEXPIRATIONTTLACTION =
      "region-time-to-live-expiration-action";
  public static final String CREATE_REGION__REGIONEXPIRATIONTTLACTION__HELP =
      "Action to be taken on a region that has exceeded the TTL expiration.";
  public static final String CREATE_REGION__EVICTION_ACTION = "eviction-action";
  public static final String CREATE_REGION__EVICTION_ACTION__HELP =
      "The eviction action to apply. Must be either 'local-destroy' or 'overflow-to-disk'";
  public static final String CREATE_REGION__EVICTION_MAX_MEMORY = "eviction-max-memory";
  public static final String CREATE_REGION__EVICTION_MAX_MEMORY__HELP =
      "Activates LRU eviction based on the region's memory usage specified by this value (in megabytes).";
  public static final String CREATE_REGION__EVICTION_ENTRY_COUNT = "eviction-entry-count";
  public static final String CREATE_REGION__EVICTION_ENTRY_COUNT__HELP =
      "Activates LRU eviction based on the region's entry count specified by this value.";
  public static final String CREATE_REGION__EVICTION_OBJECT_SIZER = "eviction-object-sizer";
  public static final String CREATE_REGION__EVICTION_OBJECT_SIZER__HELP =
      "A custom class which implements ObjectSizer in order to perform max memory eviction.";
  public static final String CREATE_REGION__DISKSTORE = "disk-store";
  public static final String CREATE_REGION__DISKSTORE__HELP =
      "Disk Store to be used by this region. \"list disk-store\" can be used to display existing disk stores.";
  public static final String CREATE_REGION__DISKSYNCHRONOUS = "enable-synchronous-disk";
  public static final String CREATE_REGION__DISKSYNCHRONOUS__HELP =
      "Whether writes are done synchronously for regions that persist data to disk.";
  public static final String CREATE_REGION__ENABLEASYNCCONFLATION = "enable-async-conflation";
  public static final String CREATE_REGION__ENABLEASYNCCONFLATION__HELP =
      "Whether to allow aggregation of asynchronous TCP/IP messages sent by the producer member of the region. A false value causes all asynchronous messages to be sent individually.";
  public static final String CREATE_REGION__ENABLESUBSCRIPTIONCONFLATION =
      "enable-subscription-conflation";
  public static final String CREATE_REGION__ENABLESUBSCRIPTIONCONFLATION__HELP =
      "Whether the server should conflate its messages to the client. A false value causes all server-client messages to be sent individually.";
  public static final String CREATE_REGION__CACHELISTENER = "cache-listener";
  public static final String CREATE_REGION__CACHELISTENER__HELP =
      "Fully qualified class name of a plug-in to be instantiated for receiving after-event notification of changes to the region and its entries. Append json string for initialization properties. Any number of cache listeners can be configured.";
  public static final String CREATE_REGION__CACHELOADER = "cache-loader";
  public static final String CREATE_REGION__CACHELOADER__HELP =
      "Fully qualified class name of a plug-in to be instantiated for receiving notification of cache misses in the region. Append json string for initialization properties. At most, one cache loader can be defined in each member for the region. For distributed regions, a cache loader may be invoked remotely from other members that have the region defined.";
  public static final String CREATE_REGION__CACHEWRITER = "cache-writer";
  public static final String CREATE_REGION__CACHEWRITER__HELP =
      "Fully qualified class name of a plug-in to be instantiated for receiving before-event notification of changes to the region and its entries. Append json string for initialization properties. The plug-in may cancel the event. At most, one cache writer can be defined in each member for the region.";
  public static final String CREATE_REGION__ASYNCEVENTQUEUEID = "async-event-queue-id";
  public static final String CREATE_REGION__ASYNCEVENTQUEUEID__HELP =
      "IDs of the Async Event Queues that will be used for write-behind operations.";
  public static final String CREATE_REGION__GATEWAYSENDERID = "gateway-sender-id";
  public static final String CREATE_REGION__GATEWAYSENDERID__HELP =
      "IDs of the Gateway Senders to which data will be routed.";
  public static final String CREATE_REGION__CONCURRENCYCHECKSENABLED = "enable-concurrency-checks";
  public static final String CREATE_REGION__CONCURRENCYCHECKSENABLED__HELP =
      "Enables a versioning system that detects concurrent modifications and ensures that region contents are consistent across the distributed system.";
  public static final String CREATE_REGION__CLONINGENABLED = "enable-cloning";
  public static final String CREATE_REGION__CLONINGENABLED__HELP =
      "Determines how fromDelta applies deltas to the local cache for delta propagation. When true, the updates are applied to a clone of the value and then the clone is saved to the cache. When false, the value is modified in place in the cache.";
  public static final String CREATE_REGION__CONCURRENCYLEVEL = "concurrency-level";
  public static final String CREATE_REGION__CONCURRENCYLEVEL__HELP =
      "An estimate of the maximum number of application threads that will concurrently access a region entry at one time. This attribute does not apply to partitioned regions.";
  public static final String CREATE_REGION__COLOCATEDWITH = "colocated-with";
  public static final String CREATE_REGION__COLOCATEDWITH__HELP =
      "Central Region with which this region should be colocated.";
  public static final String CREATE_REGION__LOCALMAXMEMORY = "local-max-memory";
  public static final String CREATE_REGION__LOCALMAXMEMORY__HELP =
      "Sets the maximum amount of memory, in megabytes, to be used by the region in this process. (Default: 90% of available heap)";
  public static final String CREATE_REGION__MULTICASTENABLED = "enable-multicast";
  public static final String CREATE_REGION__MULTICASTENABLED__HELP =
      "Enables multicast messaging on the region.  Multicast must also be enabled in the cache distributed system properties.  This is primarily useful for replicated regions that are in all servers.";
  public static final String CREATE_REGION__RECOVERYDELAY = "recovery-delay";
  public static final String CREATE_REGION__RECOVERYDELAY__HELP =
      "Sets the delay in milliseconds that existing members will wait before satisfying redundancy after another member crashes. -1 (the default) indicates that redundancy will not be recovered after a failure.";
  public static final String CREATE_REGION__REDUNDANTCOPIES = "redundant-copies";
  public static final String CREATE_REGION__REDUNDANTCOPIES__HELP =
      "Sets the number of extra copies of buckets desired. Extra copies allow for both high availability in the face of VM departure (intended or unintended) and and load balancing read operations. (Allowed values: 0, 1, 2 and 3)";
  public static final String CREATE_REGION__STARTUPRECOVERYDDELAY = "startup-recovery-delay";
  public static final String CREATE_REGION__STARTUPRECOVERYDDELAY__HELP =
      "Sets the delay in milliseconds that new members will wait before satisfying redundancy. -1 indicates that adding new members will not trigger redundancy recovery. The default is to recover redundancy immediately when a new member is added.";
  public static final String CREATE_REGION__TOTALMAXMEMORY = "total-max-memory";
  public static final String CREATE_REGION__TOTALMAXMEMORY__HELP =
      "Sets the maximum amount of memory, in megabytes, to be used by the region in all processes.";
  public static final String CREATE_REGION__TOTALNUMBUCKETS = "total-num-buckets";
  public static final String CREATE_REGION__TOTALNUMBUCKETS__HELP =
      "Sets the total number of hash buckets to be used by the region in all processes. (Default: "
          + PartitionAttributesFactory.GLOBAL_MAX_BUCKETS_DEFAULT + ").";
  public static final String CREATE_REGION__MSG__CANNOT_DISABLE_CLONING_WITH_COMPRESSOR =
      "Cannot set enable-cloning to false when compressor is provided";
  public static final String CREATE_REGION__MSG__SPECIFY_VALID_REGION_PATH =
      "Specify a valid " + CliStrings.CREATE_REGION__REGION;
  public static final String CREATE_REGION__MSG__PARENT_REGION_FOR_0_DOES_NOT_EXIST =
      "Parent region for \"{0}\" does not exist. ";
  public static final String CREATE_REGION__MSG__GROUPS_0_ARE_INVALID =
      "Group(s) \"{0}\" are invalid.";
  public static final String CREATE_REGION__MSG__SPECIFY_VALID_REGION_PATH_FOR_USE_ATTR_FROM =
      "Specify a valid region path for " + CliStrings.CREATE_REGION__USEATTRIBUTESFROM;
  public static final String CREATE_REGION__MSG__SPECIFY_VALID_CLASSNAME_FOR_KEYCONSTRAINT_0_IS_INVALID =
      "Specify a valid class name for " + CliStrings.CREATE_REGION__KEYCONSTRAINT
          + ". \"{0}\" is not valid.";
  public static final String CREATE_REGION__MSG__SPECIFY_VALID_CLASSNAME_FOR_VALUECONSTRAINT_0_IS_INVALID =
      "Specify a valid class name for " + CliStrings.CREATE_REGION__VALUECONSTRAINT
          + ". \"{0}\" is not valid.";
  public static final String CREATE_REGION__MSG__NO_GATEWAYSENDERS_IN_THE_SYSTEM =
      "There are no GatewaySenders defined currently in the system.";
  public static final String CREATE_REGION__MSG__SPECIFY_VALID_GATEWAYSENDER_ID_UNKNOWN_0 =
      "Specify valid " + CliStrings.CREATE_REGION__GATEWAYSENDERID
          + ". Unknown Gateway Sender(s): \"{0}\".";
  public static final String CREATE_REGION__MSG__SPECIFY_POSITIVE_INT_FOR_CONCURRENCYLEVEL_0_IS_NOT_VALID =
      "Specify positive integer value for " + CliStrings.CREATE_REGION__CONCURRENCYLEVEL
          + ".  \"{0}\" is not valid.";
  public static final String CREATE_REGION__MSG__SPECIFY_VALID_DISKSTORE_UNKNOWN_DISKSTORE_0 =
      "Specify valid " + CliStrings.CREATE_REGION__DISKSTORE + ". Unknown Disk Store : \"{0}\".";
  public static final String CREATE_REGION__MSG__USE_ONE_OF_THESE_SHORTCUTS_0 =
      "Use one of these shortcuts: {0}";
  public static final String CREATE_REGION__MSG__SKIPPING_0_REGION_PATH_1_ALREADY_EXISTS =
      "Skipping \"{0}\". Region \"{1}\" already exists.";
  public static final String CREATE_REGION__MSG__REGION_PATH_0_ALREADY_EXISTS_ON_1 =
      "Region with path \"{0}\" already exists on \"{1}\"";
  public static final String CREATE_REGION__MSG__REGION_0_CREATED_ON_1 =
      "Region \"{0}\" created on \"{1}\"";
  public static final String CREATE_REGION__MSG__ONLY_ONE_OF_REGIONSHORTCUT_AND_USEATTRIBUESFROM_CAN_BE_SPECIFIED =
      "Only one of " + CREATE_REGION__REGIONSHORTCUT + " & " + CREATE_REGION__USEATTRIBUTESFROM
          + " can be specified.";
  public static final String CREATE_REGION__MSG__ONE_OF_REGIONSHORTCUT_AND_USEATTRIBUTESFROM_IS_REQUIRED =
      "One of \"" + CREATE_REGION__REGIONSHORTCUT + "\" or \"" + CREATE_REGION__USEATTRIBUTESFROM
          + "\" is required.";
  public static final String CREATE_REGION__MSG__SPECIFY_VALID_REGION_PATH_FOR_0_REGIONPATH_1_NOT_FOUND =
      "Specify a valid region path for {0}. Region {1} not found.";
  public static final String CREATE_REGION__MSG__EXPIRATION_ACTION_0_IS_NOT_VALID =
      "Expiration action \"{0}\" is not valid.";
  public static final String CREATE_REGION__MSG__ERROR_ON_MEMBER_0 = "Error on member: {0}. ";
  public static final String CREATE_REGION__MSG__COULD_NOT_RETRIEVE_REGION_ATTRS_FOR_PATH_0_REASON_1 =
      "Could not retrieve region attributes for given path \"{0}\". Reason: {1}";
  public static final String CREATE_REGION__MSG__COULD_NOT_RETRIEVE_REGION_ATTRS_FOR_PATH_0_VERIFY_REGION_EXISTS =
      "Could not retrieve region attributes for given path \"{0}\". Use \"" + CliStrings.LIST_REGION
          + "\" to verify region exists.";
  public static final String CREATE_REGION__MSG__USE_ATTRIBUTES_FORM_REGIONS_EXISTS_BUT_DIFFERENT_SCOPE_OR_DATAPOLICY_USE_DESCRIBE_REGION_FOR_0 =
      "The region mentioned for \"" + CliStrings.CREATE_REGION__USEATTRIBUTESFROM
          + "\" exists in this Geode Cluster but with different Scopes or Data Policies on different members. For details, use command \""
          + CliStrings.DESCRIBE_REGION + "\" for \"{0}\".";
  public static final String CREATE_REGION__MSG__USE_ATTRIBUTES_FROM_REGION_0_IS_NOT_WITH_PERSISTENCE_OR_OVERFLOW =
      CREATE_REGION__USEATTRIBUTESFROM + " region \"{0}\" is not persistent or overflow to disk.";
  public static final String CREATE_REGION__MSG__OPTION_0_CAN_BE_USED_ONLY_FOR_PARTITIONEDREGION =
      "Parameter(s) \"{0}\" can be used only for creating a Partitioned Region.";
  public static final String CREATE_REGION__MSG__0_IS_NOT_A_PARITIONEDREGION =
      "\"{0}\" is not a Partitioned Region.";
  public static final String CREATE_REGION__MSG__COLOCATEDWITH_REGION_0_IS_NOT_PARTITIONEDREGION =
      CREATE_REGION__COLOCATEDWITH + " \"{0}\" is not a Partitioned Region.";
  public static final String CREATE_REGION__MSG__COLOCATEDWITH_REGION_0_DOES_NOT_EXIST =
      CREATE_REGION__COLOCATEDWITH + " \"{0}\" does not exists.";
  public static final String CREATE_REGION__MSG__REDUNDANT_COPIES_SHOULD_BE_ONE_OF_0123 =
      CREATE_REGION__REDUNDANTCOPIES + " \"{0}\" is not valid. It should be one of 0, 1, 2, 3.";
  public static final String CREATE_REGION__MSG__COULD_NOT_LOAD_REGION_ATTRIBUTES_FOR_SHORTCUT_0 =
      "Could not load Region Attributes for a valid " + CREATE_REGION__REGIONSHORTCUT
          + "={0}. Please check logs for any errors.";
  public static final String CREATE_REGION__MSG__0_IS_A_PR_CANNOT_HAVE_SUBREGIONS =
      "\"{0}\" is a Partitioned Region and cannot have Subregions.";

  public static final String CREATE_REGION__COMPRESSOR = "compressor";
  public static final String CREATE_REGION__COMPRESSOR__HELP =
      "The fully-qualified class name of the Compressor to use when compressing region entry values.  The default is no compression.";
  public static final String CREATE_REGION__MSG__INVALID_COMPRESSOR =
      "{0} is an invalid Compressor."; // leave space in the end

  public static final String CREATE_REGION__OFF_HEAP = "off-heap";
  public static final String CREATE_REGION__OFF_HEAP__HELP =
      "Causes the values of the region to be stored in off-heap memory. The default is on heap.";

  public static final String CREATE_REGION__PARTITION_LISTENER = "partition-listener";
  public static final String CREATE_REGION__PARTITION_LISTENER__HELP =
      "The fully-qualified class name of a partition listener";

  public static final String CREATE_REGION__PARTITION_RESOLVER = "partition-resolver";
  public static final String CREATE_REGION__PARTITION_RESOLVER__HELP =
      "The fully-qualified class name of the region's partition resolver";
  public static final String CREATE_REGION__MSG__PARTITION_RESOLVER_ONLY_FOR_REGION_TYPE_PARTITION =
      "partition resolver property is only applicable to PARTITION region type";

  public static final String CREATE_REGION__MSG__INVALID_PARTITION_RESOLVER =
      "{0} is an invalid Partition Resolver.";

  public static final String CREATE_REGION__MSG__BOTH_EVICTION_VALUES =
      "eviction-max-memory and eviction-entry-count cannot both be specified.";

  public static final String CREATE_REGION__MSG__MISSING_EVICTION_ACTION =
      "eviction-action must be specified.";

  public static final String CREATE_REGION__MSG__INVALID_EVICTION_ACTION =
      "eviction-action must be 'local-destroy' or 'overflow-to-disk'";

  public static final String CREATE_REGION__MSG__INVALID_EVICTION_OBJECT_SIZER_AND_ENTRY_COUNT =
      "eviction-object-sizer cannot be specified with eviction-entry-count";

  public static final String CREATE_REGION__MSG__INVALID_EVICTION_OBJECT_SIZER_WITHOUT_MAX_MEMORY =
      "eviction-object-sizer cannot be specified without eviction-max-memory";

  public static final String CREATE_REGION__MSG__OBJECT_SIZER_MUST_BE_OBJECTSIZER_AND_DECLARABLE =
      "eviction-object-sizer must implement both ObjectSizer and Declarable interfaces";

  public static final String CREATE_REGION__SCOPE = "scope";

  public static final String CREATE_REGION__SCOPE__HELP =
      "Sets the scope of the region. Scope cannot be set for Partitioned regions";

  public static final String CREATE_REGION__MSG__SCOPE_CANNOT_BE_SET_ON_NON_REPLICATED_REGION =
      "Scope cannot be set on non Replicated region types";

  public static final String CREATE_REGION__SCOPE__SCOPE_CANNOT_BE_SET_IF_TYPE_NOT_SET =
      "Scope cannot be used if --type is not set in the command";

  /* debug command */
  public static final String DEBUG = "debug";
  public static final String DEBUG__HELP = "Enable/Disable debugging output in GFSH.";
  public static final String DEBUG__STATE = "state";
  public static final String DEBUG__STATE__HELP =
      "ON or OFF to enable or disable debugging output.";
  public static final String DEBUG__MSG_DEBUG_STATE_IS = "Debug is ";
  public static final String DEBUG__MSG_0_INVALID_STATE_VALUE =
      "Invalid state value : {0}. It should be \"ON\" or \"OFF\" ";

  /* deploy command */
  public static final String DEPLOY = "deploy";
  public static final String DEPLOY__HELP =
      "Deploy JARs to a member or members.  Only one of either --jar or --dir may be specified.";
  public static final String DEPLOY__DIR = "dir";
  public static final String DEPLOY__DIR__HELP = "Directory from which to deploy the JARs.";
  public static final String DEPLOY__GROUP__HELP =
      "Group(s) to which the specified JARs will be deployed. If not specified, deploy will occur on all members.";
  public static final String DEPLOY__JAR__HELP = "Path of the JAR to deploy.";

  /* describe config command */
  public static final String DESCRIBE_CONFIG = "describe config";
  public static final String DESCRIBE_CONFIG__HELP =
      "Display configuration details of a member or members.";
  public static final String DESCRIBE_CONFIG__MEMBER__HELP =
      "Name/Id of the member whose configuration will be described.";
  public static final String DESCRIBE_CONFIG__HIDE__DEFAULTS = "hide-defaults";
  public static final String DESCRIBE_CONFIG__HIDE__DEFAULTS__HELP =
      "Whether to hide configuration information for properties with the default value.";
  public static final String DESCRIBE_CONFIG__MEMBER__NOT__FOUND = "Member \"{0}\" not found";
  public static final String DESCRIBE_CONFIG__HEADER__TEXT = "Configuration of member : \"{0}\"";

  /* 'describe connection' command */
  public static final String DESCRIBE_CONNECTION = "describe connection";
  public static final String DESCRIBE_CONNECTION__HELP =
      "Display information about the current connection.";

  /* 'describe disk-store' command */
  public static final String DESCRIBE_DISK_STORE = "describe disk-store";
  public static final String DESCRIBE_DISK_STORE__HELP =
      "Display information about a member's disk store.";
  public static final String DESCRIBE_DISK_STORE__MEMBER__HELP =
      "Name/Id of the member with the disk store to be described.";
  public static final String DESCRIBE_DISK_STORE__NAME = "name";
  public static final String DESCRIBE_DISK_STORE__NAME__HELP =
      "Name of the disk store to be described.";
  public static final String DESCRIBE_DISK_STORE__ERROR_MESSAGE =
      "An error occurred while collecting Disk Store information for member (%1$s) with disk store (%2$s) in the Geode cluster: %3$s";

  /* 'describe member' command */
  public static final String DESCRIBE_MEMBER = "describe member";
  public static final String DESCRIBE_MEMBER__HELP =
      "Display information about a member, including name, id, groups, regions, etc.";
  public static final String DESCRIBE_MEMBER__IDENTIFIER = "name";
  public static final String DESCRIBE_MEMBER__IDENTIFIER__HELP =
      "Name/Id of the member to be described.";
  public static final String DESCRIBE_MEMBER__MSG__NOT_FOUND = "Member \"{0}\" not found";
  public static final String DESCRIBE_MEMBER__MSG__INFO_FOR__0__COULD_NOT_BE_RETRIEVED =
      "Information for the member %s could not be retrieved.";

  /* 'describe offline-disk-store' command */
  public static final String DESCRIBE_OFFLINE_DISK_STORE = "describe offline-disk-store";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__HELP =
      "Display information about an offline disk store.";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__DISKSTORENAME = "name";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__DISKSTORENAME__HELP =
      "Name of the disk store to be described.";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__REGIONNAME = "region";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__REGIONNAME__HELP =
      "Name/Path of the region in the disk store to be described.";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__DISKDIRS = "disk-dirs";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__DISKDIRS__HELP =
      "Directories which contain the disk store files.";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__PDX_TYPES = "pdx";
  public static final String DESCRIBE_OFFLINE_DISK_STORE__PDX_TYPES__HELP =
      "Display all the pdx types stored in the disk store";

  /* 'export offline-disk-store' command */
  public static final String EXPORT_OFFLINE_DISK_STORE = "export offline-disk-store";
  public static final String EXPORT_OFFLINE_DISK_STORE__HELP =
      "Export region data from an offline disk store into Geode snapshot files.";
  public static final String EXPORT_OFFLINE_DISK_STORE__DISKSTORENAME = "name";
  public static final String EXPORT_OFFLINE_DISK_STORE__DISKSTORENAME__HELP =
      "Name of the disk store to be exported.";
  public static final String EXPORT_OFFLINE_DISK_STORE__DIR = "dir";
  public static final String EXPORT_OFFLINE_DISK_STORE__DIR__HELP =
      "Directory to export snapshot files to.";
  public static final String EXPORT_OFFLINE_DISK_STORE__DISKDIRS = "disk-dirs";
  public static final String EXPORT_OFFLINE_DISK_STORE__DISKDIRS__HELP =
      "Directories which contain the disk store files.";
  public static final String EXPORT_OFFLINE_DISK_STORE__ERROR =
      "Error exporting disk store {0} is : {1}";
  public static final String EXPORT_OFFLINE_DISK_STORE__SUCCESS =
      "Exported all regions from disk store {0} to the directory {1}";

  /* 'describe region' command */
  public static final String DESCRIBE_REGION = "describe region";
  public static final String DESCRIBE_REGION__HELP =
      "Display the attributes and key information of a region.";
  public static final String DESCRIBE_REGION__NAME = "name";
  public static final String DESCRIBE_REGION__NAME__HELP =
      "Name/Path of the region to be described.";
  public static final String DESCRIBE_REGION__MSG__NOT_FOUND = "Region not found";
  public static final String DESCRIBE_REGION__MSG__ERROR = "Error";
  public static final String DESCRIBE_REGION__ATTRIBUTE__TYPE = "Type";
  public static final String DESCRIBE_REGION__MEMBER = "Member";
  public static final String DESCRIBE_REGION__ATTRIBUTE__NAME = "Name";
  public static final String DESCRIBE_REGION__ATTRIBUTE__VALUE = "Value";
  public static final String DESCRIBE_REGION__NONDEFAULT__COMMONATTRIBUTES__HEADER =
      "Non-Default Attributes Shared By {0}  ";
  public static final String DESCRIBE_REGION__NONDEFAULT__PERMEMBERATTRIBUTES__HEADER =
      "Non-Default Attributes Specific To The {0} ";
  public static final String DESCRIBE_REGION__HOSTING__MEMBER = "Hosting Members";
  public static final String DESCRIBE_REGION__ACCESSOR__MEMBER = "Accessor Members";
  public static final String DESCRIBE_REGION__ATTRIBUTE__TYPE__REGION = "Region";
  public static final String DESCRIBE_REGION__ATTRIBUTE__TYPE__PARTITION = "Partition";
  public static final String DESCRIBE_REGION__ATTRIBUTE__TYPE__EVICTION = "Eviction";

  /* 'destroy disk-store' command */
  public static final String DESTROY_DISK_STORE = "destroy disk-store";
  public static final String DESTROY_DISK_STORE__HELP =
      "Destroy a disk store, including deleting all files on disk used by the disk store. Data for closed regions previously using the disk store will be lost.";
  public static final String DESTROY_DISK_STORE__NAME = "name";
  public static final String DESTROY_DISK_STORE__NAME__HELP =
      "Name of the disk store that will be destroyed.";
  public static final String DESTROY_DISK_STORE__GROUP__HELP =
      "Group(s) of members on which the disk store will be destroyed. If no group is specified the disk store will be destroyed on all members.";
  public static final String DESTROY_DISK_STORE__ERROR_WHILE_DESTROYING_REASON_0 =
      "An error occurred while destroying the disk store: \"{0}\"";

  /* 'destroy function' command */
  public static final String DESTROY_FUNCTION = "destroy function";
  public static final String DESTROY_FUNCTION__HELP =
      "Destroy/Unregister a function. The default is for the function to be unregistered from all members.";
  public static final String DESTROY_FUNCTION__ID = "id";
  public static final String DESTROY_FUNCTION__ID__HELP = "ID of the function.";
  public static final String DESTROY_FUNCTION__ONGROUPS__HELP =
      "Groups of members from which this function will be unregistered.";
  public static final String DESTROY_FUNCTION__ONMEMBER__HELP =
      "Name/Id of the member from which this function will be unregistered.";
  public static final String DESTROY_FUNCTION__MSG__CANNOT_EXECUTE = "Cannot execute";
  public static final String DESTROY_FUNCTION__MSG__PROVIDE_OPTION =
      "Provide either --groups or --member";

  /* 'destroy index' command */
  public static final String DESTROY_INDEX = "destroy index";
  public static final String DESTROY_INDEX__HELP = "Destroy/Remove the specified index.";
  public static final String DESTROY_INDEX__NAME = "name";
  public static final String DESTROY_INDEX__NAME__HELP = "Name of the index to remove.";
  public static final String DESTROY_INDEX__MEMBER__HELP =
      "Name/Id of the member from which the index will be removed.";
  public static final String DESTROY_INDEX__REGION = "region";
  public static final String DESTROY_INDEX__REGION__HELP =
      "Name/Path of the region from which the index will be removed.";
  public static final String DESTROY_INDEX__GROUP__HELP =
      "Group of members from which the index will be removed.";
  public static final String DESTROY_INDEX__SUCCESS__MSG =
      "Index \"{0}\" successfully destroyed on the following members";
  public static final String DESTROY_INDEX__ON__REGION__SUCCESS__MSG =
      "Index \"{0}\" on region : \"{1}\" successfully destroyed on the following members";
  public static final String DESTROY_INDEX__ON__REGION__ONLY__SUCCESS__MSG =
      "Indexes on region : {0} successfully destroyed on the following members";
  public static final String DESTROY_INDEX__ON__MEMBERS__ONLY__SUCCESS__MSG =
      "Indexes successfully destroyed on the following members";
  public static final String DESTROY_INDEX__FAILURE__MSG =
      "Index \"{0}\" could not be destroyed for following reasons";
  public static final String DESTROY_INDEX__INDEX__NOT__FOUND = "Index named \"{0}\" not found";
  public static final String DESTROY_INDEX__REGION__NOT__FOUND = "Region \"{0}\" not found";
  public static final String DESTROY_INDEX__INVALID__NAME = "Invalid index name";
  public static final String DESTROY_INDEX__REASON_MESSAGE = "{0}.";
  public static final String DESTROY_INDEX__EXCEPTION__OCCURRED__ON =
      "Occurred on following members";
  public static final String DESTROY_INDEX__NUMBER__AND__MEMBER = "{0}. {1}";

  /* 'destroy region' command */
  public static final String DESTROY_REGION = "destroy region";
  public static final String DESTROY_REGION__HELP = "Destroy/Remove a region.";
  public static final String DESTROY_REGION__REGION = "name";
  public static final String DESTROY_REGION__REGION__HELP =
      "Name/Path of the region to be removed.";

  public static final String DESTROY_REGION__MSG__REGIONPATH_0_NOT_VALID =
      "Region path \"{0}\" is not valid.";
  public static final String DESTROY_REGION__MSG__COULD_NOT_FIND_REGIONPATH_0_IN_GEODE =
      "Could not find a Region with Region path \"{0}\" in this Geode cluster. If region was recently created, please wait for at least {1} to allow the associated Management resources to be federated.";
  public static final String DESTROY_REGION__MSG__AND_ITS_SUBREGIONS = "and its subregions";
  public static final String DESTROY_REGION__MSG__REGION_0_1_DESTROYED =
      "\"{0}\" {1} destroyed successfully.";
  public static final String DESTROY_REGION__MSG__ERROR_OCCURRED_WHILE_DESTROYING_0_REASON_1 =
      "Error occurred while destroying region \"{0}\". Reason: {1}";
  public static final String DESTROY_REGION__MSG__UNKNOWN_RESULT_WHILE_DESTROYING_REGION_0_REASON_1 =
      "Unknown result while destroying region \"{0}\". Reason: {1}";
  public static final String DESTROY_REGION__MSG__COULD_NOT_FIND_MEMBER_WITH_REGION_0 =
      "Could not find a Geode member which hosts a region with Region path \"{0}\"";
  public static final String DESTROY_REGION__MSG__SPECIFY_REGIONPATH_TO_DESTROY =
      "Please specify region path for the region to be destroyed.";
  public static final String DESTROY_REGION__MSG__ERROR_WHILE_DESTROYING_REGION_0_REASON_1 =
      "Error while destroying region {0}. Reason: {1}";

  /* disconnect command */
  public static final String DISCONNECT = "disconnect";
  public static final String DISCONNECT__HELP = "Close the current connection, if one is open.";
  public static final String DISCONNECT__MSG__DISCONNECTED = "Disconnected from : {0}";
  public static final String DISCONNECT__MSG__ERROR = "Error occurred while disconnecting: {0}";
  public static final String DISCONNECT__MSG__NOTCONNECTED = "Not connected!";

  /* echo command */
  public static final String ECHO = "echo";
  public static final String ECHO__HELP =
      "Echo the given text which may include system and user variables.";
  public static final String ECHO__STR = "string";
  public static final String ECHO__STR__HELP =
      "String to be echoed. For example, \"SYS_USER variable is set to ${SYS_USER}\".";
  public static final String ECHO__MSG__NO_GFSH_INSTANCE = "Could not get GFSH Instance";

  /* 'execute function' command */
  public static final String EXECUTE_FUNCTION = "execute function";
  public static final String EXECUTE_FUNCTION__HELP =
      "Execute the function with the specified ID. By default will execute on all members.";
  public static final String EXECUTE_FUNCTION__ID = "id";
  public static final String EXECUTE_FUNCTION__ID__HELP = "ID of the function to execute.";
  public static final String EXECUTE_FUNCTION__ONGROUPS__HELP =
      "Groups of members on which the function will be executed.";
  public static final String EXECUTE_FUNCTION__ONMEMBER__HELP =
      "Name/Id of the member on which the function will be executed.";
  public static final String EXECUTE_FUNCTION__ONREGION = "region";
  public static final String EXECUTE_FUNCTION__ONREGION__HELP =
      "Region on which the data dependent function will be executed.";
  public static final String EXECUTE_FUNCTION__ARGUMENTS = "arguments";
  public static final String EXECUTE_FUNCTION__ARGUMENTS__HELP =
      "Arguments to the function in comma separated String format.";
  public static final String EXECUTE_FUNCTION__RESULTCOLLECTOR = "result-collector";
  public static final String EXECUTE_FUNCTION__RESULTCOLLECTOR__HELP =
      "Fully qualified class name of the ResultCollector to instantiate for gathering results.";
  public static final String EXECUTE_FUNCTION__FILTER = "filter";
  public static final String EXECUTE_FUNCTION__FILTER__HELP =
      "Key list which causes the function to only be executed on members which have entries with these keys.";
  public static final String EXECUTE_FUNCTION__MSG__MISSING_FUNCTIONID = "Provide FunctionId";
  public static final String EXECUTE_FUNCTION__MSG__MISSING_OPTIONS =
      "Provide one of region/member/groups";
  public static final String EXECUTE_FUNCTION__MSG__OPTIONS =
      "Provide Only one of region/member/groups";
  public static final String EXECUTE_FUNCTION__MSG__NO_FUNCTION_FOR_FUNCTIONID =
      "For the functionId provided could not retrieve function. Function may not be registered";
  public static final String EXECUTE_FUNCTION__MSG__NO_FUNCTION_EXECUTION =
      "FunctionService could not create execution. Can not execute Function";
  public static final String EXECUTE_FUNCTION__MSG__NO_ASSOCIATED_MEMBER =
      "Could not find a member matching";
  public static final String EXECUTE_FUNCTION__MSG__HAS_NO_MEMBER = "No member to execute on";
  public static final String EXECUTE_FUNCTION__MSG__COULD_NOT_EXECUTE_FUNCTION_0_ON_MEMBER_1_ERROR_2 =
      "Could not execute function :{0} on member : {1}. Details are : {2}";
  public static final String EXECUTE_FUNCTION__MSG__DOES_NOT_HAVE_FUNCTION_0_REGISTERED =
      "Function : {0} is not registered on member.";
  public static final String EXECUTE_FUNCTION__MSG__ERROR_IN_EXECUTING_ON_MEMBER_1_DETAILS_2 =
      "While executing function : {0} on member : {1} error occurred : {2}";
  public static final String EXECUTE_FUNCTION__MSG__RESULT_COLLECTOR_0_NOT_FOUND_ERROR_1 =
      "ResultCollector : {0} not found. Error : {1}";
  public static final String EXECUTE_FUNCTION__MSG__MXBEAN_0_FOR_NOT_FOUND =
      "MXBean for : {0} not found. ";
  public static final String EXECUTE_FUNCTION__MSG__EXECUTING_0_ON_ENTIRE_DS =
      "Executing function : {0} on entire distributed system ";
  public static final String EXECUTE_FUNCTION__MSG__DS_HAS_NO_MEMBERS =
      "Distributed system has no members";
  public static final String EXECUTE_FUNCTION__MSG__ERROR_IN_EXECUTING_0_ON_REGION_1_DETAILS_2 =
      "While executing function : {0} on region : {1} error occurred : {2}";
  public static final String EXECUTE_FUNCTION__MSG__ERROR_IN_RETRIEVING_EXECUTOR =
      "Could not retrieve executor";
  public static final String EXECUTE_FUNCTION__MSG__GROUPS_0_HAS_NO_MEMBERS =
      "Groups : {0} has no members";
  public static final String EXECUTE_FUNCTION__MSG__NO_ASSOCIATED_MEMBER_REGION =
      "Could not find a member associated with region ";
  public static final String EXECUTE_FUNCTION__MSG__COULD_NOT_RETRIEVE_ARGUMENTS =
      "Could not retrieve arguments";
  public static final String EXECUTE_FUNCTION__MSG__ERROR_IN_EXECUTING_0_ON_MEMBER_1_ON_REGION_2_DETAILS_3 =
      "While executing function : {0} on member : {1} one region : {2} error occurred : {3}";
  public static final String EXECUTE_FUNCTION__MSG__MEMBER_SHOULD_NOT_HAVE_FILTER_FOR_EXECUTION =
      "Filters for executing on member or group is not supported.";

  /* exit command */
  public static final String EXIT = "exit";
  public static final String EXIT__HELP =
      "Exit GFSH and return control back to the calling process.";

  /* describe config command */
  public static final String EXPORT_CONFIG = "export config";
  public static final String EXPORT_CONFIG__HELP =
      "Export configuration properties for a member or members.";
  public static final String EXPORT_CONFIG__GROUP__HELP =
      "Group(s) of members whose configuration will be exported.";
  public static final String EXPORT_CONFIG__MEMBER__HELP =
      "Name/Id of the member(s) whose configuration will be exported.";
  public static final String EXPORT_CONFIG__DIR = "dir";
  public static final String EXPORT_CONFIG__DIR__HELP =
      "Directory to which the exported configuration files will be written.";
  public static final String EXPORT_CONFIG__MSG__EXCEPTION =
      "Exception while exporting config: {0}";
  public static final String EXPORT_CONFIG__MSG__MEMBER_EXCEPTION =
      "Exception while exporting config for {0}: {0}";
  public static final String EXPORT_CONFIG__MSG__NOT_A_DIRECTORY = "{0} is not a directory";
  public static final String EXPORT_CONFIG__MSG__NOT_WRITEABLE = "{0} is not writeable";
  public static final String EXPORT_CONFIG__MSG__CANNOT_CREATE_DIR =
      "Directory {0} could not be created";

  /* 'export data' command */
  public static final String EXPORT_DATA = "export data";
  public static final String EXPORT_DATA__HELP = "Export user data from a region to a file.";
  public static final String EXPORT_DATA__REGION = "region";
  public static final String EXPORT_DATA__REGION__HELP = "Region from which data will be exported.";
  public static final String EXPORT_DATA__FILE = "file";
  public static final String EXPORT_DATA__FILE__HELP =
      "File to which the exported data will be written. The file must have an extension of \".gfd\". Cannot be specified at the same time as \"dir\"";
  public static final String EXPORT_DATA__MEMBER__HELP =
      "Name/Id of a member which hosts the region. The data will be exported to the specified file on the host where the member is running.";
  public static final String EXPORT_DATA__DIR = "dir";
  public static final String EXPORT_DATA__DIR__HELP =
      "Directory to which the exported data will be written. Required if parallel set to true. Cannot be specified at the same time as \"file\"";
  public static final String EXPORT_DATA__PARALLEL = "parallel";
  public static final String EXPORT_DATA__PARALLEL_HELP =
      "Export local data on each node to a directory on that machine. Available for partitioned regions only";
  public static final String EXPORT_DATA__MEMBER__NOT__FOUND = "Member {0} not found";
  public static final String EXPORT_DATA__REGION__NOT__FOUND = "Region {0} not found";
  public static final String EXPORT_DATA__SUCCESS__MESSAGE =
      "Data successfully exported from region : {0} to file : {1} on host : {2}";

  /* export logs command */
  public static final String EXPORT_LOGS = "export logs";
  public static final String EXPORT_LOGS__HELP = "Export the log files for a member or members.";
  public static final String EXPORT_LOGS__DIR = "dir";
  public static final String EXPORT_LOGS__DIR__HELP =
      "Directory to which logs will be written.  This refers to a local directory when exporting logs using an http connection, but refers to the filesystem of the manager when connected via JMX. If not specified, logs are written to the location specified by the user.dir system property.";
  public static final String EXPORT_LOGS__MEMBER__HELP =
      "Name/Id of the member whose log files will be exported.";
  public static final String EXPORT_LOGS__GROUP__HELP =
      "Group of members whose log files will be exported.";
  public static final String EXPORT_LOGS__MSG__CANNOT_EXECUTE = "Cannot execute";
  public static final String EXPORT_LOGS__LOGLEVEL = LOG_LEVEL;
  public static final String EXPORT_LOGS__LOGLEVEL__HELP =
      "Minimum level of log entries to export.  " + LOG_LEVEL_VALUES + "  The default is ALL.";
  public static final String EXPORT_LOGS__UPTO_LOGLEVEL = "only-log-level";
  public static final String EXPORT_LOGS__UPTO_LOGLEVEL__HELP =
      "Whether to only include those entries that exactly match the --log-level specified.";
  public static final String EXPORT_LOGS__STARTTIME = "start-time";
  public static final String EXPORT_LOGS__STARTTIME__HELP =
      "Log entries that occurred after this time will be exported. The default is no limit. Format: yyyy/MM/dd/HH/mm/ss/SSS/z OR yyyy/MM/dd";
  public static final String EXPORT_LOGS__ENDTIME = "end-time";
  public static final String EXPORT_LOGS__ENDTIME__HELP =
      "Log entries that occurred before this time will be exported. The default is no limit. Format: yyyy/MM/dd/HH/mm/ss/SSS/z OR yyyy/MM/dd";
  public static final String EXPORT_LOGS__MERGELOG = "merge-log";
  public static final String EXPORT_LOGS__MERGELOG__HELP =
      "Whether to merge logs after exporting to the target directory. Deprecated: Since Geode 1.2, no longer used.";
  public static final String EXPORT_LOGS__MSG__CANNOT_MERGE =
      "Could not merge the files in target directory";
  public static final String EXPORT_LOGS__MSG__SPECIFY_ONE_OF_OPTION =
      "Specify one of group or member ID";
  public static final String EXPORT_LOGS__MSG__FUNCTION_EXCEPTION = "Error in executing function";
  public static final String EXPORT_LOGS__MSG__FILE_DOES_NOT_EXIST = "Does not exist";
  public static final String EXPORT_LOGS__MSG__TARGET_DIR_CANNOT_BE_CREATED =
      "Target Directory {0} cannot be created";
  public static final String EXPORT_LOGS__MSG__SPECIFY_ENDTIME = "Specify End Time.";
  public static final String EXPORT_LOGS__MSG__SPECIFY_STARTTIME = "Specify Start Time.";
  public static final String EXPORT_LOGS__MSG__INVALID_TIMERANGE = "Invalid Time Range.";
  public static final String EXPORT_LOGS__MSG__INVALID_MEMBERID = "Member : {0} is not valid.";
  public static final String EXPORT_LOGS__MSG__NO_GROUPMEMBER_FOUND =
      "Groups specified have no members";
  public static final String EXPORT_LOGS__MSG__FAILED_TO_EXPORT_LOG_FILES_FOR_MEMBER_0 =
      "Could not export log files for member {0}";
  public static final String EXPORT_LOGS__LOGSONLY = "logs-only";
  public static final String EXPORT_LOGS__STATSONLY = "stats-only";
  public static final String EXPORT_LOGS__LOGSONLY__HELP = "Whether to only export logs";
  public static final String EXPORT_LOGS__STATSONLY__HELP = "Whether to only export statistics";
  public static final String EXPORT_LOGS__FILESIZELIMIT = "file-size-limit";
  public static final String EXPORT_LOGS__FILESIZELIMIT__HELP =
      "Limits total unzipped size of the exported files. Specify zero for no limit. Value is in megabytes by default or [k|m|g|t] may be specified.";
  public static final String EXPORT_LOGS__FILESIZELIMIT__SPECIFIED_DEFAULT = "0";
  public static final String EXPORT_LOGS__FILESIZELIMIT__UNSPECIFIED_DEFAULT = "100m";


  /* export stack-trace command */
  public static final String EXPORT_STACKTRACE = "export stack-traces";
  public static final String EXPORT_STACKTRACE__HELP =
      "Export the stack trace for a member or members.";
  public static final String EXPORT_STACKTRACE__MEMBER__HELP =
      "Name/Id of the member whose stack trace will be exported.";
  public static final String EXPORT_STACKTRACE__GROUP__HELP =
      "Group of members whose stack trace will be exported.";
  public static final String EXPORT_STACKTRACE_ALL_STACKS = "all-stacks";
  public static final String EXPORT_STACKTRACE_ALL_STACKS__HELP =
      "When set to true exports all the stacktraces.";
  public static final String EXPORT_STACKTRACE__FILE = "file";
  public static final String EXPORT_STACKTRACE__FILE__HELP =
      "Name of the file to which the stack traces will be written.";
  public static final String EXPORT_STACKTRACE__FAIL__IF__FILE__PRESENT = "abort-if-file-exists";
  public static final String EXPORT_STACKTRACE__FAIL__IF__FILE__PRESENT__HELP =
      "Abort the command if already exists at locator directory";
  public static final String EXPORT_STACKTRACE__MEMBER__NOT__FOUND = "Member not found";
  public static final String EXPORT_STACKTRACE__SUCCESS = "stack-trace(s) exported to file: {0}";
  public static final String EXPORT_STACKTRACE__ERROR = "Error occurred while showing stack-traces";
  public static final String EXPORT_STACKTRACE__ERROR__FILE__PRESENT =
      "Error occurred while exporting stack-traces, file {0} already present";
  public static final String EXPORT_STACKTRACE__HOST = "On host : ";
  public static final String EXPORT_STACKTRACE_WARN_USER =
      "If file {0} already present at locator directory it will be overwritten, do you want to continue?";
  public static final String EXPORT_STACKTRACE_MSG_ABORTING = "Aborting export stack-traces";

  /* 'gc' command */
  public static final String GC = "gc";
  public static final String GC__HELP =
      "Force GC (Garbage Collection) on a member or members. The default is for garbage collection to occur on all caching members.";
  public static final String GC__MEMBER__HELP =
      "Name/Id of the member on which garbage collection will be done.";
  public static final String GC__GROUP__HELP =
      "Group(s) of members on which garbage collection will be done.";
  public static final String GC__MSG__MEMBER_NOT_FOUND = "Member not found";
  public static final String GC__MSG__CANNOT_EXECUTE = "Cannot execute";
  public static final String GC__MSG__MEMBER_NAME = "Member ID/Name";
  public static final String GC__MSG__HEAP_SIZE_BEFORE_GC = "HeapSize (MB) Before GC";
  public static final String GC__MSG__HEAP_SIZE_AFTER_GC = "HeapSize(MB) After GC";
  public static final String GC__MSG__TOTAL_TIME_IN_GC = "Time Taken for GC in ms";


  /* get command */
  public static final String GET = "get";
  public static final String GET__HELP =
      "Display an entry in a region. If using a region whose key and value classes have been set, then specifying --key-class and --value-class is unnecessary.";
  public static final String GET__KEY = "key";
  public static final String GET__KEY__HELP =
      "String or JSON text from which to create the key.  Examples include: \"James\", \"100L\" and \"('id': 'l34s')\".";
  public static final String GET__KEYCLASS = "key-class";
  public static final String GET__KEYCLASS__HELP =
      "Fully qualified class name of the key's type. The default is the key constraint for the current region or String.";
  public static final String GET__LOAD = "load-on-cache-miss";
  public static final String GET__LOAD__HELP =
      "Explicitly enables or disables the use of any registered CacheLoaders on the specified Region when retrieving a value for the specified Key on Cache misses. (Default is true, or enabled)";
  public static final String GET__VALUEKLASS = "value-class";
  public static final String GET__VALUEKLASS__HELP =
      "Fully qualified class name of the value's type. The default is the value constraint for the current region or String.";
  public static final String GET__REGIONNAME = "region";
  public static final String GET__REGIONNAME__HELP = "Region from which to get the entry.";
  public static final String GET__MSG__REGIONNAME_EMPTY = "Region name is either empty or Null";
  public static final String GET__MSG__KEY_EMPTY = "Key is either empty or Null";
  public static final String GET__MSG__VALUE_EMPTY = "Value is either empty or Null";
  public static final String GET__MSG__REGION_NOT_FOUND_ON_ALL_MEMBERS =
      "Region <{0}> not found in any of the members";
  public static final String GET__MSG__REGION_NOT_FOUND = "Region <{0}> Not Found";
  public static final String GET__MSG__KEY_NOT_FOUND_REGION = "Key is not present in the region";

  /* help command */
  public static final String HELP = "help";
  public static final String HELP__HELP =
      "Display syntax and usage information for all commands or list all available commands if <command> isn't specified.";
  public static final String HELP__COMMAND = "command";
  public static final String HELP__COMMAND__HELP =
      "Name of the command for which help will be displayed.";
  public static final String PARAM_CONTEXT_HELP = "help:disable-string-converter";

  /* hint command */
  public static final String HINT = "hint";
  public static final String HINT__HELP =
      "Provide hints for a topic or list all available topics if \"topic\" isn't specified.";
  public static final String HINT__TOPICNAME = "topic";
  public static final String HINT__TOPICNAME__HELP =
      "Name of the topic for which hints will be displayed.";
  public static final String HINT__MSG__SHELL_NOT_INITIALIZED =
      "Shell is not initialized properly. Please restart the shell. Check gfsh-<timestamp>.log for errors.";
  public static final String HINT__MSG__UNKNOWN_TOPIC =
      "Unknown topic: {0}. Use " + HINT + " to view the list of available topics.";
  public static final String HINT__MSG__TOPICS_AVAILABLE =
      "Hints are available for the following topics. Use \"" + HINT
          + " <topic-name>\" for a specific hint.";

  /* history command */
  public static final String HISTORY = "history";
  public static final String HISTORY__HELP = "Display or export previously executed GFSH commands.";
  public static final String HISTORY__FILE = "file";
  public static final String HISTORY__FILE__HELP = "File to which the history will be written.";
  public static final String HISTORY__MSG__FILE_NULL = "File should not be null";
  public static final String HISTORY__MSG__FILE_DOES_NOT_EXISTS = "File does not exist";
  public static final String HISTORY__MSG__FILE_SHOULD_NOT_BE_DIRECTORY =
      "File Should not be a directory";
  public static final String HISTORY__MSG__FILE_CANNOT_BE_WRITTEN =
      "Unable to write to the specified file";
  public static final String HISTORY__CLEAR = "clear";
  public static final String HISTORY__CLEAR__HELP =
      "Clears the history of GFSH commands. Takes value as true or false";
  public static final String HISTORY__MSG__DID_NOT_CLEAR_HISTORY =
      "Did not clear history of GFSH commands";
  public static final String HISTORY__MSG__CLEARED_HISTORY = "Successfully deleted history";


  /* 'import data' command */
  public static final String IMPORT_DATA = "import data";
  public static final String IMPORT_DATA__HELP = "Import user data from a file to a region.";
  public static final String IMPORT_DATA__REGION = "region";
  public static final String IMPORT_DATA__REGION__HELP = "Region into which data will be imported.";
  public static final String IMPORT_DATA__FILE = "file";
  public static final String IMPORT_DATA__FILE__HELP =
      "File from which the imported data will be read. The file must have an extension of \".gfd\". Cannot be specified at the same time as \"dir\"";
  public static final String IMPORT_DATA__DIR = "dir";
  public static final String IMPORT_DATA__DIR__HELP =
      "Directory from which all data files (\".gfd\") will be read. Required if parallel set to true. Cannot be specified at the same time as \"file\"";
  public static final String IMPORT_DATA__PARALLEL = "parallel";
  public static final String IMPORT_DATA__PARALLEL_HELP =
      "Import data from given directory on all members. Used to import data from a parallel export. Available for partitioned regions only";
  public static final String IMPORT_DATA__MEMBER__HELP =
      "Name/Id of a member which hosts the region. The data will be imported from the specified file on the host where the member is running.";
  public static final String IMPORT_DATA__MEMBER__NOT__FOUND = "Member {0} not found.";
  public static final String IMPORT_DATA__REGION__NOT__FOUND = "Region {0} not found.";
  public static final String IMPORT_DATA__SUCCESS__MESSAGE =
      "Data imported from file : {0} on host : {1} to region : {2}";
  public static final String IMPORT_DATA__INVOKE_CALLBACKS = "invoke-callbacks";
  public static final String IMPORT_DATA__INVOKE_CALLBACKS__HELP =
      "Whether callbacks should be invoked";

  public static final String INTERCEPTOR_PASSWORD = "Password: ";
  public static final String INTERCEPTOR_USERNAME = "Username: ";

  /* 'list async-event-queues' command */
  public static final String LIST_ASYNC_EVENT_QUEUES = "list async-event-queues";
  public static final String LIST_ASYNC_EVENT_QUEUES__HELP =
      "Display the Async Event Queues for all members.";
  public static final String LIST_ASYNC_EVENT_QUEUES__ERROR_WHILE_LISTING_REASON_0 =
      "An error occurred while collecting queue information: \"{0}\"";
  public static final String LIST_ASYNC_EVENT_QUEUES__NO_QUEUES_FOUND_MESSAGE =
      "No Async Event Queues Found";


  /* 'list client' command */
  public static final String LIST_CLIENTS = "list clients";
  public static final String LIST_CLIENT__HELP = "Display list of connected clients";
  public static final String LIST_CLIENT_COULD_NOT_RETRIEVE_CLIENT_LIST_0 =
      "Could not retrieve list of clients. Reason : {0}";
  public static final String LIST_CLIENT_COULD_NOT_RETRIEVE_SERVER_LIST =
      "No cache-servers were observed.";
  public static final String LIST_COULD_NOT_RETRIEVE_CLIENT_LIST =
      "No clients were retrieved for cache-servers.";
  public static final String LIST_CLIENT_COLUMN_SERVERS = "Server Name / ID";
  public static final String LIST_CLIENT_COLUMN_Clients = "Client Name / ID";

  /* 'describe client' command */
  public static final String DESCRIBE_CLIENT = "describe client";
  public static final String DESCRIBE_CLIENT__HELP = "Display details of specified client";
  public static final String DESCRIBE_CLIENT__ID = "clientID";
  public static final String DESCRIBE_CLIENT__ID__HELP =
      "ID of a client for which details are needed";
  public static final String DESCRIBE_CLIENT_COULD_NOT_RETRIEVE_SERVER_LIST =
      "No cache-servers were observed.";
  public static final String DESCRIBE_CLIENT__CLIENT__ID__NOT__FOUND__0 =
      "Specified Client ID {0} not present";
  public static final String DESCRIBE_CLIENT_COULD_NOT_RETRIEVE_CLIENT_0 =
      "Could not retrieve client. Reason : {0}";
  public static final String DESCRIBE_CLIENT_COULD_NOT_RETRIEVE_STATS_FOR_CLIENT_0 =
      "Could not retrieve stats for client : {0}";
  public static final String DESCRIBE_CLIENT_COULD_NOT_RETRIEVE_STATS_FOR_CLIENT_0_REASON_1 =
      "Could not retrieve stats for client : {0}. Reason : {1}";
  public static final String DESCRIBE_CLIENT_ERROR_FETCHING_STATS_0 =
      "Error occurred while fetching stats. Reason : {0}";
  public static final String DESCRIBE_CLIENT_NO_MEMBERS = "DS has no members";
  public static final String DESCRIBE_CLIENT_COLUMN_PRIMARY_SERVERS = "Primary Servers";
  public static final String DESCRIBE_CLIENT_COLUMN_SECONDARY_SERVERS = "Secondary Servers";
  public static final String DESCRIBE_CLIENT_COLUMN_CPU = "CPU";
  public static final String DESCRIBE_CLIENT_COLUMN_LISTENER_CALLS =
      "Number of Cache Listener Calls";
  public static final String DESCRIBE_CLIENT_COLUMN_GETS = "Number of Gets";
  public static final String DESCRIBE_CLIENT_COLUMN_MISSES = "Number of Misses";
  public static final String DESCRIBE_CLIENT_COLUMN_PUTS = "Number of Puts";
  public static final String DESCRIBE_CLIENT_COLUMN_THREADS = "Number of Threads";
  public static final String DESCRIBE_CLIENT_COLUMN_PROCESS_CPU_TIME =
      "Process CPU Time (nanoseconds)";
  public static final String DESCRIBE_CLIENT_COLUMN_QUEUE_SIZE = "Queue size";
  public static final String DESCRIBE_CLIENT_COLUMN_UP_TIME = "UP Time (seconds)";
  public static final String DESCRIBE_CLIENT_COLUMN_DURABLE = "Is Durable";
  public static final String DESCRIBE_CLIENT_MIN_CONN = "Minimum Connections";
  public static final String DESCRIBE_CLIENT_MAX_CONN = "Maximum Connections";
  public static final String DESCRIBE_CLIENT_REDUNDANCY = "Redundancy";
  public static final String DESCRIBE_CLIENT_CQs = "Num of CQs";



  /* list deployed command */
  public static final String LIST_DEPLOYED = "list deployed";
  public static final String LIST_DEPLOYED__HELP =
      "Display a list of JARs that were deployed to members using the \"deploy\" command.";
  public static final String LIST_DEPLOYED__GROUP__HELP =
      "Group(s) of members for which deployed JARs will be displayed.  If not specified, JARs for all members will be displayed.";
  public static final String LIST_DEPLOYED__NO_JARS_FOUND_MESSAGE = "No JAR Files Found";

  /* list function command */
  public static final String LIST_FUNCTION = "list functions";
  public static final String LIST_FUNCTION__HELP =
      "Display a list of registered functions. The default is to display functions for all members.";
  public static final String LIST_FUNCTION__MATCHES = "matches";
  public static final String LIST_FUNCTION__MATCHES__HELP =
      "Pattern that the function ID must match in order to be included. Uses Java pattern matching rules, not UNIX. For example, to match any character any number of times use \".*\" instead of \"*\".";
  public static final String LIST_FUNCTION__GROUP__HELP =
      "Group(s) of members for which functions will be displayed.";
  public static final String LIST_FUNCTION__MEMBER__HELP =
      "Name/Id of the member(s) for which functions will be displayed.";
  public static final String LIST_FUNCTION__NO_FUNCTIONS_FOUND_ERROR_MESSAGE = "No Functions Found";

  public static final String LIST_GATEWAY = "list gateways";
  public static final String LIST_GATEWAY__SHOW_SENDERS_ONLY = "senders-only";
  public static final String LIST_GATEWAY__SHOW_SENDERS_ONLY__HELP =
      "Display gateway senders only.";
  public static final String LIST_GATEWAY__SHOW_RECEIVERS_ONLY = "receivers-only";
  public static final String LIST_GATEWAY__SHOW_RECEIVERS_ONLY__HELP =
      "Display gateway receivers only.";
  public static final String LIST_GATEWAY__ERROR_ON_SHOW_PARAMETERS =
      "Options --senders-only and --receivers-only cannot be used together.";
  public static final String LIST_GATEWAY__HELP =
      "Display the Gateway Senders and Receivers for a member or members.";
  public static final String LIST_GATEWAY__GROUP__HELP =
      "Group(s) of members for which Gateway Senders and Receivers will be displayed.";
  public static final String LIST_GATEWAY__MEMBER__HELP =
      "Member(s) for which Gateway Senders and Receivers will be displayed.";
  /* list index */
  public static final String LIST_INDEX = "list indexes";
  public static final String LIST_INDEX__HELP =
      "Display the list of indexes created for all members.";
  public static final String LIST_INDEX__ERROR_MESSAGE =
      "An error occurred while collecting all Index information across the Geode cluster: %1$s";
  public static final String LIST_INDEX__INDEXES_NOT_FOUND_MESSAGE = "No Indexes Found";
  public static final String LIST_INDEX__STATS = "with-stats";
  public static final String LIST_INDEX__STATS__HELP =
      "Whether statistics should also be displayed.";

  /* list disk-store command */
  public static final String LIST_DISK_STORE = "list disk-stores";
  public static final String LIST_DISK_STORE__HELP = "Display disk stores for all members.";
  public static final String LIST_DISK_STORE__ERROR_MESSAGE =
      "An error occurred while collecting Disk Store information for all members across the Geode cluster: %1$s";
  public static final String LIST_DISK_STORE__DISK_STORES_NOT_FOUND_MESSAGE =
      "No Disk Stores Found";

  /* 'list member' command */
  public static final String LIST_MEMBER = "list members";
  public static final String LIST_MEMBER__HELP = "Display all or a subset of members.";
  public static final String LIST_MEMBER__GROUP__HELP =
      "Group name for which members will be displayed.";
  public static final String LIST_MEMBER__MSG__NO_MEMBER_FOUND = NO_MEMBERS_FOUND_MESSAGE;

  /* 'list region' command */
  public static final String LIST_REGION = "list regions";
  public static final String LIST_REGION__HELP = "Display regions of a member or members.";
  public static final String LIST_REGION__GROUP__HELP =
      "Group of members for which regions will be displayed.";
  public static final String LIST_REGION__MEMBER__HELP =
      "Name/Id of the member for which regions will be displayed.";
  public static final String LIST_REGION__MSG__NOT_FOUND = "No Regions Found";
  public static final String LIST_REGION__MSG__ERROR =
      "Error occurred while fetching list of regions.";

  /* load-balance gateway-sender */
  public static final String LOAD_BALANCE_GATEWAYSENDER = "load-balance gateway-sender";
  public static final String LOAD_BALANCE_GATEWAYSENDER__HELP =
      "Cause the Gateway Sender to close its current connections so that it reconnects to its remote receivers in a more balanced fashion.";
  public static final String LOAD_BALANCE_GATEWAYSENDER__ID = "id";
  public static final String LOAD_BALANCE_GATEWAYSENDER__ID__HELP = "ID of the Gateway Sender.";

  /* locate entry command */
  public static final String LOCATE_ENTRY = "locate entry";
  public static final String LOCATE_ENTRY__HELP =
      "Identifies the location, including host, member and region, of entries that have the specified key.";
  public static final String LOCATE_ENTRY__KEY = "key";
  public static final String LOCATE_ENTRY__KEY__HELP =
      "String or JSON text from which to create a key.  Examples include: \"James\", \"100L\" and \"('id': 'l34s')\".";
  public static final String LOCATE_ENTRY__KEYCLASS = "key-class";
  public static final String LOCATE_ENTRY__KEYCLASS__HELP =
      "Fully qualified class name of the key's type. The default is java.lang.String.";
  public static final String LOCATE_ENTRY__VALUEKLASS = "value-class";
  public static final String LOCATE_ENTRY__VALUEKLASS__HELP =
      "Fully qualified class name of the value's type. The default is java.lang.String.";
  public static final String LOCATE_ENTRY__REGIONNAME = "region";
  public static final String LOCATE_ENTRY__REGIONNAME__HELP = "Region in which to locate values.";
  public static final String LOCATE_ENTRY__RECURSIVE = "recursive";
  public static final String LOCATE_ENTRY__RECURSIVE__HELP =
      "Whether to traverse regions and subregions recursively.";
  public static final String LOCATE_ENTRY__MSG__REGIONNAME_EMPTY =
      "Region name is either empty or Null";
  public static final String LOCATE_ENTRY__MSG__KEY_EMPTY = "Key is either empty or Null";
  public static final String LOCATE_ENTRY__MSG__VALUE_EMPTY = "Value is either empty or Null";
  public static final String LOCATE_ENTRY__MSG__REGION_NOT_FOUND_ON_ALL_MEMBERS =
      "Region <{0}> not found in any of the members";
  public static final String LOCATE_ENTRY__MSG__REGION_NOT_FOUND = "Region <{0}> Not Found";
  public static final String LOCATE_ENTRY__MSG__KEY_NOT_FOUND_REGION =
      "Key is not present in the region";

  /* 'netstat' command */
  public static final String NETSTAT = "netstat";
  public static final String NETSTAT__HELP =
      "Report network information and statistics via the \"netstat\" operating system command.";
  public static final String NETSTAT__MEMBER__HELP =
      "Name/Id of the member(s) on which to run the netstat command.";
  public static final String NETSTAT__GROUP__HELP =
      "Group of members on which to run the netstat command.";
  public static final String NETSTAT__FILE = "file";
  public static final String NETSTAT__FILE__HELP =
      "Text file to which output from the netstat command will be written. A \".txt\" extension will be added if it's not already a part of the specified name.";
  public static final String NETSTAT__WITHLSOF = "with-lsof";
  public static final String NETSTAT__WITHLSOF__HELP =
      "Whether lsof (list open files) command output should also be displayed. Not applicable for \"Microsoft Windows(TM)\" hosts.";
  public static final String NETSTAT__MSG__FOR_HOST_1_OS_2_MEMBER_0 =
      "Host: {1}{3}OS: {2}{3}Member(s):{3} {0}"; // {3} for line separator
  public static final String NETSTAT__MSG__ERROR_OCCURRED_WHILE_EXECUTING_NETSTAT_ON_0 =
      "Error occurred while executing " + CliStrings.NETSTAT + " on {0}";
  public static final String NETSTAT__MSG__SAVED_OUTPUT_IN_0 =
      "Saved " + CliStrings.NETSTAT + " output in the file {0}.";
  public static final String NETSTAT__MSG__COULD_NOT_FIND_MEMBERS_0 =
      "Could not find member(s) with Id(s) or name(s): {0}.";
  public static final String NETSTAT__MSG__ONLY_ONE_OF_MEMBER_OR_GROUP_SHOULD_BE_SPECIFIED =
      "Only one of --group or --member should be specified.";
  public static final String NETSTAT__MSG__NOT_AVAILABLE_FOR_WINDOWS = "Not available for Windows.";
  public static final String NETSTAT__MSG__COULD_NOT_EXECUTE_0_REASON_1 =
      "Could not execute \"{0}\". Reason: {1}";
  public static final String NETSTAT__MSG__LSOF_NOT_IN_PATH = "lsof command not in current path";

  /* pause gateway-sender */
  public static final String PAUSE_GATEWAYSENDER = "pause gateway-sender";
  public static final String PAUSE_GATEWAYSENDER__ID = "id";
  public static final String PAUSE_GATEWAYSENDER__HELP =
      "Pause the Gateway Sender on a member or members.";
  public static final String PAUSE_GATEWAYSENDER__ID__HELP = "ID of the Gateway Sender.";
  public static final String PAUSE_GATEWAYSENDER__GROUP__HELP =
      "Group(s) of members on which to pause the Gateway Sender.";
  public static final String PAUSE_GATEWAYSENDER__MEMBER__HELP =
      "Name/Id of the member on which to pause the Gateway Sender.";

  /* put command */
  public static final String PUT = "put";
  public static final String PUT__HELP =
      "Add/Update an entry in a region. If using a region whose key and value classes have been set, then specifying --key-class and --value-class is unnecessary.";
  public static final String PUT__KEY = "key";
  public static final String PUT__KEY__HELP =
      "String or JSON text from which to create the key.  Examples include: \"James\", \"100L\" and \"('id': 'l34s')\".";
  public static final String PUT__VALUE = "value";
  public static final String PUT__VALUE__HELP =
      "String or JSON text from which to create the value.  Examples include: \"manager\", \"100L\" and \"('value': 'widget')\".";
  public static final String PUT__PUTIFABSENT = "skip-if-exists";
  public static final String PUT__PUTIFABSENT__HELP =
      "(Deprecated: Use --if-not-exists). Skip the put operation when an entry with the same key already exists. The default is to overwrite the entry (false).";
  public static final String PUT__PUTIFNOTEXISTS__HELP =
      "Skip the put operation when an entry with the same key already exists. The default is to overwrite the entry (false).";
  public static final String PUT__KEYCLASS = "key-class";
  public static final String PUT__KEYCLASS__HELP =
      "Fully qualified class name of the key's type. The default is java.lang.String.";
  public static final String PUT__VALUEKLASS = "value-class";
  public static final String PUT__VALUEKLASS__HELP =
      "Fully qualified class name of the value's type. The default is java.lang.String.";
  public static final String PUT__REGIONNAME = "region";
  public static final String PUT__REGIONNAME__HELP = "Region into which the entry will be put.";
  public static final String PUT__MSG__REGIONNAME_EMPTY = "Region name is either empty or Null";
  public static final String PUT__MSG__KEY_EMPTY = "Key is either empty or Null";
  public static final String PUT__MSG__VALUE_EMPTY = "Value is either empty or Null";
  public static final String PUT__MSG__REGION_NOT_FOUND_ON_ALL_MEMBERS =
      "Region <{0}> not found in any of the members";
  public static final String PUT__MSG__REGION_NOT_FOUND = "Region <{0}> Not Found";
  public static final String PUT__MSG__KEY_NOT_FOUND_REGION = "Key is not present in the region";

  public static final String QUERY = "query";
  public static final String QUERY__HELP =
      "Run the specified OQL query as a single quoted string and display the results in one or more pages."
          + " Limit will default to the value stored in the \"APP_FETCH_SIZE\" variable."
          + " Page size will default to the value stored in the \"APP_COLLECTION_LIMIT\" variable.";
  public static final String QUERY__QUERY = "query";
  public static final String QUERY__INTERACTIVE = "interactive";
  public static final String QUERY__QUERY__HELP = "The OQL string.";
  public static final String QUERY__INTERACTIVE__HELP =
      "Deprecated: Since Geode 1.4. This option has no effect, but is kept around to maintain backwards compatibility with existing scripts.";
  public static final String QUERY__MSG__QUERY_EMPTY = "Query is either empty or Null";
  public static final String QUERY__MSG__INVALID_QUERY = "Query is invalid due to error : <{0}>";
  public static final String QUERY__MSG__REGIONS_NOT_FOUND =
      "Cannot find regions <{0}> in any of the members";
  public static final String QUERY__MSG__NOT_SUPPORTED_ON_MEMBERS = CliStrings.QUERY
      + " command should be used only from shell. Use QueryService API for running query inside Geode VMs";
  public static final String QUERY__MEMBER__HELP =
      "Name/Id of a member on which to execute the query.";

  /* 'rebalance' command */
  public static final String REBALANCE = "rebalance";
  public static final String REBALANCE__HELP =
      "Rebalance partitioned regions. The default is for all partitioned regions to be rebalanced.";
  public static final String REBALANCE__INCLUDEREGION = "include-region";
  public static final String REBALANCE__INCLUDEREGION__HELP =
      "Partitioned regions to be included when rebalancing. Includes take precedence over excludes.";
  public static final String REBALANCE__EXCLUDEREGION = "exclude-region";
  public static final String REBALANCE__EXCLUDEREGION__HELP =
      "Partitioned regions to be excluded when rebalancing.";
  public static final String REBALANCE__TIMEOUT = "time-out";
  public static final String REBALANCE__TIMEOUT__HELP =
      "Time to wait (in seconds) before GFSH returns to a prompt while rebalancing continues in the background. The default is to wait for rebalancing to complete.";
  public static final String REBALANCE__SIMULATE = "simulate";
  public static final String REBALANCE__SIMULATE__HELP =
      "Whether to only simulate rebalancing. The --time-out parameter is not available when simulating.";
  public static final String REBALANCE__MSG__SIMULATED = "Simulated Successfully";
  public static final String REBALANCE__MSG__TIMEOUT =
      "Time out. Rebalance operation will continue on servers";
  public static final String REBALANCE__MSG__REBALANCED = "Rebalanced Successfully";
  public static final String REBALANCE__MSG__CANCELLED = "Rebalance Cancelled";
  public static final String REBALANCE__MSG__WAIT_INTERRUPTED =
      "Rebalance wait interrupted Cancelled";
  public static final String REBALANCE__MSG__NO_ASSOCIATED_DISTRIBUTED_MEMBER =
      "For the region {0}, no member was found";
  public static final String REBALANCE__MSG__NO_EXECUTION = "Could not execute for member:{0}";
  public static final String REBALANCE__MSG__TOTALBUCKETCREATEBYTES =
      "Total bytes in all redundant bucket copies created during this rebalance";
  public static final String REBALANCE__MSG__TOTALBUCKETCREATETIM =
      "Total time (in milliseconds) spent creating redundant bucket copies during this rebalance";
  public static final String REBALANCE__MSG__TOTALBUCKETCREATESCOMPLETED =
      "Total number of redundant copies created during this rebalance";
  public static final String REBALANCE__MSG__TOTALBUCKETTRANSFERBYTES =
      "Total bytes in buckets moved during this rebalance";
  public static final String REBALANCE__MSG__TOTALBUCKETTRANSFERTIME =
      "Total time (in milliseconds) spent moving buckets during this rebalance";
  public static final String REBALANCE__MSG__TOTALBUCKETTRANSFERSCOMPLETED =
      "Total number of buckets moved during this rebalance";
  public static final String REBALANCE__MSG__TOTALPRIMARYTRANSFERTIME =
      "Total time (in milliseconds) spent switching the primary state of buckets during this rebalance";
  public static final String REBALANCE__MSG__TOTALPRIMARYTRANSFERSCOMPLETED =
      "Total primaries transferred during this rebalance";
  public static final String REBALANCE__MSG__TOTALTIME =
      "Total time (in milliseconds) for this rebalance";
  public static final String REBALANCE__MSG__MEMBER_COUNT =
      "Total number of members in system on which rebalance is executed";
  public static final String REBALANCE__MSG__NO_REBALANCING_REGIONS_ON_DS =
      "Distributed system has no regions that can be rebalanced";
  public static final String REBALANCE__MSG__EXCEPTION_IN_REBALANCE_FOR_MEMBER_0_Exception =
      "Exception occurred while rebalancing on member : {0} . Exception is ";
  public static final String REBALANCE__MSG__EXCEPTION_IN_REBALANCE_FOR_MEMBER_0_Exception_1 =
      "Exception occurred while rebalancing on member : {0} . Exception is : {1}";
  public static final String REBALANCE__MSG__ERROR_IN_RETRIEVING_MBEAN =
      "Could not retrieve MBean for region : {0}";
  public static final String REBALANCE__MSG__NO_EXECUTION_FOR_REGION_0_ON_MEMBERS_1 =
      "Could not execute rebalance for region: {0} on members : {1} ";
  public static final String REBALANCE__MSG__NO_EXECUTION_FOR_REGION_0 =
      "Could not execute rebalance for region: {0}";
  public static final String REBALANCE__MSG__MEMBERS_MIGHT_BE_DEPARTED =
      " Reason : Members may be departed";
  public static final String REBALANCE__MSG__REASON = " Reason : ";
  public static final String REBALANCE__MSG__REBALANCE_WILL_CONTINUE =
      "Rebalance will continue in background";
  public static final String REBALANCE__MSG__REGION_NOT_ASSOCIATED_WITH_MORE_THAN_ONE_MEMBER =
      "No regions associated with more than 1 members";
  public static final String REBALANCE__MSG__EXCEPTION_OCCURRED_WHILE_REBALANCING_0 =
      "Exception occurred while rebalancing. Reason : {0}";

  /* redundancy commands */
  public static final String STATUS_REDUNDANCY = "status redundancy";
  public static final String STATUS_REDUNDANCY_HELP =
      "Report the redundancy status for partitioned regions in connected members. The default is to report status for all regions.";
  public static final String RESTORE_REDUNDANCY = "restore redundancy";
  public static final String RESTORE_REDUNDANCY_HELP =
      "Restore redundancy and optionally reassign primary bucket hosting for partitioned regions in connected members. The default is for all regions to have redundancy restored and for primary buckets to be reassigned for better load balance.";
  public static final String REDUNDANCY_INCLUDE_REGION = "include-region";
  public static final String REDUNDANCY_INCLUDE_REGION_HELP =
      "Partitioned regions to be included in the operation. Includes take precedence over excludes.";
  public static final String REDUNDANCY_EXCLUDE_REGION = "exclude-region";
  public static final String REDUNDANCY_EXCLUDE_REGION_HELP =
      "Partitioned regions to be excluded from the operation.";
  public static final String REDUNDANCY_REASSIGN_PRIMARIES = "reassign-primaries";
  public static final String REDUNDANCY_REASSIGN_PRIMARIES_HELP =
      "If false, this operation will not attempt to reassign which members host primary buckets.";

  /* remove command */
  public static final String REMOVE = "remove";
  public static final String REMOVE__HELP =
      "Remove an entry from a region. If using a region whose key class has been set, then specifying --key-class is unnecessary.";
  public static final String REMOVE__KEY = "key";
  public static final String REMOVE__KEY__HELP =
      "String or JSON text from which to create the key.  Examples include: \"James\", \"100L\" and \"('id': 'l34s')\".";
  public static final String REMOVE__KEYCLASS = "key-class";
  public static final String REMOVE__KEYCLASS__HELP =
      "Fully qualified class name of the key's type. The default is the key constraint for the current region or String.";
  public static final String REMOVE__REGION = "region";
  public static final String REMOVE__REGION__HELP = "Region from which to remove the entry.";
  public static final String REMOVE__ALL = "all";
  public static final String REMOVE__ALL__HELP =
      "Clears the region by removing all entries. Partitioned region does not support remove-all";
  public static final String REMOVE__MSG__REGIONNAME_EMPTY = "Region name is either empty or Null";
  public static final String REMOVE__MSG__KEY_EMPTY = "Key is Null";
  public static final String REMOVE__MSG__REGION_NOT_FOUND = "Region <{0}> Not Found";
  public static final String REMOVE__MSG__KEY_NOT_FOUND_REGION = "Key is not present in the region";
  public static final String REMOVE__MSG__CLEARED_ALL_CLEARS = "Cleared all keys in the region";
  public static final String REMOVE__MSG__CLEARALL_NOT_SUPPORTED_FOR_PARTITIONREGION =
      "Option --" + REMOVE__ALL + " is not supported on partitioned region";

  /* resume gateway-sender */
  public static final String RESUME_GATEWAYSENDER = "resume gateway-sender";
  public static final String RESUME_GATEWAYSENDER__ID = "id";
  public static final String RESUME_GATEWAYSENDER__HELP =
      "Resume the Gateway Sender on a member or members.";
  public static final String RESUME_GATEWAYSENDER__ID__HELP = "ID of the Gateway Sender.";
  public static final String RESUME_GATEWAYSENDER__GROUP__HELP =
      "Group(s) of members on which to resume the Gateway Sender.";
  public static final String RESUME_GATEWAYSENDER__MEMBER__HELP =
      "Name/Id of the member on which to resume the Gateway Sender.";

  /* resume async-event-queue */
  public static final String RESUME_ASYNCEVENTQUEUE = "resume async-event-queue-dispatcher";
  public static final String RESUME_ASYNCEVENTQUEUE__ID = "id";
  public static final String RESUME_ASYNCEVENTQUEUE__HELP =
      "Resume the processing of the events in the Async Event Queue on a member or members.";
  public static final String RESUME_ASYNCEVENTQUEUE__ID__HELP = "ID of the Async Event Queue.";
  public static final String RESUME_ASYNCEVENTQUEUE__GROUP__HELP =
      "Group(s) of members on which to resume processing of the events.";
  public static final String RESUME_ASYNCEVENTQUEUE__MEMBER__HELP =
      "Name/Id of the member on which to resume processing of the events.";

  /* 'revoke missing-disk-store' command */
  public static final String REVOKE_MISSING_DISK_STORE = "revoke missing-disk-store";
  public static final String REVOKE_MISSING_DISK_STORE__HELP =
      "Instructs the member(s) of a distributed system to stop waiting for a disk store to be available. Only revoke a disk store if its files are lost as it will no longer be recoverable once revoking is initiated. Use the \"show missing-disk-store\" command to get descriptions of missing disk stores.";
  public static final String REVOKE_MISSING_DISK_STORE__ID = "id";
  public static final String REVOKE_MISSING_DISK_STORE__ID__HELP =
      "ID of the missing disk store to be revoked.";

  /* 'run' command */
  public static final String RUN = "run";
  public static final String RUN__HELP =
      "Execute a set of GFSH commands. Commands that normally prompt for additional input will instead use default values.";
  public static final String RUN__FILE = "file";
  public static final String RUN__FILE__HELP = "File containing the GFSH commands to execute.";
  public static final String RUN__QUIET = "quiet";
  public static final String RUN__QUIET__HELP = "Whether to show command output.";
  public static final String RUN__CONTINUEONERROR = "continue-on-error";
  public static final String RUN__CONTINUEONERROR__HELP =
      "Whether command execution should continue if an error is received.";

  public static final String RUN__MSG_FILE_NOT_FOUND = "Could not find specified script file: ";

  /* 'set variable' command */
  public static final String SET_VARIABLE = "set variable";
  public static final String SET_VARIABLE__HELP =
      "Set GFSH variables that can be used by commands. "
          + "For example: if variable \"CACHE_SERVERS_GROUP\" is set then to use it with \""
          + CliStrings.LIST_MEMBER + "\", use \"" + CliStrings.LIST_MEMBER + " --"
          + CliStrings.GROUP + "=${CACHE_SERVERS_GROUP}\". "
          + "The \"echo\" command can be used to know the value of a variable.";
  public static final String SET_VARIABLE__VAR = "name";
  public static final String SET_VARIABLE__VAR__HELP =
      "Name for the variable. Name must only be composed of letters, numbers and the \"_\" character and may not start with a number.";
  public static final String SET_VARIABLE__VALUE = "value";
  public static final String SET_VARIABLE__VALUE__HELP = "Value that the variable will be set to.";

  public static final String USEFUL_VARIABLES = "[A] System Variables\n"
      + "1. SYS_USER          User name (read only)\n"
      + "2. SYS_USER_HOME     User's home directory (read only)\n"
      + "3. SYS_HOST_NAME     Host where GFSH is running (read only)\n"
      + "4. SYS_CLASSPATH     CLASSPATH of the GFSH JVM (read only)\n"
      + "5. SYS_JAVA_VERSION  Java version used by GFSH (read only)\n"
      + "6. SYS_OS            OS name for the host where GFSH is running (read only)\n"
      + "7. SYS_PWD           Current working directory (read only)\n\n"
      + "[B] Application Variables\n"
      + "1. APP_CONTEXT_PATH                Current context path (read only)\n"
      + "2. APP_FETCH_SIZE                  Fetch size used when querying. Valid values are: 1-100\n"
      + "3. APP_LAST_EXIT_STATUS            Numeric value for last command exit status. One of: 0 (success), 1 (error), 2 (crash) (read only)\n"
      + "4. APP_COLLECTION_LIMIT            Number of items in the embedded collection of a result to be iterated. Valid values are: 1-100.\n"
      + "5. APP_QUERY_RESULTS_DISPLAY_MODE  How command results should be shown. Valid values are: table and catalog.\n"
      + "6. APP_QUIET_EXECUTION.            Whether commands should be executed in quiet mode. Valid values are: true and false.\n";

  /* 'sh' command */
  public static final String SH = "sh";
  public static final String SH__HELP =
      "Allows execution of operating system (OS) commands. Use '&' to return to gfsh prompt immediately. NOTE: Commands which pass output to another shell command are not currently supported.";
  public static final String SH__COMMAND = "command";
  public static final String SH__COMMAND__HELP = "The command to execute.";
  public static final String SH__USE_CONSOLE = "use-console";
  public static final String SH__USE_CONSOLE__HELP =
      "Useful on Unix systems for applications which need handle of console. Adds \"</dev/tty >/dev/tty\" to the user specified command.";

  /* show dead-lock command */
  public static final String SHOW_DEADLOCK = "show dead-locks";
  public static final String SHOW_DEADLOCK__HELP =
      "Display any deadlocks in the Geode distributed system.";
  public static final String SHOW_DEADLOCK__DEPENDENCIES__FILE = "file";
  public static final String SHOW_DEADLOCK__DEPENDENCIES__FILE__HELP =
      "Name of the file to which dependencies between members will be written.";
  public static final String SHOW_DEADLOCK__NO__DEADLOCK = "No deadlock was detected.";
  public static final String SHOW_DEADLOCK__DEADLOCK__DETECTED = "Deadlock detected.";
  public static final String SHOW_DEADLOCK__DEEPEST_FOUND =
      "No deadlock was detected.  Here is the deepest call chain that could be found";
  public static final String SHOW_DEADLOCK__DEPENDENCIES__REVIEW =
      "Please view the dependencies between the members in file : {0}";
  public static final String SHOW_DEADLOCK__ERROR = "Error";

  /* Show Log command */
  public static final String SHOW_LOG = "show log";
  public static final String SHOW_LOG_HELP = "Display the log for a member.";
  public static final String SHOW_LOG_MEMBER_HELP =
      "Name/Id of the member whose log file will be displayed.";
  public static final String SHOW_LOG_LINE_NUM = "lines";
  public static final String SHOW_LOG_LINE_NUM_HELP =
      "Number of lines from the log file to display. The maximum is 100.";
  public static final String SHOW_LOG_NO_LOG = "There is no log for this member";
  public static final String SHOW_LOG_MSG_MEMBER_NOT_FOUND = "Member not found";
  public static final String SHOW_LOG_MSG_INVALID_NUMBER = "Invalid number";
  public static final String SHOW_LOG_ERROR = "Error";

  /* show metrics */
  public static final String SHOW_METRICS = "show metrics";
  public static final String SHOW_METRICS__HELP =
      "Display or export metrics for the entire distributed system, a member or a region.";
  public static final String SHOW_METRICS__REGION = "region";
  public static final String SHOW_METRICS__REGION__HELP =
      "Name/Path of the region whose metrics will be displayed/exported.";
  public static final String SHOW_METRICS__MEMBER__HELP =
      "Name/Id of the member whose metrics will be displayed/exported.";
  public static final String SHOW_METRICS__CATEGORY = "categories";
  public static final String SHOW_METRICS__CATEGORY__HELP =
      "Categories available based upon the parameters specified are:\n"
          + "- no parameters specified: cluster, cache, diskstore, query\n"
          + "- region specified: callback, cluster, diskstore, eviction, partition, region\n"
          + "- member specified: communication, diskstore, distribution, eviction, function, jvm, lock, member, offheap, region, serialization, transaction\n"
          + "- member and port specified: cacheserver, communication, diskstore, distribution, eviction, function, jvm, lock, member, notification, offheap, query, region, serialization, transaction\n"
          + "- member and region specified: callback, diskstore, eviction, partition, region";
  public static final String SHOW_METRICS__FILE = "file";
  public static final String SHOW_METRICS__FILE__HELP =
      "Name of the file to which metrics will be written.";
  public static final String SHOW_METRICS__ERROR = "Unable to retrieve metrics : {0} ";
  public static final String SHOW_METRICS__TYPE__HEADER = "Category";
  public static final String SHOW_METRICS__METRIC__HEADER = "Metric";
  public static final String SHOW_METRICS__VALUE__HEADER = "Value";
  public static final String SHOW_METRICS__CACHESERVER__PORT = "port";
  public static final String SHOW_METRICS__CACHESERVER__PORT__HELP =
      "Port number of the Cache Server whose metrics are to be displayed/exported. This can only be used along with the --member parameter.";
  public static final String SHOW_METRICS__CANNOT__USE__CACHESERVERPORT =
      "If the --port parameter is specified, then the --member parameter must also be specified.";
  public static final String SHOW_METRICS__CANNOT__USE__REGION__WITH__CACHESERVERPORT =
      "The --region and --port parameters are mutually exclusive. Please only use one or the other.";
  public static final String SHOW_METRICS__CACHE__SERVER__NOT__FOUND =
      "Metrics for the Cache Server with port : {0} and member : {1} not found.\n Please check the port number and the member name/id";

  /* 'show missing-disk-store' command */
  public static final String SHOW_MISSING_DISK_STORE = "show missing-disk-stores";
  public static final String SHOW_MISSING_DISK_STORE__HELP =
      "Display a summary of the disk stores that are currently missing from a distributed system.";
  public static final String SHOW_MISSING_DISK_STORE__ERROR_MESSAGE =
      "An error occurred while showing missing disk stores and missing colocated regions: %1$s";

  /* 'shutdown' command */
  public static final String SHUTDOWN = "shutdown";
  public static final String SHUTDOWN__HELP = "Stop all members.";
  public static final String SHUTDOWN__TIMEOUT = "time-out";
  public static final String SHUTDOWN__TIMEOUT__HELP =
      "Time to wait (in seconds) for a graceful shutdown. Should be at least 10 sec";
  public static final String INCLUDE_LOCATORS = "include-locators";
  public static final String INCLUDE_LOCATORS_HELP =
      "To shutdown locators specify this option as true. Default is false";
  public static final String SHUTDOWN__MSG__CANNOT_EXECUTE = "Cannot execute";
  public static final String SHUTDOWN__MSG__ERROR =
      "Exception occurred while shutdown. Reason : {0}";
  public static final String SHUTDOWN__MSG__MANAGER_NOT_FOUND = "Could not locate Manager.";
  public static final String SHUTDOWN__MSG__WARN_USER =
      "As a lot of data in memory will be lost, including possibly events in queues, do you really want to shutdown the entire distributed system?";
  public static final String SHUTDOWN__MSG__ABORTING_SHUTDOWN =
      "Aborting shutdown of the entire distributed system";
  public static final String SHUTDOWN__MSG__SHUTDOWN_ENTIRE_DS =
      "Shutting down entire distributed system";
  public static final String SHUTDOWN__MSG__IMPROPER_TIMEOUT =
      "time-out should not be less than 10 sec.";
  public static final String SHUTDOWN__MSG__CAN_NOT_SHUTDOWN_WITHIN_TIMEOUT =
      "Could not shutdown within timeout. Shutdown will continue in background";
  public static final String SHUTDOWN__MSG__NO_DATA_NODE_FOUND =
      "No data node found for stopping. Please specify --include-locators option if you want locators to be stopped";

  public static final String SHUTDOWN_TIMEDOUT =
      "Shutdown command timedout. Please manually check node status";

  /* change log level */
  public static final String CHANGE_LOGLEVEL = "change loglevel";
  public static final String CHANGE_LOGLEVEL__HELP =
      "This command changes log-level run time on specified servers.";
  public static final String CHANGE_LOGLEVEL__GROUPS__HELP =
      "Groups of members to change the log-level";
  public static final String CHANGE_LOGLEVEL__MEMBER__HELP =
      "Name/Id of the member to change the log-level";
  public static final String CHANGE_LOGLEVEL__LOGLEVEL = "loglevel";
  public static final String CHANGE_LOGLEVEL__LOGLEVEL__HELP = "Log level to change to";
  public static final String CHANGE_LOGLEVEL__MSG__SPECIFY_GRP_OR_MEMBER =
      "Specify one of group or member";
  public static final String CHANGE_LOGLEVEL__MSG__INVALID_LOG_LEVEL =
      "Specified log-level is invalid";
  public static final String CHANGE_LOGLEVEL__MSG__SPECIFY_LOG_LEVEL = "Specify valid log-level";
  public static final String CHANGE_LOGLEVEL__MSG__CANNOT_EXECUTE =
      "Cannot execute change log-level.";
  public static final String CHANGE_LOGLEVEL__COLUMN_MEMBER = "Member";
  public static final String CHANGE_LOGLEVEL__COLUMN_STATUS = "Changed log-level";

  /* 'sleep' command */
  public static final String SLEEP = "sleep";
  public static final String SLEEP__HELP =
      "Delay for a specified amount of time in seconds - floating point values are allowed.";
  public static final String SLEEP__TIME = "time";
  public static final String SLEEP__TIME__HELP = "Number of Seconds to sleep for.";

  /* create gateway-receiver */
  public static final String CREATE_GATEWAYRECEIVER = "create gateway-receiver";
  public static final String CREATE_GATEWAYRECEIVER__HELP =
      "Create the Gateway Receiver on a member or members.";
  public static final String CREATE_GATEWAYRECEIVER__GROUP__HELP =
      "Group(s) of members on which to create the Gateway Receiver.";
  public static final String CREATE_GATEWAYRECEIVER__MEMBER__HELP =
      "Name/Id of the member on which to create the Gateway Receiver.";
  public static final String CREATE_GATEWAYRECEIVER__STARTPORT = "start-port";
  public static final String CREATE_GATEWAYRECEIVER__STARTPORT__HELP =
      "Starting value of the port range from which the GatewayReceiver's port will be chosen.";
  public static final String CREATE_GATEWAYRECEIVER__ENDPORT = "end-port";
  public static final String CREATE_GATEWAYRECEIVER__ENDPORT__HELP =
      "End value of the port range from which the GatewayReceiver's port will be chosen.";
  public static final String CREATE_GATEWAYRECEIVER__BINDADDRESS = "bind-address";
  public static final String CREATE_GATEWAYRECEIVER__BINDADDRESS__HELP =
      "The IP address or host name that the receiver's socket will listen on for client connections.";
  public static final String CREATE_GATEWAYRECEIVER__MAXTIMEBETWEENPINGS =
      "maximum-time-between-pings";
  public static final String CREATE_GATEWAYRECEIVER__MAXTIMEBETWEENPINGS__HELP =
      "The maximum amount of time between client pings.";
  public static final String CREATE_GATEWAYRECEIVER__SOCKETBUFFERSIZE = SOCKET_BUFFER_SIZE;
  public static final String CREATE_GATEWAYRECEIVER__SOCKETBUFFERSIZE__HELP =
      "The buffer size in bytes of the socket connection for this GatewayReceiver.";
  public static final String CREATE_GATEWAYRECEIVER__GATEWAYTRANSPORTFILTER =
      "gateway-transport-filter";
  public static final String CREATE_GATEWAYRECEIVER__GATEWAYTRANSPORTFILTER__HELP =
      "The fully qualified class names of GatewayTransportFilters (separated by comma) to be added to the GatewayReceiver. e.g. gateway-transport-filter=com.user.filters.MyFilter1,com.user.filters.MyFilters2";
  public static final String CREATE_GATEWAYRECEIVER__MSG__GATEWAYRECEIVER_CREATED_ON_0_ONPORT_1 =
      "GatewayReceiver created on member \"{0}\" and will listen on the port \"{1}\"";
  public static final String CREATE_GATEWAYRECEIVER__MANUALSTART = "manual-start";
  public static final String CREATE_GATEWAYRECEIVER__MANUALSTART__HELP =
      "Whether manual start is to be enabled or the receiver will start automatically after creation.";
  public static final String CREATE_GATEWAYRECEIVER__HOSTNAMEFORSENDERS = "hostname-for-senders";
  public static final String CREATE_GATEWAYRECEIVER__HOSTNAMEFORSENDERS__HELP =
      "The host name that server locators will tell GatewaySenders this GatewayReceiver is listening on.";

  /* start gateway-receiver */
  public static final String START_GATEWAYRECEIVER = "start gateway-receiver";
  public static final String START_GATEWAYRECEIVER__HELP =
      "Start the Gateway Receiver on a member or members.";
  public static final String START_GATEWAYRECEIVER__GROUP__HELP =
      "Group(s) of members on which to start the Gateway Receiver.";
  public static final String START_GATEWAYRECEIVER__MEMBER__HELP =
      "Name/Id of the member on which to start the Gateway Receiver.";

  /* create gateway-sender */
  public static final String CREATE_GATEWAYSENDER = "create gateway-sender";
  public static final String CREATE_GATEWAYSENDER__HELP =
      "Create the Gateway Sender on a member or members.";
  public static final String CREATE_GATEWAYSENDER__GROUP__HELP =
      "Group(s) of members on which to create the Gateway Sender.";
  public static final String CREATE_GATEWAYSENDER__MEMBER__HELP =
      "Name/Id of the member on which to create the Gateway Sender.";
  public static final String CREATE_GATEWAYSENDER__ID = "id";
  public static final String CREATE_GATEWAYSENDER__ID__HELP = "Id of the GatewaySender.";
  public static final String CREATE_GATEWAYSENDER__REMOTEDISTRIBUTEDSYSTEMID =
      "remote-distributed-system-id";
  public static final String CREATE_GATEWAYSENDER__REMOTEDISTRIBUTEDSYSTEMID__HELP =
      "Id of the remote distributed system to which the sender will send events.";
  public static final String CREATE_GATEWAYSENDER__GROUPTRANSACTIONEVENTS =
      "group-transaction-events";
  public static final String CREATE_GATEWAYSENDER__GROUPTRANSACTIONEVENTS__HELP =
      "Ensure that all the events of a transaction are sent in the same batch, i.e., they are never spread across different batches.\n"
          + "Only allowed on serial gateway senders with 1 dispatcher thread or on parallel ones.\n"
          + "Note that in order to work for a transaction, the regions to which the transaction \n"
          + "events belong must be replicated by the same set of senders with this flag enabled.";
  public static final String CREATE_GATEWAYSENDER__PARALLEL = "parallel";
  public static final String CREATE_GATEWAYSENDER__PARALLEL__HELP =
      "Whether this is Parallel GatewaySender.";
  @Deprecated
  public static final String CREATE_GATEWAYSENDER__MANUALSTART = "manual-start";
  @Deprecated
  public static final String CREATE_GATEWAYSENDER__MANUALSTART__HELP =
      "Whether manual start is to be enabled or the sender will start automatically after creation.\n"
          + "Deprecated: Since Geode 1.4. Manual start of senders is deprecated and will be removed in a later release.";
  public static final String CREATE_GATEWAYSENDER__SOCKETBUFFERSIZE = SOCKET_BUFFER_SIZE;
  public static final String CREATE_GATEWAYSENDER__SOCKETBUFFERSIZE__HELP =
      "The buffer size of the socket connection between this GatewaySender and its receiving GatewayReceiver.";
  public static final String CREATE_GATEWAYSENDER__SOCKETREADTIMEOUT = "socket-read-timeout";
  public static final String CREATE_GATEWAYSENDER__SOCKETREADTIMEOUT__HELP =
      "The amount of time in milliseconds that a socket read between a sending GatewaySender and its receiving GatewayReceiver will block.";
  public static final String CREATE_GATEWAYSENDER__ENABLEBATCHCONFLATION =
      "enable-batch-conflation";
  public static final String CREATE_GATEWAYSENDER__ENABLEBATCHCONFLATION__HELP =
      "Whether batch conflation is to be enabled for a GatewaySender.";
  public static final String CREATE_GATEWAYSENDER__BATCHSIZE = "batch-size";
  public static final String CREATE_GATEWAYSENDER__BATCHSIZE__HELP =
      "The batch size for the GatewaySender.";
  public static final String CREATE_GATEWAYSENDER__BATCHTIMEINTERVAL = "batch-time-interval";
  public static final String CREATE_GATEWAYSENDER__BATCHTIMEINTERVAL__HELP =
      "The batch time interval for the GatewaySender.";
  public static final String CREATE_GATEWAYSENDER__ENABLEPERSISTENCE = "enable-persistence";
  public static final String CREATE_GATEWAYSENDER__ENABLEPERSISTENCE__HELP =
      "Whether persistence is to be enabled for the GatewaySender.";
  public static final String CREATE_GATEWAYSENDER__DISKSTORENAME = "disk-store-name";
  public static final String CREATE_GATEWAYSENDER__DISKSTORENAME__HELP =
      "The disk store name to be configured for overflow or persistence.";
  public static final String CREATE_GATEWAYSENDER__DISKSYNCHRONOUS = "disk-synchronous";
  public static final String CREATE_GATEWAYSENDER__DISKSYNCHRONOUS__HELP =
      "Whether writes to the disk in case of persistence are synchronous.";
  public static final String CREATE_GATEWAYSENDER__MAXQUEUEMEMORY = "maximum-queue-memory";
  public static final String CREATE_GATEWAYSENDER__MAXQUEUEMEMORY__HELP =
      "The maximum amount of memory (in MB) for a GatewaySender's queue.";
  public static final String CREATE_GATEWAYSENDER__ALERTTHRESHOLD = "alert-threshold";
  public static final String CREATE_GATEWAYSENDER__ALERTTHRESHOLD__HELP =
      "The alert threshold for entries in a GatewaySender's queue.";
  public static final String CREATE_GATEWAYSENDER__DISPATCHERTHREADS = "dispatcher-threads";
  public static final String CREATE_GATEWAYSENDER__DISPATCHERTHREADS__HELP =
      "The number of dispatcher threads working for this GatewaySender. When dispatcher threads is set to > 1, appropriate order policy is required to be set.";
  public static final String CREATE_GATEWAYSENDER__ORDERPOLICY = "order-policy";
  public static final String CREATE_GATEWAYSENDER__ORDERPOLICY__HELP =
      "The order policy followed while dispatching the events to remote distributed system. Order policy is set only when dispatcher threads are > 1. Possible values are 'THREAD', 'KEY', 'PARTITION'.";
  public static final String CREATE_GATEWAYSENDER__GATEWAYEVENTFILTER = "gateway-event-filter";
  public static final String CREATE_GATEWAYSENDER__GATEWAYEVENTFILTER__HELP =
      "The list of fully qualified class names of GatewayEventFilters (separated by comma) to be associated with the GatewaySender. This serves as a callback for users to filter out events before dispatching to remote distributed system. e.g gateway-event-filter=com.user.filters.MyFilter1,com.user.filters.MyFilters2";
  public static final String CREATE_GATEWAYSENDER__GATEWAYTRANSPORTFILTER =
      "gateway-transport-filter";
  public static final String CREATE_GATEWAYSENDER__GATEWAYTRANSPORTFILTER__HELP =
      "The fully qualified class name of GatewayTransportFilter to be added to the GatewaySender. ";
  public static final String CREATE_GATEWAYSENDER__MSG__GATEWAYSENDER_0_CREATED_ON_1 =
      "GatewaySender \"{0}\" created on \"{1}\"";
  public static final String CREATE_GATEWAYSENDER__MSG__CAN_NOT_CREATE_DIFFERENT_VERSIONS =
      "Gateway Sender cannot be created until all members are the current version";
  public static final String CREATE_GATEWAYSENDER__ENFORCE_THREADS_CONNECT_SAME_RECEIVER =
      "enforce-threads-connect-same-receiver";
  public static final String CREATE_GATEWAYSENDER__ENFORCE_THREADS_CONNECT_SAME_RECEIVER__HELP =
      "Whether or not the sender threads have to verify the receiver member id to verify if they are connected to the same server.";

  /* start gateway-sender */
  public static final String START_GATEWAYSENDER = "start gateway-sender";
  public static final String START_GATEWAYSENDER__HELP =
      "Start the Gateway Sender on a member or members.";
  public static final String START_GATEWAYSENDER__ID = "id";
  public static final String START_GATEWAYSENDER__ID__HELP = "ID of the Gateway Sender.";
  public static final String START_GATEWAYSENDER__GROUP__HELP =
      "Group(s) of members on which to start the Gateway Sender.";
  public static final String START_GATEWAYSENDER__MEMBER__HELP =
      "Name/Id of the member on which to start the Gateway Sender.";

  public static final String START_GATEWAYSENDER__CLEAN_QUEUE = "clean-queues";
  public static final String START_GATEWAYSENDER__CLEAN_QUEUE__HELP =
      "Option to clean existing queue at start of the Gateway Sender. " +
          "This option is only applicable for Gateway Senders with enabled persistence.";

  /* destroy gateway-sender */
  public static final String DESTROY_GATEWAYSENDER = "destroy gateway-sender";
  public static final String DESTROY_GATEWAYSENDER__HELP =
      "Destroy the Gateway Sender on a member or members.";
  public static final String DESTROY_GATEWAYSENDER__GROUP__HELP =
      "Group(s) of members on which to destroy the Gateway Sender.";
  public static final String DESTROY_GATEWAYSENDER__MEMBER__HELP =
      "Name/Id of the member on which to destroy the Gateway Sender.";
  public static final String DESTROY_GATEWAYSENDER__ID = "id";
  public static final String DESTROY_GATEWAYSENDER__ID__HELP = "Id of the GatewaySender.";
  public static final String DESTROY_GATEWAYSENDER__MSG__GATEWAYSENDER_0_DESTROYED_ON_1 =
      "GatewaySender \"{0}\" destroyed on \"{1}\"";



  /* start pulse command */
  public static final String START_PULSE = "start pulse";
  public static final String START_PULSE__ERROR =
      "An error occurred while launching Geode Pulse - %1$s";
  public static final String START_PULSE__HELP =
      "Open a new window in the default Web browser with the URL for the Pulse application.";
  public static final String START_PULSE__RUN = "Launched Geode Pulse";
  public static final String START_PULSE__URL = "url";
  public static final String START_PULSE__URL__HELP = "URL of the Pulse Web application.";
  public static final String START_PULSE__URL__NOTFOUND = "Could not find the URL for Geode Pulse.";

  /* 'start jsonsole' command */
  public static final String START_JCONSOLE = "start jconsole";
  public static final String START_JCONSOLE__HELP =
      "Start the JDK's JConsole tool in a separate process. JConsole will be launched, but connecting to Geode must be done manually.";
  public static final String START_JCONSOLE__CATCH_ALL_ERROR_MESSAGE =
      "An error occurred while launching JConsole = %1$s";
  public static final String START_JCONSOLE__CONNECT_BY_MEMBER_NAME_ID_ERROR_MESSAGE =
      "Connecting by the Geode member's name or ID is not currently supported.\nPlease specify the member as '<hostname|IP>[PORT].";
  public static final String START_JCONSOLE__INTERVAL = "interval";
  public static final String START_JCONSOLE__INTERVAL__HELP =
      "Update internal (in seconds). This parameter is passed as -interval to JConsole.";
  public static final String START_JCONSOLE__IO_EXCEPTION_MESSAGE =
      "An IO error occurred while launching JConsole.\nPlease ensure that JAVA_HOME is set to the JDK installation or the JDK bin directory is in the system PATH.";
  public static final String START_JCONSOLE__J = "J";
  public static final String START_JCONSOLE__J__HELP =
      "Arguments passed to the JVM on which JConsole will run.";
  public static final String START_JCONSOLE__NOT_FOUND_ERROR_MESSAGE =
      "JConsole could not be found.\nPlease ensure that JAVA_HOME is set to the JDK installation or the JDK bin directory is in the system PATH.";
  public static final String START_JCONSOLE__NOTILE = "notile";
  public static final String START_JCONSOLE__NOTILE__HELP =
      "Whether to initially tile windows for two or more connections. This parameter is passed as -notile to JConsole.";
  public static final String START_JCONSOLE__PLUGINPATH = "pluginpath";
  public static final String START_JCONSOLE__PLUGINPATH__HELP =
      "Directories or JAR files which are searched for JConsole plugins. The path should contain a provider-configuration file named:\n"
          + "    META-INF/services/com.sun.tools.jconsole.JConsolePlugin\n"
          + "containing one line for each plugin specifying the fully qualified class name of the class implementing the com.sun.tools.jconsole.JConsolePlugin class.";
  public static final String START_JCONSOLE__RUN = "Launched JConsole";
  public static final String START_JCONSOLE__VERSION = "version";
  public static final String START_JCONSOLE__VERSION__HELP =
      "Display the JConsole version information. This parameter is passed as -version to JConsole.";

  /* 'start jvisualvm command' */
  public static final String START_JVISUALVM = "start jvisualvm";
  public static final String START_JVISUALVM__HELP =
      "Start the JDK's Java VisualVM (jvisualvm) tool in a separate process. Java VisualVM will be launched, but connecting to Geode must be done manually.";
  public static final String START_JVISUALVM__ERROR_MESSAGE =
      "An error occurred while launching Java VisualVM - %1$s";
  public static final String START_JVISUALVM__EXPECTED_JDK_VERSION_ERROR_MESSAGE =
      "Java VisualVM was not bundled with the JDK until version 1.6.\nDownload and install Java VisualVM to the JDK bin directory separately.";
  public static final String START_JVISUALVM__J = "J";
  public static final String START_JVISUALVM__J__HELP =
      "Arguments passed to the JVM on which Java VisualVM will run.";
  public static final String START_JVISUALVM__NOT_FOUND_ERROR_MESSAGE =
      "Java VisualVM could not be found on this system.\nPlease ensure that \"jvisualvm\" is installed in the JDK bin directory and the JDK bin directory is in the system PATH.";
  public static final String START_JVISUALVM__RUN = "Launched JVisualVM";

  /* 'start locator' command */
  public static final String START_LOCATOR = "start locator";
  public static final String START_LOCATOR__HELP = "Start a Locator.";
  public static final String START_LOCATOR__BIND_ADDRESS = "bind-address";
  public static final String START_LOCATOR__BIND_ADDRESS__HELP =
      "IP address on which the Locator will be bound.  By default, the Locator is bound to all local addresses.";
  public static final String START_LOCATOR__CLASSPATH = "classpath";
  public static final String START_LOCATOR__CLASSPATH__HELP =
      "Location of user application classes required by the Locator. The user classpath is prepended to the Locator's classpath.";
  public static final String START_LOCATOR__DIR = "dir";
  public static final String START_LOCATOR__DIR__HELP =
      "Directory in which the Locator will be started and ran. The default is ./<locator-member-name>";
  public static final String START_LOCATOR__FORCE = "force";
  public static final String START_LOCATOR__FORCE__HELP =
      "Whether to allow the PID file from a previous Locator run to be overwritten.";
  public static final String START_LOCATOR__GROUP__HELP = "Group(s) the Locator will be a part of.";
  public static final String START_LOCATOR__HOSTNAME_FOR_CLIENTS = "hostname-for-clients";

  public static final String START_LOCATOR__JMX_MANAGER_HOSTNAME_FOR_CLIENTS__HELP =
      "Hostname provided to clients by the locator for the location of a JMX Manager.";
  public static final String START_LOCATOR__HOSTNAME_FOR_CLIENTS__HELP =
      "Hostname or IP address that will be sent to clients so they can connect to this Locator. The default is the bind-address of the Locator.";
  public static final String START_LOCATOR__INCLUDE_SYSTEM_CLASSPATH = "include-system-classpath";
  public static final String START_LOCATOR__INCLUDE_SYSTEM_CLASSPATH__HELP =
      "Includes the System CLASSPATH on the Locator's CLASSPATH. The System CLASSPATH is not included by default.";
  public static final String START_LOCATOR__LOCATORS = LOCATORS;
  public static final String START_LOCATOR__LOCATORS__HELP =
      "Sets the list of Locators used by this Locator to join the appropriate Geode cluster.";
  public static final String START_LOCATOR__LOG_LEVEL = LOG_LEVEL;
  public static final String START_LOCATOR__LOG_LEVEL__HELP =
      "Sets the level of output logged to the Locator log file.  " + LOG_LEVEL_VALUES;
  public static final String START_LOCATOR__MCAST_ADDRESS = MCAST_ADDRESS;
  public static final String START_LOCATOR__MCAST_ADDRESS__HELP =
      "The IP address or hostname used to bind the UPD socket for multi-cast networking so the Locator can communicate with other members in the Geode cluster using a common multicast address and port.  If mcast-port is zero, then mcast-address is ignored.";
  public static final String START_LOCATOR__MCAST_PORT = MCAST_PORT;
  public static final String START_LOCATOR__MCAST_PORT__HELP =
      "Sets the port used for multi-cast networking so the Locator can communicate with other members of the Geode cluster.  A zero value disables mcast.";
  public static final String START_LOCATOR__MEMBER_NAME = "name";
  public static final String START_LOCATOR__MEMBER_NAME__HELP =
      "The member name to give this Locator in the Geode cluster.";
  public static final String START_LOCATOR__PORT = "port";
  public static final String START_LOCATOR__PORT__HELP = "Port the Locator will listen on.";
  public static final String START_LOCATOR__PROPERTIES = "properties-file";
  public static final String START_LOCATOR__PROPERTIES__HELP =
      "The gemfire.properties file for configuring the Locator's distributed system. The file's path can be absolute or relative to the gfsh working directory (--dir=).";
  public static final String START_LOCATOR__SECURITY_PROPERTIES = "security-properties-file";
  public static final String START_LOCATOR__SECURITY_PROPERTIES__HELP =
      "The gfsecurity.properties file for configuring the Locator's security configuration in the distributed system. The file's path can be absolute or relative to gfsh directory (--dir=).";
  public static final String START_LOCATOR__INITIALHEAP = "initial-heap";
  public static final String START_LOCATOR__INITIALHEAP__HELP =
      "Initial size of the heap in the same format as the JVM -Xms parameter.";
  public static final String START_LOCATOR__J = "J";
  public static final String START_LOCATOR__J__HELP =
      "Argument passed to the JVM on which the Locator will run. For example, --J=-Dfoo.bar=true will set the property \"foo.bar\" to \"true\".";
  public static final String START_LOCATOR__MAXHEAP = "max-heap";
  public static final String START_LOCATOR__MAXHEAP__HELP =
      "Maximum size of the heap in the same format as the JVM -Xmx parameter.";
  public static final String START_LOCATOR__GENERAL_ERROR_MESSAGE =
      "An error occurred while attempting to start a Locator in %1$s on %2$s: %3$s";
  public static final String START_LOCATOR__PROCESS_TERMINATED_ABNORMALLY_ERROR_MESSAGE =
      "The Locator process terminated unexpectedly with exit status %1$d. Please refer to the log file in %2$s for full details.%n%n%3$s";
  public static final String START_LOCATOR__RUN_MESSAGE = "Starting a Geode Locator in %1$s...";
  public static final String START_LOCATOR__CONNECT = "connect";
  public static final String START_LOCATOR__CONNECT__HELP =
      "When connect is set to false or when locator is started with a security manager using --J=-Dgemfire.security-manager option, Gfsh does not automatically connect to the locator which is started using this command.";
  public static final String START_LOCATOR__USE__0__TO__CONNECT_WITH_SECURITY =
      "Unable to auto-connect (Security Manager may be enabled). Please use \"{0}\" to connect Gfsh to the locator.";
  public static final String START_LOCATOR__ENABLE__SHARED__CONFIGURATION =
      ENABLE_CLUSTER_CONFIGURATION;
  public static final String START_LOCATOR__ENABLE__SHARED__CONFIGURATION__HELP =
      "When " + START_LOCATOR__ENABLE__SHARED__CONFIGURATION
          + " is set to true, locator hosts and serves cluster configuration.";
  public static final String START_LOCATOR__LOAD__SHARED_CONFIGURATION__FROM__FILESYSTEM =
      "load-cluster-configuration-from-dir";
  public static final String START_LOCATOR__LOAD__SHARED_CONFIGURATION__FROM__FILESYSTEM__HELP =
      "Deprecated: Since Geode 1.6, use import cluster-configuration command instead. When \" "
          + START_LOCATOR__LOAD__SHARED_CONFIGURATION__FROM__FILESYSTEM
          + " \" is set to true, the locator loads the cluster configuration from the \""
          + InternalConfigurationPersistenceService.CLUSTER_CONFIG_ARTIFACTS_DIR_NAME
          + "\" directory.";
  public static final String START_LOCATOR__CLUSTER__CONFIG__DIR = "cluster-config-dir";
  public static final String START_LOCATOR__CLUSTER__CONFIG__DIR__HELP =
      "Deprecated: Since Geode 1.14, use import/export cluster-configuration command instead. " +
          "This option has no effect since 1.12.";
  public static final String START_LOCATOR__HTTP_SERVICE_PORT = "http-service-port";
  public static final String START_LOCATOR__HTTP_SERVICE_PORT__HELP =
      "Port on which HTTP Service will listen on";
  public static final String START_LOCATOR__HTTP_SERVICE_BIND_ADDRESS = "http-service-bind-address";
  public static final String START_LOCATOR__HTTP_SERVICE_BIND_ADDRESS__HELP =
      "The IP address on which the HTTP Service will be bound.  By default, the Server is bound to all local addresses.";
  public static final String START_LOCATOR__REDIRECT_OUTPUT = "redirect-output";
  public static final String START_LOCATOR__REDIRECT_OUTPUT__HELP =
      "Causes the member to redirect standard out and standard error to its own log file";

  /* 'start manager' command */
  public static final String START_MANAGER = "start manager";
  public static final String START_MANAGER__HELP =
      "Start a Manager. Parameters --peer and --server will be removed for simplicity and Locator is always available for both.";
  public static final String START_MANAGER__MEMBERNAME = "name";
  public static final String START_MANAGER__MEMBERNAME__HELP =
      "Member name for this Manager service.";
  public static final String START_MANAGER__DIR = "dir";
  public static final String START_MANAGER__DIR__HELP =
      "Directory in which the Manager will be run. The default is the current directory.";
  public static final String START_MANAGER__CLASSPATH = "classpath";
  public static final String START_MANAGER__CLASSPATH__HELP =
      "Location of user classes required by the Manager. This path is appended to the current classpath.";
  public static final String START_MANAGER__PORT = "port";
  public static final String START_MANAGER__PORT__HELP =
      "Port the Manager will listen on for JMX-RMI client connections.";
  public static final String START_MANAGER__BIND_ADDRESS = "bind-address";
  public static final String START_MANAGER__BIND_ADDRESS__HELP =
      "IP address the Manager listen on for JMX-RMI client connections. The default is to bind to all local addresses.";
  public static final String START_MANAGER__GROUP__HELP =
      "Group(s) this Manager will be a part of.";
  public static final String START_MANAGER__MAXHEAP = "max-heap";
  public static final String START_MANAGER__MAXHEAP__HELP =
      "Maximum size of the heap in the same format as the JVM -Xmx parameter.";
  public static final String START_MANAGER__INITIALHEAP = "initial-heap";
  public static final String START_MANAGER__INITIALHEAP__HELP =
      "Initial size of the heap in the same format as the JVM -Xms parameter.";
  public static final String START_MANAGER__GEODEPROPS = "G";
  public static final String START_MANAGER__GEODEPROPS__HELP =
      "Geode property passed as a <name>=<value> pair.";
  public static final String START_MANAGER__J = "J";
  public static final String START_MANAGER__J__HELP =
      "Argument passed to the JVM on which the Locator will run. For example, --J=-Dfoo.bar=true will set the property \"foo.bar\" to \"true\".";

  /* 'start server' command */
  public static final String START_SERVER = "start server";
  public static final String START_SERVER__HELP = "Start a Geode Cache Server.";
  public static final String START_SERVER__ASSIGN_BUCKETS = "assign-buckets";
  public static final String START_SERVER__ASSIGN_BUCKETS__HELP =
      "Whether to assign buckets to the partitioned regions of the cache on server start.";
  public static final String START_SERVER__BIND_ADDRESS = "bind-address";
  public static final String START_SERVER__BIND_ADDRESS__HELP =
      "The IP address on which the Server will be bound.  By default, the Server is bound to all local addresses.";
  public static final String START_SERVER__CACHE_XML_FILE = CACHE_XML_FILE;
  public static final String START_SERVER__CACHE_XML_FILE__HELP =
      "Specifies the name of the cache XML file or resource to initialize the cache with when it is created. NOTE: If cluster configuration is enabled, then it will take precedence over this option";
  public static final String START_SERVER__CLASSPATH = "classpath";
  public static final String START_SERVER__CLASSPATH__HELP =
      "Location of user application classes required by the Server. The user classpath is prepended to the Server's classpath.";
  public static final String START_SERVER__DIR = "dir";
  public static final String START_SERVER__DIR__HELP =
      "Directory in which the Cache Server will be started and ran. The default is ./<server-member-name>";
  public static final String START_SERVER__DISABLE_DEFAULT_SERVER = "disable-default-server";
  public static final String START_SERVER__DISABLE_DEFAULT_SERVER__HELP =
      "Whether the Cache Server will be started by default.";
  public static final String START_SERVER__DISABLE_EXIT_WHEN_OUT_OF_MEMORY =
      "disable-exit-when-out-of-memory";
  public static final String START_SERVER__DISABLE_EXIT_WHEN_OUT_OF_MEMORY_HELP =
      "Prevents the JVM from exiting when an OutOfMemoryError occurs.";
  public static final String START_SERVER__ENABLE_TIME_STATISTICS = ENABLE_TIME_STATISTICS;
  public static final String START_SERVER__ENABLE_TIME_STATISTICS__HELP =
      "Causes additional time-based statistics to be gathered for Geode operations.";
  public static final String START_SERVER__FORCE = "force";
  public static final String START_SERVER__FORCE__HELP =
      "Whether to allow the PID file from a previous Cache Server run to be overwritten.";
  public static final String START_SERVER__GROUP__HELP =
      "Group(s) the Cache Server will be a part of.";
  public static final String START_SERVER__INCLUDE_SYSTEM_CLASSPATH = "include-system-classpath";
  public static final String START_SERVER__INCLUDE_SYSTEM_CLASSPATH__HELP =
      "Includes the System CLASSPATH on the Server's CLASSPATH. The System CLASSPATH is not included by default.";
  public static final String START_SERVER__INITIAL_HEAP = "initial-heap";
  public static final String START_SERVER__INITIAL_HEAP__HELP =
      "Initial size of the heap in the same format as the JVM -Xms parameter.";
  public static final String START_SERVER__JMX_MANAGER_HOSTNAME_FOR_CLIENTS__HELP =
      "Hostname provided to clients by the server for the location of a JMX Manager.";

  public static final String START_SERVER__J = "J";
  public static final String START_SERVER__J__HELP =
      "Argument passed to the JVM on which the server will run. For example, --J=-Dfoo.bar=true will set the system property \"foo.bar\" to \"true\".";
  public static final String START_SERVER__LOCATORS = LOCATORS;
  public static final String START_SERVER__LOCATORS__HELP =
      "Sets the list of Locators used by the Cache Server to join the appropriate Geode cluster.";
  public static final String START_SERVER__LOCK_MEMORY = ConfigurationProperties.LOCK_MEMORY;
  public static final String START_SERVER__LOCK_MEMORY__HELP =
      "Causes Geode to lock heap and off-heap memory pages into RAM. This prevents the operating system from swapping the pages out to disk, which can cause severe performance degradation. When you use this option, also configure the operating system limits for locked memory.";
  public static final String START_SERVER__LOCATOR_WAIT_TIME = "locator-wait-time";
  public static final String START_SERVER__LOCATOR_WAIT_TIME_HELP =
      "Sets the number of seconds the server will wait for a locator to become available during startup before giving up.";
  public static final String START_SERVER__LOG_LEVEL = LOG_LEVEL;
  public static final String START_SERVER__LOG_LEVEL__HELP =
      "Sets the level of output logged to the Cache Server log file.  " + LOG_LEVEL_VALUES;
  public static final String START_SERVER__MAXHEAP = "max-heap";
  public static final String START_SERVER__MAXHEAP__HELP =
      "Maximum size of the heap in the same format as the JVM -Xmx parameter.";
  public static final String START_SERVER__MCAST_ADDRESS = MCAST_ADDRESS;
  public static final String START_SERVER__MCAST_ADDRESS__HELP =
      "The IP address or hostname used to bind the UPD socket for multi-cast networking so the Cache Server can communicate with other members in the Geode cluster.  If mcast-port is zero, then mcast-address is ignored.";
  public static final String START_SERVER__MCAST_PORT = MCAST_PORT;
  public static final String START_SERVER__MCAST_PORT__HELP =
      "Sets the port used for multi-cast networking so the Cache Server can communicate with other members of the Geode cluster.  A zero value disables mcast.";
  public static final String START_SERVER__NAME = "name";
  public static final String START_SERVER__NAME__HELP =
      "The member name to give this Cache Server in the Geode cluster.";
  public static final String START_SERVER__MEMCACHED_PORT = MEMCACHED_PORT;
  public static final String START_SERVER__MEMCACHED_PORT__HELP =
      "Sets the port that the Geode memcached service listens on for memcached clients.";
  public static final String START_SERVER__MEMCACHED_PROTOCOL = MEMCACHED_PROTOCOL;
  public static final String START_SERVER__MEMCACHED_PROTOCOL__HELP =
      "Sets the protocol that the Geode memcached service uses (ASCII or BINARY).";
  public static final String START_SERVER__MEMCACHED_BIND_ADDRESS = MEMCACHED_BIND_ADDRESS;
  public static final String START_SERVER__MEMCACHED_BIND_ADDRESS__HELP =
      "Sets the IP address the Geode memcached service listens on for memcached clients. The default is to bind to the first non-loopback address for this machine.";
  public static final String START_SERVER__OFF_HEAP_MEMORY_SIZE =
      ConfigurationProperties.OFF_HEAP_MEMORY_SIZE;
  public static final String START_SERVER__OFF_HEAP_MEMORY_SIZE__HELP =
      "The total size of off-heap memory specified as off-heap-memory-size=<n>[g|m]. <n> is the size. [g|m] indicates whether the size should be interpreted as gigabytes or megabytes. A non-zero size causes that much memory to be allocated from the operating system and reserved for off-heap use.";
  public static final String START_SERVER__PROPERTIES = "properties-file";
  public static final String START_SERVER__PROPERTIES__HELP =
      "The gemfire.properties file for configuring the Cache Server's distributed system. The file's path can be absolute or relative to the gfsh working directory.";
  public static final String START_SERVER__SECURITY_PROPERTIES = "security-properties-file";
  public static final String START_SERVER__SECURITY_PROPERTIES__HELP =
      "The gfsecurity.properties file for configuring the Server's security configuration in the distributed system. The file's path can be absolute or relative to gfsh directory.";
  public static final String START_SERVER__REBALANCE = "rebalance";
  public static final String START_SERVER__REBALANCE__HELP =
      "Whether to initiate rebalancing across the Geode cluster.";
  public static final String START_SERVER__SERVER_BIND_ADDRESS = SERVER_BIND_ADDRESS;
  public static final String START_SERVER__SERVER_BIND_ADDRESS__HELP =
      "The IP address that this distributed system's server sockets in a client-server topology will be bound. If set to an empty string then all of the local machine's addresses will be listened on.";
  public static final String START_SERVER__SERVER_PORT = "server-port";
  public static final String START_SERVER__SERVER_PORT__HELP =
      "The port that the distributed system's server sockets in a client-server topology will listen on.  The default server-port is "
          + CacheServer.DEFAULT_PORT + ".";
  public static final String START_SERVER__SPRING_XML_LOCATION = "spring-xml-location";
  public static final String START_SERVER__SPRING_XML_LOCATION_HELP =
      "Specifies the location of a Spring XML configuration file(s) for bootstrapping and configuring a Geode Server.";
  public static final String START_SERVER__STATISTIC_ARCHIVE_FILE = STATISTIC_ARCHIVE_FILE;
  public static final String START_SERVER__STATISTIC_ARCHIVE_FILE__HELP =
      "The file that statistic samples are written to.  An empty string (default) disables statistic archival.";
  public static final String START_SERVER__USE_CLUSTER_CONFIGURATION = USE_CLUSTER_CONFIGURATION;
  public static final String START_SERVER__USE_CLUSTER_CONFIGURATION__HELP =
      "When set to true, the server requests the configuration from locator's cluster configuration service.";
  public static final String START_SERVER__GENERAL_ERROR_MESSAGE =
      "An error occurred while attempting to start a Geode Cache Server: %1$s";
  public static final String START_SERVER__PROCESS_TERMINATED_ABNORMALLY_ERROR_MESSAGE =
      "The Cache Server process terminated unexpectedly with exit status %1$d. Please refer to the log file in %2$s for full details.%n%n%3$s";
  public static final String START_SERVER__RUN_MESSAGE = "Starting a Geode Server in %1$s...";


  public static final String START_SERVER__CRITICAL__HEAP__PERCENTAGE = "critical-heap-percentage";
  public static final String START_SERVER__CRITICAL__HEAP__HELP =
      "Set the percentage of heap at or above which the cache is considered in danger of becoming inoperable due to garbage collection pauses or out of memory exceptions";

  public static final String START_SERVER__EVICTION__HEAP__PERCENTAGE = "eviction-heap-percentage";
  public static final String START_SERVER__EVICTION__HEAP__PERCENTAGE__HELP =
      "Set the percentage of heap at or above which the eviction should begin on Regions configured for HeapLRU eviction. Changing this value may cause eviction to begin immediately. "
          + "Only one change to this attribute or critical heap percentage will be allowed at any given time and its effect will be fully realized before the next change is allowed. This feature requires additional VM flags to perform properly. ";

  public static final String START_SERVER__CRITICAL_OFF_HEAP_PERCENTAGE =
      "critical-off-heap-percentage";
  public static final String START_SERVER__CRITICAL_OFF_HEAP__HELP =
      "Set the percentage of off-heap memory at or above which the cache is considered in danger of becoming inoperable due to out of memory exceptions";

  public static final String START_SERVER__EVICTION_OFF_HEAP_PERCENTAGE =
      "eviction-off-heap-percentage";
  public static final String START_SERVER__EVICTION_OFF_HEAP_PERCENTAGE__HELP =
      "Set the percentage of off-heap memory at or above which the eviction should begin on Regions configured for off-heap and HeapLRU eviction. Changing this value may cause eviction to begin immediately."
          + " Only one change to this attribute or critical off-heap percentage will be allowed at any given time and its effect will be fully realized before the next change is allowed.";
  public static final String START_SERVER__HOSTNAME__FOR__CLIENTS = "hostname-for-clients";
  public static final String START_SERVER__HOSTNAME__FOR__CLIENTS__HELP =
      "Sets the ip address or host name that this cache server is to listen on for client connections."
          + "Setting a specific hostname-for-clients will cause server locators to use this value when telling clients how to connect to this cache server. This is useful in the case where the cache server may refer to itself with one hostname, but the clients need to use a different hostname to find the cache server."
          + "The value \"\" causes the bind-address to be given to clients."
          + "A null value will be treated the same as the default \"\".";


  public static final String START_SERVER__LOAD__POLL__INTERVAL = "load-poll-interval";
  public static final String START_SERVER__LOAD__POLL__INTERVAL__HELP =
      "Set the frequency in milliseconds to poll the load probe on this cache server";


  public static final String START_SERVER__MAX__CONNECTIONS = "max-connections";
  public static final String START_SERVER__MAX__CONNECTIONS__HELP =
      "Sets the maximum number of client connections allowed. When the maximum is reached the cache server will stop accepting connections";

  public static final String START_SERVER__MAX__THREADS = "max-threads";
  public static final String START_SERVER__MAX__THREADS__HELP =
      "Sets the maximum number of threads allowed in this cache server to service client requests. The default of 0 causes the cache server to dedicate a thread for every client connection";

  public static final String START_SERVER__MAX__MESSAGE__COUNT = "max-message-count";
  public static final String START_SERVER__MAX__MESSAGE__COUNT__HELP =
      "Sets maximum number of messages that can be enqueued in a client-queue.";

  public static final String START_SERVER__MESSAGE__TIME__TO__LIVE = "message-time-to-live";
  public static final String START_SERVER__MESSAGE__TIME__TO__LIVE__HELP =
      "Sets the time (in seconds ) after which a message in the client queue will expire";

  public static final String START_SERVER__SOCKET__BUFFER__SIZE = SOCKET_BUFFER_SIZE;
  public static final String START_SERVER__SOCKET__BUFFER__SIZE__HELP =
      "Sets the buffer size in bytes of the socket connection for this CacheServer. The default is 32768 bytes.";

  public static final String START_SERVER__TCP__NO__DELAY = "tcp-no-delay";
  public static final String START_SERVER__TCP__NO__DELAY__HELP =
      "Configures the tcpNoDelay setting of sockets used to send messages to clients. TcpNoDelay is enabled by default";


  /* start vsd command */
  public static final String START_VSD = "start vsd";
  public static final String START_VSD__FILE = "file";
  public static final String START_VSD__FILE__HELP =
      "File or directory from which to read the statistics archive(s).";
  public static final String START_VSD__ERROR_MESSAGE =
      "An error occurred while launching VSD - %1$s";
  public static final String START_VSD__HELP = "Start VSD in a separate process.";
  public static final String START_VSD__NOT_FOUND_ERROR_MESSAGE =
      "The location of VSD could not be found.  Please ensure VSD was properly installed under Geode home (%1$s).";
  public static final String START_VSD__RUN =
      "Launched Geode Visual Statistics Display (VSD) (see Geode log files for issues on start)";

  /* start databrowser command */
  public static final String START_DATABROWSER = "start data-browser";
  public static final String START_DATABROWSER__HELP = "Start Data Browser in a separate process.";
  public static final String START_DATABROWSER__NOT_FOUND_ERROR_MESSAGE =
      "The location of DataBrowser could not be found.  Please ensure DataBrowser was properly installed under Geode home (%1$s).";
  public static final String START_DATABROWSER__RUN =
      "Launched Geode DataBrowser (see Geode log files for issues on start)";
  public static final String START_DATABROWSER__ERROR =
      "An error occurred while launching DataBrowser - %1$s";

  /* status gateway-receiver */
  public static final String STATUS_GATEWAYRECEIVER = "status gateway-receiver";
  public static final String STATUS_GATEWAYRECEIVER__HELP =
      "Display the status of a Gateway Receiver.";
  public static final String STATUS_GATEWAYRECEIVER__GROUP__HELP =
      "Group(s) of Gateway Receivers for which to display status.";
  public static final String STATUS_GATEWAYRECEIVER__MEMBER__HELP =
      "Name/Id of the Gateway Receiver for which to display status.";

  /* status gateway-sender */
  public static final String STATUS_GATEWAYSENDER = "status gateway-sender";
  public static final String STATUS_GATEWAYSENDER__HELP = "Display the status of a Gateway Sender.";
  public static final String STATUS_GATEWAYSENDER__ID = "id";
  public static final String STATUS_GATEWAYSENDER__ID__HELP = "ID of the Gateway Sender.";
  public static final String STATUS_GATEWAYSENDER__GROUP__HELP =
      "Group(s) of Gateway Senders for which to display status.";
  public static final String STATUS_GATEWAYSENDER__MEMBER__HELP =
      "Name/Id of the Gateway Sender for which to display status.";

  /* 'status locator' command */
  public static final String STATUS_LOCATOR = "status locator";
  public static final String STATUS_LOCATOR__HELP =
      "Display the status of a Locator. Possible statuses are: started, online, offline or not responding.";
  public static final String STATUS_LOCATOR__DIR = "dir";
  public static final String STATUS_LOCATOR__DIR__HELP =
      "Working directory in which the Locator is running. The default is the current directory.";
  public static final String STATUS_LOCATOR__HOST = "host";
  public static final String STATUS_LOCATOR__HOST__HELP =
      "Hostname or IP address on which the Locator is running.";
  public static final String STATUS_LOCATOR__MEMBER = "name";
  public static final String STATUS_LOCATOR__MEMBER__HELP =
      "Member name or ID of the Locator in the Geode cluster.";
  public static final String STATUS_LOCATOR__PID = "pid";
  public static final String STATUS_LOCATOR__PID__HELP =
      "Process ID (PID) of the running Locator. Deprecated: Since Geode 1.2. Requires the JDK tools.jar which is not included on the classpath by default. Use --dir instead.";
  public static final String STATUS_LOCATOR__PORT = "port";
  public static final String STATUS_LOCATOR__PORT__HELP =
      "Port on which the Locator is listening. The default is 10334.";
  public static final String STATUS_LOCATOR__GENERAL_ERROR_MESSAGE =
      "An error occurred while attempting to determine the state of Locator on %1$s running in %2$s: %3$s";
  public static final String STATUS_LOCATOR__NO_LOCATOR_FOUND_FOR_MEMBER_ERROR_MESSAGE =
      "No Locator with member name or ID {0} could be found.";

  /* 'status server' command */
  public static final String STATUS_SERVER = "status server";
  public static final String STATUS_SERVER__HELP = "Display the status of a Geode Cache Server.";
  public static final String STATUS_SERVER__DIR = "dir";
  public static final String STATUS_SERVER__DIR__HELP =
      "Working directory in which the Cache Server is running. The default is the current directory.";
  public static final String STATUS_SERVER__GENERAL_ERROR_MESSAGE =
      "An error occurred while attempting to determine the status of Geode Cache server: %1$s";
  public static final String STATUS_SERVER__MEMBER = "name";
  public static final String STATUS_SERVER__MEMBER__HELP =
      "Member name or ID of the Cache Server in the Geode cluster.";
  public static final String STATUS_SERVER__NO_SERVER_FOUND_FOR_MEMBER_ERROR_MESSAGE =
      "No Geode Cache Server with member name or ID {0} could be found.";
  public static final String STATUS_SERVER__PID = "pid";
  public static final String STATUS_SERVER__PID__HELP =
      "Process ID (PID) of the running Geode Cache Server. Deprecated: Since Geode 1.2. Requires the JDK tools.jar which is not included on the classpath by default. Use --dir instead.";

  /* stop gateway-receiver */
  public static final String STOP_GATEWAYRECEIVER = "stop gateway-receiver";
  public static final String STOP_GATEWAYRECEIVER__HELP =
      "Stop the Gateway Receiver on a member or members.";
  public static final String STOP_GATEWAYRECEIVER__GROUP__HELP =
      "Group(s) of members on which to stop the Gateway Receiver.";
  public static final String STOP_GATEWAYRECEIVER__MEMBER__HELP =
      "Name/Id of the member on which to stop the Gateway Receiver.";

  /* stop gateway-sender */
  public static final String STOP_GATEWAYSENDER = "stop gateway-sender";
  public static final String STOP_GATEWAYSENDER__ID = "id";
  public static final String STOP_GATEWAYSENDER__HELP =
      "Stop the Gateway Sender on a member or members.";
  public static final String STOP_GATEWAYSENDER__ID__HELP = "ID of the Gateway Sender.";
  public static final String STOP_GATEWAYSENDER__GROUP__HELP =
      "Group(s) of members on which to stop the Gateway Sender.";
  public static final String STOP_GATEWAYSENDER__MEMBER__HELP =
      "Name/Id of the member on which to stop the Gateway Sender.";

  /* 'stop locator' command */
  public static final String STOP_LOCATOR = "stop locator";
  public static final String STOP_LOCATOR__HELP = "Stop a Locator.";
  public static final String STOP_LOCATOR__DIR = "dir";
  public static final String STOP_LOCATOR__DIR__HELP =
      "Working directory in which the Locator is running. The default is the current directory.";
  public static final String STOP_LOCATOR__MEMBER = "name";
  public static final String STOP_LOCATOR__MEMBER__HELP =
      "Member name or ID of the Locator in the Geode cluster.";
  public static final String STOP_LOCATOR__PID = "pid";
  public static final String STOP_LOCATOR__PID__HELP =
      "The process id (PID) of the running Locator. Deprecated: Since Geode 1.2. Requires the JDK tools.jar which is not included on the classpath by default. Use --dir instead.";
  public static final String STOP_LOCATOR__GENERAL_ERROR_MESSAGE =
      "An error occurred while attempting to stop a Locator: %1$s";
  public static final String STOP_LOCATOR__LOCATOR_IS_CACHE_SERVER_ERROR_MESSAGE =
      "The Locator identified by {0} is also a cache server and cannot be shutdown using 'stop locator'.  Please use 'stop server' instead.";
  public static final String STOP_LOCATOR__NO_LOCATOR_FOUND_FOR_MEMBER_ERROR_MESSAGE =
      "No Locator with member name or ID {0} could be found.";
  public static final String STOP_LOCATOR__NOT_LOCATOR_ERROR_MESSAGE =
      "The Geode member identified by {0} is not a Locator and cannot be shutdown using 'stop locator'.";
  public static final String STOP_LOCATOR__SHUTDOWN_MEMBER_MESSAGE =
      "Locator {0} has been requested to stop.";
  public static final String STOP_LOCATOR__STOPPING_LOCATOR_MESSAGE =
      "Stopping Locator running in %1$s on %2$s as %3$s...%nProcess ID: %4$d%nLog File: %5$s";

  /* 'stop server' command */
  public static final String STOP_SERVER = "stop server";
  public static final String STOP_SERVER__HELP = "Stop a Geode Cache Server.";
  public static final String STOP_SERVER__DIR = "dir";
  public static final String STOP_SERVER__DIR__HELP =
      "Working directory in which the Cache Server is running. The default is the current directory.";
  public static final String STOP_SERVER__GENERAL_ERROR_MESSAGE =
      "An error occurred while attempting to stop a Cache Server: %1$s";
  public static final String STOP_SERVER__MEMBER_IS_NOT_SERVER_ERROR_MESSAGE =
      "Attempting to stop a Geode member that is not a Cache Server using 'stop server'; the operation is not permitted.";
  public static final String STOP_SERVER__MEMBER = "name";
  public static final String STOP_SERVER__MEMBER__HELP =
      "Member name or ID of the Cache Server in the Geode cluster.";
  public static final String STOP_SERVER__NO_SERVER_FOUND_FOR_MEMBER_ERROR_MESSAGE =
      "No Cache Server with member name or ID {0} could be found.";
  public static final String STOP_SERVER__PID = "pid";
  public static final String STOP_SERVER__PID__HELP =
      "Process ID (PID) of the running Geode Cache Server. Deprecated: Since Geode 1.2. Requires the JDK tools.jar which is not included on the classpath by default. Use --dir instead.";
  public static final String STOP_SERVER__SHUTDOWN_MEMBER_MESSAGE =
      "Cache Server {0} has been requested to stop.";
  public static final String STOP_SERVER__STOPPING_SERVER_MESSAGE =
      "Stopping Cache Server running in %1$s on %2$s as %3$s...%nProcess ID: %4$d%nLog File: %5$s";

  /* undeploy command */
  public static final String UNDEPLOY = "undeploy";
  public static final String UNDEPLOY__HELP = "Undeploy JARs from a member or members.";
  public static final String UNDEPLOY__GROUP__HELP =
      "Group(s) of members from which to undeploy JARs. If not specified, undeploy will occur on all members.";
  public static final String UNDEPLOY__JAR__HELP =
      "JAR(s) to be undeployed.  If not specified, all JARs will be undeployed.";
  public static final String UNDEPLOY__NO_JARS_FOUND_MESSAGE = "No JAR Files Found";

  /* 'upgrade offline-disk-store' command */
  public static final String UPGRADE_OFFLINE_DISK_STORE = "upgrade offline-disk-store";
  public static final String UPGRADE_OFFLINE_DISK_STORE__HELP =
      "Upgrade an offline disk store. If the disk store is large, additional memory may need to be allocated to the process using the --J=-Xmx??? parameter.";
  public static final String UPGRADE_OFFLINE_DISK_STORE__NAME = "name";
  public static final String UPGRADE_OFFLINE_DISK_STORE__NAME__HELP =
      "Name of the offline disk store to be upgraded.";
  public static final String UPGRADE_OFFLINE_DISK_STORE__DISKDIRS = "disk-dirs";
  public static final String UPGRADE_OFFLINE_DISK_STORE__DISKDIRS__HELP =
      "Directories where data for the disk store was previously written.";
  public static final String UPGRADE_OFFLINE_DISK_STORE__MAXOPLOGSIZE = "max-oplog-size";
  public static final String UPGRADE_OFFLINE_DISK_STORE__MAXOPLOGSIZE__HELP =
      "Maximum size (in megabytes) of the oplogs created by the upgrade.";
  public static final String UPGRADE_OFFLINE_DISK_STORE__J = "J";
  public static final String UPGRADE_OFFLINE_DISK_STORE__J__HELP =
      "Arguments passed to the Java Virtual Machine performing the upgrade operation on the disk store.";
  public static final String UPGRADE_OFFLINE_DISK_STORE__DISKSTORE_0_DOES_NOT_EXIST =
      "Disk store \"{0}\" does not exist.";
  public static final String UPGRADE_OFFLINE_DISK_STORE__UPGRADE_ATTEMPTED_BUT_NOTHING_TO_UPGRADE =
      "Upgradation was attempted but nothing to upgrade.";
  public static final String UPGRADE_OFFLINE_DISK_STORE__ERROR_WHILE_UPGRADATION_REASON_0 =
      "Error occurred while performing disk store upgrade. Reason: \"{0}\"";
  public static final String UPGRADE_OFFLINE_DISK_STORE__MSG__CANNOT_LOCATE_0_DISKSTORE_IN_1 =
      "Cannot locate disk store \"{0}\" in directory : \"{1}\"";
  public static final String UPGRADE_OFFLINE_DISK_STORE__MSG__DISKSTORE_IN_USE_COMPACT_DISKSTORE_CAN_BE_USED =
      "The disk is currently being used by another process";
  public static final String UPGRADE_OFFLINE_DISK_STORE__MSG__CANNOT_ACCESS_DISKSTORE_0_FROM_1_CHECK_GFSH_LOGS =
      COMPACT_OFFLINE_DISK_STORE__MSG__CANNOT_ACCESS_DISKSTORE_0_FROM_1_CHECK_GFSH_LOGS;
  public static final String UPGRADE_OFFLINE_DISK_STORE__MSG__ERROR_WHILE_COMPACTING_DISKSTORE_0_WITH_1_REASON_2 =
      "Error occurred while upgrading disk store={0} {1}. Reason: {2}";

  /* 'validate disk-store' command */
  public static final String VALIDATE_DISK_STORE = "validate offline-disk-store";
  public static final String VALIDATE_DISK_STORE__HELP =
      "Scan the contents of a disk store to verify that it has no errors.";
  public static final String VALIDATE_DISK_STORE__NAME = "name";
  public static final String VALIDATE_DISK_STORE__NAME__HELP =
      "Name of the disk store to be validated.";
  public static final String VALIDATE_DISK_STORE__DISKDIRS = "disk-dirs";
  public static final String VALIDATE_DISK_STORE__DISKDIRS__HELP =
      "Directories where data for the disk store was previously written.";
  public static final String VALIDATE_DISK_STORE__J = "J";
  public static final String VALIDATE_DISK_STORE__J__HELP =
      "Arguments passed to the Java Virtual Machine performing the compact operation on the disk store.";
  public static final String VALIDATE_DISK_STORE__MSG__NO_DIRS =
      VALIDATE_DISK_STORE__DISKDIRS + " is mandatory";
  public static final String VALIDATE_DISK_STORE__MSG__IO_ERROR =
      "Input/Output error in validating disk store {0} is : {1}";
  public static final String VALIDATE_DISK_STORE__MSG__ERROR =
      "Error in validating disk store {0} is : {1}";

  /* 'version' command */
  public static final String VERSION = "version";
  public static final String VERSION__HELP = "Display product version information.";
  public static final String VERSION__FULL = "full";
  public static final String VERSION__FULL__HELP = "Whether to show the full version information.";

  /* start gateway command messages */
  public static final String GATEWAY__MSG__OPTIONS = "Provide only one of member/group";
  public static final String GATEWAY_MSG_MEMBER_0_NOT_FOUND = "Member : {0} not found";
  public static final String GATEWAY_MSG_MEMBERS_NOT_FOUND = "Members not found";
  public static final String GATEWAY_ERROR = "Error";
  public static final String GATEWAY_OK = "OK";

  public static final String HEADER_GATEWAYS = "Gateways";
  public static final String SECTION_GATEWAY_SENDER = "GatewaySender Section";
  public static final String TABLE_GATEWAY_SENDER = "GatewaySender Table";
  public static final String HEADER_GATEWAY_SENDER = "GatewaySender";

  public static final String RESULT_GATEWAY_SENDER_ID = "GatewaySender Id";
  public static final String RESULT_HOST_MEMBER = "Member";
  public static final String RESULT_REMOTE_CLUSTER = "Remote Cluster Id";
  public static final String RESULT_TYPE = "Type";
  public static final String RESULT_STATUS = "Status";
  public static final String RESULT_QUEUED_EVENTS = "Queued Events";
  public static final String RESULT_RECEIVER = "Receiver Location";
  public static final String SENDER_PARALLEL = "Parallel";
  public static final String SENDER_SERIAL = "Serial";
  public static final String GATEWAY_RUNNING = "Running";
  public static final String GATEWAY_RUNNING_NOT_CONNECTED = "Running, not Connected";
  public static final String GATEWAY_RUNNING_CONNECTED = "Running and Connected";
  public static final String GATEWAY_NOT_RUNNING = "Not Running";
  public static final String SENDER_PAUSED = "Paused";
  public static final String SENDER_PRIMARY = "Primary";
  public static final String RESULT_POLICY = "Runtime Policy";
  public static final String SENDER_SECONADRY = "Secondary";

  public static final String SECTION_GATEWAY_RECEIVER = "GatewayReceiver Section";
  public static final String TABLE_GATEWAY_RECEIVER = "GatewayReceiver Table";
  public static final String HEADER_GATEWAY_RECEIVER = "GatewayReceiver";
  public static final String RESULT_PORT = "Port";
  public static final String RESULT_SENDERS_COUNT = "Sender Count";
  public static final String RESULT_SENDER_CONNECTED = "Senders Connected";
  public static final String SECTION_GATEWAY_SENDER_AVAILABLE = "Available GatewaySender Section";
  public static final String SECTION_GATEWAY_SENDER_NOT_AVAILABLE =
      "Not Available GatewaySender Section";
  public static final String SECTION_GATEWAY_RECEIVER_AVAILABLE =
      "Available GatewayReceiver Section";
  public static final String SECTION_GATEWAY_RECEIVER_NOT_AVAILABLE =
      "Not Available GatewayReceiver Section";

  public static final String GATEWAY_RECEIVER_IS_NOT_AVAILABLE_OR_STOPPED =
      "GatewayReceiver is not available or already stopped";
  public static final String GATEWAY_RECEIVER_IS_NOT_AVAILABLE_OR_STOPPED_ON_MEMBER =
      "GatewayReceiver is not available or already stopped on member {0}";
  public static final String GATEWAY_RECEIVER_IS_ALREADY_STARTED_ON_MEMBER_0 =
      "GatewayReceiver is already started on member {0}";
  public static final String GATEWAY_RECEIVER_IS_STARTED_ON_MEMBER_0 =
      "GatewayReceiver is started on member {0}";
  public static final String GATEWAY_RECEIVER_IS_NOT_AVAILABLE_ON_MEMBER_0 =
      "GatewayReceiver is not available on member {0}";

  public static final String START_GATEWAYSENDER_REJECTED = "Command rejected. Reasons:";

  public static final String REJECT_START_GATEWAYSENDER_REASON = "Reasons command is rejected";

  public static final String EXECUTE_ON_ALL_GATEWAYSENDER_MEMBERS =
      "Command must be executed on all members on which gateway sender is created";

  public static final String GATEWAY_SENDER_IS_NOT_AVAILABLE = "GatewaySender is not available";
  public static final String GATEWAY_SENDER_0_IS_ALREADY_STARTED_ON_MEMBER_1 =
      "GatewaySender {0} is already started on member {1}";
  public static final String GATEWAY_SENDER_0_IS_NOT_AVAILABLE_ON_MEMBER_1 =
      "GatewaySender {0} is not available on member {1}";
  public static final String GATEWAY_SENDER_0_IS_STARTED_ON_MEMBER_1 =
      "GatewaySender {0} is started on member {1}";
  public static final String GATEWAY_SENDER_0_IS_ALREADY_PAUSED_ON_MEMBER_1 =
      "GatewaySender {0} is already paused on member {1}";
  public static final String GATEWAY_SENDER_0_IS_PAUSED_ON_MEMBER_1 =
      "GatewaySender {0} is paused on member {1}";
  public static final String GATEWAY_SENDER_0_IS_NOT_RUNNING_ON_MEMBER_1 =
      "GatewaySender {0} is not running on member {1}.";
  public static final String GATEWAY_SENDER_0_IS_RESUMED_ON_MEMBER_1 =
      "GatewaySender {0} is resumed on member {1}";
  public static final String GATEWAY_SENDER_0_IS_NOT_PAUSED_ON_MEMBER_1 =
      "GatewaySender {0} is not paused on member {1}";
  public static final String GATEWAY_SENDER_0_IS_STOPPED_ON_MEMBER_1 =
      "GatewaySender {0} is stopped on member {1}";
  public static final String GATEWAY_SENDER_0_IS_REBALANCED_ON_MEMBER_1 =
      "GatewaySender {0} is rebalanced on member {1}";
  public static final String GATEWAY_SENDER_0_IS_NOT_FOUND_ON_ANY_MEMBER =
      "GatewaySender {0} is not found on any member";
  public static final String GATEWAY_RECEIVER_IS_STOPPED_ON_MEMBER_0 =
      "GatewayReceiver is stopped on member {0}";
  public static final String GATEWAY_RECEIVER_IS_NOT_RUNNING_ON_MEMBER_0 =
      "GatewayReceiver is not running on member {0}";
  public static final String GATEWAYS_ARE_NOT_AVAILABLE_IN_CLUSTER =
      "GatewaySenders or GatewayReceivers are not available in cluster";
  public static final String GATEWAY_SENDER_START_0_COULD_NOT_BE_INVOKED_DUE_TO_1 =
      "Could not invoke start gateway sender {0} operation on members due to {1}";
  public static final String GATEWAY_SENDER_0_COULD_NOT_BE_STARTED_ON_MEMBER_DUE_TO_1 =
      "Could not start gateway sender {0} on member due to {1}";
  public static final String GATEWAY_SENDER_STOP_0_COULD_NOT_BE_INVOKED_DUE_TO_1 =
      "Could not invoke stop gateway sender {0} operation on members due to {1}";
  public static final String GATEWAY_SENDER_0_COULD_NOT_BE_STOPPED_ON_MEMBER_DUE_TO_1 =
      "Could not stop gateway sender {0} on member due to {1}";
  public static final String GATEWAY_SENDER_0_IS_UPDATED_ON_MEMBER_1 =
      "GatewaySender {0} is updated on member {1}";
  /* end gateway command messages */

  /***
   * CQ Commands
   *
   */

  // List durable cqs

  public static final String LIST_DURABLE_CQS = "list durable-cqs";
  public static final String LIST_DURABLE_CQS__DURABLECLIENTID = DURABLE_CLIENT_ID;
  public static final String LIST_DURABLE_CQS__DURABLECLIENTID__HELP =
      "The id used to identify the durable client";
  public static final String LIST_DURABLE_CQS__HELP =
      "List durable client cqs associated with the specified durable client id.";
  public static final String LIST_DURABLE_CQS__MEMBER__HELP =
      "Name/Id of the member for which the durable client is registered and durable cqs will be displayed.";
  public static final String LIST_DURABLE_CQS__GROUP__HELP =
      "Group of members for which the durable client is registered and durable cqs will be displayed.";
  public static final String LIST_DURABLE_CQS__NO__CQS__FOR__CLIENT =
      "No durable cqs found for durable-client-id : \"{0}\".";
  public static final String LIST_DURABLE_CQS__PER__MEMBER__MSG =
      "Durable cqs on member : \"{0}\".";
  public static final String LIST_DURABLE_CQS__FAILURE__MSG =
      "Errors while retrieving cqs for durable client \"{0}\".";
  public static final String LIST_DURABLE_CQS__EXCEPTION__OCCURRED__ON =
      "Members with exceptions while retrieving durable cqs.";
  public static final String LIST_DURABLE_CQS__NO__CQS__REGISTERED =
      "No durable cqs registered on this member.";
  public static final String LIST_DURABLE_CQS__NAME = "durable-cq-name";
  public static final String LIST_DURABLE_CQS__FAILURE__HEADER =
      "Unable to list durable-cqs for durable-client-id : \"{0}\" due to following reasons.";

  // Close Durable CQ's
  public static final String CLOSE_DURABLE_CQS = "close durable-cq";
  public static final String CLOSE_DURABLE_CQS__HELP =
      "Closes the durable cq registered by the durable client and drains events held for the durable cq from the subscription queue.";
  public static final String CLOSE_DURABLE_CQS__NAME = "durable-cq-name";
  public static final String CLOSE_DURABLE_CQS__NAME__HELP = "Name of the cq to be closed.";
  public static final String CLOSE_DURABLE_CQS__DURABLE__CLIENT__ID = DURABLE_CLIENT_ID;
  public static final String CLOSE_DURABLE_CQS__DURABLE__CLIENT__ID__HELP =
      "The id of the durable client";
  public static final String CLOSE_DURABLE_CQS__MEMBER__HELP =
      "Name/Id of the member for which the durable client is registered and the cq to be closed.";
  public static final String CLOSE_DURABLE_CQS__GROUP__HELP =
      "Group of members for which the durable client is registered and the cq to be closed.";
  public static final String CLOSE_DURABLE_CQS__FAILURE__HEADER =
      "Could not close the durable-cq : \"{0}\" for the durable-client-id : \"{1}\" due to following reasons.";
  public static final String CLOSE_DURABLE_CQS__SUCCESS =
      "Closed the durable cq : \"{0}\" for the durable client : \"{1}\".";
  public static final String CLOSE_DURABLE_CQS__UNABLE__TO__CLOSE__CQ =
      "Unable to close the durable cq : \"{0}\" for the durable client : \"{1}\".";

  // Close Durable Clients
  public static final String CLOSE_DURABLE_CLIENTS = "close durable-client";
  public static final String CLOSE_DURABLE_CLIENTS__HELP =
      "Attempts to close the durable client, the client must be disconnected.";
  public static final String CLOSE_DURABLE_CLIENTS__CLIENT__ID = DURABLE_CLIENT_ID;
  public static final String CLOSE_DURABLE_CLIENTS__CLIENT__ID__HELP =
      "The id used to identify the durable client.";
  public static final String CLOSE_DURABLE_CLIENTS__MEMBER__HELP =
      "Name/Id of the member for which the durable client is to be closed.";
  public static final String CLOSE_DURABLE_CLIENTS__GROUP__HELP =
      "Group of members for which the durable client is to be closed.";
  public static final String CLOSE_DURABLE_CLIENTS__FAILURE__HEADER =
      "Unable to close the durable client : \"{0}\" due to following reasons.";
  public static final String CLOSE_DURABLE_CLIENTS__SUCCESS =
      "Closed the durable client : \"{0}\".";

  public static final String COUNT_DURABLE_CQ_EVENTS = "show subscription-queue-size";
  public static final String COUNT_DURABLE_CQ_EVENTS__HELP =
      "Shows the number of events in the subscription queue.  If a cq name is provided, counts the number of events in the subscription queue for the specified cq.";
  public static final String COUNT_DURABLE_CQ_EVENTS__DURABLE__CLIENT__ID = DURABLE_CLIENT_ID;
  public static final String COUNT_DURABLE_CQ_EVENTS__DURABLE__CLIENT__ID__HELP =
      "The id used to identify the durable client.";
  public static final String COUNT_DURABLE_CQ_EVENTS__DURABLE__CQ__NAME = "durable-cq-name";
  public static final String COUNT_DURABLE_CQ_EVENTS__DURABLE__CQ__NAME__HELP =
      "The name that identifies the cq.";
  public static final String COUNT_DURABLE_CQ_EVENTS__MEMBER__HELP =
      "Name/Id of the member for which the subscription events are to be counted.";
  public static final String COUNT_DURABLE_CQ_EVENTS__GROUP__HELP =
      "Group of members for which the subscription queue events are to be counted.";
  public static final String COUNT_DURABLE_CQ_EVENTS__DURABLE_CLIENT_NOT_FOUND =
      "No durable client found on server for durable client id {0}.";
  public static final String COUNT_DURABLE_CQ_EVENTS__DURABLE_CQ_NOT_FOUND =
      "No cq found on server for client with durable-client-id : {0} with cq-name : {1}.";
  public static final String COUNT_DURABLE_CQ_EVENTS__DURABLE_CQ_STATS_NOT_FOUND =
      "No cq stats found on server for durable client id {0} with cq name {1}.";
  public static final String COUNT_DURABLE_CQ_EVENTS__NO__CQS__REGISTERED =
      "No cq's registered on this member";
  public static final String COUNT_DURABLE_CQ_EVENTS__SUBSCRIPTION__QUEUE__SIZE__CQ =
      "subscription-queue-size for durable-cq : \"{0}\".";
  public static final String COUNT_DURABLE_CQ_EVENTS__SUBSCRIPTION__QUEUE__SIZE__CLIENT =
      "subscription-queue-size for durable-client : \"{0}\".";

  /***
   * Cluster Configuration commands
   */
  public static final String EXPORT_SHARED_CONFIG = "export cluster-configuration";
  public static final String EXPORT_SHARED_CONFIG__HELP =
      "Exports the cluster configuration artifacts as a zip file.";
  public static final String EXPORT_SHARED_CONFIG__FILE = "zip-file-name";
  public static final String EXPORT_SHARED_CONFIG__FILE__HELP =
      "Path to the zip file containing the exported cluster configuration artifacts";
  public static final String EXPORT_SHARED_CONFIG__MSG__NOT_A_DIRECTORY = "{0} is not a directory.";
  public static final String EXPORT_SHARED_CONFIG__MSG__CANNOT_CREATE_DIR =
      "Directory {0} could not be created.";
  public static final String EXPORT_SHARED_CONFIG__MSG__NOT_WRITEABLE = "{0} is not writeable";
  public static final String EXPORT_SHARED_CONFIG__FILE__NAME = "cluster-config-{0}.zip";
  public static final String EXPORT_SHARED_CONFIG__DOWNLOAD__MSG =
      "Downloading cluster configuration : {0}";
  public static final String EXPORT_SHARED_CONFIG__LOCATOR_HEADER = "Locator";
  public static final String EXPORT_SHARED_CONFIG__LOCATOR__ERROR__MSG__HEADER = "Error";
  public static final String EXPORT_SHARED_CONFIG__UNABLE__TO__EXPORT__CONFIG =
      "Unable to export config";

  public static final String IMPORT_SHARED_CONFIG = "import cluster-configuration";
  public static final String IMPORT_SHARED_CONFIG__HELP =
      "Imports configuration into cluster configuration hosted at the locators";
  public static final String IMPORT_SHARED_CONFIG__ZIP = "zip-file-name";
  public static final String IMPORT_SHARED_CONFIG__ZIP__HELP =
      "The zip file containing the cluster configuration artifacts, which are to be imported";
  public static final String IMPORT_SHARED_CONFIG__DIR = "dir";
  public static final String IMPORT_SHARED_CONFIG__DIR__HELP =
      "The directory which contains the cluster configuration artifacts, which are to be imported.";
  public static final String IMPORT_SHARED_CONFIG__PRE__IMPORT__MSG =
      "Importing configuration into locator would overwrite the existing cluster configuration. Would you like to proceed ?";
  public static final String IMPORT_SHARED_CONFIG__CANNOT__IMPORT__MSG =
      "Cluster configuration cannot be imported when there are running data members present in the distributed system.\n"
          + "Shutdown all the non locator members to import the cluster configuration, and restart them after the cluster configuration is successfully imported.";
  public static final String NO_LOCATORS_WITH_SHARED_CONFIG =
      "No locators found with \"enable-cluster-configuration=true\".";
  public static final String IMPORT_SHARED_CONFIG__ARTIFACTS__COPIED =
      "Cluster configuration artifacts successfully copied";
  public static final String IMPORT_SHARED_CONFIG__SUCCESS__MSG =
      "Cluster configuration successfully imported";
  public static final String IMPORT_SHARED_CONFIG__PROVIDE__ZIP =
      "Parameter \"{0}\"  is required. Use \"help <command name>\" for assistance.";

  public static final String STATUS_SHARED_CONFIG = "status cluster-config-service";
  public static final String STATUS_SHARED_CONFIG_HELP =
      "Displays the status of cluster configuration service on all the locators with enable-cluster-configuration set to true.";
  public static final String STATUS_SHARED_CONFIG_NAME_HEADER = "Name";
  public static final String STATUS_SHARED_CONFIG_HOST_HEADER = "Hostname";
  public static final String STATUS_SHARED_CONFIG_PORT_HEADER = "Port";
  public static final String STATUS_SHARED_CONFIG_STATUS = "Status";


  public static final String CONFIGURE_PDX = "configure pdx";
  public static final String CONFIGURE_PDX__HELP =
      "Configures Geode's Portable Data eXchange for all the cache(s) in the cluster. This command would not take effect on the running members in the system.\n This command persists the pdx configuration in the locator with cluster configuration service. \n This command should be issued before starting any data members.";
  public static final String CONFIGURE_PDX__READ__SERIALIZED = "read-serialized";
  public static final String CONFIGURE_PDX__READ__SERIALIZED__HELP =
      "Set to true to have PDX deserialization produce a PdxInstance instead of an instance of the domain class. The default value for this options is \"false\"";
  public static final String CONFIGURE_PDX__IGNORE__UNREAD_FIELDS = "ignore-unread-fields";
  public static final String CONFIGURE_PDX__IGNORE__UNREAD_FIELDS__HELP =
      "Control whether pdx ignores fields that were unread during deserialization. The default is to preserve unread fields be including their data during serialization. But if you configure the cache to ignore unread fields then their data will be lost during serialization. "
          + "You should only set this attribute to true if you know this member will only be reading cache data. In this use case you do not need to pay the cost of preserving the unread fields since you will never be reserializing pdx data.";
  public static final String CONFIGURE_PDX__PERSISTENT = "persistent";
  public static final String CONFIGURE_PDX__PERSISTENT__HELP =
      "Control whether the type metadata for PDX objects is persisted to disk. The default for this setting is false. If you are using persistent regions with PDX then you must set this to true. If you are using a GatewaySender or AsyncEventQueue with PDX then you should set this to true";
  public static final String CONFIGURE_PDX__DISKSTORE = "disk-store";
  public static final String CONFIGURE_PDX__DISKSTORE__HELP =
      "Named disk store where the PDX type data will be stored. The default value for this options is \"DEFAULT\"";

  public static final String CONFIGURE_PDX__CHECK__PORTABILITY = "check-portability";
  public static final String CONFIGURE_PDX__CHECK__PORTABILITY__HELP =
      "if true then an serialization done by this serializer will throw an exception if the object it not portable to non-java languages.";

  public static final String CONFIGURE_PDX__PORTABLE__AUTO__SERIALIZER__CLASSES =
      "portable-auto-serializable-classes";
  public static final String CONFIGURE_PDX__PORTABLE__AUTO__SERIALIZER__CLASSES__HELP =
      "The patterns that are matched against domain class names to determine whether they should be serialized. Serialization done by the auto-serializer will throw an exception if the object of these classes are not portable to non-java languages (check-portability=true).";

  public static final String CONFIGURE_PDX__AUTO__SERIALIZER__CLASSES = "auto-serializable-classes";
  public static final String CONFIGURE_PDX__AUTO__SERIALIZER__CLASSES__HELP =
      "The patterns that are matched against domain class names to determine whether they should be auto-serialized. Serialization done by the auto-serializer will not throw an exception if the object of these classes are not portable to non-java languages (check-portability=false).";

  public static final String CONFIGURE_PDX__NORMAL__MEMBERS__WARNING =
      "The command would only take effect on new data members joining the distributed system. It won't affect the existing data members";
  public static final String CONFIGURE_PDX__ERROR__MESSAGE =
      "The autoserializer cannot support both portable and non-portable classes at the same time.";

  public static final String PDX_RENAME = "pdx rename";
  public static final String PDX_RENAME__HELP =
      "Renames PDX types in an offline disk store. \n Any pdx types that are renamed will be listed in the output. \n If no renames are done or the disk-store is online then this command will fail.";
  public static final String PDX_RENAME_OLD = "old";
  public static final String PDX_RENAME_OLD__HELP =
      "If a PDX type's fully qualified class name has a word that matches this text then it will be renamed. Words are delimited by '.' and '$'.";
  public static final String PDX_RENAME_NEW = "new";
  public static final String PDX_RENAME_NEW__HELP = "The text to replace the word that matched old";
  public static final String PDX_DISKSTORE = "disk-store";
  public static final String PDX_DISKSTORE__HELP = "Name of the disk store to operate on";
  public static final String PDX_DISKDIR = "disk-dirs";
  public static final String PDX_DISKDIR__HELP = "Directories which contain the disk store files";
  public static final String PDX_RENAME__SUCCESS = "Successfully renamed pdx types:\n{0}";
  public static final String PDX_RENAME__ERROR = "Error renaming pdx types : {0}";
  public static final String PDX_RENAME__EMPTY = "No Pdx types found to rename.";

  public static final String PDX_DELETE_FIELD = "pdx delete-field";
  public static final String PDX_DELETE_FIELD__HELP =
      "Deletes a field from a PDX type in an offline disk store. \n Any pdx types with a field deleted by this command will be listed in the output. \n If no deletes are done or the disk-store is online then this command will fail.";
  public static final String PDX_CLASS = "class";
  public static final String PDX_CLASS__HELP =
      "The fully qualified class name of the pdx type to delete the field from.";
  public static final String PDX_FIELD = "field";
  public static final String PDX_FIELD__HELP = "Field name to delete";
  public static final String PDX_DELETE_FIELD__SUCCESS =
      "Successfully deleted field in types:\n{0}";
  public static final String PDX_DELETE_FIELD__ERROR = "Error deleting field : {0}";
  public static final String PDX_DELETE__EMPTY = "Field to be deleted not found in the class.";


  public static final String START_SERVER__REST_API = "start-rest-api";
  public static final String START_SERVER__REST_API__HELP =
      "When set to true, will start the REST API service.";
  public static final String START_SERVER__HTTP_SERVICE_PORT = "http-service-port";
  public static final String START_SERVER__HTTP_SERVICE_PORT__HELP =
      "Port on which HTTP Service will listen on";
  public static final String START_SERVER__HTTP_SERVICE_BIND_ADDRESS = "http-service-bind-address";
  public static final String START_SERVER__HTTP_SERVICE_BIND_ADDRESS__HELP =
      "The IP address on which the HTTP Service will be bound.  By default, the Server is bound to all local addresses.";
  public static final String START_SERVER__USERNAME = "user";
  public static final String START_SERVER__USERNAME_LONGFORM = "username";
  public static final String START_SERVER__USERNAME__HELP =
      "User name to securely connect to the cluster. If the --password parameter is not specified then it will be prompted for.";
  public static final String START_SERVER__PASSWORD = "password";
  public static final String START_SERVER__PASSWORD__HELP =
      "Password to securely connect to the cluster.";
  public static final String START_SERVER__MSG__PASSWORD_MUST_BE_SPECIFIED =
      "password must be specified.";
  public static final String START_SERVER__REDIRECT_OUTPUT = "redirect-output";
  public static final String START_SERVER__REDIRECT_OUTPUT__HELP =
      "Causes the member to redirect standard out and standard error to its own log file.";

  // General CLI Error messages
  public static final String ERROR__MSG__COULD_NOT_FIND_CLASS_0_SPECIFIED_FOR_1 =
      "Could not find class \"{0}\" specified for \"{1}\".";
  public static final String ERROR__MSG__CLASS_0_SPECIFIED_FOR_1_IS_NOT_OF_EXPECTED_TYPE =
      "Class \"{0}\" specified for \"{1}\" is not of an expected type.";
  public static final String ERROR__MSG__COULD_NOT_INSTANTIATE_CLASS_0_SPECIFIED_FOR_1 =
      "Could not instantiate class \"{0}\" specified for \"{1}\".";
  public static final String ERROR__MSG__COULD_NOT_ACCESS_CLASS_0_SPECIFIED_FOR_1 =
      "Could not access class \"{0}\" specified for \"{1}\".";

  /**
   * Creates a MessageFormat with the given pattern and uses it to format the given argument.
   *
   * @param pattern the pattern to be substituted with given argument
   * @param argument an object to be formatted and substituted
   * @return formatted string
   * @throws IllegalArgumentException if the pattern is invalid, or the argument is not of the type
   *         expected by the format element(s) that use it.
   */
  public static String format(String pattern, Object argument) {
    return format(pattern, new Object[] {argument});
  }

  /**
   * Creates a MessageFormat with the given pattern and uses it to format the given arguments.
   *
   * @param pattern the pattern to be substituted with given arguments
   * @param arguments an array of objects to be formatted and substituted
   * @return formatted string
   * @throws IllegalArgumentException if the pattern is invalid, or if an argument in the
   *         <code>arguments</code> array is not of the type expected by the format element(s) that
   *         use it.
   */
  public static String format(String pattern, Object... arguments) {
    return MessageFormat.format(pattern, arguments);
  }


  public static final String IGNORE_INTERCEPTORS = "ignoreInterceptors";

}
