{
    "properties": {
        "networking": {
            "description": "influxdb networking configuration properties",
            "properties": {
                "external_access": {
                    "description": "Enable access from outside the cluster through Marathon-LB.\nNOTE: this connection is unencrypted.",
                    "properties": {
                        "enable": {
                            "default": false,
                            "description": "Enable or disable creating a VIP for external access through a public node running Marathon-LB.",
                            "type": "boolean"
                        },
                        "external_access_port": {
                            "default": 18083,
                            "description": "For external access, port number to be used for clear communication in the external Marathon-LB load balancer",
                            "type": "number"
                        }
                    },
                    "type": "object"
                },
                "port": {
                    "default": 8083,
                    "description": "Port number to be used for administration internally to the cluster.",
                    "type": "number"
                },
                "port_api": {
                    "default": 8086,
                    "description": "Port number to be used for api communication internally to the cluster.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "service": {
            "description": "DC/OS service configuration properties",
            "properties": {
                "cpus": {
                    "default": 1,
                    "description": "CPU shares to allocate to each service instance.",
                    "minimum": 1,
                    "type": "number"
                },
                "mem": {
                    "default": 2048.0,
                    "description": "Memory to allocate to each service instance.",
                    "minimum": 1024.0,
                    "type": "number"
                },
                "name": {
                    "default": "influxdb",
                    "description": "Name of this service instance",
                    "type": "string"
                }
            },
            "required": [
                "cpus",
                "mem"
            ],
            "type": "object"
        },
        "storage": {
            "description": "influxdb storage configuration properties",
            "properties": {
                "host_volume_influxdb": {
                    "default": "/tmp",
                    "description": "If using non-persistent volumes (local volumes), this sets the location of a volume on the host to be used for the influxdb service to store the contents of the influxdb. The final location will be derived from this value plus the name set in `name` (e.g. `/mnt/host_volume/service_name`). This can be a mounted NFS drive. Note that this path must be the same on all DC/OS agents. NOTE: if you don't change the default /tmp value, YOUR DATA WILL NOT BE SAVED IN ANY WAY.",
                    "type": "string"
                },
                "persistence": {
                    "description": "Enable persistent storage.",
                    "properties": {
                        "enable": {
                            "default": false,
                            "description": "Enable or disable persistent storage.",
                            "type": "boolean"
                        },
                        "external": {
                            "description": "External persistent storage properties",
                            "properties": {
                                "driver": {
                                    "default": "rexray",
                                    "description": "Volume driver to use for storage. The default value should be correct for most use cases.",
                                    "type": "string"
                                },
                                "enable": {
                                    "default": false,
                                    "description": "Enable or disable external persistent storage. The `persistence` option must also be selected. Please note that for these to work, your DC/OS cluster MUST have been installed with the right options in `config.yaml`. Also, please note this requires a working  configuration file for the driver (e.g. `rexray.yaml`).",
                                    "type": "boolean"
                                },
                                "provider": {
                                    "default": "dvdi",
                                    "description": "Provider of the external persistent volume. The default value should be correct for most use cases.",
                                    "type": "string"
                                },
                                "volume_name_influxdb": {
                                    "default": "influxdb",
                                    "description": "Name that your volume driver uses to look up your external volume. When your task is staged on an agent, the volume driver queries the storage service for a volume with this name. If one does not exist, it is created implicitly. Otherwise, the existing volume is reused.",
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        },
                        "volume_size_influxdb": {
                            "default": 2048,
                            "description": "If a new volume is to be created, this controls its size in MBs.",
                            "type": "number"
                        }
                    },
                    "type": "object"
                },
                "pre_create_database": {
                    "default": true,
                    "description": "Check to create one or more databases on the first time the service starts automatically.",
                    "type": "boolean"
                },
                "pre_create_database_name": {
                    "default": "cadvisor",
                    "description": "Use 'db1;db2;db3' to create databases named 'db1', 'db2', and 'db3' on the first time the service starts automatically. Each database name is separated by ; .",
                    "type": "string"
                }
            },
            "type": "object"
        }
    }
}