[
    {
        "desc": "A MirrorMaker message handler of type MirrorMakerMessageHandler that will process every record in-between producer and consumer.",
        "display_name": "MirrorMaker Message Handler",
        "name": "message.handler",
        "value": ""
    },
    {
        "desc": "For advanced use only. A string to be inserted into <strong>mirror_maker_producers.properties</strong> for this role only.",
        "display_name": "Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for mirror_maker_producers.properties",
        "name": "mirror_maker_producers.properties_role_safety_valve",
        "value": null
    },
    {
        "desc": "Regular expression that represents a set of topics to mirror. Note that whitelist and blacklist parameters are mutually exclusive. If both are defined, only the whilelist is used.",
        "display_name": "Topic Whitelist",
        "name": "whitelist",
        "value": ""
    },
    {
        "desc": "For advanced use only. A string to be inserted into <strong>mirror_maker_consumers.properties</strong> for this role only.",
        "display_name": "Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for mirror_maker_consumers.properties",
        "name": "mirror_maker_consumers.properties_role_safety_valve",
        "value": null
    },
    {
        "desc": "The method used to collect stacks. The jstack option involves periodically running the jstack command against the role's daemon process. The servlet method is available for those roles that have an HTTP server endpoint exposing the current stacks traces of all threads. When the servlet method is selected, that HTTP endpoint is periodically scraped.",
        "display_name": "Stacks Collection Method",
        "name": "stacks_collection_method",
        "value": "jstack"
    },
    {
        "desc": "Whether or not periodic stacks collection is enabled.",
        "display_name": "Stacks Collection Enabled",
        "name": "stacks_collection_enabled",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the MirrorMaker Consumer Rebalance Listener parameter.",
        "display_name": "Suppress Parameter Validation: MirrorMaker Consumer Rebalance Listener",
        "name": "role_config_suppression_consumer.rebalance.listener",
        "value": "false"
    },
    {
        "desc": "The timeout used to detect failures when using Kafka's group management facilities. When a consumer's heartbeat is not received within the session timeout, the broker will mark the consumer as failed and rebalance the group. Note that the value must be in the allowable range as configured in the broker by group.min.session.timeout.ms and group.max.session.timeout.ms. Only respected by Kafka 2.0 or later.",
        "display_name": "Consumer Session Timeout",
        "name": "session.timeout.ms",
        "value": "30000"
    },
    {
        "desc": "Whether to suppress the results of the Swap Memory Usage heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Swap Memory Usage",
        "name": "role_health_suppression_kafka_kafka_mirror_maker_swap_memory_usage",
        "value": "false"
    },
    {
        "desc": "Arguments used by MirrorMaker consumer rebalance listener.",
        "display_name": "MirrorMaker Consumer Rebalance Listener Arguments",
        "name": "consumer.rebalance.listener.args",
        "value": ""
    },
    {
        "desc": "The maximum amount of time the consumer will wait for the response of a request. If the response is not received before the timeout elapses the consumer will resend the request if necessary or fail the request if retries are exhausted. Only respected by Kafka 2.0 or later.",
        "display_name": "Consumer Request Timeout",
        "name": "consumer.request.timeout.ms",
        "value": "40000"
    },
    {
        "desc": "For advanced use only. A string to be inserted into <strong>ssl_client.properties</strong> for this role only.",
        "display_name": "Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for ssl_client.properties",
        "name": "ssl_client.properties_role_safety_valve",
        "value": null
    },
    {
        "desc": "The period to review when computing unexpected exits.",
        "display_name": "Unexpected Exits Monitoring Period",
        "name": "unexpected_exits_window",
        "value": "5"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker TLS/SSL Server JKS Keystore File Password parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker TLS/SSL Server JKS Keystore File Password",
        "name": "role_config_suppression_ssl_server_keystore_password",
        "value": "false"
    },
    {
        "desc": "For advanced use only, a string to be inserted into <strong>log4j.properties</strong> for this role only.",
        "display_name": "Kafka MirrorMaker Logging Advanced Configuration Snippet (Safety Valve)",
        "name": "log4j_safety_valve",
        "value": null
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker TLS/SSL Certificate Trust Store Password parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker TLS/SSL Certificate Trust Store Password",
        "name": "role_config_suppression_ssl_client_truststore_password",
        "value": "false"
    },
    {
        "desc": "Number of messages that are buffered between producer and consumer. WARNING: Does not work with Kafka 2.0 or later.",
        "display_name": "Message Queue Size",
        "name": "queue.size",
        "value": "10000"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Topic Blacklist parameter.",
        "display_name": "Suppress Parameter Validation: Topic Blacklist",
        "name": "role_config_suppression_blacklist",
        "value": "false"
    },
    {
        "desc": "The total bytes of memory the producer can use to buffer records waiting to be sent to the server. Only respected by Kafka 2.0 or later.",
        "display_name": "Producer Buffer Memory",
        "name": "buffer.memory",
        "value": "33554432"
    },
    {
        "desc": "The password for the Kafka MirrorMaker TLS/SSL Certificate Trust Store File. This password is not required to access the trust store; this field can be left blank. This password provides optional integrity checking of the file. The contents of trust stores are certificates, and certificates are public information.",
        "display_name": "Kafka MirrorMaker TLS/SSL Certificate Trust Store Password",
        "name": "ssl_client_truststore_password",
        "value": ""
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker Log Directory parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker Log Directory",
        "name": "role_config_suppression_log_dir",
        "value": "false"
    },
    {
        "desc": "When set, generates heap dump file when java.lang.OutOfMemoryError is thrown.",
        "display_name": "Dump Heap When Out of Memory",
        "name": "oom_heap_dump_enabled",
        "value": "true"
    },
    {
        "desc": "The health test thresholds of the number of file descriptors used. Specified as a percentage of file descriptor limit.",
        "display_name": "File Descriptor Monitoring Thresholds",
        "name": "kafka_mirror_maker_fd_thresholds",
        "value": "{\"critical\":\"70.0\",\"warning\":\"50.0\"}"
    },
    {
        "desc": "Offset commit interval in milliseconds.",
        "display_name": "Offset Commit Interval",
        "name": "offset.commit.interval.ms",
        "value": "60000"
    },
    {
        "desc": "The path to the TLS/SSL keystore file containing the server certificate and private key used for TLS/SSL. Used when Kafka MirrorMaker is acting as a TLS/SSL server. The keystore must be in JKS format.",
        "display_name": "Kafka MirrorMaker TLS/SSL Server JKS Keystore File Location",
        "name": "ssl_server_keystore_location",
        "value": ""
    },
    {
        "desc": "When computing the overall Kafka MirrorMaker health, consider the host's health.",
        "display_name": "Kafka MirrorMaker Host Health Test",
        "name": "kafka_mirror_maker_host_health_enabled",
        "value": "true"
    },
    {
        "desc": "Only required if source Kafka cluster requires client authentication.",
        "display_name": "Source Kafka Cluster's Client Auth",
        "name": "source.ssl.client.auth",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for mirror_maker_consumers.properties parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for mirror_maker_consumers.properties",
        "name": "role_config_suppression_mirror_maker_consumers.properties_role_safety_valve",
        "value": "false"
    },
    {
        "desc": "The amount of stacks data that is retained. After the retention limit is reached, the oldest data is deleted.",
        "display_name": "Stacks Collection Data Retention",
        "name": "stacks_collection_data_retention",
        "value": "104857600"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Stacks Collection Directory parameter.",
        "display_name": "Suppress Parameter Validation: Stacks Collection Directory",
        "name": "role_config_suppression_stacks_collection_directory",
        "value": "false"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory. Specified as a percentage of the capacity on that filesystem. This setting is not used if a Log Directory Free Space Monitoring Absolute Thresholds setting is configured.",
        "display_name": "Log Directory Free Space Monitoring Percentage Thresholds",
        "name": "log_directory_free_space_percentage_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"never\"}"
    },
    {
        "desc": "These arguments are passed as part of the Java command line. Commonly, garbage collection flags or extra debugging flags are passed here.",
        "display_name": "Additional MirrorMaker Java Options",
        "name": "mirror_maker_java_opts",
        "value": "-server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
    },
    {
        "desc": "Arguments used by MirrorMaker message handler.",
        "display_name": "MirrorMaker Message Handler Arguments",
        "name": "message.handler.args",
        "value": ""
    },
    {
        "desc": "The password that protects the private key contained in the JKS keystore used when Kafka MirrorMaker is acting as a TLS/SSL server.",
        "display_name": "Kafka MirrorMaker TLS/SSL Server JKS Keystore Key Password",
        "name": "ssl_server_keystore_keypassword",
        "value": ""
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Role Triggers parameter.",
        "display_name": "Suppress Parameter Validation: Role Triggers",
        "name": "role_config_suppression_role_triggers",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Destination Broker List parameter.",
        "display_name": "Suppress Parameter Validation: Destination Broker List",
        "name": "role_config_suppression_bootstrap.servers",
        "value": "false"
    },
    {
        "desc": "The maximum size, in megabytes, per log file for Kafka MirrorMaker logs.  Typically used by log4j or logback.",
        "display_name": "Kafka MirrorMaker Max Log Size",
        "name": "max_log_size",
        "value": "200"
    },
    {
        "desc": "<p>The configured triggers for this role. This is a JSON-formatted list of triggers. These triggers are evaluated as part as the health system. Every trigger expression is parsed, and if the trigger condition is met, the list of actions provided in the trigger expression is executed.</p><p>Each trigger has the following fields:</p><ul><li><code>triggerName</code> <b>(mandatory)</b> - The name of the trigger. This value must be unique for the specific role. </li><li><code>triggerExpression</code> <b>(mandatory)</b> - A tsquery expression representing the trigger. </li><li><code>streamThreshold</code> <b>(optional)</b> - The maximum number of streams that can satisfy a condition of a trigger before the condition fires. By default set to 0, and any stream returned causes the condition to fire. </li><li><code>enabled</code> <b> (optional)</b> - By default set to 'true'. If set to 'false', the trigger is not evaluated.</li><li><code>expressionEditorConfig</code> <b> (optional)</b> - Metadata for the trigger editor. If present, the trigger should only be edited from the Edit Trigger page; editing the trigger here can lead to inconsistencies.</li></ul><p>For example, the following JSON formatted trigger configured for a DataNode fires if the DataNode has more than 1500 file descriptors opened:</p><p><pre>[{\"triggerName\": \"sample-trigger\",\n  \"triggerExpression\": \"IF (SELECT fd_open WHERE roleName=$ROLENAME and last(fd_open) > 1500) DO health:bad\",\n  \"streamThreshold\": 0, \"enabled\": \"true\"}]</pre></p><p>See the trigger rules documentation for more details on how to write triggers using tsquery.</p><p>The JSON format is evolving and may change and, as a result, backward compatibility is not guaranteed between releases.</p>",
        "display_name": "Role Triggers",
        "name": "role_triggers",
        "value": "[]"
    },
    {
        "desc": "The log directory for log files of the role Kafka MirrorMaker.",
        "display_name": "Kafka MirrorMaker Log Directory",
        "name": "log_dir",
        "value": "/var/log/kafka"
    },
    {
        "desc": "Stop the entire mirror maker when a send failure occurs.",
        "display_name": "Abort on Send Failure",
        "name": "abort.on.send.failure",
        "value": "true"
    },
    {
        "desc": "The location on disk of the trust store, in .jks format, used to confirm the authenticity of TLS/SSL servers that Kafka MirrorMaker might connect to. This is used when Kafka MirrorMaker is the client in a TLS/SSL connection. This trust store must contain the certificate(s) used to sign the service(s) connected to. If this parameter is not provided, the default list of well-known certificate authorities is used instead.",
        "display_name": "Kafka MirrorMaker TLS/SSL Certificate Trust Store File",
        "name": "ssl_client_truststore_location",
        "value": ""
    },
    {
        "desc": "The frequency with which stacks are collected.",
        "display_name": "Stacks Collection Frequency",
        "name": "stacks_collection_frequency",
        "value": "5.0"
    },
    {
        "desc": "Number of producer instances. WARNING: Does not work with Kafka 2.0 or later.",
        "display_name": "Number of Producers",
        "name": "num.producers",
        "value": "1"
    },
    {
        "desc": "Port for JMX.",
        "display_name": "JMX Port",
        "name": "jmx_port",
        "value": "9394"
    },
    {
        "desc": "The health test thresholds for unexpected exits encountered within a recent period specified by the unexpected_exits_window configuration for the role.",
        "display_name": "Unexpected Exits Thresholds",
        "name": "unexpected_exits_thresholds",
        "value": "{\"critical\":\"any\",\"warning\":\"never\"}"
    },
    {
        "desc": "Enables the health test that the Kafka MirrorMaker's process state is consistent with the role configuration",
        "display_name": "Kafka MirrorMaker Process Health Test",
        "name": "kafka_mirror_maker_scm_health_enabled",
        "value": "true"
    },
    {
        "desc": "The compression type for all data generated by the producer. Only respected by Kafka 2.0 or later.",
        "display_name": "Producer Compression Type",
        "name": "compression.type",
        "value": "none"
    },
    {
        "desc": "Whether to suppress the results of the Process Status heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Process Status",
        "name": "role_health_suppression_kafka_kafka_mirror_maker_scm_health",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for ssl_client.properties parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for ssl_client.properties",
        "name": "role_config_suppression_ssl_client.properties_role_safety_valve",
        "value": "false"
    },
    {
        "desc": "The minimum amount of data the server should return for a fetch request. If insufficient data is available the request will wait for that much data to accumulate before answering the request. Setting this to something greater than 1 will cause the server to wait for larger amounts of data to accumulate which can improve server throughput a bit at the cost of some additional latency.",
        "display_name": "Consumer Minimum Fetch Size",
        "name": "fetch.min.bytes",
        "value": "1"
    },
    {
        "desc": "Protocol to be used for communication with destination kafka cluster.",
        "display_name": "Destination Kafka Cluster's Security Protocol",
        "name": "destination.security.protocol",
        "value": "PLAINTEXT"
    },
    {
        "desc": "Number of CPU shares to assign to this role. The greater the number of shares, the larger the share of the host's CPUs that will be given to this role when the host experiences CPU contention. Must be between 2 and 262144. Defaults to 1024 for processes not managed by Cloudera Manager.",
        "display_name": "Cgroup CPU Shares",
        "name": "rm_cpu_shares",
        "value": "1024"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker TLS/SSL Server JKS Keystore File Location parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker TLS/SSL Server JKS Keystore File Location",
        "name": "role_config_suppression_ssl_server_keystore_location",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Topic Whitelist parameter.",
        "display_name": "Suppress Parameter Validation: Topic Whitelist",
        "name": "role_config_suppression_whitelist",
        "value": "false"
    },
    {
        "desc": "The minimum log level for Kafka MirrorMaker logs",
        "display_name": "Kafka MirrorMaker Logging Threshold",
        "name": "log_threshold",
        "value": "INFO"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for ssl_server.properties parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for ssl_server.properties",
        "name": "role_config_suppression_ssl_server.properties_role_safety_valve",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker Environment Advanced Configuration Snippet (Safety Valve) parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker Environment Advanced Configuration Snippet (Safety Valve)",
        "name": "role_config_suppression_kafka_mirror_maker_role_env_safety_valve",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker TLS/SSL Certificate Trust Store File parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker TLS/SSL Certificate Trust Store File",
        "name": "role_config_suppression_ssl_client_truststore_location",
        "value": "false"
    },
    {
        "desc": "Whether to suppress the results of the Log Directory Free Space heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Log Directory Free Space",
        "name": "role_health_suppression_kafka_kafka_mirror_maker_log_directory_free_space",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Java Heap Size of MirrorMaker parameter.",
        "display_name": "Suppress Parameter Validation: Java Heap Size of MirrorMaker",
        "name": "role_config_suppression_mirror_maker_max_heap_size",
        "value": "false"
    },
    {
        "desc": "When set, this role's process is automatically (and transparently) restarted in the event of an unexpected failure.",
        "display_name": "Automatically Restart Process",
        "name": "process_auto_restart",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker Logging Advanced Configuration Snippet (Safety Valve) parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker Logging Advanced Configuration Snippet (Safety Valve)",
        "name": "role_config_suppression_log4j_safety_valve",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the CDH Version Validator configuration validator.",
        "display_name": "Suppress Configuration Validator: CDH Version Validator",
        "name": "role_config_suppression_cdh_version_validator",
        "value": "false"
    },
    {
        "desc": "Hard memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
        "display_name": "Cgroup Memory Hard Limit",
        "name": "rm_memory_hard_limit",
        "value": "-1"
    },
    {
        "desc": "The maximum amount of time the producer will wait for the response of a request. If the response is not received before the timeout elapses the producer will resend the request if necessary or fail the request if retries are exhausted. Only respected by Kafka 2.0 or later.",
        "display_name": "Producer Request Timeout",
        "name": "producer.request.timeout.ms",
        "value": "30000"
    },
    {
        "desc": "Encrypt communication between clients and Kafka MirrorMaker using Transport Layer Security (TLS) (formerly known as Secure Socket Layer (SSL)).",
        "display_name": "Enable TLS/SSL for Kafka MirrorMaker",
        "name": "ssl_enabled",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the MirrorMaker Consumer Rebalance Listener Arguments parameter.",
        "display_name": "Suppress Parameter Validation: MirrorMaker Consumer Rebalance Listener Arguments",
        "name": "role_config_suppression_consumer.rebalance.listener.args",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker TLS/SSL Server JKS Keystore Key Password parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker TLS/SSL Server JKS Keystore Key Password",
        "name": "role_config_suppression_ssl_server_keystore_keypassword",
        "value": "false"
    },
    {
        "desc": "Whether to suppress the results of the File Descriptors heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: File Descriptors",
        "name": "role_health_suppression_kafka_kafka_mirror_maker_file_descriptor",
        "value": "false"
    },
    {
        "desc": "The health test thresholds on the swap memory usage of the process.",
        "display_name": "Process Swap Memory Thresholds",
        "name": "process_swap_memory_thresholds",
        "value": "{\"critical\":\"never\",\"warning\":\"any\"}"
    },
    {
        "desc": "Name of the consumer group used by MirrorMaker. When multiple role instances are configured with the same topics and same group ID, the role instances load-balance replication for the topics. When multiple role instances are configured with the same topics but different group ID, each role instance replicates all the events for those topics - this can be used to replicate the source cluster into multiple destination clusters.",
        "display_name": "Consumer Group ID",
        "name": "group.id",
        "value": "cloudera_mirrormaker"
    },
    {
        "desc": "The health test thresholds for monitoring of free space on the filesystem that contains this role's log directory.",
        "display_name": "Log Directory Free Space Monitoring Absolute Thresholds",
        "name": "log_directory_free_space_absolute_thresholds",
        "value": "{\"critical\":\"5.36870912E9\",\"warning\":\"1.073741824E10\"}"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the MirrorMaker Message Handler Arguments parameter.",
        "display_name": "Suppress Parameter Validation: MirrorMaker Message Handler Arguments",
        "name": "role_config_suppression_message.handler.args",
        "value": "false"
    },
    {
        "desc": "If configured, overrides the process soft and hard rlimits (also called ulimits) for file descriptors to the configured value.",
        "display_name": "Maximum Process File Descriptors",
        "name": "rlimit_fds",
        "value": null
    },
    {
        "desc": "Regular expression that represents a set of topics to avoid mirroring. Note that whitelist and blacklist parameters are mutually exclusive. If both are defined, only the whilelist is used. WARNING: Does not work with Kafka 2.0 or later.",
        "display_name": "Topic Blacklist",
        "name": "blacklist",
        "value": ""
    },
    {
        "desc": "Maximum number of bytes that can be buffered between producer and consumer. WARNING: Does not work with Kafka 2.0 or later.",
        "display_name": "Queue Size",
        "name": "queue.byte.size",
        "value": "100000000"
    },
    {
        "desc": "Whether to suppress the results of the Unexpected Exits heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Unexpected Exits",
        "name": "role_health_suppression_kafka_kafka_mirror_maker_unexpected_exits",
        "value": "false"
    },
    {
        "desc": "For advanced use only, key-value pairs (one on each line) to be inserted into a role's environment. Applies to configurations of this role except client configuration.",
        "display_name": "Kafka MirrorMaker Environment Advanced Configuration Snippet (Safety Valve)",
        "name": "KAFKA_MIRROR_MAKER_role_env_safety_valve",
        "value": null
    },
    {
        "desc": "Only required if destination Kafka cluster requires client authentication.",
        "display_name": "Destination Kafka Cluster's Client Auth",
        "name": "destination.ssl.client.auth",
        "value": "false"
    },
    {
        "desc": "Path to directory where heap dumps are generated when java.lang.OutOfMemoryError error is thrown. This directory is automatically created if it does not exist. If this directory already exists, role user must have write access to this directory. If this directory is shared among multiple roles, it should have 1777 permissions. The heap dump files are created with 600 permissions and are owned by the role user. The amount of free space in this directory should be greater than the maximum Java Process heap size configured for this role.",
        "display_name": "Heap Dump Directory",
        "name": "oom_heap_dump_dir",
        "value": "/tmp"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Additional MirrorMaker Java Options parameter.",
        "display_name": "Suppress Parameter Validation: Additional MirrorMaker Java Options",
        "name": "role_config_suppression_mirror_maker_java_opts",
        "value": "false"
    },
    {
        "desc": "When set, Cloudera Manager will send alerts when the health of this role reaches the threshold specified by the EventServer setting eventserver_health_events_alert_threshold",
        "display_name": "Enable Health Alerts for this Role",
        "name": "enable_alerts",
        "value": "true"
    },
    {
        "desc": "For advanced use only. A string to be inserted into <strong>ssl_server.properties</strong> for this role only.",
        "display_name": "Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for ssl_server.properties",
        "name": "ssl_server.properties_role_safety_valve",
        "value": null
    },
    {
        "desc": "A consumer rebalance listener of type ConsumerRebalanceListener to be invoked when MirrorMaker's consumer rebalances.",
        "display_name": "MirrorMaker Consumer Rebalance Listener",
        "name": "consumer.rebalance.listener",
        "value": ""
    },
    {
        "desc": "Whether to suppress the results of the Host Health heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Host Health",
        "name": "role_health_suppression_kafka_kafka_mirror_maker_host_health",
        "value": "false"
    },
    {
        "desc": "This configuration controls the batch size in bytes. The producer will attempt to batch records together into fewer requests whenever multiple records are being sent to the same partition. This helps performance on both the client and the server. Only respected by Kafka 2.0 or later.",
        "display_name": "Producer Batch Size",
        "name": "batch.size",
        "value": "16384"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Heap Dump Directory parameter.",
        "display_name": "Suppress Parameter Validation: Heap Dump Directory",
        "name": "role_config_suppression_oom_heap_dump_dir",
        "value": "false"
    },
    {
        "desc": "Number of consumer threads.",
        "display_name": "Number of Consumer Threads",
        "name": "num.streams",
        "value": "1"
    },
    {
        "desc": "The maximum number of rolled log files to keep for Kafka MirrorMaker logs.  Typically used by log4j or logback.",
        "display_name": "Kafka MirrorMaker Maximum Log File Backups",
        "name": "max_log_backup_index",
        "value": "10"
    },
    {
        "desc": "The upper bound on the delay for batching. Once the producer gets a batch.size worth of records for a partition it will be sent immediately regardless of this setting. However if fewer than this many bytes accumulated for this partition the producer will 'linger' for the specified time waiting for more records to show up. Only respected by Kafka 2.0 or later.",
        "display_name": "Producer Linger Time",
        "name": "linger.ms",
        "value": "0"
    },
    {
        "desc": "Protocol to be used for communication with source kafka cluster.",
        "display_name": "Source Kafka Cluster's Security Protocol",
        "name": "source.security.protocol",
        "value": "PLAINTEXT"
    },
    {
        "desc": "Soft memory limit to assign to this role, enforced by the Linux kernel. When the limit is reached, the kernel will reclaim pages charged to the process if and only if the host is facing memory pressure. If reclaiming fails, the kernel may kill the process. Both anonymous as well as page cache pages contribute to the limit. Use a value of -1 B to specify no limit. By default processes not managed by Cloudera Manager will have no limit.",
        "display_name": "Cgroup Memory Soft Limit",
        "name": "rm_memory_soft_limit",
        "value": "-1"
    },
    {
        "desc": "Cloudera Manager agent monitors each service and each of its role by publishing metrics to the Cloudera Manager Service Monitor. Setting it to false will stop Cloudera Manager agent from publishing any metric for corresponding service/roles. This is usually helpful for services that generate large amount of metrics which Service Monitor is not able to process.",
        "display_name": "Enable Metric Collection",
        "name": "process_should_monitor",
        "value": "true"
    },
    {
        "desc": "List of brokers on source cluster. This should be more than one, for high availability, but there's no need to list all brokers.",
        "display_name": "Source Broker List",
        "name": "source.bootstrap.servers",
        "value": null
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for mirror_maker_producers.properties parameter.",
        "display_name": "Suppress Parameter Validation: Kafka MirrorMaker Advanced Configuration Snippet (Safety Valve) for mirror_maker_producers.properties",
        "name": "role_config_suppression_mirror_maker_producers.properties_role_safety_valve",
        "value": "false"
    },
    {
        "desc": "When set, a SIGKILL signal is sent to the role process when java.lang.OutOfMemoryError is thrown.",
        "display_name": "Kill When Out of Memory",
        "name": "oom_sigkill_enabled",
        "value": "true"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Source Broker List parameter.",
        "display_name": "Suppress Parameter Validation: Source Broker List",
        "name": "role_config_suppression_source.bootstrap.servers",
        "value": "false"
    },
    {
        "desc": "Run with MirrorMaker settings that eliminate potential loss of data. This impacts performance, but is highly recommended. WARNING: Does not work with Kafka 2.0 or later.",
        "display_name": "Avoid Data Loss",
        "name": "no.data.loss",
        "value": "true"
    },
    {
        "desc": "The password for the Kafka MirrorMaker JKS keystore file.",
        "display_name": "Kafka MirrorMaker TLS/SSL Server JKS Keystore File Password",
        "name": "ssl_server_keystore_password",
        "value": ""
    },
    {
        "desc": "When set, Cloudera Manager will send alerts when this entity's configuration changes.",
        "display_name": "Enable Configuration Change Alerts",
        "name": "enable_config_alerts",
        "value": "false"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the Consumer Group ID parameter.",
        "display_name": "Suppress Parameter Validation: Consumer Group ID",
        "name": "role_config_suppression_group.id",
        "value": "false"
    },
    {
        "desc": "List of brokers on destination cluster. This should be more than one, for high availability, but there's no need to list all brokers.",
        "display_name": "Destination Broker List",
        "name": "bootstrap.servers",
        "value": null
    },
    {
        "desc": "The directory in which stacks logs are placed. If not set, stacks are logged into a <code>stacks</code> subdirectory of the role's log directory.",
        "display_name": "Stacks Collection Directory",
        "name": "stacks_collection_directory",
        "value": null
    },
    {
        "desc": "Whether to suppress the results of the Audit Pipeline Test heath test. The results of suppressed health tests are ignored when computing the overall health of the associated host, role or service, so suppressed health tests will not generate alerts.",
        "display_name": "Suppress Health Test: Audit Pipeline Test",
        "name": "role_health_suppression_kafka_kafka_mirror_maker_audit_health",
        "value": "false"
    },
    {
        "desc": "Weight for the read I/O requests issued by this role. The greater the weight, the higher the priority of the requests when the host experiences I/O contention. Must be between 100 and 1000. Defaults to 1000 for processes not managed by Cloudera Manager.",
        "display_name": "Cgroup I/O Weight",
        "name": "rm_io_weight",
        "value": "500"
    },
    {
        "desc": "Whether to suppress configuration warnings produced by the built-in parameter validation for the MirrorMaker Message Handler parameter.",
        "display_name": "Suppress Parameter Validation: MirrorMaker Message Handler",
        "name": "role_config_suppression_message.handler",
        "value": "false"
    },
    {
        "desc": "Maximum size for the Java process heap memory. Passed to Java -Xmx. Measured in megabytes.",
        "display_name": "Java Heap Size of MirrorMaker",
        "name": "mirror_maker_max_heap_size",
        "value": "1024"
    }
]