# -*- coding: utf-8 -*-
#---------------------------------------------------------------------------
# Copyright 2016 VMware, Inc. All rights reserved.
# AUTO GENERATED FILE -- DO NOT MODIFY!
#
# vAPI stub file for package com.vmware.vapi.metadata.
#---------------------------------------------------------------------------
"""
The :mod:`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.
"""
__author__ = 'VMware, Inc.'
__docformat__ = 'restructuredtext en'
import sys
from vmware.vapi.bindings import type
from vmware.vapi.bindings.converter import TypeConverter
from vmware.vapi.bindings.enum import Enum
from vmware.vapi.bindings.error import VapiError
from vmware.vapi.bindings.struct import VapiStruct
from vmware.vapi.bindings.stub import VapiInterface, ApiInterfaceStub
from vmware.vapi.bindings.common import raise_core_exception
from vmware.vapi.data.validator import UnionValidator, HasFieldsOfValidator
from vmware.vapi.exception import CoreException
[docs]class SourceType(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 :ref:`enumerated
type description page <enumeration_description>`.
"""
FILE = None
"""
Indicates the metadata source is a JSON file.
"""
REMOTE = None
"""
Indicates the metadata source is a remote server.
"""
def __init__(self, string):
"""
:type string: :class:`str`
:param string: String value for the :class:`SourceType` instance.
"""
Enum.__init__(string)
SourceType._set_values([
SourceType('FILE'),
SourceType('REMOTE'),
])
SourceType._set_binding_type(type.EnumType(
'com.vmware.vapi.metadata.source_type',
SourceType))
[docs]class SourceCreateSpec(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.
"""
_validator_list = [
UnionValidator(
'type',
{
'FILE' : [('filepath', True)],
'REMOTE' : [('address', True)],
}
),
]
def __init__(self,
description=None,
type=None,
filepath=None,
address=None,
):
"""
:type description: :class:`str`
:param description: English language human readable description of the source.
:type type: :class:`SourceType`
:param type: Type of the metadata source.
:type filepath: :class:`str`
:param filepath: 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 :attr:`SourceType.FILE`.
:type address: :class:`str`
:param address: 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
:mod:`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 :attr:`SourceType.REMOTE`.
"""
self.description = description
self.type = type
self.filepath = filepath
self.address = address
VapiStruct.__init__(self)
SourceCreateSpec._set_binding_type(type.StructType(
'com.vmware.vapi.metadata.source_create_spec', {
'description': type.StringType(),
'type': type.ReferenceType(sys.modules[__name__], 'SourceType'),
'filepath': type.OptionalType(type.StringType()),
'address': type.OptionalType(type.URIType()),
},
SourceCreateSpec,
False,
None))
[docs]class SourceInfo(VapiStruct):
"""
Metadata source info
.. tip::
The arguments are used to initialize data attributes with the same
names.
"""
_validator_list = [
UnionValidator(
'type',
{
'FILE' : [('file_name', True)],
'REMOTE' : [('remote_addr', True), ('msg_protocol', True)],
}
),
]
def __init__(self,
type=None,
file_name=None,
remote_addr=None,
msg_protocol=None,
):
"""
:type type: :class:`SourceType`
:param type: Type of the metadata source
:type file_name: :class:`str`
:param file_name: Name of the metadata source file
This attribute is optional and it is only relevant when the value
of ``type`` is :attr:`SourceType.FILE`.
:type remote_addr: :class:`str`
:param remote_addr: Address of the remote metadata source
This attribute is optional and it is only relevant when the value
of ``type`` is :attr:`SourceType.REMOTE`.
:type msg_protocol: :class:`str`
:param msg_protocol: Message protocol to be used
This attribute is optional and it is only relevant when the value
of ``type`` is :attr:`SourceType.REMOTE`.
"""
self.type = type
self.file_name = file_name
self.remote_addr = remote_addr
self.msg_protocol = msg_protocol
VapiStruct.__init__(self)
SourceInfo._set_binding_type(type.StructType(
'com.vmware.vapi.metadata.source_info', {
'type': type.ReferenceType(sys.modules[__name__], 'SourceType'),
'file_name': type.OptionalType(type.StringType()),
'remote_addr': type.OptionalType(type.StringType()),
'msg_protocol': type.OptionalType(type.StringType()),
},
SourceInfo,
False,
None))