{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/UpdateFunctionConfigurationRequest",
  "title": "UpdateFunctionConfigurationRequest",
  "type": "object",
  "properties": {
    "Role": {
      "allOf": [
        {
          "$ref": "#/components/schemas/RoleArn"
        },
        {
          "description": "The Amazon Resource Name (ARN) of the function's execution role."
        }
      ]
    },
    "Handler": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Handler"
        },
        {
          "description": "The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html\">Lambda programming model</a>."
        }
      ]
    },
    "Description": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Description"
        },
        {
          "description": "A description of the function."
        }
      ]
    },
    "Timeout": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Timeout"
        },
        {
          "description": "The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html\">Lambda execution environment</a>."
        }
      ]
    },
    "MemorySize": {
      "allOf": [
        {
          "$ref": "#/components/schemas/MemorySize"
        },
        {
          "description": "The amount of <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console\">memory available to the function</a> at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB."
        }
      ]
    },
    "VpcConfig": {
      "allOf": [
        {
          "$ref": "#/components/schemas/VpcConfig"
        },
        {
          "description": "For network connectivity to Amazon Web Services resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can access resources and the internet only through that VPC. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html\">Configuring a Lambda function to access resources in a VPC</a>."
        }
      ]
    },
    "Environment": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Environment"
        },
        {
          "description": "Environment variables that are accessible from function code during execution."
        }
      ]
    },
    "Runtime": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Runtime"
        },
        {
          "description": "<p>The identifier of the function's <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html\">runtime</a>. Runtime is required if the deployment package is a .zip file archive.</p> <p>The following list includes deprecated runtimes. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy\">Runtime deprecation policy</a>.</p>"
        }
      ]
    },
    "DeadLetterConfig": {
      "allOf": [
        {
          "$ref": "#/components/schemas/DeadLetterConfig"
        },
        {
          "description": "A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq\">Dead-letter queues</a>."
        }
      ]
    },
    "KMSKeyArn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/KMSKeyArn"
        },
        {
          "description": "The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption\">environment variables</a>. When <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html\">Lambda SnapStart</a> is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key."
        }
      ]
    },
    "TracingConfig": {
      "allOf": [
        {
          "$ref": "#/components/schemas/TracingConfig"
        },
        {
          "description": "Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of incoming requests with <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html\">X-Ray</a>."
        }
      ]
    },
    "RevisionId": {
      "allOf": [
        {
          "$ref": "#/components/schemas/String"
        },
        {
          "description": "Update the function only if the revision ID matches the ID that's specified. Use this option to avoid modifying a function that has changed since you last read it."
        }
      ]
    },
    "Layers": {
      "allOf": [
        {
          "$ref": "#/components/schemas/LayerList"
        },
        {
          "description": "A list of <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html\">function layers</a> to add to the function's execution environment. Specify each layer by its ARN, including the version."
        }
      ]
    },
    "FileSystemConfigs": {
      "allOf": [
        {
          "$ref": "#/components/schemas/FileSystemConfigList"
        },
        {
          "description": "Connection settings for an Amazon EFS file system."
        }
      ]
    },
    "ImageConfig": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ImageConfig"
        },
        {
          "description": " <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/images-parms.html\">Container image configuration values</a> that override the values in the container image Docker file."
        }
      ]
    },
    "EphemeralStorage": {
      "allOf": [
        {
          "$ref": "#/components/schemas/EphemeralStorage"
        },
        {
          "description": "The size of the function's <code>/tmp</code> directory in MB. The default value is 512, but can be any whole number between 512 and 10,240 MB."
        }
      ]
    },
    "SnapStart": {
      "allOf": [
        {
          "$ref": "#/components/schemas/SnapStart"
        },
        {
          "description": "The function's <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html\">SnapStart</a> setting."
        }
      ]
    }
  }
}