{
    "additionalProperties": false,
    "definitions": {
        "cliInfo": {
            "required": [
                "url",
                "kind",
                "contentHash"
            ],
            "properties": {
                "url": {
                    "type": "string",
                    "description": "URL for the binary CLI."
                },
                "contentHash": {
                    "items": {
                        "$ref": "#/definitions/hash"
                    },
                    "minItems": 1,
                    "type": "array",
                    "description": "List of hashes for the binary CLI that are described in the URL property."
                },
                "kind": {
                    "enum": [
                        "executable",
                        "zip"
                    ],
                    "type": "string",
                    "description": "The format of the CLI."
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "Schema for adding a supported CLI to your package."
        },
        "hash": {
            "required": [
                "algo",
                "value"
            ],
            "properties": {
                "algo": {
                    "enum": [
                        "sha256"
                    ],
                    "type": "string",
                    "description": "The algorithm used to compute the hash."
                },
                "value": {
                    "type": "string",
                    "description": "The value of the hash."
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "CLI validation."
        }
    },
    "properties": {
        "assets": {
            "properties": {
                "uris": {
                    "additionalProperties": {
                        "type": "string"
                    },
                    "type": "object",
                    "description": "This is a mapping of aliases to HTTP resources. The aliases enumerated here are available during resolution of the marathon.json.mustache file."
                },
                "container": {
                    "properties": {
                        "docker": {
                            "additionalProperties": {
                                "type": "string"
                            },
                            "type": "object"
                        }
                    },
                    "additionalProperties": false,
                    "type": "object",
                    "description": "This is a mapping of aliases to Docker images. The aliases enumerated here are available during resolution of marathon.json.mustache file."
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "Object that enumerates all of the required package assets."
        },
        "images": {
            "properties": {
                "icon-small": {
                    "description": "PNG icon URL, preferably 48 by 48 pixels.",
                    "type": "string"
                },
                "icon-large": {
                    "description": "PNG icon URL, preferably 256 by 256 pixels.",
                    "type": "string"
                },
                "screenshots": {
                    "items": {
                        "description": "PNG screen URL, preferably 1024 by 1024 pixels.",
                        "type": "string"
                    },
                    "type": "array"
                },
                "icon-medium": {
                    "description": "PNG icon URL, preferably 128 by 128 pixels.",
                    "type": "string"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "Images used by DC/OS to display the package."
        },
        "cli": {
            "required": [
                "binaries"
            ],
            "properties": {
                "binaries": {
                    "minProperties": 1,
                    "properties": {
                        "linux": {
                            "required": [
                                "x86-64"
                            ],
                            "properties": {
                                "x86-64": {
                                    "$ref": "#/definitions/cliInfo"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Schema for the Linux CLI."
                        },
                        "windows": {
                            "required": [
                                "x86-64"
                            ],
                            "properties": {
                                "x86-64": {
                                    "$ref": "#/definitions/cliInfo"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Schema for the Windows CLI."
                        },
                        "darwin": {
                            "required": [
                                "x86-64"
                            ],
                            "properties": {
                                "x86-64": {
                                    "$ref": "#/definitions/cliInfo"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Schema for the MacOS (darwin) CLI."
                        }
                    },
                    "additionalProperties": false,
                    "type": "object",
                    "description": "Enumerates all of the available binaries in this package."
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "Object that describes all of the required externally hosted assets for this package."
        }
    },
    "$schema": "http://json-schema.org/draft-04/schema#"
}