"""
WARNING: AUTOGENERATED CODE

    This code was generated by a tool.
    
    Manual changes to this file may cause unexpected behavior in your application.
    Manual changes to this file will be overwritten if the code is regenerated.
"""

from pyopencga_enterprise_enterprise.rest_clients._parent_rest_clients import _ParentRestClient


class Meta(_ParentRestClient):
    """
    This class contains methods for the 'Meta' webservices
    PATH: /{apiVersion}/meta
    """

    def __init__(self, configuration, token=None, login_handler=None, *args, **kwargs):
        super(Meta, self).__init__(configuration, token, login_handler, *args, **kwargs)

    def about(self, **options):
        """
        Returns info about current OpenCGA code.
        PATH: /{apiVersion}/meta/about
        """

        return self._get(category='meta', resource='about', **options)

    def api(self, **options):
        """
        API.
        PATH: /{apiVersion}/meta/api

        :param str category: List of categories to get API from.
        """

        return self._get(category='meta', resource='api', **options)

    def fail(self, **options):
        """
        Ping Opencga webservices.
        PATH: /{apiVersion}/meta/fail
        """

        return self._get(category='meta', resource='fail', **options)

    def model(self, **options):
        """
        Opencga model webservices.
        PATH: /{apiVersion}/meta/model

        :param str model: Model description.
        """

        return self._get(category='meta', resource='model', **options)

    def openapi(self, **options):
        """
        Opencga openapi json.
        PATH: /{apiVersion}/meta/openapi

        :param str token: List of categories to get API from.
        """

        return self._get(category='meta', resource='openapi', **options)

    def ping(self, **options):
        """
        Ping Opencga webservices.
        PATH: /{apiVersion}/meta/ping
        """

        return self._get(category='meta', resource='ping', **options)

    def status(self, **options):
        """
        Database status.
        PATH: /{apiVersion}/meta/status
        """

        return self._get(category='meta', resource='status', **options)

