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