{
    "captainVersion": "2",
    "documentation": "Taken from https://hub.docker.com/r/microsoft/vsts-agent/",
    "displayName": "VSTS",
    "description": "VSTS is an integrated development environment (IDE) developed as a software product by Microsoft Corp",
    "dockerCompose": {
        "version": "3.3",
        "services": {
            "$$cap_appname": {
                "image": "microsoft/vsts-agent:$$cap_vsts_version",
                "restart": "always",
                "environment": {
                    "VSTS_ACCOUNT": "$$cap_vsts_account",
                    "VSTS_TOKEN": "$$cap_vsts_token",
                    "VSTS_AGENT": "$$cap_vsts_name",
                    "VSTS_POOL": "$$cap_vsts_pool"
                }
            }
        }
    },
    "instructions": {
        "start": "Official image for the Visual Studio Team Services (VSTS) agent.",
        "end": "VSTS Agent is deployed and available as $$cap_appname"
    },
    "variables": [
        {
            "id": "$$cap_vsts_version",
            "label": "VSTS Version Tag",
            "description": "Check out their Docker page for the valid tags https://hub.docker.com/r/microsoft/vsts-agent/tags/",
            "defaultValue": "ubuntu-16.04-standard",
            "validRegex": "/^([^\\s^\\/])+$/"
        },
        {
            "id": "$$cap_vsts_account",
            "label": "VSTS Account",
            "description": "The name of the Visual Studio account. Take only the account part from your address, e.g. http://{account}.visualstudio.com",
            "validRegex": "/.{1,}/"
        },
        {
            "id": "$$cap_vsts_token",
            "label": "VSTS Token",
            "description": "A personal access token (PAT) for the Visual Studio account that has been given at least the Agent Pools (read, manage) scope.",
            "validRegex": "/.{1,}/"
        },
        {
            "id": "$$cap_vsts_name",
            "label": "VSTS Agent Name",
            "validRegex": "/.{1,}/"
        },
        {
            "id": "$$cap_vsts_pool",
            "label": "VSTS Pool",
            "validRegex": "/.{1,}/"
        }
    ]
}
