com.vmware.vapi package

Submodules

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: vmware.vapi.bindings.struct.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: vmware.vapi.bindings.struct.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.

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

Bases: vmware.vapi.bindings.struct.VapiStruct

The LocalizableMessage class represents a localizable string or 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.

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

Bases: vmware.vapi.bindings.stub.StubFactoryBase