com.vmware.vapi package

Subpackages

Submodules

com.vmware.vapi.metadata_client module

The com.vmware.vapi.metadata_client module provides metadata classes. These are classes that provide different facets of API information. Clients can use these classes to:

  • Discover APIs available in the infrastructure.

  • Fetch metadata that can be used to build presentation layers like CLI, REST, etc.

  • Fetch authentication and authorization metadata.

class com.vmware.vapi.metadata_client.SourceCreateSpec(description=None, type=None, filepath=None, address=None)

Bases: VapiStruct

The SourceCreateSpec class contains the registration information for a metadata source.

Tip

The arguments are used to initialize data attributes with the same names.

Parameters:
  • description (str) – English language human readable description of the source.

  • type (SourceType) – Type of the metadata source.

  • filepath (str) – Absolute file path of the metamodel metadata file that has the metamodel information about one component element. This attribute is optional and it is only relevant when the value of type is SourceType.FILE.

  • address (str) –

    Connection information of the remote server. This should be of the format http(s)://IP:port/namespace.

    The remote server should contain the classes in com.vmware.vapi.metadata.metamodel_client module. It could expose metamodel information of one or more components. This attribute is optional and it is only relevant when the value of type is SourceType.REMOTE.

class com.vmware.vapi.metadata_client.SourceInfo(type=None, file_name=None, remote_addr=None, msg_protocol=None)

Bases: VapiStruct

Metadata source info

Tip

The arguments are used to initialize data attributes with the same names.

Parameters:
  • type (SourceType) – Type of the metadata source

  • file_name (str) – Name of the metadata source file This attribute is optional and it is only relevant when the value of type is SourceType.FILE.

  • remote_addr (str) – Address of the remote metadata source This attribute is optional and it is only relevant when the value of type is SourceType.REMOTE.

  • msg_protocol (str) – Message protocol to be used This attribute is optional and it is only relevant when the value of type is SourceType.REMOTE.

class com.vmware.vapi.metadata_client.SourceType(string)

Bases: Enum

The SourceType class defines the types of sources for API metadata. You specify the type of source when adding a metadata source to a metadata service.

Note

This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See enumerated type description page.

Parameters:

string (str) – String value for the SourceType instance.

FILE = SourceType(string='FILE')

Indicates the metadata source is a JSON file.

REMOTE = SourceType(string='REMOTE')

Indicates the metadata source is a remote server.

class com.vmware.vapi.metadata_client.StubFactory(stub_config)

Bases: StubFactoryBase

Initialize StubFactoryBase

Parameters:

stub_config (vmware.vapi.bindings.stub.StubConfiguration) – Stub config instance

com.vmware.vapi.std_client module

The com.vmware.vapi.std_client module provides standard types that can be used in the interface specification of any class.

class com.vmware.vapi.std_client.AuthenticationScheme

Bases: VapiStruct

The AuthenticationScheme class defines constants for authentication scheme identifiers for authentication mechanisms present in the vAPI infrastructure shipped by VMware.

A third party extension can define and implements it’s own authentication mechanism and define a constant in a different IDL file.

Tip

The arguments are used to initialize data attributes with the same names.

NO_AUTHENTICATION = 'com.vmware.vapi.std.security.no_authentication'

Indicates that the request doesn’t need any authentication.

OAUTH_ACCESS_TOKEN = 'com.vmware.vapi.std.security.oauth'

Indicates that the security context in a request is using OAuth2 based authentication scheme.

In this scheme, the following pieces of information has to be passed in the SecurityContext structure in the execution context of the request:

  • The scheme identifier - com.vmware.vapi.std.security.oauth

  • Valid OAuth2 access token - This is usually acquired by OAuth2 Authorization Server after successful authentication of the end user.

Sample security context in JSON format that matches the specification: { 'schemeId': 'com.vmware.vapi.std.security.oauth', 'accesstoken': .... } vAPI runtime provides convenient factory methods that takes OAuth2 access token as input parameter and creates a security context that conforms to the above format.

SAML_BEARER_TOKEN = 'com.vmware.vapi.std.security.saml_bearer_token'

Indicates that the security context in a request is using a SAML bearer token based authentication scheme.

In this scheme, the following pieces of information has to be passed in the SecurityContext structure in the execution context of the request:

  • The scheme identifier: com.vmware.vapi.std.security.saml_bearer_token

  • The token itself

Sample security context in JSON format that matches the specification: { 'schemeId': 'com.vmware.vapi.std.security.saml_bearer_token', 'token': 'the token itself' } vAPI runtime provide convenient factory methods that take SAML bearer token and to create the security context that conforms to the above mentioned format.

SAML_HOK_TOKEN = 'com.vmware.vapi.std.security.saml_hok_token'

Indicates that the security context in a request is using a SAML holder-of-key token based authentication scheme.

