MetadataMetamodelStructureInfo

The StructureInfo structure contains the metamodel information of all the field elements, constant elements and enumeration elements contained in the structure element. In the interface definition language, API designers have the ability to include all the fields from one structure to another structure. This is done by using an annotation @Include on the structure in which we want to add the fields. If this annotation is present, the list of fields in the StructureInfo will also contain the fields that are being included. The annotation information is also retained in the StructureInfo.metadata element as well.


Properties

Required Property Name Type Description
required constants map of MetadataMetamodelConstantInfo

Metamodel information of all the constant elements contained in the structure element. The key in the map is the name of the constant element and the value in the map is the metamodel information for the constant element.

required documentation string

English language documentation for a structure element. It can contain HTML markup and Javadoc tags. The first sentence of the structure documentation is a complete sentence that identifies the structure by name and summarizes the purpose of the structure.

required enumerations map of MetadataMetamodelEnumerationInfo

Metamodel information of all the enumeration elements contained in the structure element. The key in the map is the identifier of the enumeration element and the value is the metamodel information of the enumeration element. When clients pass a value of this structure as a parameter, the key in the field map must be an identifier for the resource type: com.vmware.vapi.enumeration. When operations return a value of this structure as a result, the key in the field map will be an identifier for the resource type: com.vmware.vapi.enumeration.

required fields array of MetadataMetamodelFieldInfo

Metamodel information of all the field elements. The order of the field elements in the list matches the order in which the fields are defined in the service.

required metadata map of MetadataMetamodelElementMap

Generic metadata elements for the structure element. The key in the map is the name of the metadata element and the value is the data associated with that metadata element. The MetadataIdentifier contains possible string values for keys in the map.

required name string

Dot separated name of the structure element. The segments in the name reflect the organization of the APIs. The format of each segment is lower case with underscores. Each underscore represents a word boundary. If there are acronyms in the word, the capitalization is preserved. This format makes it easy to translate the segment into a different naming convention.

required type MetadataMetamodelStructureInfoType Enum

Type of the structure.

JSON Example

{
    "constants": {
        "key": {
            "documentation": "string",
            "type": {
                "category": "enum"
            },
            "value": {
                "category": "enum"
            }
        }
    },
    "documentation": "string",
    "enumerations": {
        "key": {
            "documentation": "string",
            "metadata": {
                "key": {
                    "elements": {
                        "key": {
                            "type": "enum"
                        }
                    }
                }
            },
            "name": "string",
            "values": [
                {
                    "documentation": "string",
                    "metadata": {
                        "key": {
                            "elements": {
                                "key": {
                                    "type": "enum"
                                }
                            }
                        }
                    },
                    "value": "string"
                }
            ]
        }
    },
    "fields": [
        {
            "documentation": "string",
            "metadata": {
                "key": {
                    "elements": {
                        "key": {
                            "type": "enum"
                        }
                    }
                }
            },
            "name": "string",
            "type": {
                "category": "enum"
            }
        }
    ],
    "metadata": {
        "key": {
            "elements": {
                "key": {
                    "type": "enum"
                }
            }
        }
    },
    "name": "string",
    "type": "enum"
}
Feedback

Was this page helpful?