{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#Function",
    "description": "A virtual application function. For example, an aws_lambda_function, azure_function, or google_cloud_function",
    "type": "object",
    "allOf": [
        {
            "$ref": "#Entity"
        },
        {
            "properties": {
                "image": {
                    "description": "The image of this function, typically refers to a zip package.",
                    "type": "string"
                },
                "version": {
                    "description": "The version of this function.",
                    "type": "string"
                },
                "runtime": {
                    "description": "The runtime of this function. For example: 'nodejs6.10', 'nodejs8.10', or 'python2.7'.",
                    "type": "string"
                },
                "memorySize": {
                    "description": "The allocated memory of this function to execute.",
                    "type": "string"
                },
                "codeSize": {
                    "description": "The size of code of this function.",
                    "type": "string"
                },
                "codeHash": {
                    "description": "The hash of code of this function.",
                    "type": "string"
                },
                "trigger": {
                    "description": "What triggers this function to execute.",
                    "type": "string"
                },
                "handler": {
                    "description": "The handler of this function",
                    "type": "string"
                }
            },
            "required": []
        }
    ]
}
