# Licensed to Elasticsearch B.V. under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Elasticsearch B.V. licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# 	http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
---
- name: faas
  group: 2
  title: FaaS
  short: Fields describing functions as a service.
  description: >
    The user fields describe information about the function
    as a service (FaaS) that is relevant to the event.
  beta: >
    These fields are in beta and are subject to change.
  type: group
  fields:
    - name: name
      description: >
        The name of a serverless function.
      type: keyword
      level: extended
      example: "my-function"
    - name: id
      short: The unique identifier of a serverless function.
      description: >
        The unique identifier of a serverless function.

        For AWS Lambda it's the function ARN (Amazon Resource Name) without a version or alias suffix.
      type: keyword
      level: extended
      example: "arn:aws:lambda:us-west-2:123456789012:function:my-function"
    - name: version
      description: >
        The version of a serverless function.
      type: keyword
      level: extended
      example: "123"
    - name: coldstart
      description: >
        Boolean value indicating a cold start of a function.
      type: boolean
      level: extended
    - name: execution
      description: >
        The execution ID of the current function execution.
      type: keyword
      level: extended
      example: "af9d5aa4-a685-4c5f-a22b-444f80b3cc28"
    - name: trigger
      level: extended
      type: nested
      description: >
        Details about the function trigger.
    - name: trigger.type
      level: extended
      type: keyword
      short: The trigger for the function execution.
      description: >
        The trigger for the function execution.
      expected_values:
        - http
        - pubsub
        - datasource
        - timer
        - other
      example: http
    - name: trigger.request_id
      level: extended
      type: keyword
      description: >
        The ID of the trigger request , message, event, etc.
      example: 123456789