In this scheme, the following pieces of information has to be passed in the SecurityContext structure in the execution context of the request:

  • The scheme identifier: com.vmware.vapi.std.security.saml_hok_token

  • Signature of the request: This includes - algorithm used for signing the request, SAML holder of key token and signature digest

  • Request timestamp: This includes the created and expires timestamp of the request. The timestamp should match the following format - YYYY-MM-DDThh:mm:ss.sssZ (e.g. 1878-03-03T19:20:30.451Z).

Sample security context in JSON format that matches the specification: { 'schemeId': 'com.vmware.vapi.std.security.saml_hok_token', 'signature': { 'alg': 'RS256', 'samlToken': ..., 'value': ..., }, 'timestamp': { 'created': '2012-10-26T12:24:18.941Z', 'expires': '2012-10-26T12:44:18.941Z', } } vAPI runtime provide convenient factory methods that take SAML holder of key token and private key to create the security context that conforms to the above mentioned format.

SESSION_ID = 'com.vmware.vapi.std.security.session_id'

Indicates that the security context in a request is using a session identifier based authentication scheme.

In this scheme, the following pieces of information has to be passed in the SecurityContext structure in the execution context of the request:

  • The scheme identifier - com.vmware.vapi.std.security.session_id

  • Valid session identifier - This is usually returned by a login method of a session manager interface for a particular vAPI service of this authentication scheme

Sample security context in JSON format that matches the specification: { 'schemeId': 'com.vmware.vapi.std.security.session_id', 'sessionId': ...., } vAPI runtime provides convenient factory methods that take session identifier as input parameter and create a security context that conforms to the above format.

USER_PASSWORD = 'com.vmware.vapi.std.security.user_pass'

Indicates that the security context in a request is using username/password based authentication scheme.

In this scheme, the following pieces of information has to be passed in the SecurityContext structure in the execution context of the request:

  • The scheme identifier - com.vmware.vapi.std.security.user_pass

  • Username

  • Password

Sample security context in JSON format that matches the specification: { 'schemeId': 'com.vmware.vapi.std.security.user_pass', 'userName': ...., 'password': ... } vAPI runtime provides convenient factory methods that take username and password as input parameters and create a security context that conforms to the above format.

class com.vmware.vapi.std_client.DynamicID(type=None, id=None)

Bases: VapiStruct

The DynamicID class represents an identifier for a resource of an arbitrary type.

Tip

The arguments are used to initialize data attributes with the same names.

Parameters:
  • type (str) –

    The type of resource being identified (for example com.acme.Person).

    Classes that contain methods for creating and deleting resources typically contain a class attribute specifying the resource type for the resources being created and deleted. The API metamodel metadata classes include a class that allows retrieving all the known resource types.

  • id (str) – The identifier for a resource whose type is specified by DynamicID.type. When clients pass a value of this class as a parameter, the attribute type must contain the actual resource type. When methods return a value of this class as a return value, the attribute type will contain the actual resource type.

class com.vmware.vapi.std_client.LocalizableMessage(id=None, default_message=None, args=None, params=None, localized=None)

Bases: VapiStruct

The LocalizableMessage class represents localizable string and message template. Classes include one or more localizable message templates in the exceptions they report so that clients can display diagnostic messages in the native language of the user. Classes can include localizable strings in the data returned from methods to allow clients to display localized status information in the native language of the user.

Tip

The arguments are used to initialize data attributes with the same names.

Parameters:
  • id (str) –

    Unique identifier of the localizable string or message template.

    This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.

  • default_message (str) – The value of this localizable string or message template in the en_US (English) locale. If LocalizableMessage.id refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog.

  • args (list of str) – Positional arguments to be substituted into the message template. This list will be empty if the message uses named arguments or has no arguments.

  • params ((dict of str and LocalizationParam) or None) – Named arguments to be substituted into the message template. This attribute was added in vSphere API 7.0.0.0. None means that the message template requires no arguments or positional arguments are used.

  • localized (str or None) – Localized string value as per request requirements. This attribute was added in vSphere API 7.0.0.0. when the client has not requested specific locale the implementation may not populate this field to conserve resources.

class com.vmware.vapi.std_client.LocalizationParam(s=None, dt=None, i=None, d=None, l=None, format=None, precision=None)

Bases: VapiStruct

This class holds a single message parameter and formatting settings for it. The class has fields for str, int, decimal.Decimal, date time and nested messages. Only one will be used depending on the type of data sent. For date, decimal.Decimal and int it is possible to set additional formatting details. This class was added in vSphere API 7.0.0.0.

Tip

The arguments are used to initialize data attributes with the same names.

