Nihil Prius Modulus

    vsphere-schema

    1.0.1 • Public • Published

    vsphere-schema


    vsphere-schema is a collection of vSphere API schemas in JSON format along with a few methods to navigate the schema. Versions 2.5 - 6.0 are currently included. All data has been scraped from VMware provided documentation and compiled using vsphere-doc-scrape.


    Format

    vSphere Objects are stored in the following format. Objects with circular references have those references replaced with a "[Circular]"

    <Version> {Object} - API version, keyed on the version string 2.5 - 6.0

    • <Type Name>
      • type {string} - Name of the type
      • [inherits] {string} - The name of the type that this Type inherits from
      • properties {Object} - Hash of properties and their types
        • [<Property Name>] {Object | string} - Either an XML data type string or a Type object
      • methods {Object} - Hash of methods
        • [<Method Name>] {Object} - Method object
          • [deprecated] {string | boolean} - Name of the replacement method or if true completely removed
          • params {Object} - Parameter hash
            • <Param Name> {Object} - Parameter object
              • required {boolean} - If the parameter is required
              • type {string} - Type name
          • returns {string | none} - Type returned by the method

    API

    .getSchema(version)

    A simple method to get a specific schema

    Parameters

    • version {string} - API version 2.5 - 6.0

    Returns {Object} - The schema object

    .hasMethod(version, type, method)

    Check if a method exists

    Parameters

    • version {string} - API version 2.5 - 6.0
    • type {string} - Type name
    • method {string} - Method name

    Returns {boolean} - Whether the method exists

    .hasProperty(version, type, property)

    Check if a property exists

    Parameters

    • version {string} - API version 2.5 - 6.0
    • type {string} - Type name
    • property {string} - Property name

    Returns {boolean} - Whether the property exists

    .getProperty(version, type, property)

    Get a property

    Parameters

    • version {string} - API version 2.5 - 6.0
    • type {string} - Type name
    • property {string} - Property name

    Returns {*} - The property

    .getEventTypes(version)

    Gets the names of all Types ending with Event

    Parameters

    • version {string} - API version 2.5 - 6.0

    Returns {string[]} - Event Type names


    Examples

    var vschema = require('vsphere-schema');
     
    // access version 4.1
    var v41 = vschema['4.1']
    console.log(v41.VirtualMachine);
     
    // or using the getSchema method get version 5.0
    var v50 = vschema.getSchema('5.0');
    console.log(v50.VirtualMachine);
     
    // check if a property exists
    var pExists = vschema.hasProperty('6.0', 'Datastore', 'name');
    // pExists = true
     
    // get a specific property
    var prop = vschema.getProperty('5.5', 'VirtualMachine', 'config');
     
    // check if a method exists
    var mExists = vschema.hasMethod('6.0', 'VirtualMachine', 'Remove');
    // mExists = false
     

    Keywords

    Install

    npm i vsphere-schema

    DownloadsWeekly Downloads

    9

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • gbouthenot
    • vbranden