### Navigation

- index
- modules |
- vSphere Automation SDK for Python 6.5.0 documentation »
- Module code »

# Source code for vmware.vapi.stdlib.client.factories

    """
    StubConfiguration factory
    """
    __author__ = 'VMware, Inc.'
    __copyright__ = 'Copyright (c) 2015 VMware, Inc.  All rights reserved.'

    import itertools

    from vmware.vapi.bindings.error import VapiError
    from vmware.vapi.bindings.stub import StubConfiguration
    from com.vmware.vapi.std import errors_client

    class StubConfigurationFactory(object):
        """
        Factory class for creating stub configuration objects
        """
        @staticmethod
        def new_configuration(connector, *errorTypes):
            """
            Return a stub configuration using the specified connection, with no
            registered errors.

            :type  connector: :class:`vmware.vapi.protocol.client.connector.Connector`
            :param connector: Connection to be used to talk to the remote
                              ApiProvider
            :type  error_types: :class:`list` of :class:`vmware.vapi.bindings.type.ErrorType`
            :param error_types: error types to be registered in the configuration
            """
            config = StubConfiguration(connector, *errorTypes)
            return config

        @staticmethod
        def new_runtime_configuration(connector, *errorTypes):
            """
            Return a stub configuration using the specified connection, with the
            errors reported by the vAPI runtime registered.

            :type  connector: :class:`vmware.vapi.protocol.client.connector.Connector`
            :param connector: Connection to be used to talk to the remote
                              ApiProvider
            :type  error_types: :class:`list` of :class:`vmware.vapi.bindings.type.ErrorType`
            :param error_types: additional error types to be registered in the
                                configuration
            """
            return StubConfigurationFactory.new_configuration(
                connector,
                errors_client.InternalServerError.get_binding_type(),
                errors_client.InvalidArgument.get_binding_type(),
                errors_client.OperationNotFound.get_binding_type(),
                *errorTypes)

        @staticmethod
        def new_std_configuration(connector, *errorTypes):
            """
            Return a stub configuration using the specified connection, with all the
            standard errors registered.

            :type  connector: :class:`vmware.vapi.protocol.client.connector.Connector`
            :param connector: Connection to be used to talk to the remote
                              ApiProvider
            :type  error_types: :class:`list` of :class:`vmware.vapi.bindings.type.ErrorType`
            :param error_types: additional error types to be registered in the
                                configuration
            """
            std_errors = (getattr(errors_client, name).get_binding_type()
                          for name in dir(errors_client)
                          if getattr(errors_client, name) is not VapiError
                          and isinstance(getattr(errors_client, name), type)
                          and issubclass(getattr(errors_client, name),
                                         VapiError))
            return StubConfigurationFactory.new_configuration(
                connector,
                *itertools.chain(std_errors, errorTypes))

### Navigation

- index
- modules |
- vSphere Automation SDK for Python 6.5.0 documentation »
- Module code »