Parameters:
  • s (str or None) – str value associated with the parameter. This attribute was added in vSphere API 7.0.0.0. this attribute will be set when str value is used.

  • dt (datetime.datetime or None) – Date and time value associated with the parameter. Use the format attribute to specify date and time display style. This attribute was added in vSphere API 7.0.0.0. this attribute will be set when date and time value is used.

  • i (long or None) – int value associated with the parameter. This attribute was added in vSphere API 7.0.0.0. this attribute will be set when int value is used.

  • d (float or None) – The decimal.Decimal value associated with the parameter. The number of displayed fractional digits is changed via precision attribute. This attribute was added in vSphere API 7.0.0.0. this attribute will be set when decimal.Decimal value is used.

  • l (NestedLocalizableMessage or None) – Nested localizable value associated with the parameter. This is useful construct to convert to human readable localized form class and bool values. It can also be used for proper handling of pluralization and gender forms in localization. Recursive NestedLocalizableMessage instances can be used for localizing short lists of items. This attribute was added in vSphere API 7.0.0.0. this attribute will be set when nested localization message value is used.

  • format (LocalizationParam.DateTimeFormat or None) – Format associated with the date and time value in dt attribute. The class attribute SHORT_DATETIME will be used as default. This attribute was added in vSphere API 7.0.0.0. this may not be set if class attribute SHORT_DATETIME default format is appropriate

  • precision (long or None) – Number of fractional digits to include in formatted decimal.Decimal value. This attribute was added in vSphere API 7.0.0.0. this will be set when exact precision is required for rendering decimal.Decimal numbers.

class DateTimeFormat(string)

Bases: Enum

The LocalizationParam.DateTimeFormat class lists possible date and time formatting options. It combines the Unicode CLDR format types - full, long, medium and short with 3 different presentations - date only, time only and combined date and time presentation. This enumeration was added in vSphere API 7.0.0.0.

Note

This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See enumerated type description page.

Parameters:

string (str) – String value for the DateTimeFormat instance.

FULL_DATE = DateTimeFormat(string='FULL_DATE')

The date and time value will be formatted as full date, for example 2019 Jan 28, Mon. This class attribute was added in vSphere API 7.0.0.0.

FULL_DATE_TIME = DateTimeFormat(string='FULL_DATE_TIME')

The date and time value will be formatted as full date and time, for example 2019 Jan 28, Mon 12:59:01 Z. This class attribute was added in vSphere API 7.0.0.0.

FULL_TIME = DateTimeFormat(string='FULL_TIME')

The date and time value will be formatted as full time, for example 12:59:01 Z. This class attribute was added in vSphere API 7.0.0.0.

LONG_DATE = DateTimeFormat(string='LONG_DATE')

The date and time value will be formatted as long date, for example 2019 Jan 28. This class attribute was added in vSphere API 7.0.0.0.

LONG_DATE_TIME = DateTimeFormat(string='LONG_DATE_TIME')

The date and time value will be formatted as long date and time, for example 2019 Jan 28 12:59:01 Z. This class attribute was added in vSphere API 7.0.0.0.

LONG_TIME = DateTimeFormat(string='LONG_TIME')

The date and time value will be formatted as long time, for example 12:59:01 Z. This class attribute was added in vSphere API 7.0.0.0.

MED_DATE = DateTimeFormat(string='MED_DATE')

The date and time value will be formatted as medium date, for example 2019 Jan 28. This class attribute was added in vSphere API 7.0.0.0.

MED_DATE_TIME = DateTimeFormat(string='MED_DATE_TIME')

The date and time value will be formatted as medium date and time, for example 2019 Jan 28 12:59:01. This class attribute was added in vSphere API 7.0.0.0.

MED_TIME = DateTimeFormat(string='MED_TIME')

The date and time value will be formatted as medium time, for example 12:59:01. This class attribute was added in vSphere API 7.0.0.0.

SHORT_DATE = DateTimeFormat(string='SHORT_DATE')

The date and time value will be formatted as short date, for example 2019-01-28. This class attribute was added in vSphere API 7.0.0.0.

SHORT_DATE_TIME = DateTimeFormat(string='SHORT_DATE_TIME')

The date and time value will be formatted as short date and time, for example 2019-01-28 12:59. This class attribute was added in vSphere API 7.0.0.0.

SHORT_TIME = DateTimeFormat(string='SHORT_TIME')

The date and time value will be formatted as short time, for example 12:59. This class attribute was added in vSphere API 7.0.0.0.

class com.vmware.vapi.std_client.NestedLocalizableMessage(id=None, params=None)

Bases: VapiStruct

The NestedLocalizableMessage class represents a nested within a parameter localizable string or message template. This class is useful for modeling composite messages. Such messages are necessary to do correct pluralization of phrases, represent lists of several items etc. This class was added in vSphere API 7.0.0.0.

Tip

The arguments are used to initialize data attributes with the same names.

Parameters:
  • id (str) –

    Unique identifier of the localizable string or message template.

    This identifier is typically used to retrieve a locale-specific string or message template from a message catalog.. This attribute was added in vSphere API 7.0.0.0.

  • params ((dict of str and LocalizationParam) or None) – Named Arguments to be substituted into the message template. This attribute was added in vSphere API 7.0.0.0. services will not populate this field when there are no parameters to be substituted

class com.vmware.vapi.std_client.StubFactory(stub_config)

Bases: StubFactoryBase

Initialize StubFactoryBase

Parameters:

stub_config (vmware.vapi.bindings.stub.StubConfiguration) – Stub config instance