All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schemas.schema-form.json Maven / Gradle / Ivy

The newest version!
{
    "type": "object",
    "id": "urn:jsonschema:io:gravitee:policy:aws:lambda:configuration:AwsLambdaPolicyConfiguration",
    "properties": {
        "scope": {
            "title": "Scope",
            "description": "Execute policy on request (HEAD) phase, response (HEAD) phase, request_content (includes payload) phase, response content (includes payload) phase.",
            "type": "string",
            "default": "REQUEST",
            "enum": ["REQUEST", "RESPONSE", "REQUEST_CONTENT", "RESPONSE_CONTENT"]
        },
        "region": {
            "title": "AWS Region",
            "description": "AWS Region",
            "default": "us-east-1",
            "type": "string"
        },
        "accessKey": {
            "title": "AWS Access Key",
            "description": "AWS Access Key",
            "type": "string"
        },
        "secretKey": {
            "title": "AWS Secret Key",
            "description": "AWS Secret Key",
            "type": "string"
        },
        "function": {
            "title": "AWS Lambda Function",
            "description": "AWS Lambda function to call",
            "type": "string"
        },
        "invocationType": {
            "title": "Invocation Type",
            "description": "RequestResponse (default) – Invoke the function synchronously. Keep the connection open until the function returns a response or times out. The API response includes the function response and additional data.\nEvent – Invoke the function asynchronously. Send events that fail multiple times to the function's dead-letter queue (if one is configured). The API response only includes a status code.\nDryRun – Validate parameter values and verify that the user or role has permission to invoke the function.",
            "type": "string",
            "default": "RequestResponse",
            "enum": ["RequestResponse", "Event", "DryRun"]
        },
        "qualifier": {
            "title": "Qualifier",
            "description": "Specify a version or alias to invoke a published version of the function.",
            "type": "string"
        },
        "logType": {
            "title": "Log Type",
            "description": "Set to Tail to include the execution log in the response. Applies to synchronously invoked functions only.",
            "type": "string",
            "default": "None",
            "enum": ["None", "Tail"]
        },
        "roleArn": {
            "title": "Assume Role ARN",
            "description": "The arn of the role to be assumed. This is used when authentication is relying on the AWS Security Token Service (STS) to assume a Role and create temporary, short-lived sessions to use for authentication.",
            "type": "string"
        },
        "roleSessionName": {
            "title": "Role Session Name",
            "description": "An identifier for the assumed role session (Only used when authentication is based on AWS Security Token Service (STS)",
            "default": "gravitee",
            "type": "string"
        },
        "payload": {
            "title": "Lambda request payload",
            "type": "string",
            "x-schema-form": {
                "type": "codemirror",
                "codemirrorOptions": {
                    "placeholder": "Put payload here",
                    "lineWrapping": true,
                    "lineNumbers": true,
                    "allowDropFileTypes": true,
                    "autoCloseTags": true
                }
            }
        },
        "variables": {
            "type": "array",
            "title": "Context variables",
            "items": {
                "type": "object",
                "id": "urn:jsonschema:io:gravitee:policy:aws:lambda:configuration:Variable",
                "title": "Variable",
                "properties": {
                    "name": {
                        "title": "Name",
                        "type": "string"
                    },
                    "value": {
                        "title": "Value",
                        "type": "string",
                        "default": "{#jsonPath(#lambdaResponse.content, '$.field')}"
                    }
                }
            },
            "required": ["name", "value"]
        },
        "sendToConsumer": {
            "title": "Send lambda function result to consumer",
            "description": "Check this option if you want to send the response of the lambda to the initial consumer without going to the final upstream (endpoints) selected by the gateway.",
            "type": "boolean",
            "default": false
        }
    },
    "required": ["scope", "region", "function", "invocationType", "logType"]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy