json_schema: {
      "properties": {
          "ceph": {
              "description": "ceph service configuration properties",
              "properties": {
                  "cpus": {
                      "default": 1,
                      "description": "CPU shares to allocate to each service instance.",
                      "minimum": 0.5,
                      "type": "number"
                  },
                  "mem": {
                      "default": 1024.0,
                      "description": "Memory to allocate to each service instance.",
                      "minimum": 512.0,
                      "type": "number"
                  }
              },
              "required": [
                  "cpus",
                  "mem"
              ],
              "type": "object"
          },
          "networking": {
              "description": "Ceph networking configuration properties",
              "properties": {
                  "ceph_api_port": {
                      "default": 5000,
                      "description": "The port where the Ceph API is listening on.",
                      "type": "number"
                  },
                  "cluster_network": {
                      "description": "Network where the Ceph nodes live. This is usually the host network where the DC/OS nodes live. This network is assumed to be trusted.",
                      "type": "string"
                  },
                  "external_access": {
                      "description": "Enable access from outside the cluster through Marathon-LB.\nNOTE: this connection is unencrypted.",
                      "properties": {
                          "enable": {
                              "default": true,
                              "description": "Enable or disable creating a VIP for external access through a public node running Marathon-LB.",
                              "type": "boolean"
                          },
                          "external_access_port": {
                              "default": 5000,
                              "description": "For external access, port number to be used for clear communication in the external Marathon-LB load balancer",
                              "type": "number"
                          },
                          "virtual_host": {
                              "default": "ceph.example.org",
                              "description": "For external access, Virtual Host URL to be used in the external load balancer.",
                              "type": "string"
                          }
                      },
                      "type": "object"
                  },
                  "public_network": {
                      "description": "Network that the Ceph services are exposed on, where the Ceph clients/consumers live. This is often the same as cluster_network unless Ceph is to be exposed outside the cluster.",
                      "type": "string"
                  }
              },
              "required": [
                  "cluster_network",
                  "public_network"
              ],
              "type": "object"
          },
          "service": {
              "description": "DC/OS service configuration properties",
              "properties": {
                  "name": {
                      "default": "ceph",
                      "description": "Name of this service instance.",
                      "type": "string"
                  }
              },
              "type": "object"
          }
      }
  }