{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
        "IdentitySchema": {
            "properties": {
                "principal_id": {
                    "title": "principal_id",
                    "type": "string",
                    "readonly": true
                },
                "$schema": {
                    "title": "$schema",
                    "type": "string",
                    "readonly": true
                },
                "tenant_id": {
                    "title": "tenant_id",
                    "type": "string",
                    "readonly": true
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "system_assigned",
                        "user_assigned",
                        "none",
                        "system_assigned,user_assigned"
                    ],
                    "title": "type"
                },
                "user_assigned_identities": {
                    "title": "user_assigned_identities",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "$ref": "#/definitions/UserAssignedIdentitySchema"
                    }
                }
            },
            "type": "object",
            "additionalProperties": false
        },
        "UserAssignedIdentitySchema": {
            "properties": {
                "client_id": {
                    "title": "client_id",
                    "type": "string",
                    "readonly": true
                },
                "principal_id": {
                    "title": "principal_id",
                    "type": "string",
                    "readonly": true
                },
                "resource_id": {
                    "title": "resource_id",
                    "type": "string"
                },
                "$schema": {
                    "title": "$schema",
                    "type": "string",
                    "readonly": true
                },
                "tenant_id": {
                    "title": "tenant_id",
                    "type": "string",
                    "readonly": true
                }
            },
            "type": "object",
            "additionalProperties": false
        },
        "NetworkSettingsSchema": {
            "properties": {
                "private_ip_address": {
                    "title": "private_ip_address",
                    "type": "string",
                    "readonly": true
                },
                "public_ip_address": {
                    "title": "public_ip_address",
                    "type": "string",
                    "readonly": true
                },
                "$schema": {
                    "title": "$schema",
                    "type": "string",
                    "readonly": true
                },
                "subnet": {
                    "title": "subnet",
                    "type": "string"
                },
                "vnet_name": {
                    "title": "vnet_name",
                    "type": "string"
                }
            },
            "type": "object",
            "additionalProperties": false
        },
        "AmlComputeSshSettingsSchema": {
            "properties": {
                "admin_password": {
                    "title": "admin_password",
                    "type": "string"
                },
                "admin_username": {
                    "title": "admin_username",
                    "type": "string"
                },
                "ssh_key_value": {
                    "title": "ssh_key_value",
                    "type": "string"
                }
            },
            "type": "object",
            "additionalProperties": false
        },
        "AmlComputeSchema": {
            "properties": {
                "created_on": {
                    "title": "created_on",
                    "type": "string",
                    "readonly": true
                },
                "description": {
                    "title": "description",
                    "type": "string"
                },
                "enable_node_public_ip": {
                    "title": "enable_node_public_ip",
                    "type": "boolean",
                    "description": "Enable or disable node public IP address provisioning."
                },
                "id": {
                    "title": "id",
                    "type": "string",
                    "readonly": true
                },
                "identity": {
                    "type": "object",
                    "$ref": "#/definitions/IdentitySchema"
                },
                "idle_time_before_scale_down": {
                    "title": "idle_time_before_scale_down",
                    "type": "number",
                    "format": "integer"
                },
                "location": {
                    "title": "location",
                    "type": "string"
                },
                "max_instances": {
                    "title": "max_instances",
                    "type": "number",
                    "format": "integer"
                },
                "min_instances": {
                    "title": "min_instances",
                    "type": "number",
                    "format": "integer"
                },
                "name": {
                    "title": "name",
                    "type": "string"
                },
                "network_settings": {
                    "type": "object",
                    "$ref": "#/definitions/NetworkSettingsSchema"
                },
                "provisioning_errors": {
                    "title": "provisioning_errors",
                    "type": "string",
                    "readonly": true
                },
                "provisioning_state": {
                    "title": "provisioning_state",
                    "type": "string",
                    "readonly": true
                },
                "resource_id": {
                    "title": "resource_id",
                    "type": "string"
                },
                "$schema": {
                    "title": "$schema",
                    "type": "string",
                    "readonly": true
                },
                "size": {
                    "anyOf": [
                        {
                            "title": "size",
                            "type": "string",
                            "arm_type": "amlComputeDedicatedVMSize",
                            "tier": "dedicated"
                        },
                        {
                            "title": "size",
                            "type": "string",
                            "arm_type": "amlComputeLowPriorityVMSize",
                            "tier": "low_priority"
                        }
                    ]
                },
                "ssh_public_access_enabled": {
                    "title": "ssh_public_access_enabled",
                    "type": "boolean"
                },
                "ssh_settings": {
                    "type": "object",
                    "$ref": "#/definitions/AmlComputeSshSettingsSchema"
                },
                "tags": {
                    "title": "tags",
                    "type": "object",
                    "additionalProperties": {
                        "title": "tags",
                        "type": "string"
                    }
                },
                "tier": {
                    "type": "string",
                    "enum": [
                        "low_priority",
                        "dedicated"
                    ],
                    "title": "tier"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "amlcompute"
                    ],
                    "title": "type"
                }
            },
            "type": "object",
            "required": [
                "name",
                "type"
            ],
            "additionalProperties": false
        }
    },
    "$ref": "#/definitions/AmlComputeSchema"
}