{
    "id": "http://schema.management.azure.com/schemas/2015-01-01-preview/Microsoft.Automation.json#",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Microsoft.Automation",
    "description": "Microsoft Automation Resource Types",
    "definitions": {
        "automationAccounts": {
            "type": "object",
            "properties": {
                "type": {
                    "enum": [
                        "Microsoft.Automation/automationAccounts"
                    ]
                },
                "apiVersion": {
                    "enum": [
                        "2015-01-01-preview"
                    ]
                },
                "properties": {
                    "type": "object",
                    "properties": {
                        "sku": {
                            "type": "object",
                            "properties": {
                                "family": {
                                    "type": "string",
                                    "description": "Automation account sku family."
                                },
                                "name": {
                                    "enum": [
                                        "Free",
                                        "Basic"
                                    ],
                                    "description": "Automation account sku name."
                                },
                                "capacity": {
                                    "type": "integer",
                                    "description": "Automation account sku capacity."
                                }
                            },
                            "description": "Automation account sku.",
                            "required": [
                                "name"
                            ]
                        }
                    },
                    "required": [
                        "sku"
                    ]
                },
                "name": {
                    "type": "string",
                    "description": "Represents the plan associated with the account."
                }
            },
            "required": [
                "properties",
                "name"
            ]
        },
        "runbooks": {
            "type": "object",
            "properties": {
                "type": {
                    "enum": [
                        "Microsoft.Automation/automationAccounts/runbooks",
                        "runbooks"
                    ]
                },
                "apiVersion": {
                    "enum": [
                        "2015-05-01-preview"
                    ]
                },
                "name": {
                    "type": "string",
                    "description": "The name of the Runbook."
                },
                "properties": {
                    "type": "object",
                    "properties": {
                        "logVerbose": {
                            "type": "boolean",
                            "description": "True or false indicating whether to log verbose of the runbook. The default is false."
                        },
                        "logProgress": {
                            "type": "boolean",
                            "description": "True or false indicating whether to log progress of the runbook. The default is false."
                        },
                        "description": {
                            "type": "string",
                            "description": "Description for the runbook."
                        },
                        "runbookType": {
                            "enum": [
                                "PowerShellWorkflow",
                                "PowerShell",
                                "Graph"
                            ],
                            "description": "Type of runbook."
                        },
                        "publishContentLink": {
                            "type": "object",
                            "properties": {
                                "uri": {
                                    "type": "string",
                                    "description": "Public location of an existing runbook file containing runbook. This location can be any public URL. If using Azure Storage, make sure the blob is public, or use a SAS link to the Azure Storage blob."
                                },
                                "contentVersion": {
                                    "type": "string",
                                    "description": "Runbook content version value."
                                },
                                "contentHash": {
                                    "type": "object",
                                    "properties": {
                                        "algorithm": {
                                            "type": "string",
                                            "description": "The encryption algorithm used to create the hash."
                                        },
                                        "value": {
                                            "type": "string",
                                            "description": "Base64-encoded hash value of the of the content at the content link."
                                        }
                                    }
                                }
                            },
                            "required": [
                                "uri"
                            ]
                        }
                    },
                    "required": [
                        "runbookType",
                        "publishedContentLink"
                    ]
                }
            },
            "required": [
                "name",
                "properties"
            ]
        }
    },
    "properties": {
        "automationAccounts": {
            "$ref": "#/definitions/automationAccounts"
        },
        "runbooks": {
            "$ref": "#/definitions/runbooks"
        }
    },
    "required": [
        "automationAccounts",
        "runbooks"
    ]
}