hermes.commands.init.util.connect_gitlab
========================================

.. py:module:: hermes.commands.init.util.connect_gitlab


Attributes
----------

.. autoapisummary::

   hermes.commands.init.util.connect_gitlab.default_scopes
   hermes.commands.init.util.connect_gitlab.device_code_addition
   hermes.commands.init.util.connect_gitlab.token_addition
   hermes.commands.init.util.connect_gitlab.site_specific_oauth_clients


Classes
-------

.. autoapisummary::

   hermes.commands.init.util.connect_gitlab.GitLabConnection


Functions
---------

.. autoapisummary::

   hermes.commands.init.util.connect_gitlab.is_url_gitlab


Module Contents
---------------

.. py:data:: default_scopes
   :value: 'api write_repository'


.. py:data:: device_code_addition
   :value: 'oauth/authorize_device'


.. py:data:: token_addition
   :value: 'oauth/token'


.. py:data:: site_specific_oauth_clients

.. py:function:: is_url_gitlab(url: str) -> bool

.. py:class:: GitLabConnection(project_url: str)

   .. py:attribute:: project_url
      :type:  str


   .. py:attribute:: base_url
      :type:  str


   .. py:attribute:: api_url
      :type:  str
      :value: 'api/v4/'



   .. py:attribute:: project_namespace_name
      :type:  str


   .. py:attribute:: gitlab_instance_name
      :type:  str
      :value: 'GitLab (Uninferable)'



   .. py:attribute:: client_id
      :type:  str
      :value: ''



   .. py:attribute:: access_token
      :type:  str
      :value: ''



   .. py:attribute:: project_id
      :type:  str
      :value: ''



   .. py:method:: oauth_process() -> hermes.commands.init.util.oauth_process.OauthProcess


   .. py:method:: has_client() -> bool


   .. py:method:: authorize(token: str = '') -> bool


   .. py:method:: create_project_access_token(name: str, scopes: list[str] = None) -> str


   .. py:method:: create_variable(key: str, value, description: str = '') -> bool


