vapi metadata metamodel: element map

The element_map structure contains the metadata elements.

One of the sources for metadata is the annotations present in the interface definition language. When an annotation is represented in the element_map, element_map describes the data specified in the arguments for the annotation.

For example, in @UnionCase(tag="tag", value="SELECT"), ElementMap describes the keyword arguments tag and value.

Representation:

{
    "elements"{
        "<string>"{
            "list_value"[
                "string",
                "string"
            ],
            "string_value""string",
            "structure_id""obj-103",
            "type""LONG",
            "structure_ids"[
                "obj-103",
                "obj-103"
            ],
            "long_value"1
        }
    }
}
{
    "elements"[
        {
            "value"{
                "list_value"[
                    "string",
                    "string"
                ],
                "string_value""string",
                "structure_id""obj-103",
                "type""LONG",
                "structure_ids"[
                    "obj-103",
                    "obj-103"
                ],
                "long_value"1
            },
            "key""string"
        }
    ]
}

Attributes:

Name Type Description
Required
-.elements object Metamodel information of the metadata elements. The key parameter of the key/value pairs is the identifier for the element and the value corresponds to the element value.

Object with element values of type element_value.

-.elements.* element_value
-.elements.*.type string Type of the value.

Defines the valid types for values in metadata elements. Value is one of:
LONG: Indicates the type of the value is a long (64 bit signed integer).
STRING: Indicates the type of the value is a string (a variable length sequence of characters). The encoding is UTF-8.
STRING_LIST: Indicates the type of the value is a list of strings.
STRUCTURE_REFERENCE: Indicates the type of the value is an identifier for a structure element.
STRUCTURE_REFERENCE_LIST: Indicates the type of the value is a list of identifiers for a structure element.

Optional
-.elements.*.long_value long Long value of the metadata element.

Optional. It is only relevant when type has value LONG. This field is optional and it is only relevant when the value of type is LONG.

-.elements.*.string_value string String value of the metadata element.

Optional. It is only relevant when type has value STRING. This field is optional and it is only relevant when the value of type is STRING.

-.elements.*.list_value string[] List of strings value of the metadata element.

Optional. It is only relevant when type has value STRING_LIST. This field is optional and it is only relevant when the value of type is STRING_LIST.