in source/config/Config.cpp [1635:1731]
void Config::PrintHelpMessage()
{
const char *helpMessageTemplate =
"\n\n\tAWS IoT Device Client BINARY\n"
"\n"
"For more documentation, see https://github.com/awslabs/aws-iot-device-client\n"
"\n"
"Available sub-commands:\n"
"\n"
"%s:\t\t\t\t\t\t\t\t\tGet more help on commands\n"
"%s <JSON-File-Location>:\t\t\t\tExport default settings for the AWS IoT Device Client binary to the specified "
"file "
"and exit "
"program\n"
"%s <JSON-File-Location>:\t\t\t\t\tTake settings defined in the specified JSON file and start the binary\n"
"%s <[DEBUG, INFO, WARN, ERROR]>:\t\t\t\tSpecify the log level for the AWS IoT Device Client\n"
"%s <[STDOUT, FILE]>:\t\t\t\t\t\tSpecify the logger implementation to use.\n"
"%s <File-Location>:\t\t\t\t\t\tWrite logs to specified log file when using the file logger.\n"
"%s \t\t\t\t\t\t\tEnable SDK Logging.\n"
"%s <[Trace, Debug, Info, Warn, Error, Fatal]>:\t\tSpecify the log level for the SDK\n"
"%s <File-Location>:\t\t\t\t\t\tWrite SDK logs to specified log file.\n"
"%s [true|false]:\t\t\t\t\t\tEnables/Disables Jobs feature\n"
"%s [true|false]:\t\t\t\t\tEnables/Disables Tunneling feature\n"
"%s [true|false]:\t\t\t\t\tEnables/Disables Device Defender feature\n"
"%s [true|false]:\t\t\t\tEnables/Disables Fleet Provisioning feature\n"
"%s [true|false]:\t\t\t\t\t\tEnables/Disables Pub/Sub Sample feature\n"
"%s [true|false]:\t\t\t\t\t\tEnables/Disables Sample Shadow feature\n"
"%s [true|false]:\t\t\t\t\t\tEnables/Disables Config Shadow feature\n"
"%s <endpoint-value>:\t\t\t\t\t\tUse Specified Endpoint\n"
"%s <Cert-Location>:\t\t\t\t\t\t\tUse Specified Cert file\n"
"%s <Key-Location>:\t\t\t\t\t\t\tUse Specified Key file\n"
"%s <Root-CA-Location>:\t\t\t\t\t\tUse Specified Root-CA file\n"
"%s <thing-name-value/client-id-value>:\t\t\t\t\tUse Specified Thing Name (Also used as Client ID)\n"
"%s <Jobs-handler-directory>:\t\t\t\tUse specified directory to find job handlers\n"
"%s <region>:\t\t\t\t\t\tUse Specified AWS Region for Secure Tunneling\n"
"%s <service>:\t\t\t\t\t\tConnect secure tunnel to specific service\n"
"%s:\t\t\t\t\tDisable MQTT new tunnel notification for Secure Tunneling\n"
"%s <interval>:\t\t\t\t\tPositive integer to publish Device Defender metrics\n"
"%s <template-name>:\t\t\tUse specified Fleet Provisioning template name\n"
"%s <template-parameters>:\t\tUse specified Fleet Provisioning template parameters. A JSON object specified as "
"an escaped string\n"
"%s <csr-file-path>:\t\t\t\t\t\tUse specified CSR file to generate a certificate by keeping user private key "
"secure. If the CSR file is specified without also specifying a device private key, the Device Client will use "
"Claim Certificate and Private key to generate new Certificate and Private Key while provisioning the device\n"
"%s <device-key-path>:\t\t\t\t\t\tUse specified device key to connect to IoT core after provisioning using csr "
"file is completed. If the CSR file is specified without also specifying a device private key, the Device "
"Client will use Claim Certificate and Private key to generate new Certificate and Private Key while "
"provisioning the device\n"
"%s <publish-topic>:\t\t\t\t\tThe topic the Pub/Sub sample feature will publish to\n"
"%s <path/to/publish/file>:\t\t\t\t\tThe file the Pub/Sub sample feature will read from when publishing\n"
"%s <subscribe-topic>:\t\t\t\t\tThe topic the Pub/Sub sample feature will receive messages on\n"
"%s <path/to/sub/file>:\t\t\t\t\tThe file the Pub/Sub sample feature will write received messaged to\n"
"%s <shadow-name>:\t\t\t\t\tThe name of shadow SampleShadow feature will create or update\n"
"%s <shadow-input-file>:\t\t\t\t\tThe file the Sample Shadow feature will read from when updating shadow data\n"
"%s <shadow-output-file>:\t\t\t\t\tThe file the Sample Shadow feature will write the latest shadow document "
"to\n";
cout << FormatMessage(
helpMessageTemplate,
CLI_HELP,
CLI_EXPORT_DEFAULT_SETTINGS,
CLI_CONFIG_FILE,
PlainConfig::LogConfig::CLI_LOG_LEVEL,
PlainConfig::LogConfig::CLI_LOG_TYPE,
PlainConfig::LogConfig::CLI_LOG_FILE,
PlainConfig::LogConfig::CLI_ENABLE_SDK_LOGGING,
PlainConfig::LogConfig::CLI_SDK_LOG_LEVEL,
PlainConfig::LogConfig::CLI_SDK_LOG_FILE,
PlainConfig::Jobs::CLI_ENABLE_JOBS,
PlainConfig::Tunneling::CLI_ENABLE_TUNNELING,
PlainConfig::DeviceDefender::CLI_ENABLE_DEVICE_DEFENDER,
PlainConfig::FleetProvisioning::CLI_ENABLE_FLEET_PROVISIONING,
PlainConfig::PubSub::CLI_ENABLE_PUB_SUB,
PlainConfig::SampleShadow::CLI_ENABLE_SAMPLE_SHADOW,
PlainConfig::ConfigShadow::CLI_ENABLE_CONFIG_SHADOW,
PlainConfig::CLI_ENDPOINT,
PlainConfig::CLI_CERT,
PlainConfig::CLI_KEY,
PlainConfig::CLI_ROOT_CA,
PlainConfig::CLI_THING_NAME,
PlainConfig::Jobs::CLI_HANDLER_DIR,
PlainConfig::Tunneling::CLI_TUNNELING_REGION,
PlainConfig::Tunneling::CLI_TUNNELING_SERVICE,
PlainConfig::Tunneling::CLI_TUNNELING_DISABLE_NOTIFICATION,
PlainConfig::DeviceDefender::CLI_DEVICE_DEFENDER_INTERVAL,
PlainConfig::FleetProvisioning::CLI_FLEET_PROVISIONING_TEMPLATE_NAME,
PlainConfig::FleetProvisioning::CLI_FLEET_PROVISIONING_TEMPLATE_PARAMETERS,
PlainConfig::FleetProvisioning::CLI_FLEET_PROVISIONING_CSR_FILE,
PlainConfig::FleetProvisioning::CLI_FLEET_PROVISIONING_DEVICE_KEY,
PlainConfig::PubSub::CLI_PUB_SUB_PUBLISH_TOPIC,
PlainConfig::PubSub::CLI_PUB_SUB_PUBLISH_FILE,
PlainConfig::PubSub::CLI_PUB_SUB_SUBSCRIBE_TOPIC,
PlainConfig::PubSub::CLI_PUB_SUB_SUBSCRIBE_FILE,
PlainConfig::SampleShadow::CLI_SAMPLE_SHADOW_NAME,
PlainConfig::SampleShadow::CLI_SAMPLE_SHADOW_INPUT_FILE,
PlainConfig::SampleShadow::CLI_SAMPLE_SHADOW_OUTPUT_FILE);
}