Class List Method List File List

# Module: Com::Vmware::Vapi::Metadata::Metamodel

Defined in:
  /build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb,
  /build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel.rb,
  /build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel/service.rb,
  /build/mts/release/bora-4571906/build/sdk/aggregated-bindings/ruby/com/vmware/vapi/metadata/metamodel/resource.rb

## Overview

The ``com.vmware.vapi.metadata.metamodel`` package provides classs that expose all the information present in the interface definition language (IDL) specification.

     Metamodel metadata is organized into an hierarchy of elements. The main elements are:

      * Enumeration: An enumeration element that has a list of enumeration value elements.
       * Constant: A constant element has a name and a value.
       * Structure: A structure element can have field elements, constant elements and enumeration elements.
       * Operation: An operation has a list of parameter elements, result element and error elements.
       * Service: A service is a collection of operation elements, structure elements, enumerated elements and constant elements.
       * Package: A package is a collection of service elements, structure elements and enumeration elements.
       * Component: A component is a collection of package elements.

      The  ``com.vmware.vapi.metadata.metamodel``   package  has  classs  that enables two styles of client applications:

      * A client can retrieve the exact pieces of information it requires using the various granularities the API supports (that is   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Component`  ,   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Package`  ,   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Service`  ,   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Structure`  ,   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Enumeration`   and   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Service::Operation`  ). In this case, it doesn't cache any information locally and always invokes  methods  to get the metamodel information it requires.
       * A client can retrieve all the metamodel information in fewer  method  invocations using the   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Component`    class  and cache the output locally. It can then poll on the fingerprint information exposed by the   :class:`Com::Vmware::Vapi::Metadata::Metamodel::Component`    class  to monitor changes in API definition.

## Defined Under Namespace

Modules: Resource, Service Classes: Component, ComponentData, ComponentInfo, ConstantInfo, ConstantValue, ElementMap, ElementValue, Enumeration, EnumerationInfo, EnumerationValueInfo, ErrorInfo, FieldInfo, GenericInstantiation, MetadataIdentifier, OperationInfo, OperationResultInfo, Package, PackageInfo, PrimitiveValue, ResourceService, ServiceInfo, ServiceService, Source, Structure, StructureInfo, Type, UserDefinedType