{
  "name": "ListFunctions",
  "plane": "control",
  "terraformEligible": true,
  "protocol": {
    "kind": "cloudJson",
    "target": "CloudFunctions.ListFunctions",
    "service": "functions"
  },
  "requestBody": "typed",
  "responseBody": "typed",
  "requestSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "additionalProperties": false,
    "properties": {
      "maxResults": {
        "default": null,
        "format": "uint32",
        "minimum": 0.0,
        "type": [
          "integer",
          "null"
        ]
      },
      "nextToken": {
        "default": null,
        "type": [
          "string",
          "null"
        ]
      }
    },
    "title": "ListFunctionsRequest",
    "type": "object"
  },
  "responseSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "definitions": {
      "FunctionCode": {
        "additionalProperties": false,
        "properties": {
          "bucket": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "sha256": {
            "type": "string"
          }
        },
        "required": [
          "bucket",
          "key",
          "sha256"
        ],
        "type": "object"
      },
      "FunctionDescription": {
        "properties": {
          "accessKeyId": {
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "anyOf": [
              {
                "$ref": "#/definitions/FunctionCode"
              },
              {
                "type": "null"
              }
            ]
          },
          "concurrencyLimit": {
            "format": "uint32",
            "minimum": 0.0,
            "type": "integer"
          },
          "environment": {
            "additionalProperties": true,
            "type": "object"
          },
          "handler": {
            "type": [
              "string",
              "null"
            ]
          },
          "identityOwned": {
            "type": "boolean"
          },
          "image": {
            "anyOf": [
              {
                "$ref": "#/definitions/FunctionImage"
              },
              {
                "type": "null"
              }
            ]
          },
          "imageDigest": {
            "type": [
              "string",
              "null"
            ]
          },
          "injectGeneration": {
            "format": "uint64",
            "minimum": 0.0,
            "type": "integer"
          },
          "memoryMb": {
            "format": "uint32",
            "minimum": 0.0,
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "packageType": {
            "type": "string"
          },
          "principalId": {
            "type": [
              "string",
              "null"
            ]
          },
          "runtime": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "timeoutSeconds": {
            "format": "uint32",
            "minimum": 0.0,
            "type": "integer"
          }
        },
        "required": [
          "concurrencyLimit",
          "environment",
          "identityOwned",
          "injectGeneration",
          "memoryMb",
          "name",
          "packageType",
          "status",
          "timeoutSeconds"
        ],
        "type": "object"
      },
      "FunctionImage": {
        "additionalProperties": false,
        "properties": {
          "sha256": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          },
          "uri": {
            "type": "string"
          }
        },
        "required": [
          "uri"
        ],
        "type": "object"
      }
    },
    "properties": {
      "functions": {
        "items": {
          "$ref": "#/definitions/FunctionDescription"
        },
        "type": "array"
      },
      "nextToken": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "required": [
      "functions"
    ],
    "title": "ListFunctionsResponse",
    "type": "object"
  }
}
