json_schema: {
      "properties": {
          "configuration": {
              "description": "influxdb networking configuration properties",
              "properties": {
                  "INFLUXDB_MONITOR_STORE_DATABASE": {
                      "default": "_internal",
                      "description": "The destination database for recorded statistics.",
                      "type": "string"
                  },
                  "INFLUXDB_RETENTION_CHECK_INTERVAL": {
                      "default": "30m0s",
                      "description": "The rate at which InfluxDB checks to enforce a retention policy.",
                      "type": "string"
                  },
                  "INFLUXDB_RETENTION_ENABLED": {
                      "default": true,
                      "description": "Set to false to prevent InfluxDB from enforcing retention policies.",
                      "type": "boolean"
                  }
              },
              "type": "object"
          },
          "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": 18086,
                              "description": "For external access, port number to be used for clear communication in the external Marathon-LB load balancer",
                              "type": "number"
                          },
                          "external_public_agent_ip": {
                              "default": "",
                              "description": "For external access, dns to be used for Marathon-LB vHost: For example use your public slave elb dns.",
                              "type": "string"
                          }
                      },
                      "type": "object"
                  },
                  "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"
                          },
                          "volume_mode_influxdb": {
                              "default": "RW",
                              "description": "Choose your mode: RW, R -> default RW.",
                              "type": "string"
                          }
                      },
                      "type": "object"
                  }
              },
              "type": "object"
          }
      }
  }